Files
dt-design-system/packages/showcase/mobile/src/navigation/RootNavigator.tsx
michael e74c285b70 Add storefront component migration: cards, badges, progress bars, animations, and React wrapper package
Major feature migration from dt-shopify-storefront into the design system:

- Card system: per-card color modes (normal/emphasis/warning/success/other),
  progress bars, full-bleed card body (card-body-flush), image bevel clip-paths,
  and visible structural borders at bevel corners
- Badge system: dt-card-badge with position-aware offsets for cards vs media frames
- Media frames: dt-bevel-media with inner surface fill, image clipping, and
  "MISSING MEDIA" placeholder for empty containers
- Interactive bevel buttons: dt-btn with hover/selected states and pulse animation
- Menu items: dt-menu-item with active states and level indentation
- Animations: scale-in, fade-in, slide-up, pulse, ping, spin keyframes
- Feature legend: CSS grid for product feature icons with state colors
- Scrollbar styling for DT brand
- New @dangerousthings/react package wrapping web CSS components
- New @dangerousthings/tailwind-preset package
- New @dangerousthings/hex-background package
- Desktop showcase rewritten in React with Tailwind CSS
- Mobile showcase updated with new screens (animations, filters, advanced cards)
- Tokens: added mode color tokens, RGB variants, and selected-state tokens

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 10:18:39 -08:00

86 lines
2.6 KiB
TypeScript

import React from 'react';
import { createNativeStackNavigator } from '@react-navigation/native-stack';
import { useDTTheme } from '@dangerousthings/react-native';
import type { RootStackParamList } from './types';
import { HomeScreen } from '../screens/HomeScreen';
import { ButtonsScreen } from '../screens/ButtonsScreen';
import { CardsScreen } from '../screens/CardsScreen';
import { FormsScreen } from '../screens/FormsScreen';
import { FeedbackScreen } from '../screens/FeedbackScreen';
import { OverlaysScreen } from '../screens/OverlaysScreen';
import { ThemeScreen } from '../screens/ThemeScreen';
import { AnimationsScreen } from '../screens/AnimationsScreen';
import { CardsAdvancedScreen } from '../screens/CardsAdvancedScreen';
import { FiltersScreen } from '../screens/FiltersScreen';
const Stack = createNativeStackNavigator<RootStackParamList>();
export function RootNavigator() {
const theme = useDTTheme();
return (
<Stack.Navigator
initialRouteName="Home"
screenOptions={{
headerStyle: { backgroundColor: theme.colors.background },
headerTintColor: theme.custom.modeNormal,
headerTitleStyle: { fontWeight: '600' },
contentStyle: { backgroundColor: theme.colors.background },
animation: 'slide_from_right',
}}
>
<Stack.Screen
name="Home"
component={HomeScreen}
options={{ headerShown: false }}
/>
<Stack.Screen
name="Buttons"
component={ButtonsScreen}
options={{ title: 'BUTTONS & ACTIONS' }}
/>
<Stack.Screen
name="Cards"
component={CardsScreen}
options={{ title: 'CARDS & LABELS' }}
/>
<Stack.Screen
name="CardsAdvanced"
component={CardsAdvancedScreen}
options={{ title: 'ADVANCED CARDS' }}
/>
<Stack.Screen
name="Forms"
component={FormsScreen}
options={{ title: 'FORM CONTROLS' }}
/>
<Stack.Screen
name="Feedback"
component={FeedbackScreen}
options={{ title: 'PROGRESS & FEEDBACK' }}
/>
<Stack.Screen
name="Overlays"
component={OverlaysScreen}
options={{ title: 'OVERLAYS & NAV' }}
/>
<Stack.Screen
name="Animations"
component={AnimationsScreen}
options={{ title: 'ANIMATIONS' }}
/>
<Stack.Screen
name="Filters"
component={FiltersScreen}
options={{ title: 'FILTERS & FEATURES' }}
/>
<Stack.Screen
name="Theme"
component={ThemeScreen}
options={{ title: 'THEME REFERENCE' }}
/>
</Stack.Navigator>
);
}