Merged in feat/SW-1371-delete-ancillary (pull request #1455)

feat(SW-1371): delete ancillary

* feat(SW-1371): delete ancillary

* Remove outline from dialog

* Consistent return type from mutation

* Error flow


Approved-by: Michael Zetterberg
Approved-by: Pontus Dreij
This commit is contained in:
Niclas Edenvin
2025-03-04 14:22:15 +00:00
parent f80c2e9583
commit c88aa92aba
12 changed files with 211 additions and 48 deletions

View File

@@ -1,6 +1,7 @@
import { useRouter } from "next/navigation"
import { useIntl } from "react-intl"
import { CheckCircleIcon, DeleteIcon, EditIcon } from "@/components/Icons"
import { CheckCircleIcon, EditIcon } from "@/components/Icons"
import Accordion from "@/components/TempDesignSystem/Accordion"
import AccordionItem from "@/components/TempDesignSystem/Accordion/AccordionItem"
import Button from "@/components/TempDesignSystem/Button"
@@ -8,6 +9,8 @@ import Divider from "@/components/TempDesignSystem/Divider"
import Body from "@/components/TempDesignSystem/Text/Body"
import Subtitle from "@/components/TempDesignSystem/Text/Subtitle"
import RemoveButton from "./RemoveButton"
import styles from "./addedAncillaries.module.css"
import type { AddedAncillariesProps } from "@/types/components/myPages/myStay/ancillaries"
@@ -17,6 +20,7 @@ export function AddedAncillaries({
booking,
}: AddedAncillariesProps) {
const intl = useIntl()
const router = useRouter()
return (
<div className={styles.container}>
@@ -76,30 +80,29 @@ export function AddedAncillaries({
</div>
<div className={styles.footerMobile}>
<div className={styles.actions}>
<Button
intent="text"
size="small"
variant="icon"
theme="base"
>
<EditIcon />
{intl.formatMessage({ id: "Modify" })}
</Button>
<Divider
variant="vertical"
color="baseSurfaceSubtleNormal"
/>
<Button
intent="text"
size="small"
variant="icon"
theme="base"
>
<DeleteIcon />
{intl.formatMessage({ id: "Remove" })}
</Button>
</div>
{booking.confirmationNumber && ancillary.code ? (
<div className={styles.actions}>
<Button
intent="text"
size="small"
variant="icon"
theme="base"
>
<EditIcon />
{intl.formatMessage({ id: "Modify" })}
</Button>
<Divider
variant="vertical"
color="baseSurfaceSubtleNormal"
/>
<RemoveButton
confirmationNumber={booking.confirmationNumber}
code={ancillary.code}
title={ancillaryItem?.title}
onSuccess={() => router.refresh()}
/>
</div>
) : null}
</div>
</AccordionItem>
</Accordion>
@@ -135,27 +138,29 @@ export function AddedAncillaries({
</>
)}
</div>
<div className={styles.actions}>
<Button
intent="text"
size="small"
variant="icon"
theme="base"
>
<EditIcon />
{intl.formatMessage({ id: "Modify" })}
</Button>
<Divider variant="vertical" color="baseSurfaceSubtleNormal" />
<Button
intent="text"
size="small"
variant="icon"
theme="base"
>
<DeleteIcon />
{intl.formatMessage({ id: "Remove" })}
</Button>
</div>
{booking.confirmationNumber && ancillary.code ? (
<div className={styles.actions}>
<Button
intent="text"
size="small"
variant="icon"
theme="base"
>
<EditIcon />
{intl.formatMessage({ id: "Modify" })}
</Button>
<Divider
variant="vertical"
color="baseSurfaceSubtleNormal"
/>
<RemoveButton
confirmationNumber={booking.confirmationNumber}
code={ancillary.code}
title={ancillaryItem?.title}
onSuccess={() => router.refresh()}
/>
</div>
) : null}
</div>
</div>
</>