Skip to content

Commit

Permalink
All the updates for Lingui v5
Browse files Browse the repository at this point in the history
Possibly might break if I accidentally miss something
  • Loading branch information
cheeaun committed Dec 21, 2024
1 parent dcf22b5 commit acb7084
Show file tree
Hide file tree
Showing 57 changed files with 845 additions and 922 deletions.
3 changes: 2 additions & 1 deletion src/components/account-block.jsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import './account-block.css';

import { Plural, t, Trans } from '@lingui/macro';
import { Plural, Trans, useLingui } from '@lingui/react/macro';

// import { useNavigate } from 'react-router-dom';
import enhanceContent from '../utils/enhance-content';
Expand Down Expand Up @@ -28,6 +28,7 @@ function AccountBlock({
relationship = {},
excludeRelationshipAttrs = [],
}) {
const { t } = useLingui();
if (skeleton) {
return (
<div class="account-block skeleton">
Expand Down
8 changes: 4 additions & 4 deletions src/components/account-info.jsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import './account-info.css';

import { msg, plural, t, Trans } from '@lingui/macro';
import { useLingui } from '@lingui/react';
import { msg, plural } from '@lingui/core/macro';
import { Trans, useLingui } from '@lingui/react/macro';
import { MenuDivider, MenuItem } from '@szhsin/react-menu';
import {
useCallback,
Expand All @@ -24,7 +24,7 @@ import pmem from '../utils/pmem';
import shortenNumber from '../utils/shorten-number';
import showCompose from '../utils/show-compose';
import showToast from '../utils/show-toast';
import states, { hideAllModals } from '../utils/states';
import states from '../utils/states';
import store from '../utils/store';
import { getCurrentAccountID, updateAccount } from '../utils/store-utils';
import supports from '../utils/supports';
Expand Down Expand Up @@ -135,7 +135,7 @@ function AccountInfo({
instance,
authenticated,
}) {
const { i18n } = useLingui();
const { i18n, t } = useLingui();
const { masto } = api({
instance,
});
Expand Down
3 changes: 2 additions & 1 deletion src/components/account-sheet.jsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { t } from '@lingui/macro';
import { useLingui } from '@lingui/react/macro';
import { useEffect } from 'preact/hooks';

import { api } from '../utils/api';
Expand All @@ -9,6 +9,7 @@ import AccountInfo from './account-info';
import Icon from './icon';

function AccountSheet({ account, instance: propInstance, onClose }) {
const { t } = useLingui();
const { masto, instance, authenticated } = api({ instance: propInstance });
const isString = typeof account === 'string';

Expand Down
4 changes: 3 additions & 1 deletion src/components/background-service.jsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { t, Trans } from '@lingui/macro';
import { useLingui } from '@lingui/react/macro';
import { memo } from 'preact/compat';
import { useEffect, useRef, useState } from 'preact/hooks';
import { useHotkeys } from 'react-hotkeys-hook';
Expand All @@ -13,6 +13,8 @@ const STREAMING_TIMEOUT = 1000 * 3; // 3 seconds
const POLL_INTERVAL = 20_000; // 20 seconds

export default memo(function BackgroundService({ isLoggedIn }) {
const { t } = useLingui();

// Notifications service
// - WebSocket to receive notifications when page is visible
const [visible, setVisible] = useState(true);
Expand Down
3 changes: 2 additions & 1 deletion src/components/columns.jsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { t, Trans } from '@lingui/macro';
import { useLingui } from '@lingui/react/macro';
import { useHotkeys } from 'react-hotkeys-hook';
import { useSnapshot } from 'valtio';

Expand All @@ -23,6 +23,7 @@ const scrollIntoViewOptions = {
};

function Columns() {
const { t } = useLingui();
useTitle(t`Home`, '/');
const snapStates = useSnapshot(states);
const { shortcuts } = snapStates;
Expand Down
3 changes: 2 additions & 1 deletion src/components/compose-button.jsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { t, Trans } from '@lingui/macro';
import { useLingui } from '@lingui/react/macro';
import { useHotkeys } from 'react-hotkeys-hook';
import { useSnapshot } from 'valtio';

Expand All @@ -9,6 +9,7 @@ import states from '../utils/states';
import Icon from './icon';

export default function ComposeButton() {
const { t } = useLingui();
const snapStates = useSnapshot(states);

function handleButton(e) {
Expand Down
8 changes: 4 additions & 4 deletions src/components/compose.jsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import './compose.css';
import '@github/text-expander-element';

import { msg, plural, t, Trans } from '@lingui/macro';
import { useLingui } from '@lingui/react';
import { msg, plural } from '@lingui/core/macro';
import { Trans, useLingui } from '@lingui/react/macro';
import { MenuItem } from '@szhsin/react-menu';
import { deepEqual } from 'fast-equals';
import Fuse from 'fuse.js';
Expand Down Expand Up @@ -217,7 +217,7 @@ function Compose({
standalone,
hasOpener,
}) {
const { i18n, _ } = useLingui();
const { i18n, _, t } = useLingui();
const rtf = RTF(i18n.locale);
const lf = LF(i18n.locale);

Expand Down Expand Up @@ -2244,7 +2244,7 @@ function MediaAttachment({
onDescriptionChange = () => {},
onRemove = () => {},
}) {
const { i18n } = useLingui();
const { i18n, t } = useLingui();
const [uiState, setUIState] = useState('default');
const supportsEdit = supports('@mastodon/edit-media-attributes');
const { type, id, file } = attachment;
Expand Down
3 changes: 2 additions & 1 deletion src/components/drafts.jsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import './drafts.css';

import { t, Trans } from '@lingui/macro';
import { Trans, useLingui } from '@lingui/react/macro';
import { useEffect, useMemo, useReducer, useState } from 'react';

import { api } from '../utils/api';
Expand All @@ -14,6 +14,7 @@ import Loader from './loader';
import MenuConfirm from './menu-confirm';

function Drafts({ onClose }) {
const { t } = useLingui();
const { masto } = api();
const [uiState, setUIState] = useState('default');
const [drafts, setDrafts] = useState([]);
Expand Down
3 changes: 2 additions & 1 deletion src/components/embed-modal.jsx
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
import './embed-modal.css';

import { t, Trans } from '@lingui/macro';
import { Trans, useLingui } from '@lingui/react/macro';

import Icon from './icon';

function EmbedModal({ html, url, width, height, onClose = () => {} }) {
const { t } = useLingui();
return (
<div class="embed-modal-container">
<div class="top-controls">
Expand Down
3 changes: 2 additions & 1 deletion src/components/follow-request-buttons.jsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { t, Trans } from '@lingui/macro';
import { Trans, useLingui } from '@lingui/react/macro';
import { useState } from 'preact/hooks';

import { api } from '../utils/api';
Expand All @@ -7,6 +7,7 @@ import Icon from './icon';
import Loader from './loader';

function FollowRequestButtons({ accountID, onChange }) {
const { t } = useLingui();
const { masto } = api();
const [uiState, setUIState] = useState('default');
const [requestState, setRequestState] = useState(null); // accept, reject
Expand Down
9 changes: 6 additions & 3 deletions src/components/generic-accounts.jsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import './generic-accounts.css';

import { t, Trans } from '@lingui/macro';
import { Trans, useLingui } from '@lingui/react/macro';
import { useEffect, useRef, useState } from 'preact/hooks';
import { InView } from 'react-intersection-observer';
import { useSnapshot } from 'valtio';
Expand All @@ -21,8 +21,9 @@ export default function GenericAccounts({
excludeRelationshipAttrs = [],
postID,
onClose = () => {},
blankCopy = t`Nothing to show`,
blankCopy,
}) {
const { t } = useLingui();
const { masto, instance: currentInstance } = api();
const isCurrentInstance = instance ? instance === currentInstance : true;
const snapStates = useSnapshot(states);
Expand Down Expand Up @@ -227,7 +228,9 @@ export default function GenericAccounts({
<Trans>Error loading accounts</Trans>
</p>
) : (
<p class="ui-state insignificant">{blankCopy}</p>
<p class="ui-state insignificant">
{blankCopy || t`Nothing to show`}
</p>
)}
</main>
</div>
Expand Down
3 changes: 2 additions & 1 deletion src/components/keyboard-shortcuts-help.jsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import './keyboard-shortcuts-help.css';

import { t, Trans } from '@lingui/macro';
import { Trans, useLingui } from '@lingui/react/macro';
import { memo } from 'preact/compat';
import { useHotkeys } from 'react-hotkeys-hook';
import { useSnapshot } from 'valtio';
Expand All @@ -11,6 +11,7 @@ import Icon from './icon';
import Modal from './modal';

export default memo(function KeyboardShortcutsHelp() {
const { t } = useLingui();
const snapStates = useSnapshot(states);

function onClose() {
Expand Down
3 changes: 2 additions & 1 deletion src/components/list-add-edit.jsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { t, Trans } from '@lingui/macro';
import { Trans, useLingui } from '@lingui/react/macro';
import { useEffect, useRef, useState } from 'preact/hooks';

import { api } from '../utils/api';
Expand All @@ -9,6 +9,7 @@ import Icon from './icon';
import MenuConfirm from './menu-confirm';

function ListAddEdit({ list, onClose }) {
const { t } = useLingui();
const { masto } = api();
const [uiState, setUIState] = useState('default');
const editMode = !!list;
Expand Down
3 changes: 2 additions & 1 deletion src/components/media-alt-modal.jsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { t, Trans } from '@lingui/macro';
import { Trans, useLingui } from '@lingui/react/macro';
import { Menu, MenuItem } from '@szhsin/react-menu';
import { useState } from 'preact/hooks';
import { useSnapshot } from 'valtio';
Expand All @@ -13,6 +13,7 @@ import Menu2 from './menu2';
import TranslationBlock from './translation-block';

export default function MediaAltModal({ alt, lang, onClose }) {
const { t } = useLingui();
const snapStates = useSnapshot(states);
const [forceTranslate, setForceTranslate] = useState(false);
const targetLanguage = getTranslateTargetLanguage(true);
Expand Down
3 changes: 2 additions & 1 deletion src/components/media-modal.jsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { t, Trans } from '@lingui/macro';
import { Trans, useLingui } from '@lingui/react/macro';
import { MenuDivider, MenuItem } from '@szhsin/react-menu';
import { getBlurHashAverageColor } from 'fast-blurhash';
import {
Expand Down Expand Up @@ -32,6 +32,7 @@ function MediaModal({
index = 0,
onClose = () => {},
}) {
const { t } = useLingui();
const [uiState, setUIState] = useState('default');
const carouselRef = useRef(null);

Expand Down
3 changes: 2 additions & 1 deletion src/components/media-post.jsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import './media-post.css';

import { t, Trans } from '@lingui/macro';
import { Trans, useLingui } from '@lingui/react/macro';
import { memo } from 'preact/compat';
import { useContext, useMemo } from 'preact/hooks';
import { useSnapshot } from 'valtio';
Expand All @@ -22,6 +22,7 @@ function MediaPost({
// allowFilters,
onMediaClick,
}) {
const { t } = useLingui();
let sKey = statusKey(statusID, instance);
const snapStates = useSnapshot(states);
if (!status) {
Expand Down
3 changes: 2 additions & 1 deletion src/components/media.jsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { t, Trans } from '@lingui/macro';
import { useLingui } from '@lingui/react/macro';
import { getBlurHashAverageColor } from 'fast-blurhash';
import { Fragment } from 'preact';
import { memo } from 'preact/compat';
Expand Down Expand Up @@ -32,6 +32,7 @@ audio = Audio track

const dataAltLabel = 'ALT';
const AltBadge = (props) => {
const { t } = useLingui();
const { alt, lang, index, ...rest } = props;
if (!alt || !alt.trim()) return null;
return (
Expand Down
3 changes: 2 additions & 1 deletion src/components/modals.jsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { t, Trans } from '@lingui/macro';
import { useLingui } from '@lingui/react/macro';
import { useEffect } from 'preact/hooks';
import { useLocation, useNavigate } from 'react-router-dom';
import { subscribe, useSnapshot } from 'valtio';
Expand Down Expand Up @@ -30,6 +30,7 @@ subscribe(states, (changes) => {
});

export default function Modals() {
const { t } = useLingui();
const snapStates = useSnapshot(states);
const navigate = useNavigate();
const location = useLocation();
Expand Down
3 changes: 2 additions & 1 deletion src/components/nav-menu.jsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import './nav-menu.css';

import { t, Trans } from '@lingui/macro';
import { Trans, useLingui } from '@lingui/react/macro';
import { ControlledMenu, MenuDivider, MenuItem } from '@szhsin/react-menu';
import { memo } from 'preact/compat';
import { useEffect, useMemo, useRef, useState } from 'preact/hooks';
Expand All @@ -21,6 +21,7 @@ import MenuLink from './menu-link';
import SubMenu2 from './submenu2';

function NavMenu(props) {
const { t } = useLingui();
const snapStates = useSnapshot(states);
const { masto, instance, authenticated } = api();

Expand Down
3 changes: 2 additions & 1 deletion src/components/notification-service.jsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { t, Trans } from '@lingui/macro';
import { Trans, useLingui } from '@lingui/react/macro';
import { memo } from 'preact/compat';
import { useLayoutEffect, useState } from 'preact/hooks';
import { useSnapshot } from 'valtio';
Expand Down Expand Up @@ -33,6 +33,7 @@ import Notification from './notification';
}

export default memo(function NotificationService() {
const { t } = useLingui();
if (!('serviceWorker' in navigator)) return null;

const snapStates = useSnapshot(states);
Expand Down
4 changes: 2 additions & 2 deletions src/components/notification.jsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { msg, Plural, Select, t, Trans } from '@lingui/macro';
import { useLingui } from '@lingui/react';
import { msg, t } from '@lingui/core/macro';
import { Plural, Select, Trans, useLingui } from '@lingui/react/macro';
import { Fragment } from 'preact';
import { memo } from 'preact/compat';

Expand Down
4 changes: 3 additions & 1 deletion src/components/poll.jsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { Plural, plural, t, Trans } from '@lingui/macro';
import { plural } from '@lingui/core/macro';
import { Plural, Trans, useLingui } from '@lingui/react/macro';
import { useState } from 'preact/hooks';

import shortenNumber from '../utils/shorten-number';
Expand All @@ -14,6 +15,7 @@ export default function Poll({
refresh = () => {},
votePoll = () => {},
}) {
const { t } = useLingui();
const [uiState, setUIState] = useState('default');
const {
expired,
Expand Down
2 changes: 1 addition & 1 deletion src/components/relative-time.jsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { i18n } from '@lingui/core';
import { t, Trans } from '@lingui/macro';
import { t } from '@lingui/core/macro';
import { useEffect, useMemo, useReducer } from 'preact/hooks';

import localeMatch from '../utils/locale-match';
Expand Down
6 changes: 3 additions & 3 deletions src/components/report-modal.jsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import './report-modal.css';

import { msg, t, Trans } from '@lingui/macro';
import { useLingui } from '@lingui/react';
import { msg } from '@lingui/core/macro';
import { Trans, useLingui } from '@lingui/react/macro';
import { Fragment } from 'preact';
import { useMemo, useRef, useState } from 'preact/hooks';

Expand Down Expand Up @@ -46,7 +46,7 @@ const CATEGORIES_INFO = {
};

function ReportModal({ account, post, onClose }) {
const { _ } = useLingui();
const { _, t } = useLingui();
const { masto } = api();
const [uiState, setUIState] = useState('default');
const [username, domain] = account.acct.split('@');
Expand Down
3 changes: 2 additions & 1 deletion src/components/search-form.jsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { t, Trans } from '@lingui/macro';
import { Trans, useLingui } from '@lingui/react/macro';
import { forwardRef } from 'preact/compat';
import { useImperativeHandle, useRef, useState } from 'preact/hooks';
import { useSearchParams } from 'react-router-dom';
Expand All @@ -9,6 +9,7 @@ import Icon from './icon';
import Link from './link';

const SearchForm = forwardRef((props, ref) => {
const { t } = useLingui();
const { instance } = api();
const [searchParams, setSearchParams] = useSearchParams();
const [searchMenuOpen, setSearchMenuOpen] = useState(false);
Expand Down
Loading

0 comments on commit acb7084

Please sign in to comment.