import * as Linking from 'expo-linking'
import { SocialButton } from '@/components'
import { FieldRadioGroup } from '@/components/molecules/Field/FieldRadioGroup'
import {
Loader,
Box,
Text,
Button,
ScrollView,
CheckboxButton,
RenderComponentWithExample,
} from '@/design-system'
import { useBoolean, useCallback, useScreenOptions, useState, useTranslation } from '@/hooks'
import { noop, showInformationToast } from '@/utils'
const loaderVariants = [
{
type: 'circle',
headerText: 'components_screen.loader_variants.circle',
},
{
type: 'bubbles',
headerText: 'components_screen.loader_variants.bubbles',
},
{
type: 'bricks',
headerText: 'components_screen.loader_variants.bricks',
},
{
type: 'disk',
headerText: 'components_screen.loader_variants.disk',
},
{
type: 'default',
headerText: 'components_screen.loader_variants.default',
},
] as const
const TestCheckbox = () => {
const { t } = useTranslation()
const [isChecked, setIsChecked] = useBoolean()
return (
}
/>
)
}
const AGES = ['18-30', '31-40', '41-50']
const agesMap = AGES.map((age) => ({
label: age,
value: age,
}))
const TextRadioButtons = () => {
const { t } = useTranslation()
const [selectedRadio, setSelectedRadio] = useState()
return (
}
/>
)
}
export const ComponentsScreen = (): JSX.Element => {
const { t } = useTranslation()
useScreenOptions({
title: t('navigation.screen_titles.components'),
})
const testNotification = useCallback(() => {
showInformationToast({
title: t('components_screen.notification.title'),
description: t('components_screen.notification.description'),
onPress: () => {
Linking.openURL('https://thewidlarzgroup.github.io/react-native-notificated/')
},
})
}, [t])
return (
Toast:
{t('components_screen.test_notification')}
}
/>
{t('components_screen.button_variants.header')}:
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
{t('components_screen.button_variants.disabled')}
}
/>
}
/>
}
/>
}
/>
}
/>
{t('components_screen.loader_variants.header')}
{loaderVariants?.map((loader) => (
}
/>
))}
)
}