// Dependencies
import { siteConfig } from 'site/site.config.mjs'
import translators from 'site/prebuild/translators.json'
// Context
import { LoadingStatusContext } from 'shared/context/loading-status-context.mjs'
// Hooks
import { useBackend } from 'shared/hooks/use-backend.mjs'
import { useState, useContext } from 'react'
import { useTranslation } from 'next-i18next'
// Components
import { ChoiceButton } from 'shared/components/choice-button.mjs'
import { I18nIcon } from 'shared/components/icons.mjs'
import { Popout } from 'shared/components/popout/index.mjs'
import { WebLink } from 'shared/components/link.mjs'
export const ns = ['translation', 'locales']
const languages = [
...siteConfig.languages.filter((lang) => lang !== 'en'),
...siteConfig.languagesWip,
].sort()
export const TranslatorInvite = () => {
// Hooks
const { t } = useTranslation(ns)
const backend = useBackend()
const { setLoadingStatus } = useContext(LoadingStatusContext)
// State
const [team, setTeam] = useState(false)
const [sent, setSent] = useState(false)
const sendInvite = async () => {
setLoadingStatus([true, 'status:contactingBackend'])
const result = await backend.sendTranslatorInvite(team)
if (result.success) {
setSent(true)
setLoadingStatus([true, 'status:settingsSaved', true, true])
} else setLoadingStatus([true, 'status:backendError', true, false])
}
if (sent)
return (
<>
{t('translation:successNote')}{t('translation:inviteSent')}
> ) : ( <>
{t('translation:pleaseChooseTeam')}