import {useState} from 'react' import {View} from 'react-native' import {plural} from '@lingui/core/macro' import {Trans, useLingui} from '@lingui/react/macro' import {Pager} from '#/view/com/pager/Pager' import {TabBar} from '#/view/com/pager/TabBar' import {NotFoundScreen} from '#/view/screens/NotFound' import {atoms as a, useTheme} from '#/alf' import {ButtonIcon} from '#/components/Button' import {SettingsGear2_Stroke2_Corner0_Rounded as SettingsIcon} from '#/components/icons/SettingsGear2' import * as Layout from '#/components/Layout' import {createStaticClick, Link, SimpleInlineLinkText} from '#/components/Link' import {useAnalytics} from '#/analytics' import {AccountStatus} from './components/AccountStatus' import {FilterMenu} from './components/FilterMenu' import {ReportRow} from './components/ReportRow' type ReportFilter = 'all' | 'pending' | 'resolved' | 'unread' export function ModerationInboxScreen() { const {t: l} = useLingui() const ax = useAnalytics() const isEnabled = ax.features.enabled(ax.features.ModerationInboxEnable) if (!isEnabled) { return } return ( ( Moderation inbox )}> ) } function YourReports() { const t = useTheme() const {t: l} = useLingui() const [filter, setFilter] = useState('all') const hasUnread = true // TODO This is hard-coded atm. -dsb // TODO Placeholders. - dsb const account = '@deleteme01.bsky.social' const list = 'The Worst Posters' return ( {hasUnread ? ( { // TODO Handle this action. -dsb })}> Mark all as read ) : undefined} ) } function YourAccount() { const t = useTheme() const {t: l} = useLingui() const [filter, setFilter] = useState('all') const hasUnread = true // TODO This is hard-coded atm. -dsb // TODO Placeholders. - dsb const guideline = l({ context: 'moderation-report-guideline', message: 'Harassment', }) const label = l({ context: 'moderation-report-label', message: 'Graphic media', }) const duration = plural(72, { one: '# hour', other: '# hours', }) return ( {hasUnread ? ( { // TODO Handle this action. -dsb })}> Mark all as read ) : undefined} ) }