CodeIssuesDiscussionsWikiPull RequestsProjectsCommitsActionsReleasesContributorsPulse● GatesSecuritySettingsDeploymentsPipelineInsightsAgents✨ Explain✨ Ask AI✨ Workspace✨ Spec✨ Tests▓ Debt Map✨ NL Search🏛 Archaeology
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | import React from 'react';
import { View, Text, StyleSheet } from 'react-native';
import { colors } from '../theme/colors';
import { fontSizes } from '../theme/typography';
interface Props {
title: string;
subtitle?: string;
icon?: string;
}
export function EmptyState({ title, subtitle, icon = '~' }: Props) {
return (
<View style={styles.container}>
<Text style={styles.icon}>{icon}</Text>
<Text style={styles.title}>{title}</Text>
{subtitle && <Text style={styles.subtitle}>{subtitle}</Text>}
</View>
);
}
const styles = StyleSheet.create({
container: {
flex: 1,
alignItems: 'center',
justifyContent: 'center',
padding: 32,
backgroundColor: colors.bg,
},
icon: {
fontSize: 40,
color: colors.textMuted,
marginBottom: 12,
},
title: {
color: colors.text,
fontSize: fontSizes.md,
fontWeight: '600',
textAlign: 'center',
marginBottom: 8,
},
subtitle: {
color: colors.textMuted,
fontSize: fontSizes.sm,
textAlign: 'center',
lineHeight: 20,
},
});
|