feat(chronik): rename route and heading to Aktivitäten
/chronik → /aktivitaeten; heading updated in all three locales. Component folder (lib/components/chronik/) stays unchanged — internal implementation detail, not user-facing. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -56,7 +56,7 @@ function timestamp(item: ActivityFeedItemDTO): string {
|
||||
{m.feed_caption()}
|
||||
</h2>
|
||||
<a
|
||||
href="/chronik"
|
||||
href="/aktivitaeten"
|
||||
aria-label={m.feed_show_all()}
|
||||
class="font-sans text-xs text-ink-3 transition-colors hover:text-ink">{m.feed_show_all()}</a
|
||||
>
|
||||
|
||||
@@ -61,9 +61,9 @@ describe('DashboardActivityFeed', () => {
|
||||
await expect.element(badge).not.toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('links the "show all" footer to /chronik, not /documents', async () => {
|
||||
it('links the "show all" footer to /aktivitaeten, not /documents', async () => {
|
||||
render(DashboardActivityFeed, { feed: [] });
|
||||
const link = page.getByRole('link', { name: /alle anzeigen/i });
|
||||
await expect.element(link).toHaveAttribute('href', '/chronik');
|
||||
await expect.element(link).toHaveAttribute('href', '/aktivitaeten');
|
||||
});
|
||||
});
|
||||
|
||||
@@ -128,7 +128,7 @@ let { notifications, onMarkRead, onMarkAllRead, onClose }: Props = $props();
|
||||
|
||||
<div class="border-t border-line px-4 py-2">
|
||||
<a
|
||||
href="/chronik"
|
||||
href="/aktivitaeten"
|
||||
onclick={onClose}
|
||||
class="text-xs font-medium text-ink-2 transition-colors hover:text-ink"
|
||||
>
|
||||
|
||||
@@ -45,7 +45,7 @@ function href(n: NotificationItem): string {
|
||||
{m.chronik_inbox_zero_title()}
|
||||
</p>
|
||||
<a
|
||||
href="/chronik?filter=fuer-dich"
|
||||
href="/aktivitaeten?filter=fuer-dich"
|
||||
class="font-sans text-xs text-ink-3 underline decoration-accent underline-offset-2 transition-colors hover:text-ink"
|
||||
>
|
||||
{m.chronik_inbox_zero_link()}
|
||||
|
||||
@@ -40,7 +40,7 @@ describe('ChronikFuerDichBox', () => {
|
||||
onMarkRead: vi.fn(),
|
||||
onMarkAllRead: vi.fn()
|
||||
});
|
||||
const link = document.querySelector('a[href="/chronik?filter=fuer-dich"]');
|
||||
const link = document.querySelector('a[href="/aktivitaeten?filter=fuer-dich"]');
|
||||
expect(link).not.toBeNull();
|
||||
});
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ vi.mock('$lib/api.server', () => ({
|
||||
}));
|
||||
|
||||
function buildUrl(search = ''): URL {
|
||||
return new URL(`http://localhost/chronik${search}`);
|
||||
return new URL(`http://localhost/aktivitaeten${search}`);
|
||||
}
|
||||
|
||||
function mockSuccess() {
|
||||
@@ -26,7 +26,7 @@ beforeEach(() => {
|
||||
vi.clearAllMocks();
|
||||
});
|
||||
|
||||
describe('chronik/load — core', () => {
|
||||
describe('aktivitaeten/load — core', () => {
|
||||
it('requests only unread notifications for Für-dich', async () => {
|
||||
mockSuccess();
|
||||
await load({ fetch, url: buildUrl() } as never);
|
||||
@@ -78,7 +78,7 @@ describe('chronik/load — core', () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe('chronik/load — kinds param per filter', () => {
|
||||
describe('aktivitaeten/load — kinds param per filter', () => {
|
||||
it('omits kinds for filter=alle (server defaults to ROLLUP_ELIGIBLE)', async () => {
|
||||
mockSuccess();
|
||||
await load({ fetch, url: buildUrl() } as never);
|
||||
@@ -102,7 +102,10 @@ const hasEmail = $derived(!!data.user?.email);
|
||||
</form>
|
||||
|
||||
<div class="mt-4 border-t border-line pt-4">
|
||||
<a href="/chronik" class="text-sm font-medium text-ink-2 transition-colors hover:text-ink">
|
||||
<a
|
||||
href="/aktivitaeten"
|
||||
class="text-sm font-medium text-ink-2 transition-colors hover:text-ink"
|
||||
>
|
||||
{m.notification_history_view_link()}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user