mirror of
https://github.com/Sea-Haven-Industries/proposal-system.git
synced 2026-09-30 21:43:14 +00:00
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.
42 lines
866 B
TypeScript
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',
|
|
},
|
|
});
|