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": {