proposal-system/mobile/src/components/EmptyState.tsx
Adam Moussa 9aef2a3891 Add mobile navigation, components, and all screens
Role-based bottom-tab navigation (dispatcher dashboard, admin workspace),
shared components (StatusChip, PriorityChip, ProposalCard, LineItemRow,
FilePickerButton, EmptyState), dispatcher screens (dashboard, new proposal
with camera/document picker and offline drafts, proposal detail), admin
screens (dashboard with stats, proposal queue, workspace with approve/
regenerate/PDF, line item editor), login, and settings.
2026-05-17 15:09:43 -04:00

42 lines
866 B
TypeScript

import React from 'react';
import { View, StyleSheet } from 'react-native';
import { Text, Icon } from 'react-native-paper';
interface Props {
icon: string;
title: string;
message: string;
}
export function EmptyState({ icon, title, message }: Props) {
return (
<View style={styles.container}>
<Icon source={icon} size={64} color="#BDBDBD" />
<Text variant="titleMedium" style={styles.title}>
{title}
</Text>
<Text variant="bodyMedium" style={styles.message}>
{message}
</Text>
</View>
);
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
padding: 32,
},
title: {
marginTop: 16,
fontWeight: '600',
color: '#424242',
},
message: {
marginTop: 8,
textAlign: 'center',
color: '#757575',
},
});