diff --git a/components/settings/__tests__/identity-settings.test.tsx b/components/settings/__tests__/identity-settings.test.tsx new file mode 100644 index 0000000..6d94ca1 --- /dev/null +++ b/components/settings/__tests__/identity-settings.test.tsx @@ -0,0 +1,30 @@ +import { render, screen } from '@testing-library/react'; +import { describe, it, expect, vi } from 'vitest'; + +vi.mock('@/stores/identity-store', () => ({ + useIdentityStore: () => ({ identities: [] }), +})); + +vi.mock('@/components/identity/identity-manager-modal', () => ({ + IdentityManagerModal: () => null, +})); + +import { IdentitySettings } from '@/components/settings/identity-settings'; + +describe('IdentitySettings', () => { + it('keeps the sub-addressing info row without a dead-end control', () => { + render(); + + expect(screen.getByText('sub_addressing.label')).toBeInTheDocument(); + expect(screen.getByText('sub_addressing.description')).toBeInTheDocument(); + // "Learn More" used to open the identity manager, which says nothing + // about sub-addressing (github issue 76). + expect(screen.queryByText('sub_addressing.learn_more')).not.toBeInTheDocument(); + }); + + it('still offers the manage identities action', () => { + render(); + + expect(screen.getByText('manage')).toBeInTheDocument(); + }); +}); diff --git a/components/settings/identity-settings.tsx b/components/settings/identity-settings.tsx index 8bfec2d..9cee988 100644 --- a/components/settings/identity-settings.tsx +++ b/components/settings/identity-settings.tsx @@ -38,11 +38,7 @@ export function IdentitySettings() { - - + /> {/* Identity Manager Modal */} diff --git a/components/settings/settings-section.tsx b/components/settings/settings-section.tsx index 574d7a2..0ce6c4a 100644 --- a/components/settings/settings-section.tsx +++ b/components/settings/settings-section.tsx @@ -23,7 +23,7 @@ export function SettingsSection({ title, description, children }: SettingsSectio interface SettingItemProps { label: string; description?: string; - children: ReactNode; + children?: ReactNode; } export function SettingItem({ label, description, children }: SettingItemProps) { @@ -35,7 +35,7 @@ export function SettingItem({ label, description, children }: SettingItemProps)

{description}

)} -
{children}
+ {children &&
{children}
} ); } diff --git a/locales/de/common.json b/locales/de/common.json index 7ee5c0c..53d73dd 100644 --- a/locales/de/common.json +++ b/locales/de/common.json @@ -746,8 +746,7 @@ "manage": "Identitäten verwalten", "sub_addressing": { "label": "Sub-Adressierung", - "description": "Verwenden Sie Tags wie benutzer+tag@domain.de, um eingehende E-Mails zu organisieren", - "learn_more": "Mehr erfahren" + "description": "Verwenden Sie Tags wie benutzer+tag@domain.de, um eingehende E-Mails zu organisieren" } }, "vacation": { diff --git a/locales/en/common.json b/locales/en/common.json index 7a5f4f8..6594380 100644 --- a/locales/en/common.json +++ b/locales/en/common.json @@ -754,8 +754,7 @@ "manage": "Manage Identities", "sub_addressing": { "label": "Sub-Addressing", - "description": "Use tags like user+tag@domain.com to organize incoming mail", - "learn_more": "Learn More" + "description": "Use tags like user+tag@domain.com to organize incoming mail" } }, "vacation": { diff --git a/locales/es/common.json b/locales/es/common.json index 83dae7e..f069fe6 100644 --- a/locales/es/common.json +++ b/locales/es/common.json @@ -746,8 +746,7 @@ "manage": "Administrar Identidades", "sub_addressing": { "label": "Sub-Direccionamiento", - "description": "Use etiquetas como usuario+etiqueta@dominio.com para organizar el correo entrante", - "learn_more": "Más Información" + "description": "Use etiquetas como usuario+etiqueta@dominio.com para organizar el correo entrante" } }, "vacation": { diff --git a/locales/fr/common.json b/locales/fr/common.json index 244946a..732a59f 100644 --- a/locales/fr/common.json +++ b/locales/fr/common.json @@ -746,8 +746,7 @@ "manage": "Gérer les identités", "sub_addressing": { "label": "Sous-adressage", - "description": "Utilisez des tags comme utilisateur+tag@domaine.com pour organiser votre courrier", - "learn_more": "En savoir plus" + "description": "Utilisez des tags comme utilisateur+tag@domaine.com pour organiser votre courrier" } }, "vacation": { diff --git a/locales/it/common.json b/locales/it/common.json index b416623..2d7d6fa 100644 --- a/locales/it/common.json +++ b/locales/it/common.json @@ -746,8 +746,7 @@ "manage": "Gestisci identità", "sub_addressing": { "label": "Sotto-indirizzamento", - "description": "Usa tag come utente+tag@dominio.com per organizzare la posta in arrivo", - "learn_more": "Scopri di più" + "description": "Usa tag come utente+tag@dominio.com per organizzare la posta in arrivo" } }, "vacation": { diff --git a/locales/ja/common.json b/locales/ja/common.json index b5e67cc..4a3cb2c 100644 --- a/locales/ja/common.json +++ b/locales/ja/common.json @@ -746,8 +746,7 @@ "manage": "送信者情報を管理", "sub_addressing": { "label": "サブアドレス", - "description": "user+tag@domain.comのようなタグを使用して受信メールを整理", - "learn_more": "詳細" + "description": "user+tag@domain.comのようなタグを使用して受信メールを整理" } }, "vacation": { diff --git a/locales/nl/common.json b/locales/nl/common.json index ce6db6c..7f8c7d9 100644 --- a/locales/nl/common.json +++ b/locales/nl/common.json @@ -746,8 +746,7 @@ "manage": "Identiteiten beheren", "sub_addressing": { "label": "Sub-adressering", - "description": "Gebruik tags zoals gebruiker+tag@domein.nl om inkomende mail te organiseren", - "learn_more": "Meer informatie" + "description": "Gebruik tags zoals gebruiker+tag@domein.nl om inkomende mail te organiseren" } }, "vacation": { diff --git a/locales/pl/common.json b/locales/pl/common.json index d0e5f2a..c79778e 100644 --- a/locales/pl/common.json +++ b/locales/pl/common.json @@ -754,8 +754,7 @@ "manage": "Zarządzaj tożsamościami", "sub_addressing": { "label": "Podadresowanie", - "description": "Używaj tagów jak uzytkownik+tag@domena.pl do organizowania poczty przychodzącej", - "learn_more": "Dowiedz się więcej" + "description": "Używaj tagów jak uzytkownik+tag@domena.pl do organizowania poczty przychodzącej" } }, "vacation": { diff --git a/locales/pt/common.json b/locales/pt/common.json index 0da6e4f..97e788d 100644 --- a/locales/pt/common.json +++ b/locales/pt/common.json @@ -746,8 +746,7 @@ "manage": "Gerenciar Identidades", "sub_addressing": { "label": "Sub-Endereçamento", - "description": "Use tags como usuario+tag@dominio.com para organizar e-mails recebidos", - "learn_more": "Saiba Mais" + "description": "Use tags como usuario+tag@dominio.com para organizar e-mails recebidos" } }, "vacation": { diff --git a/locales/ru/common.json b/locales/ru/common.json index 0b88083..0aaee5f 100644 --- a/locales/ru/common.json +++ b/locales/ru/common.json @@ -754,8 +754,7 @@ "manage": "Управление профилями отправителей", "sub_addressing": { "label": "Суб-адресация", - "description": "Используйте теги, такие как user+tag@domain.com, для организации входящей почты", - "learn_more": "Узнать больше" + "description": "Используйте теги, такие как user+tag@domain.com, для организации входящей почты" } }, "vacation": { diff --git a/locales/uk/common.json b/locales/uk/common.json index 0c235ce..c6310b0 100644 --- a/locales/uk/common.json +++ b/locales/uk/common.json @@ -754,8 +754,7 @@ "manage": "Керування профілями відправників", "sub_addressing": { "label": "Суб-адресація", - "description": "Використовуйте такі теги, як user+tag@domain.com, щоб упорядкувати вхідну пошту", - "learn_more": "Дізнайтеся більше" + "description": "Використовуйте такі теги, як user+tag@domain.com, щоб упорядкувати вхідну пошту" } }, "vacation": {