diff --git a/frontend/src/admin/AdminDomainList.js b/frontend/src/admin/AdminDomainList.js index e6555fb66..11ed4e5d6 100644 --- a/frontend/src/admin/AdminDomainList.js +++ b/frontend/src/admin/AdminDomainList.js @@ -1,16 +1,15 @@ import React from 'react' import { IconButton, Text } from '@chakra-ui/react' import { ListOf } from '../components/ListOf' -import { Trans } from "@lingui/react/macro" +import { Trans } from '@lingui/react/macro' import { EditIcon, MinusIcon } from '@chakra-ui/icons' import { AdminDomainCard } from './AdminDomainCard' -import { array, bool, func, object, string } from 'prop-types' +import { array, bool, func, string } from 'prop-types' export function AdminDomainList({ nodes, verified, permission, - i18n, setSelectedRemoveProps, removeOnOpen, setModalProps, @@ -25,7 +24,20 @@ export function AdminDomainList({ )} > - {({ id: domainId, domain, claimTags, archived, rcode, organizations, assetState, cvdEnrollment, highAvailability }, index) => ( + {( + { + id: domainId, + domain, + claimTags, + archived, + rcode, + organizations, + assetState, + cvdEnrollment, + highAvailability, + }, + index, + ) => ( @@ -86,7 +97,6 @@ AdminDomainList.propTypes = { nodes: array.isRequired, verified: bool, permission: string, - i18n: object.isRequired, setSelectedRemoveProps: func.isRequired, removeOnOpen: func.isRequired, setModalProps: func.isRequired, diff --git a/frontend/src/admin/AdminDomainModal.js b/frontend/src/admin/AdminDomainModal.js index ccc83ebb3..38394509d 100644 --- a/frontend/src/admin/AdminDomainModal.js +++ b/frontend/src/admin/AdminDomainModal.js @@ -1,7 +1,5 @@ import React, { useRef } from 'react' -import { t } from "@lingui/core/macro" -import { Trans } from "@lingui/react/macro" -import { useLingui } from '@lingui/react' +import { Trans, useLingui } from '@lingui/react/macro' import { Badge, Box, @@ -60,13 +58,13 @@ export function AdminDomainModal({ }) { const toast = useToast() const initialFocusRef = useRef() - const { i18n } = useLingui() + const { t } = useLingui() const [createDomain] = useMutation(CREATE_DOMAIN, { refetchQueries: ['PaginatedOrgDomains', 'FindAuditLogs'], onError(error) { toast({ - title: i18n._(t`An error occurred.`), + title: t`An error occurred.`, description: error.message, status: 'error', duration: 9000, @@ -78,8 +76,8 @@ export function AdminDomainModal({ if (createDomain.result.__typename === 'Domain') { onClose() toast({ - title: i18n._(t`Domain added`), - description: i18n._(t`${createDomain.result.domain} was added to ${orgSlug}`), + title: t`Domain added`, + description: t`${createDomain.result.domain} was added to ${orgSlug}`, status: 'success', duration: 9000, isClosable: true, @@ -87,7 +85,7 @@ export function AdminDomainModal({ }) } else if (createDomain.result.__typename === 'DomainError') { toast({ - title: i18n._(t`Unable to create new domain.`), + title: t`Unable to create new domain.`, description: createDomain.result.description, status: 'error', duration: 9000, @@ -96,8 +94,8 @@ export function AdminDomainModal({ }) } else { toast({ - title: i18n._(t`Incorrect send method received.`), - description: i18n._(t`Incorrect createDomain.result typename.`), + title: t`Incorrect send method received.`, + description: t`Incorrect createDomain.result typename.`, status: 'error', duration: 9000, isClosable: true, @@ -112,7 +110,7 @@ export function AdminDomainModal({ refetchQueries: ['FindAuditLogs'], onError(error) { toast({ - title: i18n._(t`An error occurred.`), + title: t`An error occurred.`, description: error.message, status: 'error', duration: 9000, @@ -124,8 +122,8 @@ export function AdminDomainModal({ if (updateDomain.result.__typename === 'Domain') { onClose() toast({ - title: i18n._(t`Domain updated`), - description: i18n._(t`${editingDomainUrl} from ${orgSlug} successfully updated.`), + title: t`Domain updated`, + description: t`${editingDomainUrl} from ${orgSlug} successfully updated.`, status: 'success', duration: 9000, isClosable: true, @@ -133,7 +131,7 @@ export function AdminDomainModal({ }) } else if (updateDomain.result.__typename === 'DomainError') { toast({ - title: i18n._(t`Unable to update domain.`), + title: t`Unable to update domain.`, description: updateDomain.result.description, status: 'error', duration: 9000, @@ -142,8 +140,8 @@ export function AdminDomainModal({ }) } else { toast({ - title: i18n._(t`Incorrect send method received.`), - description: i18n._(t`Incorrect updateDomain.result typename.`), + title: t`Incorrect send method received.`, + description: t`Incorrect updateDomain.result typename.`, status: 'error', duration: 9000, isClosable: true, @@ -367,6 +365,8 @@ export function AdminDomainModal({ } const ArchiveDomainSwitch = withSuperAdmin(({ defaultChecked, handleChange, orgCount }) => { + const { t } = useLingui() + return ( @@ -400,6 +400,8 @@ const ArchiveDomainSwitch = withSuperAdmin(({ defaultChecked, handleChange, orgC }) const HighAvailabilitySwitch = withSuperAdmin(({ defaultChecked, handleChange }) => { + const { t } = useLingui() + return ( diff --git a/frontend/src/admin/AdminDomains.js b/frontend/src/admin/AdminDomains.js index d2a15a245..512f0f763 100644 --- a/frontend/src/admin/AdminDomains.js +++ b/frontend/src/admin/AdminDomains.js @@ -1,6 +1,5 @@ import React, { useCallback, useEffect, useState } from 'react' -import { t } from '@lingui/core/macro' -import { Trans } from '@lingui/react/macro' +import { Trans, useLingui } from '@lingui/react/macro' import { Box, Button, @@ -26,7 +25,6 @@ import { } from '@chakra-ui/react' import { AddIcon, EditIcon, HamburgerIcon, PlusSquareIcon } from '@chakra-ui/icons' import { useMutation } from '@apollo/client' -import { useLingui } from '@lingui/react' import { array, bool, number, string } from 'prop-types' import { AdminDomainModal } from './AdminDomainModal' @@ -51,7 +49,7 @@ import { AdminDomainList } from './AdminDomainList' export function AdminDomains({ orgSlug, orgId, verified, permission, availableTags }) { const [showUpdateList, setShowUpdateList] = useState(false) const toast = useToast() - const { i18n } = useLingui() + const { t } = useLingui() const [newDomainUrl, setNewDomainUrl] = useState('') const [domainsPerPage, setDomainsPerPage] = useState(50) @@ -132,7 +130,7 @@ export function AdminDomains({ orgSlug, orgId, verified, permission, availableTa }, onError(error) { toast({ - title: i18n._(t`An error occurred.`), + title: t`An error occurred.`, description: error.message, status: 'error', duration: 9000, @@ -144,8 +142,8 @@ export function AdminDomains({ orgSlug, orgId, verified, permission, availableTa if (removeDomain.result.__typename === 'DomainResult') { removeOnClose() toast({ - title: i18n._(t`Domain removed`), - description: i18n._(t`Domain removed from ${orgSlug}`), + title: t`Domain removed`, + description: t`Domain removed from ${orgSlug}`, status: 'success', duration: 9000, isClosable: true, @@ -153,7 +151,7 @@ export function AdminDomains({ orgSlug, orgId, verified, permission, availableTa }) } else if (removeDomain.result.__typename === 'DomainError') { toast({ - title: i18n._(t`Unable to remove domain.`), + title: t`Unable to remove domain.`, description: removeDomain.result.description, status: 'error', duration: 9000, @@ -162,8 +160,8 @@ export function AdminDomains({ orgSlug, orgId, verified, permission, availableTa }) } else { toast({ - title: i18n._(t`Incorrect send method received.`), - description: i18n._(t`Incorrect removeDomain.result typename.`), + title: t`Incorrect send method received.`, + description: t`Incorrect removeDomain.result typename.`, status: 'error', duration: 9000, isClosable: true, @@ -319,7 +317,6 @@ export function AdminDomains({ orgSlug, orgId, verified, permission, availableTa permission={permission} orgId={orgId} orgSlug={orgSlug} - i18n={i18n} setSelectedRemoveProps={setSelectedRemoveProps} removeOnOpen={removeOnOpen} setModalProps={setModalProps} @@ -353,7 +350,6 @@ export function AdminDomains({ orgSlug, orgId, verified, permission, availableTa nodes={nodes} verified={verified} permission={permission} - i18n={i18n} setSelectedRemoveProps={setSelectedRemoveProps} removeOnOpen={removeOnOpen} setModalProps={setModalProps} @@ -415,8 +411,8 @@ export function AdminDomains({ orgSlug, orgId, verified, permission, availableTa borderColor="black" id="Search-for-domain-field" type="text" - placeholder={i18n._(t`Domain URL`)} - aria-label={i18n._(t`Search by Domain URL`)} + placeholder={t`Domain URL`} + aria-label={t`Search by Domain URL`} onChange={(e) => { setNewDomainUrl(e.target.value) resetToFirstPage() diff --git a/frontend/src/admin/AdminPage.js b/frontend/src/admin/AdminPage.js index b9daed299..80ceb91b2 100644 --- a/frontend/src/admin/AdminPage.js +++ b/frontend/src/admin/AdminPage.js @@ -1,11 +1,9 @@ import React, { useCallback, useState, useEffect } from 'react' import { Button, Flex, Stack, Text, useToast, Select } from '@chakra-ui/react' import { AddIcon } from '@chakra-ui/icons' -import { t } from "@lingui/core/macro" -import { Trans } from "@lingui/react/macro" +import { Trans, useLingui } from '@lingui/react/macro' import { useQuery } from '@apollo/client' import { Link as RouteLink, useNavigate, useParams } from 'react-router-dom' -import { useLingui } from '@lingui/react' import { AdminPanel } from './AdminPanel' import { OrganizationInformation } from './OrganizationInformation' @@ -31,7 +29,7 @@ export default function AdminPage() { const { activeMenu } = useParams() const toast = useToast() const navigate = useNavigate() - const { i18n } = useLingui() + const { t } = useLingui() const memoizedSetDebouncedSearchTermCallback = useCallback(() => { setDebouncedSearchTerm(searchTerm) @@ -88,10 +86,10 @@ export default function AdminPage() { if (loading) { dropdown = ( setSearchTerm(val)} searchValue={searchTerm} /> @@ -105,10 +103,10 @@ export default function AdminPage() { dropdown = ( setSearchTerm(val)} searchValue={searchTerm} onChange={(opt) => { @@ -235,10 +233,18 @@ const SuperAdminMenu = withSuperAdmin(({ activeMenu, changeActiveMenu }) => { defaultValue={activeMenu} onChange={(e) => changeActiveMenu(e.target.value)} > - - - - + + + + diff --git a/frontend/src/auth/SignInPage.js b/frontend/src/auth/SignInPage.js index 5a384b357..db141aec1 100644 --- a/frontend/src/auth/SignInPage.js +++ b/frontend/src/auth/SignInPage.js @@ -1,11 +1,9 @@ import React from 'react' -import { t } from "@lingui/core/macro" -import { Trans } from "@lingui/react/macro" +import { Trans, useLingui } from "@lingui/react/macro" import { Box, Button, Checkbox, Flex, Heading, Link, Text, useToast } from '@chakra-ui/react' import { Link as RouteLink, useNavigate, useLocation } from 'react-router-dom' import { useMutation } from '@apollo/client' import { Formik } from 'formik' -import { useLingui } from '@lingui/react' import { EmailField } from '../components/fields/EmailField' import { PasswordField } from '../components/fields/PasswordField' @@ -16,7 +14,7 @@ import { SIGN_IN } from '../graphql/mutations' export default function SignInPage() { const { login } = useUserVar() - const { i18n } = useLingui() + const { t } = useLingui() const navigate = useNavigate() const location = useLocation() const toast = useToast() @@ -56,8 +54,8 @@ export default function SignInPage() { navigate(from) // Display a welcome message toast({ - title: i18n._(t`Sign In.`), - description: i18n._(t`Welcome, you are successfully signed in!`), + title: t`Sign In.`, + description: t`Welcome, you are successfully signed in!`, status: 'success', duration: 9000, isClosable: true, diff --git a/frontend/src/auth/TwoFactorAuthenticatePage.js b/frontend/src/auth/TwoFactorAuthenticatePage.js index ee4bcf33f..bb515cab4 100644 --- a/frontend/src/auth/TwoFactorAuthenticatePage.js +++ b/frontend/src/auth/TwoFactorAuthenticatePage.js @@ -1,7 +1,5 @@ import React from 'react' -import { t } from "@lingui/core/macro" -import { Trans } from "@lingui/react/macro" -import { useLingui } from '@lingui/react' +import { Trans, useLingui } from "@lingui/react/macro" import { Box, Button, Heading, Stack, Text, useToast } from '@chakra-ui/react' import { useNavigate, useLocation, useParams } from 'react-router-dom' import { useMutation } from '@apollo/client' @@ -19,15 +17,15 @@ export default function TwoFactorAuthenticatePage() { const navigate = useNavigate() const location = useLocation() const toast = useToast() - const { i18n } = useLingui() + const { t } = useLingui() const { sendMethod, authenticateToken } = useParams() const { from } = location.state || { from: { pathname: '/' } } const [authenticate, { loading, error }] = useMutation(AUTHENTICATE, { onError() { toast({ - title: i18n._(t`An error occurred.`), - description: i18n._(t`Unable to sign in to your account, please try again.`), + title: t`An error occurred.`, + description: t`Unable to sign in to your account, please try again.`, status: 'error', duration: 9000, isClosable: true, @@ -52,8 +50,8 @@ export default function TwoFactorAuthenticatePage() { navigate(from, { replace: true }) // Display a welcome message toast({ - title: i18n._(t`Sign In.`), - description: i18n._(t`Welcome, you are successfully signed in!`), + title: t`Sign In.`, + description: t`Welcome, you are successfully signed in!`, status: 'success', duration: 9000, isClosable: true, @@ -63,7 +61,7 @@ export default function TwoFactorAuthenticatePage() { // Non server error occurs else if (authenticate.result.__typename === 'AuthenticateError') { toast({ - title: i18n._(t`Unable to sign in to your account, please try again.`), + title: t`Unable to sign in to your account, please try again.`, description: authenticate.result.description, status: 'error', duration: 9000, diff --git a/frontend/src/components/ReactTableGlobalFilter.js b/frontend/src/components/ReactTableGlobalFilter.js index 36b76aa5c..fb727ec9b 100644 --- a/frontend/src/components/ReactTableGlobalFilter.js +++ b/frontend/src/components/ReactTableGlobalFilter.js @@ -9,9 +9,7 @@ import { Text, } from '@chakra-ui/react' import { SearchIcon } from '@chakra-ui/icons' -import { t } from "@lingui/core/macro" -import { Trans } from "@lingui/react/macro" -import { useLingui } from '@lingui/react' +import { Trans, useLingui } from "@lingui/react/macro" export function ReactTableGlobalFilter({ title, @@ -20,7 +18,7 @@ export function ReactTableGlobalFilter({ setGlobalFilter, placeholder, }) { - const { i18n } = useLingui() + const { t } = useLingui() const count = preGlobalFilteredRows.length const [value, setValue] = React.useState(globalFilter) const onChange = useAsyncDebounce((value) => { @@ -47,7 +45,7 @@ export function ReactTableGlobalFilter({ setValue(e.target.value) onChange(e.target.value) }} - placeholder={placeholder || i18n._(t`${count} records...`)} + placeholder={placeholder || t`${count} records...`} aria-label="Filter the table" /> diff --git a/frontend/src/components/TrackerTable.js b/frontend/src/components/TrackerTable.js index e6cb53143..f412129c1 100644 --- a/frontend/src/components/TrackerTable.js +++ b/frontend/src/components/TrackerTable.js @@ -33,9 +33,7 @@ import { ChevronRightIcon, ExternalLinkIcon, } from '@chakra-ui/icons' -import { t } from "@lingui/core/macro" -import { Trans } from "@lingui/react/macro" -import { useLingui } from '@lingui/react' +import { Trans, useLingui } from "@lingui/react/macro" import { ExportButton } from './ExportButton' import { InfoButton } from './InfoPanel' import 'regenerator-runtime' @@ -43,7 +41,7 @@ import 'regenerator-runtime' import { ReactTableGlobalFilter } from './ReactTableGlobalFilter' export function TrackerTable({ ...props }) { - const { i18n } = useLingui() + const { t } = useLingui() const { data, columns, @@ -292,7 +290,7 @@ export function TrackerTable({ ...props }) { > {[5, 10, 20].map((pageSize) => ( ))} diff --git a/frontend/src/createOrganization/CreateOrganizationPage.js b/frontend/src/createOrganization/CreateOrganizationPage.js index fb6649316..bfa37fa20 100644 --- a/frontend/src/createOrganization/CreateOrganizationPage.js +++ b/frontend/src/createOrganization/CreateOrganizationPage.js @@ -1,11 +1,9 @@ import React from 'react' import { Box, Button, Flex, SimpleGrid, Heading, Stack, useToast, Switch, Badge } from '@chakra-ui/react' -import { t } from "@lingui/core/macro" -import { Trans } from "@lingui/react/macro" +import { Trans, useLingui } from "@lingui/react/macro" import { useMutation } from '@apollo/client' import { Formik } from 'formik' import { Link as RouteLink, useNavigate } from 'react-router-dom' -import { useLingui } from '@lingui/react' import { CreateOrganizationField } from '../components/fields/CreateOrganizationField' @@ -19,10 +17,10 @@ import withSuperAdmin from '../app/withSuperAdmin' export default function CreateOrganizationPage() { const toast = useToast() const navigate = useNavigate() - const { i18n } = useLingui() + const { t } = useLingui() const fieldRequirement = getRequirement('field') - const acronymRequirement = getRequirement('acronym').required(i18n._(t`This field cannot be empty`)) + const acronymRequirement = getRequirement('acronym').required(t`This field cannot be empty`) const validationSchema = schemaToValidation({ nameEN: fieldRequirement, diff --git a/frontend/src/dmarc/DmarcByDomainPage.js b/frontend/src/dmarc/DmarcByDomainPage.js index 1ae2b939e..5aa21547e 100644 --- a/frontend/src/dmarc/DmarcByDomainPage.js +++ b/frontend/src/dmarc/DmarcByDomainPage.js @@ -15,9 +15,7 @@ import { useDisclosure, } from '@chakra-ui/react' import { LinkIcon, SearchIcon } from '@chakra-ui/icons' -import { t } from "@lingui/core/macro" -import { Trans } from "@lingui/react/macro" -import { useLingui } from '@lingui/react' +import { Trans, useLingui } from "@lingui/react/macro" import { ErrorBoundary } from 'react-error-boundary' import { Link as RouteLink } from 'react-router-dom' import withSuperAdmin from '../app/withSuperAdmin' @@ -36,7 +34,7 @@ import { useUserVar } from '../utilities/userState' import { TourComponent } from '../userOnboarding/components/TourComponent' export default function DmarcByDomainPage() { - const { i18n } = useLingui() + const { t, i18n } = useLingui() const currentDate = new Date() const { isLoggedIn, hasAffiliation } = useUserVar() @@ -109,7 +107,7 @@ export default function DmarcByDomainPage() { const [domain, totalMessages, fullPassPercentage, passSpfOnlyPercentage, passDkimOnlyPercentage, failPercentage] = [ { - Header: i18n._(t`Domain`), + Header: t`Domain`, accessor: 'domain', // eslint-disable-next-line react/prop-types Cell: function CellValueWithLink({ value }) { @@ -127,35 +125,35 @@ export default function DmarcByDomainPage() { sortDescFirst: true, }, { - Header: i18n._(t`Total Messages`), + Header: t`Total Messages`, accessor: 'totalMessages', Cell: ({ value }) => value.toLocaleString(i18n.locale), style: { textAlign: 'right' }, sortDescFirst: true, }, { - Header: i18n._(t`Full Pass %`), + Header: t`Full Pass %`, accessor: 'fullPassPercentage', Cell: ({ value }) => `${value}%`, style: { textAlign: 'right' }, sortDescFirst: true, }, { - Header: i18n._(t`Fail DKIM %`), + Header: t`Fail DKIM %`, accessor: 'passSpfOnlyPercentage', Cell: ({ value }) => `${value}%`, style: { textAlign: 'right' }, sortDescFirst: true, }, { - Header: i18n._(t`Fail SPF %`), + Header: t`Fail SPF %`, accessor: 'passDkimOnlyPercentage', Cell: ({ value }) => `${value}%`, style: { textAlign: 'right' }, sortDescFirst: true, }, { - Header: i18n._(t`Full Fail %`), + Header: t`Full Fail %`, accessor: 'failPercentage', Cell: ({ value }) => `${value}%`, style: { textAlign: 'right' }, @@ -166,7 +164,7 @@ export default function DmarcByDomainPage() { const percentageColumns = useMemo( () => [ { - Header: i18n._(t`DMARC Summaries`), + Header: t`DMARC Summaries`, hidden: true, columns: [ domain, diff --git a/frontend/src/guidance/CveIgnorer.js b/frontend/src/guidance/CveIgnorer.js index abdd65cef..976cee31d 100644 --- a/frontend/src/guidance/CveIgnorer.js +++ b/frontend/src/guidance/CveIgnorer.js @@ -1,15 +1,13 @@ import React, { useState } from 'react' import { useMutation } from '@apollo/client' import { IGNORE_CVE, UNIGNORE_CVE } from '../graphql/mutations' -import { t } from "@lingui/core/macro" -import { Trans } from "@lingui/react/macro" +import { Trans, useLingui } from "@lingui/react/macro" import { Box, Button, Text, useToast } from '@chakra-ui/react' -import { useLingui } from '@lingui/react' import withSuperAdmin from '../app/withSuperAdmin' import PropTypes from 'prop-types' function CveIgnorer({ cve, isCveIgnored, domainId }) { - const { i18n } = useLingui() + const { t } = useLingui() const toast = useToast() const [showConfirm, setShowConfirm] = useState(false) @@ -17,7 +15,7 @@ function CveIgnorer({ cve, isCveIgnored, domainId }) { refetchQueries: ['GuidanceAdditionalFindings'], onError(error) { toast({ - title: i18n._(t`An error occurred.`), + title: t`An error occurred.`, description: error.message, status: 'error', duration: 9000, @@ -28,12 +26,10 @@ function CveIgnorer({ cve, isCveIgnored, domainId }) { onCompleted({ ignoreCve }) { if (ignoreCve.result.__typename === 'Domain') { toast({ - title: i18n._(t`CVE ignored`), - description: i18n._( - t`Successfully ignored CVE for domain ${ignoreCve.result.domain}. New ignored CVEs: "${ + title: t`CVE ignored`, + description: t`Successfully ignored CVE for domain ${ignoreCve.result.domain}. New ignored CVEs: "${ ignoreCve.result.ignoredCves && JSON.stringify(ignoreCve.result.ignoredCves) }".`, - ), status: 'success', duration: 9000, isClosable: true, @@ -41,7 +37,7 @@ function CveIgnorer({ cve, isCveIgnored, domainId }) { }) } else if (ignoreCve.result.__typename === 'DomainError') { toast({ - title: i18n._(t`Unable to ignore CVE.`), + title: t`Unable to ignore CVE.`, description: ignoreCve.result.description, status: 'error', duration: 9000, @@ -50,8 +46,8 @@ function CveIgnorer({ cve, isCveIgnored, domainId }) { }) } else { toast({ - title: i18n._(t`Incorrect send method received.`), - description: i18n._(t`Incorrect ignoreCve.result typename.`), + title: t`Incorrect send method received.`, + description: t`Incorrect ignoreCve.result typename.`, status: 'error', duration: 9000, isClosable: true, @@ -66,7 +62,7 @@ function CveIgnorer({ cve, isCveIgnored, domainId }) { refetchQueries: ['GuidanceAdditionalFindings'], onError(error) { toast({ - title: i18n._(t`An error occurred.`), + title: t`An error occurred.`, description: error.message, status: 'error', duration: 9000, @@ -77,12 +73,10 @@ function CveIgnorer({ cve, isCveIgnored, domainId }) { onCompleted({ unignoreCve }) { if (unignoreCve.result.__typename === 'Domain') { toast({ - title: i18n._(t`Stopped ignoring CVE`), - description: i18n._( - t`Successfully stopped ignoring CVE for domain "${unignoreCve.result.domain}". New ignored CVEs: "${ + title: t`Stopped ignoring CVE`, + description: t`Successfully stopped ignoring CVE for domain "${unignoreCve.result.domain}". New ignored CVEs: "${ unignoreCve.result.ignoredCves && JSON.stringify(unignoreCve.result.ignoredCves) }".`, - ), status: 'success', duration: 9000, isClosable: true, @@ -90,7 +84,7 @@ function CveIgnorer({ cve, isCveIgnored, domainId }) { }) } else if (unignoreCve.result.__typename === 'DomainError') { toast({ - title: i18n._(t`Unable to stop ignoring CVE.`), + title: t`Unable to stop ignoring CVE.`, description: unignoreCve.result.description, status: 'error', duration: 9000, @@ -99,8 +93,8 @@ function CveIgnorer({ cve, isCveIgnored, domainId }) { }) } else { toast({ - title: i18n._(t`Incorrect send method received.`), - description: i18n._(t`Incorrect unignoreCve.result typename.`), + title: t`Incorrect send method received.`, + description: t`Incorrect unignoreCve.result typename.`, status: 'error', duration: 9000, isClosable: true, diff --git a/frontend/src/user/UserPage.js b/frontend/src/user/UserPage.js index 58c4acb81..8a3c3a812 100644 --- a/frontend/src/user/UserPage.js +++ b/frontend/src/user/UserPage.js @@ -18,9 +18,7 @@ import { import { useMutation, useQuery } from '@apollo/client' import { QUERY_CURRENT_USER } from '../graphql/queries' import { useNavigate } from 'react-router-dom' -import { t } from "@lingui/core/macro" -import { Trans } from "@lingui/react/macro" -import { useLingui } from '@lingui/react' +import { Trans, useLingui } from "@lingui/react/macro" import { Formik } from 'formik' import { string } from 'prop-types' @@ -43,13 +41,13 @@ import { EditableEmailUpdateOptions } from './EditableEmailUpdateOptions' export default function UserPage() { const toast = useToast() const navigate = useNavigate() - const { i18n } = useLingui() + const { t } = useLingui() const { logout } = useUserVar() const [closeAccount, { loading: loadingCloseAccount }] = useMutation(CLOSE_ACCOUNT_SELF, { onError(error) { toast({ - title: i18n._(t`An error occurred.`), + title: t`An error occurred.`, description: error.message, status: 'error', duration: 9000, @@ -60,8 +58,8 @@ export default function UserPage() { onCompleted({ closeAccount }) { if (closeAccount.result.__typename === 'CloseAccountResult') { toast({ - title: i18n._(t`Account Closed Successfully`), - description: i18n._(t`Tracker account has been successfully closed.`), + title: t`Account Closed Successfully`, + description: t`Tracker account has been successfully closed.`, status: 'success', duration: 9000, isClosable: true, @@ -71,7 +69,7 @@ export default function UserPage() { navigate('/') } else if (closeAccount.result.__typename === 'CloseAccountError') { toast({ - title: i18n._(t`Unable to close the account.`), + title: t`Unable to close the account.`, description: closeAccount.result.description, status: 'error', duration: 9000, @@ -80,8 +78,8 @@ export default function UserPage() { }) } else { toast({ - title: i18n._(t`Incorrect send method received.`), - description: i18n._(t`Incorrect closeAccount.result typename.`), + title: t`Incorrect send method received.`, + description: t`Incorrect closeAccount.result typename.`, status: 'error', duration: 9000, isClosable: true, diff --git a/frontend/src/utilities/useDocumentTitle.js b/frontend/src/utilities/useDocumentTitle.js index e13d6f7ee..84b475853 100644 --- a/frontend/src/utilities/useDocumentTitle.js +++ b/frontend/src/utilities/useDocumentTitle.js @@ -1,10 +1,9 @@ import { useEffect } from 'react' -import { t } from "@lingui/core/macro" -import { useLingui } from '@lingui/react' +import { useLingui } from '@lingui/react/macro' export const useDocumentTitle = (title, setTitle = true) => { - const { i18n } = useLingui() + const { t } = useLingui() useEffect(() => { - if (setTitle) document.title = i18n._(t`${title} - Tracker`) || 'Tracker' + if (setTitle) document.title = t`${title} - Tracker` || 'Tracker' }) }