From eb0683ffe041fc485d76e1683bdc766992e996c3 Mon Sep 17 00:00:00 2001 From: elvoisin <95469923+elvoisin@users.noreply.github.com> Date: Mon, 19 Jan 2026 17:04:57 +0100 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8(front)=20create,=20manage=20&=20delet?= =?UTF-8?q?e=20aliases=20(#1013)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * ✨(front) add aliases add list view aliases + creation aliases * ✨(front) add delete alias add modale to delete aliases * 🐛(react-query) remove onMutateResult from mutation callbacks remove onMutateResult from mutation callbacks --- CHANGELOG.md | 1 + src/frontend/apps/desk/.env.development | 2 +- .../apps/desk/src/components/Input.tsx | 11 +- .../apps/desk/src/components/index.ts | 1 + .../desk/src/components/tabs/CustomTabs.tsx | 2 +- .../components/tabs/custom-tabs.module.scss | 104 ++-- .../useDeleteMailDomainAccess.test.tsx | 3 +- .../useUpdateMailDomainAccess.test.tsx | 3 +- .../api/useCreateMailDomainAccess.tsx | 33 +- .../api/useDeleteMailDomainAccess.tsx | 33 +- .../api/useUpdateMailDomainAccess.ts | 33 +- .../mail-domains/aliases/api/index.tsx | 4 + .../mail-domains/aliases/api/useAliases.tsx | 57 ++ .../aliases/api/useAliasesInfinite.tsx | 32 + .../aliases/api/useCreateAlias.tsx | 83 +++ .../aliases/api/useDeleteAlias.tsx | 79 +++ .../aliases/api/useDeleteAliasById.tsx | 75 +++ .../aliases/components/AliasesView.tsx | 135 ++++ .../aliases/components/ModalCreateAlias.tsx | 438 +++++++++++++ .../aliases/components/ModalEditAlias.tsx | 578 ++++++++++++++++++ .../mail-domains/aliases/components/index.ts | 3 + .../components/panel/AliasesListView.tsx | 222 +++++++ .../aliases/components/panel/index.ts | 1 + .../features/mail-domains/aliases/index.tsx | 3 + .../features/mail-domains/aliases/types.ts | 24 + .../domains/components/MailDomainView.tsx | 37 +- .../domains/components/ModalAddMailDomain.tsx | 2 +- .../mailboxes/api/useCreateMailbox.tsx | 23 +- .../mailboxes/api/useUpdateMailbox.tsx | 23 +- .../api/useDeleteTeamAccess.ts | 22 +- .../api/useUpdateTeamAccess.ts | 22 +- .../team-management/api/useRemoveTeam.tsx | 22 +- 32 files changed, 2005 insertions(+), 106 deletions(-) create mode 100644 src/frontend/apps/desk/src/features/mail-domains/aliases/api/index.tsx create mode 100644 src/frontend/apps/desk/src/features/mail-domains/aliases/api/useAliases.tsx create mode 100644 src/frontend/apps/desk/src/features/mail-domains/aliases/api/useAliasesInfinite.tsx create mode 100644 src/frontend/apps/desk/src/features/mail-domains/aliases/api/useCreateAlias.tsx create mode 100644 src/frontend/apps/desk/src/features/mail-domains/aliases/api/useDeleteAlias.tsx create mode 100644 src/frontend/apps/desk/src/features/mail-domains/aliases/api/useDeleteAliasById.tsx create mode 100644 src/frontend/apps/desk/src/features/mail-domains/aliases/components/AliasesView.tsx create mode 100644 src/frontend/apps/desk/src/features/mail-domains/aliases/components/ModalCreateAlias.tsx create mode 100644 src/frontend/apps/desk/src/features/mail-domains/aliases/components/ModalEditAlias.tsx create mode 100644 src/frontend/apps/desk/src/features/mail-domains/aliases/components/index.ts create mode 100644 src/frontend/apps/desk/src/features/mail-domains/aliases/components/panel/AliasesListView.tsx create mode 100644 src/frontend/apps/desk/src/features/mail-domains/aliases/components/panel/index.ts create mode 100644 src/frontend/apps/desk/src/features/mail-domains/aliases/index.tsx create mode 100644 src/frontend/apps/desk/src/features/mail-domains/aliases/types.ts diff --git a/CHANGELOG.md b/CHANGELOG.md index 70c165f..ee52712 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to ## [Unreleased] ### Added +- ✨(front) create, manage & delete aliases - ✨(domains) alias sorting and admin - ✨(aliases) delete all aliases in one call #1002 diff --git a/src/frontend/apps/desk/.env.development b/src/frontend/apps/desk/.env.development index 19f3fba..45ee232 100644 --- a/src/frontend/apps/desk/.env.development +++ b/src/frontend/apps/desk/.env.development @@ -1 +1 @@ -NEXT_PUBLIC_API_ORIGIN=http://localhost:8071 \ No newline at end of file +NEXT_PUBLIC_API_ORIGIN=http://localhost:8071 diff --git a/src/frontend/apps/desk/src/components/Input.tsx b/src/frontend/apps/desk/src/components/Input.tsx index 0e4e3e4..874beb6 100644 --- a/src/frontend/apps/desk/src/components/Input.tsx +++ b/src/frontend/apps/desk/src/components/Input.tsx @@ -19,13 +19,17 @@ export const Input = ({ label, error, required, ...props }: InputProps) => { > {label} {required && '*'} + {error && ( + + {error} + + )} { }} {...props} /> - {error && ( - - {error} - - )} ); }; diff --git a/src/frontend/apps/desk/src/components/index.ts b/src/frontend/apps/desk/src/components/index.ts index 4bbe5fe..d5da9cb 100644 --- a/src/frontend/apps/desk/src/components/index.ts +++ b/src/frontend/apps/desk/src/components/index.ts @@ -11,3 +11,4 @@ export * from './Tag'; export * from './Text'; export * from './TextErrors'; export * from './separators'; +export * from './tabs/CustomTabs'; diff --git a/src/frontend/apps/desk/src/components/tabs/CustomTabs.tsx b/src/frontend/apps/desk/src/components/tabs/CustomTabs.tsx index 03638a1..2489bb1 100644 --- a/src/frontend/apps/desk/src/components/tabs/CustomTabs.tsx +++ b/src/frontend/apps/desk/src/components/tabs/CustomTabs.tsx @@ -27,7 +27,7 @@ export const CustomTabs = ({ tabs }: Props) => { const id = tab.id ?? tab.label; return ( - + {tab.iconName && (