-
-
Notifications
You must be signed in to change notification settings - Fork 2.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix(dashboard): Fixes to campaign and promotions domains (#9022)
- Loading branch information
1 parent
c27aa46
commit e5b90b2
Showing
29 changed files
with
886 additions
and
710 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
13 changes: 0 additions & 13 deletions
13
packages/admin/dashboard/src/hooks/table/filters-v2/use-promotion-table-filters.tsx
This file was deleted.
Oops, something went wrong.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
33 changes: 33 additions & 0 deletions
33
...es/admin/dashboard/src/routes/campaigns/campaign-configuration/campaign-configuration.tsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
import { Heading } from "@medusajs/ui" | ||
import { useTranslation } from "react-i18next" | ||
import { useParams } from "react-router-dom" | ||
import { RouteDrawer } from "../../../components/modals" | ||
import { useCampaign } from "../../../hooks/api/campaigns" | ||
import { CampaignConfigurationForm } from "./components/campaign-configuration-form" | ||
|
||
export const CampaignConfiguration = () => { | ||
const { t } = useTranslation() | ||
|
||
const { id } = useParams() | ||
const { campaign, isLoading, isError, error } = useCampaign(id!) | ||
|
||
if (isError) { | ||
throw error | ||
} | ||
|
||
return ( | ||
<RouteDrawer> | ||
<RouteDrawer.Header> | ||
<RouteDrawer.Title asChild> | ||
<Heading>{t("campaigns.configuration.edit.header")}</Heading> | ||
</RouteDrawer.Title> | ||
<RouteDrawer.Description className="sr-only"> | ||
{t("campaigns.configuration.edit.description")} | ||
</RouteDrawer.Description> | ||
</RouteDrawer.Header> | ||
{!isLoading && campaign && ( | ||
<CampaignConfigurationForm campaign={campaign} /> | ||
)} | ||
</RouteDrawer> | ||
) | ||
} |
133 changes: 133 additions & 0 deletions
133
...aign-configuration/components/campaign-configuration-form/campaign-configuration-form.tsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,133 @@ | ||
import { zodResolver } from "@hookform/resolvers/zod" | ||
import { AdminCampaign } from "@medusajs/types" | ||
import { Button, DatePicker, toast } from "@medusajs/ui" | ||
import { useForm } from "react-hook-form" | ||
import { useTranslation } from "react-i18next" | ||
import { z } from "zod" | ||
|
||
import { Form } from "../../../../../components/common/form" | ||
import { RouteDrawer, useRouteModal } from "../../../../../components/modals" | ||
import { useUpdateCampaign } from "../../../../../hooks/api/campaigns" | ||
|
||
type CampaignConfigurationFormProps = { | ||
campaign: AdminCampaign | ||
} | ||
|
||
const CampaignConfigurationSchema = z.object({ | ||
starts_at: z.date().nullable(), | ||
ends_at: z.date().nullable(), | ||
}) | ||
|
||
export const CampaignConfigurationForm = ({ | ||
campaign, | ||
}: CampaignConfigurationFormProps) => { | ||
const { t } = useTranslation() | ||
const { handleSuccess } = useRouteModal() | ||
|
||
const form = useForm<z.infer<typeof CampaignConfigurationSchema>>({ | ||
defaultValues: { | ||
starts_at: campaign.starts_at ? new Date(campaign.starts_at) : undefined, | ||
ends_at: campaign.ends_at ? new Date(campaign.ends_at) : undefined, | ||
}, | ||
resolver: zodResolver(CampaignConfigurationSchema), | ||
}) | ||
|
||
const { mutateAsync, isPending } = useUpdateCampaign(campaign.id) | ||
|
||
const handleSubmit = form.handleSubmit(async (data) => { | ||
await mutateAsync( | ||
{ | ||
starts_at: data.starts_at || null, | ||
ends_at: data.ends_at || null, | ||
}, | ||
{ | ||
onSuccess: ({ campaign }) => { | ||
toast.success( | ||
t("campaigns.configuration.edit.successToast", { | ||
name: campaign.name, | ||
}) | ||
) | ||
|
||
handleSuccess() | ||
}, | ||
onError: (error) => { | ||
toast.error(error.message) | ||
}, | ||
} | ||
) | ||
}) | ||
|
||
return ( | ||
<RouteDrawer.Form form={form}> | ||
<form onSubmit={handleSubmit} className="flex flex-1 flex-col"> | ||
<RouteDrawer.Body> | ||
<div className="flex flex-col gap-y-4"> | ||
<Form.Field | ||
control={form.control} | ||
name="starts_at" | ||
render={({ field }) => { | ||
return ( | ||
<Form.Item> | ||
<Form.Label>{t("campaigns.fields.start_date")}</Form.Label> | ||
|
||
<Form.Control> | ||
<DatePicker | ||
granularity="minute" | ||
hourCycle={12} | ||
shouldCloseOnSelect={false} | ||
{...field} | ||
/> | ||
</Form.Control> | ||
|
||
<Form.ErrorMessage /> | ||
</Form.Item> | ||
) | ||
}} | ||
/> | ||
|
||
<Form.Field | ||
control={form.control} | ||
name="ends_at" | ||
render={({ field }) => { | ||
return ( | ||
<Form.Item> | ||
<Form.Label>{t("campaigns.fields.end_date")}</Form.Label> | ||
|
||
<Form.Control> | ||
<DatePicker | ||
granularity="minute" | ||
shouldCloseOnSelect={false} | ||
{...field} | ||
/> | ||
</Form.Control> | ||
|
||
<Form.ErrorMessage /> | ||
</Form.Item> | ||
) | ||
}} | ||
/> | ||
</div> | ||
</RouteDrawer.Body> | ||
|
||
<RouteDrawer.Footer> | ||
<div className="flex items-center justify-end gap-x-2"> | ||
<RouteDrawer.Close asChild> | ||
<Button variant="secondary" size="small"> | ||
{t("actions.cancel")} | ||
</Button> | ||
</RouteDrawer.Close> | ||
|
||
<Button | ||
isLoading={isPending} | ||
type="submit" | ||
variant="primary" | ||
size="small" | ||
> | ||
{t("actions.save")} | ||
</Button> | ||
</div> | ||
</RouteDrawer.Footer> | ||
</form> | ||
</RouteDrawer.Form> | ||
) | ||
} |
1 change: 1 addition & 0 deletions
1
...c/routes/campaigns/campaign-configuration/components/campaign-configuration-form/index.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
export * from "./campaign-configuration-form" |
1 change: 1 addition & 0 deletions
1
packages/admin/dashboard/src/routes/campaigns/campaign-configuration/index.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
export { CampaignConfiguration as Component } from "./campaign-configuration" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.