fix(notifications): drop per-category descriptions, capitalise "Mobil Bildirim"
Some checks failed
QA Gate (P0/P1) / Test affected app (pull_request) Has been cancelled

The two rows under Settings → Bildirimler were carrying a sentence each
that read like AI-generated filler ("Mobil uygulama push bildirimleri.
Mobil uygulama yayınlandığında bu tercih kullanılır.") — the row title is
enough; the auth/payment caveat lives in the static footer below.

  • Drop `description` from NOTIFICATION_CATEGORIES + the GET response shape.
  • Drop the `<p className="text-muted-foreground">{description}</p>`
    line from NotificationsCard so each row is now a single bold title
    line + the toggle button.
  • Tighten the row to `items-center` since the second-line description
    is gone and `items-start` looked off with only one line of content.
  • Rename `FALLBACK_CATEGORY_COPY` → `FALLBACK_CATEGORY_LABEL` to match
    the slimmer shape.
  • Capitalise the Mobile row to "Mobil Bildirim" (was "Mobil bildirim").

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Claude (notifications categorize)
2026-06-05 00:06:21 +03:00
parent 94faa6cdcd
commit d7e003f590
3 changed files with 14 additions and 33 deletions

View File

@@ -37,12 +37,11 @@ export class EmailPreferencesController {
@Get()
async list(
@CurrentUser() user: { id: string },
): Promise<Array<{ category: string; label: string; description: string; optedOut: boolean }>> {
): Promise<Array<{ category: string; label: string; optedOut: boolean }>> {
return Promise.all(
NOTIFICATION_CATEGORIES.map(async (cat) => ({
category: cat.key,
label: cat.label,
description: cat.description,
optedOut: await this.preferences.getCategoryState(user.id, cat.key),
})),
);

View File

@@ -35,13 +35,14 @@ export const OPTIONAL_WORKFLOWS = new Set<string>([
*
* Order matters — that's the order the settings UI renders. Keep
* `email_marketing` first since it's the bigger lever today.
*
* No per-category description string — the row title speaks for itself in
* the settings UI, the auth/payment caveat lives in a static footer.
*/
export const NOTIFICATION_CATEGORIES = [
{
key: "email_marketing" as const,
label: "E-posta bildirimleri",
description:
"Hoş geldin, deneme bitişi, davet hatırlatması, ödül ve geri kazanma mailleri. Hesap güvenliği ve ödeme bildirimleri her zaman gelir.",
workflows: [
"welcome",
"trial-ending",
@@ -53,9 +54,7 @@ export const NOTIFICATION_CATEGORIES = [
},
{
key: "mobile_push" as const,
label: "Mobil bildirim",
description:
"Mobil uygulama push bildirimleri. Mobil uygulama yayınlandığında bu tercih kullanılır.",
label: "Mobil Bildirim",
workflows: ["mobile_push"] as const,
},
] as const;