// @flow import { find } from "lodash"; import * as React from "react"; import { Trans, useTranslation } from "react-i18next"; import styled from "styled-components"; import { languages, languageOptions } from "shared/i18n"; import ButtonLink from "components/ButtonLink"; import Flex from "components/Flex"; import NoticeTip from "components/NoticeTip"; import useCurrentUser from "hooks/useCurrentUser"; import useStores from "hooks/useStores"; import { detectLanguage } from "utils/language"; function Icon(props) { return ( ); } export default function LanguagePrompt() { const { auth, ui } = useStores(); const { t } = useTranslation(); const user = useCurrentUser(); const language = detectLanguage(); if (language === "en_US" || language === user.language) { return null; } if (!languages.includes(language)) { return null; } const option = find(languageOptions, (o) => o.value === language); const optionLabel = option ? option.label : ""; return ( Outline is available in your language {{ optionLabel }}, would you like to change?
{ auth.updateUser({ language, }); ui.setLanguagePromptDismissed(); }} > {t("Change Language")} {" "} ·{" "} {t("Dismiss")}
); } const Link = styled(ButtonLink)` color: ${(props) => props.theme.almostBlack}; font-weight: 500; &:hover { text-decoration: underline; } `; const LanguageIcon = styled(Icon)` margin-right: 12px; `;