forked from akai/readest
This commit is contained in:
@@ -26,6 +26,7 @@ import { setMigrateDataDirDialogVisible } from '@/app/library/components/Migrate
|
||||
import { requestStoragePermission } from '@/utils/permission';
|
||||
import { saveSysSettings } from '@/helpers/settings';
|
||||
import { selectDirectory } from '@/utils/bridge';
|
||||
import { formatLocaleDateTime } from '@/utils/book';
|
||||
import UserAvatar from '@/components/UserAvatar';
|
||||
import MenuItem from '@/components/MenuItem';
|
||||
import Quota from '@/components/Quota';
|
||||
@@ -277,7 +278,7 @@ const SettingsMenu: React.FC<SettingsMenuProps> = ({ onPullLibrary, setIsDropdow
|
||||
label={
|
||||
settings.lastSyncedAtBooks
|
||||
? _('Synced at {{time}}', {
|
||||
time: new Date(settings.lastSyncedAtBooks).toLocaleString(),
|
||||
time: formatLocaleDateTime(settings.lastSyncedAtBooks),
|
||||
})
|
||||
: _('Never synced')
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@ import { getStyles } from '@/utils/style';
|
||||
import { navigateToLogin } from '@/utils/nav';
|
||||
import { eventDispatcher } from '@/utils/event';
|
||||
import { getMaxInlineSize } from '@/utils/config';
|
||||
import { formatLocaleDateTime } from '@/utils/book';
|
||||
import { saveViewSettings } from '@/helpers/settings';
|
||||
import { tauriHandleToggleFullScreen } from '@/utils/window';
|
||||
import MenuItem from '@/components/MenuItem';
|
||||
@@ -299,7 +300,7 @@ const ViewMenu: React.FC<ViewMenuProps> = ({ bookKey, setIsDropdownOpen }) => {
|
||||
? _('Sign in to Sync')
|
||||
: lastSyncTime
|
||||
? _('Synced at {{time}}', {
|
||||
time: new Date(lastSyncTime).toLocaleString(),
|
||||
time: formatLocaleDateTime(lastSyncTime),
|
||||
})
|
||||
: _('Never synced')
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { BookMetadata, EXTS } from '@/libs/document';
|
||||
import { Book, BookConfig, BookProgress, WritingMode } from '@/types/book';
|
||||
import { SUPPORTED_LANGS } from '@/services/constants';
|
||||
import { getUserLang, makeSafeFilename } from './misc';
|
||||
import { getLocale, getUserLang, makeSafeFilename } from './misc';
|
||||
import { getStorageType } from './storage';
|
||||
import { getDirFromLanguage } from './rtl';
|
||||
import { code6392to6391, isValidLang, normalizedLangCode } from './lang';
|
||||
@@ -181,6 +181,11 @@ export const formatDate = (date: string | number | Date | null | undefined, isUT
|
||||
}
|
||||
};
|
||||
|
||||
export const formatLocaleDateTime = (date: number | Date) => {
|
||||
const userLang = getLocale();
|
||||
return new Date(date).toLocaleString(userLang);
|
||||
};
|
||||
|
||||
export const formatBytes = (bytes?: number | null, locale = 'en-US') => {
|
||||
if (!bytes) return '';
|
||||
const units = ['byte', 'kilobyte', 'megabyte', 'gigabyte', 'terabyte'];
|
||||
|
||||
Reference in New Issue
Block a user