From c35682cae5ee0547e531dce45b9683504b802bde Mon Sep 17 00:00:00 2001 From: Marc Mintel Date: Sun, 18 Jan 2026 18:27:39 +0100 Subject: [PATCH] website refactor --- .../website/app/auth/forgot-password/page.tsx | 2 +- apps/website/app/auth/login/LoginClient.tsx | 10 ++++----- apps/website/app/auth/login/page.tsx | 2 +- apps/website/app/auth/reset-password/page.tsx | 2 +- apps/website/app/auth/signup/page.tsx | 2 +- .../drivers/[id]/DriverProfilePageClient.tsx | 2 +- .../{ui => components/app}/AppFooter.tsx | 0 .../{ui => components/app}/AppHeader.tsx | 0 .../{ui => components/app}/AppShell.tsx | 0 .../{ui => components/app}/AppSidebar.tsx | 0 .../{ui => components/auth}/AuthError.tsx | 2 +- .../{ui => components/auth}/AuthLoading.tsx | 9 ++++---- .../dashboard}/DashboardHero.tsx | 17 +++++++------- .../dashboard/DashboardHeroWrapper.tsx | 2 +- .../onboarding}/OnboardingCTA.tsx | 0 .../onboarding}/OnboardingCardAccent.tsx | 0 .../onboarding}/OnboardingContainer.tsx | 0 .../onboarding}/OnboardingError.tsx | 5 ++--- .../onboarding}/OnboardingForm.tsx | 4 ++-- .../onboarding}/OnboardingHeader.tsx | 0 .../onboarding}/OnboardingHelpText.tsx | 0 .../onboarding}/OnboardingNavigation.tsx | 0 .../onboarding}/OnboardingStepHeader.tsx | 0 .../{ui => components/profile}/ProfileBio.tsx | 0 .../profile}/ProfileStatGrid.tsx | 7 +++--- .../profile}/ProfileTabs.tsx | 0 apps/website/templates/ProfileTemplate.tsx | 2 +- .../templates/layout/GlobalFooterTemplate.tsx | 2 +- .../templates/layout/RootAppShellTemplate.tsx | 2 +- .../onboarding/OnboardingTemplate.tsx | 2 +- apps/website/ui/Accordion.tsx | 7 +++--- apps/website/ui/Badge.tsx | 20 ++++------------- apps/website/ui/Breadcrumbs.tsx | 1 - apps/website/ui/DashboardRail.tsx | 21 ------------------ apps/website/ui/Layout.tsx | 10 ++++----- apps/website/ui/OnboardingStepPanel.tsx | 22 ------------------- 36 files changed, 47 insertions(+), 108 deletions(-) rename apps/website/{ui => components/app}/AppFooter.tsx (100%) rename apps/website/{ui => components/app}/AppHeader.tsx (100%) rename apps/website/{ui => components/app}/AppShell.tsx (100%) rename apps/website/{ui => components/app}/AppSidebar.tsx (100%) rename apps/website/{ui => components/auth}/AuthError.tsx (82%) rename apps/website/{ui => components/auth}/AuthLoading.tsx (70%) rename apps/website/{ui => components/dashboard}/DashboardHero.tsx (92%) rename apps/website/{ui => components/onboarding}/OnboardingCTA.tsx (100%) rename apps/website/{ui => components/onboarding}/OnboardingCardAccent.tsx (100%) rename apps/website/{ui => components/onboarding}/OnboardingContainer.tsx (100%) rename apps/website/{ui => components/onboarding}/OnboardingError.tsx (83%) rename apps/website/{ui => components/onboarding}/OnboardingForm.tsx (75%) rename apps/website/{ui => components/onboarding}/OnboardingHeader.tsx (100%) rename apps/website/{ui => components/onboarding}/OnboardingHelpText.tsx (100%) rename apps/website/{ui => components/onboarding}/OnboardingNavigation.tsx (100%) rename apps/website/{ui => components/onboarding}/OnboardingStepHeader.tsx (100%) rename apps/website/{ui => components/profile}/ProfileBio.tsx (100%) rename apps/website/{ui => components/profile}/ProfileStatGrid.tsx (83%) rename apps/website/{ui => components/profile}/ProfileTabs.tsx (100%) delete mode 100644 apps/website/ui/DashboardRail.tsx delete mode 100644 apps/website/ui/OnboardingStepPanel.tsx diff --git a/apps/website/app/auth/forgot-password/page.tsx b/apps/website/app/auth/forgot-password/page.tsx index 02c9d63d1..d8db14464 100644 --- a/apps/website/app/auth/forgot-password/page.tsx +++ b/apps/website/app/auth/forgot-password/page.tsx @@ -6,9 +6,9 @@ * 2. Client component renders with ViewData */ +import { AuthError } from '@/components/auth/AuthError'; import { ForgotPasswordPageQuery } from '@/lib/page-queries/auth/ForgotPasswordPageQuery'; import { ForgotPasswordClient } from './ForgotPasswordClient'; -import { AuthError } from '@/ui/AuthError'; export default async function ForgotPasswordPage({ searchParams, diff --git a/apps/website/app/auth/login/LoginClient.tsx b/apps/website/app/auth/login/LoginClient.tsx index d45429471..de2d049b3 100644 --- a/apps/website/app/auth/login/LoginClient.tsx +++ b/apps/website/app/auth/login/LoginClient.tsx @@ -7,17 +7,17 @@ 'use client'; -import { useState, useEffect, useMemo } from 'react'; -import { useRouter, useSearchParams } from 'next/navigation'; import { useAuth } from '@/components/auth/AuthContext'; +import { AuthLoading } from '@/components/auth/AuthLoading'; import { LoginFlowController, LoginState } from '@/lib/auth/LoginFlowController'; import { LoginViewData } from '@/lib/builders/view-data/types/LoginViewData'; -import { LoginTemplate } from '@/templates/auth/LoginTemplate'; +import { LoginViewModelBuilder } from '@/lib/builders/view-models/LoginViewModelBuilder'; import { LoginMutation } from '@/lib/mutations/auth/LoginMutation'; import { validateLoginForm, type LoginFormValues } from '@/lib/utils/validation'; -import { LoginViewModelBuilder } from '@/lib/builders/view-models/LoginViewModelBuilder'; import { LoginViewModel } from '@/lib/view-models/auth/LoginViewModel'; -import { AuthLoading } from '@/ui/AuthLoading'; +import { LoginTemplate } from '@/templates/auth/LoginTemplate'; +import { useRouter, useSearchParams } from 'next/navigation'; +import { useEffect, useMemo, useState } from 'react'; interface LoginClientProps { viewData: LoginViewData; diff --git a/apps/website/app/auth/login/page.tsx b/apps/website/app/auth/login/page.tsx index a1cf3381f..435aa5d16 100644 --- a/apps/website/app/auth/login/page.tsx +++ b/apps/website/app/auth/login/page.tsx @@ -6,9 +6,9 @@ * 2. Client component renders with ViewData */ +import { AuthError } from '@/components/auth/AuthError'; import { LoginPageQuery } from '@/lib/page-queries/auth/LoginPageQuery'; import { LoginClient } from './LoginClient'; -import { AuthError } from '@/ui/AuthError'; export default async function LoginPage({ searchParams, diff --git a/apps/website/app/auth/reset-password/page.tsx b/apps/website/app/auth/reset-password/page.tsx index 816c3553c..2d563f1da 100644 --- a/apps/website/app/auth/reset-password/page.tsx +++ b/apps/website/app/auth/reset-password/page.tsx @@ -6,9 +6,9 @@ * 2. Client component renders with ViewData */ +import { AuthError } from '@/components/auth/AuthError'; import { ResetPasswordPageQuery } from '@/lib/page-queries/auth/ResetPasswordPageQuery'; import { ResetPasswordClient } from './ResetPasswordClient'; -import { AuthError } from '@/ui/AuthError'; export default async function ResetPasswordPage({ searchParams, diff --git a/apps/website/app/auth/signup/page.tsx b/apps/website/app/auth/signup/page.tsx index 47901c558..14b1577f4 100644 --- a/apps/website/app/auth/signup/page.tsx +++ b/apps/website/app/auth/signup/page.tsx @@ -6,9 +6,9 @@ * 2. Client component renders with ViewData */ +import { AuthError } from '@/components/auth/AuthError'; import { SignupPageQuery } from '@/lib/page-queries/auth/SignupPageQuery'; import { SignupClient } from './SignupClient'; -import { AuthError } from '@/ui/AuthError'; export default async function SignupPage({ searchParams, diff --git a/apps/website/app/drivers/[id]/DriverProfilePageClient.tsx b/apps/website/app/drivers/[id]/DriverProfilePageClient.tsx index 74e859149..4e51e0439 100644 --- a/apps/website/app/drivers/[id]/DriverProfilePageClient.tsx +++ b/apps/website/app/drivers/[id]/DriverProfilePageClient.tsx @@ -1,10 +1,10 @@ 'use client'; +import type { ProfileTab } from '@/components/profile/ProfileTabs'; import type { DriverProfileViewData } from '@/lib/types/view-data/DriverProfileViewData'; import { DriverProfileTemplate } from '@/templates/DriverProfileTemplate'; import { Container } from '@/ui/Container'; import { Stack } from '@/ui/primitives/Stack'; -import type { ProfileTab } from '@/ui/ProfileTabs'; import { Text } from '@/ui/Text'; import { useRouter } from 'next/navigation'; import { useState } from 'react'; diff --git a/apps/website/ui/AppFooter.tsx b/apps/website/components/app/AppFooter.tsx similarity index 100% rename from apps/website/ui/AppFooter.tsx rename to apps/website/components/app/AppFooter.tsx diff --git a/apps/website/ui/AppHeader.tsx b/apps/website/components/app/AppHeader.tsx similarity index 100% rename from apps/website/ui/AppHeader.tsx rename to apps/website/components/app/AppHeader.tsx diff --git a/apps/website/ui/AppShell.tsx b/apps/website/components/app/AppShell.tsx similarity index 100% rename from apps/website/ui/AppShell.tsx rename to apps/website/components/app/AppShell.tsx diff --git a/apps/website/ui/AppSidebar.tsx b/apps/website/components/app/AppSidebar.tsx similarity index 100% rename from apps/website/ui/AppSidebar.tsx rename to apps/website/components/app/AppSidebar.tsx diff --git a/apps/website/ui/AuthError.tsx b/apps/website/components/auth/AuthError.tsx similarity index 82% rename from apps/website/ui/AuthError.tsx rename to apps/website/components/auth/AuthError.tsx index 581061821..6bf7590c4 100644 --- a/apps/website/ui/AuthError.tsx +++ b/apps/website/components/auth/AuthError.tsx @@ -1,6 +1,6 @@ -import { ErrorBanner } from './ErrorBanner'; +import { ErrorBanner } from '../../ui/ErrorBanner'; interface AuthErrorProps { action: string; diff --git a/apps/website/ui/AuthLoading.tsx b/apps/website/components/auth/AuthLoading.tsx similarity index 70% rename from apps/website/ui/AuthLoading.tsx rename to apps/website/components/auth/AuthLoading.tsx index b32c4763c..d2d9d11e8 100644 --- a/apps/website/ui/AuthLoading.tsx +++ b/apps/website/components/auth/AuthLoading.tsx @@ -1,8 +1,7 @@ -import React from 'react'; -import { Box } from './primitives/Box'; -import { Stack } from './primitives/Stack'; -import { LoadingSpinner } from './LoadingSpinner'; -import { Text } from './Text'; +import { LoadingSpinner } from '../../ui/LoadingSpinner'; +import { Box } from '../../ui/primitives/Box'; +import { Stack } from '../../ui/primitives/Stack'; +import { Text } from '../../ui/Text'; interface AuthLoadingProps { message?: string; diff --git a/apps/website/ui/DashboardHero.tsx b/apps/website/components/dashboard/DashboardHero.tsx similarity index 92% rename from apps/website/ui/DashboardHero.tsx rename to apps/website/components/dashboard/DashboardHero.tsx index aa75355a9..87ccd02ec 100644 --- a/apps/website/ui/DashboardHero.tsx +++ b/apps/website/components/dashboard/DashboardHero.tsx @@ -1,12 +1,11 @@ -import React from 'react'; -import { Box } from './primitives/Box'; -import { Stack } from './primitives/Stack'; -import { Text } from './Text'; -import { Heading } from './Heading'; -import { Avatar } from './Avatar'; -import { Badge } from './Badge'; -import { Trophy, Flag, Users, Star } from 'lucide-react'; -import { Icon } from './Icon'; +import { Flag, Star, Trophy, Users } from 'lucide-react'; +import { Avatar } from '../../ui/Avatar'; +import { Badge } from '../../ui/Badge'; +import { Heading } from '../../ui/Heading'; +import { Icon } from '../../ui/Icon'; +import { Box } from '../../ui/primitives/Box'; +import { Stack } from '../../ui/primitives/Stack'; +import { Text } from '../../ui/Text'; interface DashboardHeroProps { driverName: string; diff --git a/apps/website/components/dashboard/DashboardHeroWrapper.tsx b/apps/website/components/dashboard/DashboardHeroWrapper.tsx index dbdd557df..a6ebb3850 100644 --- a/apps/website/components/dashboard/DashboardHeroWrapper.tsx +++ b/apps/website/components/dashboard/DashboardHeroWrapper.tsx @@ -1,6 +1,6 @@ +import { DashboardHero as UiDashboardHero } from '@/components/dashboard/DashboardHero'; import { routes } from '@/lib/routing/RouteConfig'; import { Button } from '@/ui/Button'; -import { DashboardHero as UiDashboardHero } from '@/ui/DashboardHero'; import { Icon } from '@/ui/Icon'; import { Link } from '@/ui/Link'; import { StatBox } from '@/ui/StatBox'; diff --git a/apps/website/ui/OnboardingCTA.tsx b/apps/website/components/onboarding/OnboardingCTA.tsx similarity index 100% rename from apps/website/ui/OnboardingCTA.tsx rename to apps/website/components/onboarding/OnboardingCTA.tsx diff --git a/apps/website/ui/OnboardingCardAccent.tsx b/apps/website/components/onboarding/OnboardingCardAccent.tsx similarity index 100% rename from apps/website/ui/OnboardingCardAccent.tsx rename to apps/website/components/onboarding/OnboardingCardAccent.tsx diff --git a/apps/website/ui/OnboardingContainer.tsx b/apps/website/components/onboarding/OnboardingContainer.tsx similarity index 100% rename from apps/website/ui/OnboardingContainer.tsx rename to apps/website/components/onboarding/OnboardingContainer.tsx diff --git a/apps/website/ui/OnboardingError.tsx b/apps/website/components/onboarding/OnboardingError.tsx similarity index 83% rename from apps/website/ui/OnboardingError.tsx rename to apps/website/components/onboarding/OnboardingError.tsx index 470ce6a5c..602d84e78 100644 --- a/apps/website/ui/OnboardingError.tsx +++ b/apps/website/components/onboarding/OnboardingError.tsx @@ -1,6 +1,5 @@ -import React from 'react'; -import { Box } from './primitives/Box'; -import { Text } from './Text'; +import { Box } from '../../ui/primitives/Box'; +import { Text } from '../../ui/Text'; interface OnboardingErrorProps { message: string; diff --git a/apps/website/ui/OnboardingForm.tsx b/apps/website/components/onboarding/OnboardingForm.tsx similarity index 75% rename from apps/website/ui/OnboardingForm.tsx rename to apps/website/components/onboarding/OnboardingForm.tsx index 2f0429aff..146b891f8 100644 --- a/apps/website/ui/OnboardingForm.tsx +++ b/apps/website/components/onboarding/OnboardingForm.tsx @@ -1,5 +1,5 @@ -import React, { ReactNode, FormEvent } from 'react'; -import { Box } from './primitives/Box'; +import { FormEvent, ReactNode } from 'react'; +import { Box } from '../../ui/primitives/Box'; interface OnboardingFormProps { children: ReactNode; diff --git a/apps/website/ui/OnboardingHeader.tsx b/apps/website/components/onboarding/OnboardingHeader.tsx similarity index 100% rename from apps/website/ui/OnboardingHeader.tsx rename to apps/website/components/onboarding/OnboardingHeader.tsx diff --git a/apps/website/ui/OnboardingHelpText.tsx b/apps/website/components/onboarding/OnboardingHelpText.tsx similarity index 100% rename from apps/website/ui/OnboardingHelpText.tsx rename to apps/website/components/onboarding/OnboardingHelpText.tsx diff --git a/apps/website/ui/OnboardingNavigation.tsx b/apps/website/components/onboarding/OnboardingNavigation.tsx similarity index 100% rename from apps/website/ui/OnboardingNavigation.tsx rename to apps/website/components/onboarding/OnboardingNavigation.tsx diff --git a/apps/website/ui/OnboardingStepHeader.tsx b/apps/website/components/onboarding/OnboardingStepHeader.tsx similarity index 100% rename from apps/website/ui/OnboardingStepHeader.tsx rename to apps/website/components/onboarding/OnboardingStepHeader.tsx diff --git a/apps/website/ui/ProfileBio.tsx b/apps/website/components/profile/ProfileBio.tsx similarity index 100% rename from apps/website/ui/ProfileBio.tsx rename to apps/website/components/profile/ProfileBio.tsx diff --git a/apps/website/ui/ProfileStatGrid.tsx b/apps/website/components/profile/ProfileStatGrid.tsx similarity index 83% rename from apps/website/ui/ProfileStatGrid.tsx rename to apps/website/components/profile/ProfileStatGrid.tsx index d47ef1ebb..db75df52b 100644 --- a/apps/website/ui/ProfileStatGrid.tsx +++ b/apps/website/components/profile/ProfileStatGrid.tsx @@ -1,7 +1,6 @@ -import React from 'react'; -import { Box } from './primitives/Box'; -import { Text } from './Text'; -import { Grid } from './primitives/Grid'; +import { Box } from '../../ui/primitives/Box'; +import { Grid } from '../../ui/primitives/Grid'; +import { Text } from '../../ui/Text'; interface Stat { label: string; diff --git a/apps/website/ui/ProfileTabs.tsx b/apps/website/components/profile/ProfileTabs.tsx similarity index 100% rename from apps/website/ui/ProfileTabs.tsx rename to apps/website/components/profile/ProfileTabs.tsx diff --git a/apps/website/templates/ProfileTemplate.tsx b/apps/website/templates/ProfileTemplate.tsx index b58a0a026..0f5727f70 100644 --- a/apps/website/templates/ProfileTemplate.tsx +++ b/apps/website/templates/ProfileTemplate.tsx @@ -5,6 +5,7 @@ import { CreateDriverForm } from '@/components/drivers/CreateDriverForm'; import { ProfileDetailsPanel } from '@/components/profile/ProfileDetailsPanel'; import { ProfileHeader } from '@/components/profile/ProfileHeader'; import { ProfileNavTabs, type ProfileTab } from '@/components/profile/ProfileNavTabs'; +import { ProfileStatGrid } from '@/components/profile/ProfileStatGrid'; import { SessionHistoryTable } from '@/components/profile/SessionHistoryTable'; import { TeamMembershipGrid } from '@/components/teams/TeamMembershipGrid'; import type { ProfileViewData } from '@/lib/view-data/ProfileViewData'; @@ -14,7 +15,6 @@ import { Icon } from '@/ui/Icon'; import { Box } from '@/ui/primitives/Box'; import { Stack } from '@/ui/primitives/Stack'; import { Surface } from '@/ui/primitives/Surface'; -import { ProfileStatGrid } from '@/ui/ProfileStatGrid'; import { Text } from '@/ui/Text'; import { User } from 'lucide-react'; diff --git a/apps/website/templates/layout/GlobalFooterTemplate.tsx b/apps/website/templates/layout/GlobalFooterTemplate.tsx index 90d6a3298..775746b45 100644 --- a/apps/website/templates/layout/GlobalFooterTemplate.tsx +++ b/apps/website/templates/layout/GlobalFooterTemplate.tsx @@ -1,4 +1,4 @@ -import { AppFooter } from '@/ui/AppFooter'; +import { AppFooter } from '@/components/app/AppFooter'; import { Box } from '@/ui/primitives/Box'; import { Stack } from '@/ui/primitives/Stack'; import { Text } from '@/ui/Text'; diff --git a/apps/website/templates/layout/RootAppShellTemplate.tsx b/apps/website/templates/layout/RootAppShellTemplate.tsx index 52d4749fa..de0eb48ff 100644 --- a/apps/website/templates/layout/RootAppShellTemplate.tsx +++ b/apps/website/templates/layout/RootAppShellTemplate.tsx @@ -1,8 +1,8 @@ 'use client'; +import { AppShell } from '@/components/app/AppShell'; import { useCurrentSession } from '@/hooks/auth/useCurrentSession'; import { routes } from '@/lib/routing/RouteConfig'; -import { AppShell } from '@/ui/AppShell'; import { ContentViewport } from '@/ui/ContentViewport'; import { ControlBar } from '@/ui/ControlBar'; import { Box } from '@/ui/primitives/Box'; diff --git a/apps/website/templates/onboarding/OnboardingTemplate.tsx b/apps/website/templates/onboarding/OnboardingTemplate.tsx index 130782af5..d0109c4e0 100644 --- a/apps/website/templates/onboarding/OnboardingTemplate.tsx +++ b/apps/website/templates/onboarding/OnboardingTemplate.tsx @@ -1,13 +1,13 @@ 'use client'; import { AvatarInfo, AvatarStep } from '@/components/onboarding/AvatarStep'; +import { OnboardingError } from '@/components/onboarding/OnboardingError'; import { OnboardingHelpPanel } from '@/components/onboarding/OnboardingHelpPanel'; import { OnboardingPrimaryActions } from '@/components/onboarding/OnboardingPrimaryActions'; import { OnboardingShell } from '@/components/onboarding/OnboardingShell'; import { OnboardingStepPanel } from '@/components/onboarding/OnboardingStepPanel'; import { OnboardingStepper } from '@/components/onboarding/OnboardingStepper'; import { PersonalInfo, PersonalInfoStep } from '@/components/onboarding/PersonalInfoStep'; -import { OnboardingError } from '@/ui/OnboardingError'; import { Box } from '@/ui/primitives/Box'; import { Stack } from '@/ui/primitives/Stack'; import { Text } from '@/ui/Text'; diff --git a/apps/website/ui/Accordion.tsx b/apps/website/ui/Accordion.tsx index 9e91f5ba7..9f9408acd 100644 --- a/apps/website/ui/Accordion.tsx +++ b/apps/website/ui/Accordion.tsx @@ -17,7 +17,7 @@ interface AccordionProps { export function Accordion({ title, icon, children, isOpen, onToggle }: AccordionProps) { return ( - + {icon} @@ -39,7 +40,7 @@ export function Accordion({ title, icon, children, isOpen, onToggle }: Accordion {isOpen && ( - + {children} )} diff --git a/apps/website/ui/Badge.tsx b/apps/website/ui/Badge.tsx index 8c1aec76c..89683ff55 100644 --- a/apps/website/ui/Badge.tsx +++ b/apps/website/ui/Badge.tsx @@ -3,14 +3,14 @@ import { Box, BoxProps } from './primitives/Box'; import { Icon } from './Icon'; import { LucideIcon } from 'lucide-react'; -interface BadgeProps extends Omit, 'children'> { +interface BadgeProps { children: ReactNode; variant?: 'default' | 'primary' | 'success' | 'warning' | 'danger' | 'info'; size?: 'xs' | 'sm' | 'md'; icon?: LucideIcon; } -export function Badge({ children, className = '', variant = 'default', size = 'sm', icon, rounded = 'none', ...props }: BadgeProps) { +export function Badge({ children, variant = 'default', size = 'sm', icon }: BadgeProps) { const baseClasses = 'flex items-center gap-1.5 border font-bold uppercase tracking-widest'; const sizeClasses = { @@ -19,16 +19,6 @@ export function Badge({ children, className = '', variant = 'default', size = 's md: 'px-3 py-1 text-xs' }; - const roundedClasses = { - none: 'rounded-none', - sm: 'rounded-sm', - md: 'rounded-md', - lg: 'rounded-lg', - xl: 'rounded-xl', - '2xl': 'rounded-2xl', - full: 'rounded-full' - }; - const variantClasses = { default: 'bg-gray-500/10 border-gray-500/30 text-gray-400', primary: 'bg-primary-accent/10 border-primary-accent/30 text-primary-accent', @@ -41,13 +31,11 @@ export function Badge({ children, className = '', variant = 'default', size = 's const classes = [ baseClasses, sizeClasses[size], - typeof rounded === 'string' && roundedClasses[rounded as keyof typeof roundedClasses] ? roundedClasses[rounded as keyof typeof roundedClasses] : '', - !props.bg && !props.color && !props.borderColor ? variantClasses[variant] : '', - className + variantClasses[variant], ].filter(Boolean).join(' '); return ( - + {icon && } {children} diff --git a/apps/website/ui/Breadcrumbs.tsx b/apps/website/ui/Breadcrumbs.tsx index 1b3e942d9..4037c9676 100644 --- a/apps/website/ui/Breadcrumbs.tsx +++ b/apps/website/ui/Breadcrumbs.tsx @@ -10,7 +10,6 @@ export type BreadcrumbItem = { interface BreadcrumbsProps { items: BreadcrumbItem[]; - className?: string; } export function Breadcrumbs({ items }: BreadcrumbsProps) { diff --git a/apps/website/ui/DashboardRail.tsx b/apps/website/ui/DashboardRail.tsx deleted file mode 100644 index 7f3279987..000000000 --- a/apps/website/ui/DashboardRail.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import React from 'react'; - -interface DashboardRailProps { - children?: React.ReactNode; - className?: string; -} - -/** - * DashboardRail is the primary sidebar navigation for the "Telemetry Workspace". - * It provides a high-density, instrument-grade navigation experience. - * Aligned with "Precision Racing Minimal" theme. - */ -export function DashboardRail({ children, className = '' }: DashboardRailProps) { - return ( - - ); -} diff --git a/apps/website/ui/Layout.tsx b/apps/website/ui/Layout.tsx index 0469c12af..e81671e70 100644 --- a/apps/website/ui/Layout.tsx +++ b/apps/website/ui/Layout.tsx @@ -1,4 +1,4 @@ -import React, { ReactNode } from 'react'; +import { ReactNode } from 'react'; import { Box } from './primitives/Box'; import { Grid } from './primitives/Grid'; import { Stack } from './primitives/Stack'; @@ -14,7 +14,6 @@ import { Stack } from './primitives/Stack'; interface LayoutProps { children: ReactNode; - className?: string; padding?: string; gap?: string; grid?: boolean; @@ -27,7 +26,6 @@ interface LayoutProps { export function Layout({ children, - className = '', padding = 'p-6', gap = 'gap-4', grid = false, @@ -41,7 +39,7 @@ export function Layout({ return ( {children} @@ -54,7 +52,7 @@ export function Layout({ direction={flexCol ? 'col' : 'row'} align={items} justify={justify} - className={`${padding} ${gap} ${className}`} + className={`${padding} ${gap}`} > {children} @@ -62,7 +60,7 @@ export function Layout({ } return ( - + {children} ); diff --git a/apps/website/ui/OnboardingStepPanel.tsx b/apps/website/ui/OnboardingStepPanel.tsx deleted file mode 100644 index 13972f861..000000000 --- a/apps/website/ui/OnboardingStepPanel.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import React, { ReactNode } from 'react'; -import { Surface } from './primitives/Surface'; - -interface OnboardingStepPanelProps { - children: ReactNode; - className?: string; -} - -export function OnboardingStepPanel({ children, className = '' }: OnboardingStepPanelProps) { - return ( - - {children} - - ); -}