+
+
+
+ );
+}
diff --git a/frontend/src/components/ui/shared/BrandLogo.tsx b/frontend/src/components/ui/shared/BrandLogo.tsx
new file mode 100644
index 0000000..5b1178a
--- /dev/null
+++ b/frontend/src/components/ui/shared/BrandLogo.tsx
@@ -0,0 +1,30 @@
+import type { CSSProperties } from 'react';
+import { BRAND_NAME } from '@/components/ui/shared/BrandWordmark';
+
+type BrandLogoProps = {
+ className?: string;
+ style?: CSSProperties;
+ decorative?: boolean;
+};
+
+/** Official mark from `src/assets/brand/logo.svg`. Re-run `scripts/build-brand-components.mjs` after editing the SVG. */
+export function BrandLogo({ className, style, decorative }: BrandLogoProps) {
+ return (
+
+ );
+}
diff --git a/frontend/src/components/ui/shared/BrandWordmark.tsx b/frontend/src/components/ui/shared/BrandWordmark.tsx
index 080630a..36b73b4 100644
--- a/frontend/src/components/ui/shared/BrandWordmark.tsx
+++ b/frontend/src/components/ui/shared/BrandWordmark.tsx
@@ -2,43 +2,26 @@ import type { CSSProperties } from 'react';
export const BRAND_NAME = 'Nudentic';
-/** Light-theme primary — use in print/PDF where theme tokens are unsafe. */
-export const BRAND_PRIMARY_HEX = '#009cae';
-
type BrandWordmarkProps = {
className?: string;
style?: CSSProperties;
- /**
- * i-dot color. Omit to use the theme primary token.
- * Pass a hex (e.g. `BRAND_PRIMARY_HEX`) for print/PDF capture.
- */
- dotColor?: string;
+ decorative?: boolean;
};
-function BrandI({ fill }: { fill: string }) {
+/** Official wordmark from `src/assets/brand/wordmark.svg`. Re-run `scripts/build-brand-components.mjs` after editing the SVG. */
+export function BrandWordmark({ className, style, decorative }: BrandWordmarkProps) {
return (
);
}
-
-export function BrandWordmark({ className, style, dotColor }: BrandWordmarkProps) {
- const tittleFill = dotColor ?? 'var(--color-primary)';
-
- return (
-
- {BRAND_NAME}
-
- Nudent
-
- c
-
-
- );
-}
diff --git a/frontend/src/components/ui/shared/Sidebar.tsx b/frontend/src/components/ui/shared/Sidebar.tsx
index c1e79a2..2b9da06 100644
--- a/frontend/src/components/ui/shared/Sidebar.tsx
+++ b/frontend/src/components/ui/shared/Sidebar.tsx
@@ -21,7 +21,7 @@ import { usePendingConnectionsCount } from '@/lib/hooks/usePendingConnectionsCou
import { useTabBadgeCounts } from '@/lib/hooks/useTabBadgeCounts';
import { badgeCountForPath } from '@/lib/tabBadgeUtils';
import { NavBadgePill } from '@/components/ui/shared/NavBadgePill';
-import { BrandWordmark } from '@/components/ui/shared/BrandWordmark';
+import { BrandLockup } from '@/components/ui/shared/BrandLockup';
import {
canViewAppointmentsTab,
canViewCases,
@@ -110,22 +110,24 @@ function Sidebar({ mobileOpen = false, onClose }: SidebarProps) {
mobileOpen ? 'translate-x-0' : rtl ? 'translate-x-full lg:translate-x-0' : '-translate-x-full lg:translate-x-0'
}`}
>
-
-
-
-
- {onClose ? (
-
- ) : null}
+
+
+
+
+
+ {onClose ? (
+
+ ) : null}
+
+
-