import React, { useState } from 'react'; import { View, Text, ScrollView, StyleSheet, TouchableOpacity, TextInput, } from 'react-native'; import { MailDisplay } from './mail-display'; import { MailList } from './mail-list'; import { Nav } from './nav'; import { useMail } from '../use-mail'; interface MailProps { accounts: { label: string; email: string; icon: React.ReactNode; }[]; mails: []; } export function Mail({ accounts, mails }: MailProps) { const [isCollapsed, setIsCollapsed] = useState(false); const [activeTab, setActiveTab] = useState('all'); const [mail] = useMail(); const toggleCollapse = () => setIsCollapsed(!isCollapsed); return ( {!isCollapsed && ( <> )} Inbox setActiveTab('all')} > All mail setActiveTab('unread')} > Unread !item.read)} /> item.id === mail.selected) || null} /> ); } const styles = StyleSheet.create({ container: { flex: 1, flexDirection: 'row', }, sidebar: { width: 250, backgroundColor: '#f0f0f0', }, collapsedSidebar: { width: 50, }, collapseButton: { padding: 10, }, content: { flex: 1, backgroundColor: '#ffffff', }, header: { flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center', padding: 10, borderBottomWidth: 1, borderBottomColor: '#e0e0e0', }, title: { fontSize: 20, fontWeight: 'bold', }, tabs: { flexDirection: 'row', }, tab: { padding: 10, }, activeTab: { borderBottomWidth: 2, borderBottomColor: 'blue', }, searchContainer: { flexDirection: 'row', alignItems: 'center', backgroundColor: '#f0f0f0', margin: 10, borderRadius: 5, }, searchIcon: { padding: 10, }, searchInput: { flex: 1, padding: 10, }, mailDisplay: { width: '40%', borderLeftWidth: 1, borderLeftColor: '#e0e0e0', }, });