import React from 'react';
import {
View,
Text,
ScrollView,
StyleSheet,
Pressable,
Image
} from 'react-native';
import { Ux4gAppHeader } from '../components/app-header/AppHeader';
import { useUx4gTheme } from '../theme/Ux4gThemeContext';
import { Ux4gAvatar, Ux4gStatusAvatar } from '../components/avatar/Avatar';
import { Ux4gAssets } from '../assets/index';
import NationalEmblemLogoSvg from '../assets/icons/NationalEmblemLogoSvg';
import UnionSvg from '../assets/icons/UnionSvg';
import { Ux4gIcons } from '../foundation/icons';
export const AppHeaderShowcase: React.FC = () => {
const theme = useUx4gTheme();
const colors = theme.colors;
const cardStyle = [
styles.card,
{
backgroundColor: theme.isDark ? '#1F1F1F' : '#F4F4F5',
borderColor: theme.isDark ? '#333333' : '#E4E4E7',
},
];
const titleStyle = [
styles.sectionTitle,
{ color: theme.isDark ? '#F4F4F5' : '#18181B' },
];
const subtitleStyle = [
styles.subText,
{ color: theme.isDark ? '#A1A1AA' : '#71717A' },
];
const EmblemPlaceholder = (
);
const LogoPlaceholder = (
);
const DividerPlaceholder = (
);
// Bordered Menu for the second variant in image 3
const BorderedMenu = (
);
return (
🔝 App Header Variants
Exact layout variants matching the UX4G Design specifications.
{/* Group 1: Logo + Title + Trailing (Avatar / Menu) */}
1. Logo & Title (Avatar vs Menu)
}
useSafeArea={false}
/>
{/* Group 2: Dashboard/App Header navigation */}
2. Main Navigation (App Header & Dashboard)
☰]}
actions={[{ icon: 'notifications' }, { icon: 'settings' }]}
showAvatar
avatar={👤}
avatarSize="s"
useSafeArea={false}
/>
☰]}
actions={[
{ icon: 'search' },
{ icon: 'notifications' },
{ icon: 'settings' }
]}
showAvatar
avatarInitials="JD"
avatarSize="s"
useSafeArea={false}
/>
{/* Group 3: Logo + Title + Scan Icon (Avatar vs Bordered Menu) */}
3. App Layouts with Scan Action
{/* Group 4: Sub-page layout (Filled variant) */}
4. Sub-page Navigation (Filled)
);
};
const styles = StyleSheet.create({
container: {
flex: 1,
},
contentContainer: {
padding: 16,
paddingBottom: 40,
},
header: {
marginBottom: 16,
},
title: {
fontSize: 22,
fontWeight: '800',
marginBottom: 6,
},
subText: {
fontSize: 14,
lineHeight: 20,
},
card: {
borderWidth: 1,
borderRadius: 16,
padding: 16,
marginBottom: 16,
},
sectionTitle: {
fontSize: 16,
fontWeight: '700',
marginBottom: 4,
},
stackGroup: {
marginTop: 14,
gap: 14,
},
});