Files
HealthLog/src/components/settings/channels-section.tsx
T
Marc-André Bombeck 9b191a208d feat(settings): round-2 information-architecture rework
Apply the v1.18.0 walkthrough notes across the settings surface:

- Drop the explanatory top-text block from every settings section so
  content starts at one consistent vertical height (the sr-only heading
  stays for the accessibility tree).
- Move "Restart onboarding tour" out of Account into Advanced.
- Module hub: drop the explanatory line above the first card.
- Split the Integrations page into three left-side entries — the
  Connections content is now the Integrationen page itself, with
  Channels and Sources (source weighting) as their own entries. Drop the
  /settings/sources redirect (it is a real route again); Channels is a
  new entry.
- Notifications: drop the top text, the channels / inbox cross-links,
  and the embedded Vorsorge editor (it has its own page). Keep the mood,
  low-stock, and proactive-coach reminder cards.
- Rename the Layout hub entry to "Layout".
- Flip the Coach toggle to "Activate Coach" (default on, opt-out) over
  the same single disableCoach column — one source of truth.
- Move the AI "About me" context into Account → Profil, before
  cycle tracking.
- Gesundheitsakte: replace the gradient hero with a normal card.

i18n across all six locales for the renamed / added labels; settings
tests updated for the new structure.
2026-06-16 21:47:00 +02:00

38 lines
1.2 KiB
TypeScript

"use client";
/**
* `<ChannelsSection>` — Settings → Kanäle (notification delivery channels).
*
* v1.18.1 (D4) — split out of the Integrations sub-tabs into its own left-side
* entry. A channel (Telegram / ntfy / Web Push / Webhook / Email) is a
* delivery provider — the same family as a connected device — and now reads as
* a first-class settings home rather than a tab hidden behind Integrationen.
*
* The content is the existing `<NotificationChannelsPanel>`; this wrapper only
* owns the section frame (sr-only heading scaffold matching every other
* settings section).
*/
import { NotificationChannelsPanel } from "@/components/settings/integrations/notification-channels-panel";
import { useTranslations } from "@/lib/i18n/context";
export function ChannelsSection() {
const { t } = useTranslations();
return (
<section
aria-labelledby="settings-section-channels-title"
className="space-y-6"
>
{/* v1.18.1 (D0) — section blurb dropped for consistent top alignment. */}
<header>
<h1 id="settings-section-channels-title" className="sr-only">
{t("settings.sections.channels.title")}
</h1>
</header>
<NotificationChannelsPanel />
</section>
);
}