Der Menüpunkt 'Dashboard' löste bisher nur einen Toast aus. Ein Navigationseintrag, der nirgendwohin führt, lässt den Leser im Unklaren, ob etwas fehlt oder etwas kaputt ist. Jetzt führt er auf /dashboard: ein Leerzustand nach dem Hausmuster (ui/components/EmptyState), der benennt, warum hier nichts steht, was später hinkommt (drei Rollen-Layouts, Widgets teils aus Analytics, teils nicht — offene HR-Anträge, Aufgaben, Termine) und wo der Zuschnitt dokumentiert ist. Mit einem Weg zurück nach Analytics. Dabei: - EmptyState aus der Cloud-Fassung nachgezogen; unsere Kopie hatte den action-Slot noch nicht. - PageHeader bekommt 'standardAktionen': Auf einer leeren Seite gibt es nichts zu aktualisieren oder zu exportieren, also stehen dort auch keine Schaltflächen dafür. - Die Variante 'software' in NavZiel entfällt — jeder Eintrag führt jetzt auf eine echte Seite, der Toast-Zweig in der AppShell war damit toter Code. - verify-layout deckt /dashboard mit ab (jetzt 7 Seiten x 7 Breiten). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QPeZNwSeU7qG3RRCwaxEZX
19 lines
914 B
TypeScript
19 lines
914 B
TypeScript
"use client";
|
|
import React from "react";
|
|
import { EmptyState as EmptyStateComponent, type EmptyStateRootProps } from "./EmptyState";
|
|
|
|
/**
|
|
* Add wrapper components and business logic here.
|
|
* If you modify this file, disable Subframe sync for it to prevent overwrites.
|
|
* Learn more: https://docs.subframe.com/concepts/syncing-components#wrapping-components
|
|
*
|
|
* History: this wrapper used to add `[&_button]:hidden` to suppress the synced
|
|
* component's hardcoded, non-wired english CTA ("Create project"). The synced
|
|
* component has since gained a proper `action` slot and no hardcoded button,
|
|
* so the class only hid the real action buttons screens pass in (create/retry
|
|
* CTAs). Do not re-add a blanket button-hiding class here.
|
|
*/
|
|
export const EmptyState = React.forwardRef<HTMLDivElement, EmptyStateRootProps>(function EmptyState(props, ref) {
|
|
return <EmptyStateComponent ref={ref} {...props} />;
|
|
});
|