linked-liszt's picture
Upload folder using huggingface_hub
6d08d46 verified
import React from 'react'
import { Group, Title, Badge, Button, Text, Box } from '@mantine/core'
import { IconRefresh } from '@tabler/icons-react'
import { useXRD } from '../context/XRDContext'
const Header = () => {
const { filename, analysisStatus, handleReset } = useXRD()
const getStatusBadge = () => {
switch (analysisStatus) {
case 'PROCESSING':
return (
<Badge color="blue" variant="light" size="lg">
Analyzing...
</Badge>
)
case 'COMPLETE':
return (
<Badge color="green" variant="light" size="lg">
Analysis Complete
</Badge>
)
default:
return (
<Badge color="gray" variant="light" size="lg">
Ready
</Badge>
)
}
}
return (
<Box
style={{
borderBottom: '1px solid #e9ecef',
backgroundColor: 'white',
padding: '1rem 2rem',
}}
>
<Group justify="space-between" align="center">
{/* Left: Logo/App Name */}
<Title
order={2}
style={{
fontWeight: 700,
letterSpacing: '-0.02em',
background: 'linear-gradient(135deg, #9775fa 0%, #1e88e5 100%)',
WebkitBackgroundClip: 'text',
WebkitTextFillColor: 'transparent',
backgroundClip: 'text'
}}
>
Open AlphaDiffract Demo
</Title>
{/* Center: Filename and Status */}
<Group gap="md">
<Text size="sm" c="dimmed" style={{ fontFamily: 'monospace' }}>
{filename || 'No File Loaded'}
</Text>
{getStatusBadge()}
</Group>
{/* Right: Action Toolbar */}
<Group gap="sm">
<Button
variant="subtle"
leftSection={<IconRefresh size={16} />}
size="sm"
onClick={handleReset}
>
Reset
</Button>
</Group>
</Group>
</Box>
)
}
export default Header