From 37ee0c4dc95d1e7a109fd2c404a26dcab1c31c43 Mon Sep 17 00:00:00 2001 From: Matt Isenhower Date: Sun, 17 Mar 2024 10:20:17 -0700 Subject: [PATCH] Prefer single quotes and enforce semicolons --- .eslintrc.cjs | 66 ++++++++++--------- app/common/sentry.mjs | 2 +- app/cron.mjs | 10 +-- app/data/DataArchiver.mjs | 2 +- app/data/ImageProcessor.mjs | 4 +- app/data/LocalizationProcessor.mjs | 2 +- app/data/index.mjs | 14 ++-- app/data/updaters/CoopUpdater.mjs | 2 +- app/data/updaters/DataUpdater.mjs | 6 +- app/data/updaters/FestivalRankingUpdater.mjs | 4 +- app/data/updaters/FestivalUpdater.mjs | 2 +- app/data/updaters/GearUpdater.mjs | 2 +- app/data/updaters/StageScheduleUpdater.mjs | 2 +- app/data/updaters/StagesUpdater.mjs | 2 +- app/data/updaters/XRankDetailUpdater.mjs | 8 +-- app/data/updaters/XRankUpdater.mjs | 6 +- app/index.mjs | 4 +- app/social/StatusGeneratorManager.mjs | 8 +-- app/social/clients/BlueskyClient.mjs | 8 +-- app/social/clients/Client.mjs | 4 +- app/social/clients/FileWriter.mjs | 2 +- app/social/clients/ImageWriter.mjs | 2 +- app/social/clients/MastodonClient.mjs | 2 +- app/social/clients/ThreadsClient.mjs | 12 ++-- app/social/clients/TwitterClient.mjs | 4 +- app/social/generators/ChallengeStatus.mjs | 10 +-- app/social/generators/CountdownStatus.mjs | 6 +- app/social/generators/DailyDropGearStatus.mjs | 10 +-- app/social/generators/EggstraWorkStatus.mjs | 12 ++-- .../generators/EggstraWorkUpcomingStatus.mjs | 12 ++-- app/social/generators/RegularGearStatus.mjs | 8 +-- app/social/generators/SalmonRunGearStatus.mjs | 8 +-- app/social/generators/SalmonRunStatus.mjs | 10 +-- .../generators/SalmonRunUpcomingStatus.mjs | 10 +-- app/social/generators/SchedulesStatus.mjs | 12 ++-- .../generators/SplatfestResultsStatus.mjs | 16 ++--- app/social/generators/SplatfestStatus.mjs | 26 ++++---- app/social/index.mjs | 52 +++++++-------- app/splatnet/NsoClient.mjs | 2 +- app/splatnet/SplatNet3Client.mjs | 2 +- app/splatnet/index.mjs | 4 +- postcss.config.js | 2 +- src/common/i18n.mjs | 28 ++++---- src/common/links.js | 2 +- src/common/time.js | 4 +- src/components/LanguageButton.vue | 4 +- src/components/ModalDialog.vue | 2 +- src/components/ProductContainer.vue | 2 +- src/components/ScheduleDialog.vue | 2 +- src/components/Splatoon3Countdown.vue | 4 +- src/components/StageDialog.vue | 2 +- src/components/TricolorBox.vue | 2 +- src/components/salmonrun/KingSalmonid.vue | 4 +- .../screenshots/ScreenshotTricolorBox.vue | 2 +- src/layouts/ScreenshotLayout.vue | 2 +- src/main.js | 20 +++--- src/router/index.js | 20 +++--- src/router/screenshots.js | 24 +++---- src/screenshots.js | 20 +++--- src/stores/data.mjs | 4 +- src/stores/gear.mjs | 8 +-- src/stores/schedules.mjs | 8 +-- src/stores/splatfests.mjs | 18 ++--- src/stores/time.mjs | 2 +- src/views/AboutView.vue | 4 +- src/views/ChallengesView.vue | 6 +- src/views/GearView.vue | 2 +- src/views/HomeView.vue | 2 +- src/views/SalmonRunView.vue | 2 +- src/views/SocialsView.vue | 6 +- src/views/SplatfestsView.vue | 6 +- src/views/screenshots/ChallengesView.vue | 2 +- src/views/screenshots/CountdownView.vue | 2 +- src/views/screenshots/SplatfestView.vue | 8 +-- tailwind.config.js | 4 +- vite.config.js | 12 ++-- 76 files changed, 312 insertions(+), 310 deletions(-) diff --git a/.eslintrc.cjs b/.eslintrc.cjs index 6c69624..eb5870f 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -1,53 +1,55 @@ /* eslint-env node */ -const createAliasSetting = require('@vue/eslint-config-airbnb/createAliasSetting') +const createAliasSetting = require('@vue/eslint-config-airbnb/createAliasSetting'); module.exports = { - "root": true, - "extends": [ - "plugin:vue/vue3-recommended", - "eslint:recommended", - "plugin:import/recommended", - "plugin:jsdoc/recommended", + 'root': true, + 'extends': [ + 'plugin:vue/vue3-recommended', + 'eslint:recommended', + 'plugin:import/recommended', + 'plugin:jsdoc/recommended', ], - "rules": { + 'rules': { // ESLint - "indent": ["warn", 2, { "SwitchCase": 1 }], - "comma-dangle": ["warn", "always-multiline"], - "no-unused-vars": ["warn", { "args": "none" }], + 'indent': ['warn', 2, { 'SwitchCase': 1 }], + 'comma-dangle': ['warn', 'always-multiline'], + 'no-unused-vars': ['warn', { 'args': 'none' }], + 'semi': 'warn', + 'quotes': ['warn' , 'single'], // Vue - "vue/multi-word-component-names": "off", - "vue/require-default-prop": "off", - "vue/max-attributes-per-line": ["warn", { singleline: { max: 4 } }], - "vue/html-self-closing": ["warn", { html: { void: "always" } }], + 'vue/multi-word-component-names': 'off', + 'vue/require-default-prop': 'off', + 'vue/max-attributes-per-line': ['warn', { singleline: { max: 4 } }], + 'vue/html-self-closing': ['warn', { html: { void: 'always' } }], // Imports - "import/order": "warn", + 'import/order': 'warn', // JSDoc - "jsdoc/require-jsdoc": "off", - "jsdoc/require-returns": "off", - "jsdoc/require-param-description": "off", + 'jsdoc/require-jsdoc': 'off', + 'jsdoc/require-returns': 'off', + 'jsdoc/require-param-description': 'off', }, - "globals": { - "__dirname": "readonly", - "process": "readonly", - "require": "readonly", - "module": "readonly", - "Buffer": "readonly", + 'globals': { + '__dirname': 'readonly', + 'process': 'readonly', + 'require': 'readonly', + 'module': 'readonly', + 'Buffer': 'readonly', }, - "env": { - "vue/setup-compiler-macros": true, + 'env': { + 'vue/setup-compiler-macros': true, }, - "ignorePatterns": [ - "src/assets/i18n/index.mjs", // "assert" syntax is currently unrecognized + 'ignorePatterns': [ + 'src/assets/i18n/index.mjs', // "assert" syntax is currently unrecognized ], - "parserOptions": { - "ecmaVersion": 13, + 'parserOptions': { + 'ecmaVersion': 13, }, settings: { ...createAliasSetting({ '@': './src', }), }, -} +}; diff --git a/app/common/sentry.mjs b/app/common/sentry.mjs index 0e4c2c7..4f0dd70 100644 --- a/app/common/sentry.mjs +++ b/app/common/sentry.mjs @@ -1,4 +1,4 @@ -import * as Sentry from "@sentry/node"; +import * as Sentry from '@sentry/node'; export function sentryInit() { if (!process.env.SENTRY_DSN) { diff --git a/app/cron.mjs b/app/cron.mjs index 9f1b076..9b3e1ff 100644 --- a/app/cron.mjs +++ b/app/cron.mjs @@ -1,8 +1,8 @@ -import { CronJob } from "cron"; -import { update } from "./data/index.mjs"; -import { warmCaches } from "./splatnet/index.mjs"; -import { sendStatuses } from "./social/index.mjs"; -import { archiveData } from "./data/DataArchiver.mjs"; +import { CronJob } from 'cron'; +import { update } from './data/index.mjs'; +import { warmCaches } from './splatnet/index.mjs'; +import { sendStatuses } from './social/index.mjs'; +import { archiveData } from './data/DataArchiver.mjs'; let updating = false; diff --git a/app/data/DataArchiver.mjs b/app/data/DataArchiver.mjs index 9bd64a0..d5a2040 100644 --- a/app/data/DataArchiver.mjs +++ b/app/data/DataArchiver.mjs @@ -1,6 +1,6 @@ import fs from 'fs/promises'; import { PutObjectCommand, S3Client } from '@aws-sdk/client-s3'; -import prefixedConsole from "../common/prefixedConsole.mjs"; +import prefixedConsole from '../common/prefixedConsole.mjs'; export function archiveData() { return (new DataArchiver).process(); diff --git a/app/data/ImageProcessor.mjs b/app/data/ImageProcessor.mjs index 05ffe70..dd84a9f 100644 --- a/app/data/ImageProcessor.mjs +++ b/app/data/ImageProcessor.mjs @@ -1,7 +1,7 @@ import fs from 'fs/promises'; import path from 'path'; import mkdirp from 'mkdirp'; -import prefixedConsole from "../common/prefixedConsole.mjs"; +import prefixedConsole from '../common/prefixedConsole.mjs'; import { normalizeSplatnetResourcePath } from '../common/util.mjs'; import { exists } from '../common/fs.mjs'; @@ -41,7 +41,7 @@ export default class ImageProcessor async maybeDownload(url, destination) { // If the file already exists, we don't need to download it again if (await exists(this.localPath(destination))) { - return + return; } return await this.download(url, destination); diff --git a/app/data/LocalizationProcessor.mjs b/app/data/LocalizationProcessor.mjs index 56a47f2..8941019 100644 --- a/app/data/LocalizationProcessor.mjs +++ b/app/data/LocalizationProcessor.mjs @@ -83,7 +83,7 @@ export class LocalizationProcessor { data = JSON.stringify(data, undefined, space); - await mkdirp(path.dirname(this.filename)) + await mkdirp(path.dirname(this.filename)); await fs.writeFile(this.filename, data); } diff --git a/app/data/index.mjs b/app/data/index.mjs index 7f98e82..8f7eae7 100644 --- a/app/data/index.mjs +++ b/app/data/index.mjs @@ -1,10 +1,10 @@ -import * as Sentry from "@sentry/node"; -import GearUpdater from "./updaters/GearUpdater.mjs"; -import StageScheduleUpdater from "./updaters/StageScheduleUpdater.mjs"; -import CoopUpdater from "./updaters/CoopUpdater.mjs"; -import FestivalUpdater from "./updaters/FestivalUpdater.mjs"; -import XRankUpdater from "./updaters/XRankUpdater.mjs"; -import StagesUpdater from "./updaters/StagesUpdater.mjs"; +import * as Sentry from '@sentry/node'; +import GearUpdater from './updaters/GearUpdater.mjs'; +import StageScheduleUpdater from './updaters/StageScheduleUpdater.mjs'; +import CoopUpdater from './updaters/CoopUpdater.mjs'; +import FestivalUpdater from './updaters/FestivalUpdater.mjs'; +import XRankUpdater from './updaters/XRankUpdater.mjs'; +import StagesUpdater from './updaters/StagesUpdater.mjs'; function updaters() { return [ diff --git a/app/data/updaters/CoopUpdater.mjs b/app/data/updaters/CoopUpdater.mjs index 54cc8d0..ddae2ac 100644 --- a/app/data/updaters/CoopUpdater.mjs +++ b/app/data/updaters/CoopUpdater.mjs @@ -1,4 +1,4 @@ -import DataUpdater from "./DataUpdater.mjs"; +import DataUpdater from './DataUpdater.mjs'; export default class CoopUpdater extends DataUpdater { diff --git a/app/data/updaters/DataUpdater.mjs b/app/data/updaters/DataUpdater.mjs index 9c135b0..72a1cf8 100644 --- a/app/data/updaters/DataUpdater.mjs +++ b/app/data/updaters/DataUpdater.mjs @@ -4,8 +4,8 @@ import { Console } from 'node:console'; import mkdirp from 'mkdirp'; import jsonpath from 'jsonpath'; import ical from 'ical-generator'; -import prefixedConsole from "../../common/prefixedConsole.mjs"; -import SplatNet3Client from "../../splatnet/SplatNet3Client.mjs"; +import prefixedConsole from '../../common/prefixedConsole.mjs'; +import SplatNet3Client from '../../splatnet/SplatNet3Client.mjs'; import ImageProcessor from '../ImageProcessor.mjs'; import NsoClient from '../../splatnet/NsoClient.mjs'; import { locales, regionalLocales, defaultLocale } from '../../../src/common/i18n.mjs'; @@ -212,7 +212,7 @@ export default class DataUpdater } async writeFile(file, data) { - await mkdirp(path.dirname(file)) + await mkdirp(path.dirname(file)); await fs.writeFile(file, data); } diff --git a/app/data/updaters/FestivalRankingUpdater.mjs b/app/data/updaters/FestivalRankingUpdater.mjs index d5eec3a..9df6f3f 100644 --- a/app/data/updaters/FestivalRankingUpdater.mjs +++ b/app/data/updaters/FestivalRankingUpdater.mjs @@ -1,7 +1,7 @@ -import prefixedConsole from "../../common/prefixedConsole.mjs"; +import prefixedConsole from '../../common/prefixedConsole.mjs'; import { getFestId, getFestTeamId } from '../../common/util.mjs'; import { olderThan } from '../../common/fs.mjs'; -import DataUpdater from "./DataUpdater.mjs"; +import DataUpdater from './DataUpdater.mjs'; export default class FestivalRankingUpdater extends DataUpdater { diff --git a/app/data/updaters/FestivalUpdater.mjs b/app/data/updaters/FestivalUpdater.mjs index d360836..7c81635 100644 --- a/app/data/updaters/FestivalUpdater.mjs +++ b/app/data/updaters/FestivalUpdater.mjs @@ -4,7 +4,7 @@ import { getFestId } from '../../common/util.mjs'; import ValueCache from '../../common/ValueCache.mjs'; import { regionTokens } from '../../splatnet/NsoClient.mjs'; import FestivalRankingUpdater from './FestivalRankingUpdater.mjs'; -import DataUpdater from "./DataUpdater.mjs"; +import DataUpdater from './DataUpdater.mjs'; function generateFestUrl(id) { return process.env.DEBUG ? diff --git a/app/data/updaters/GearUpdater.mjs b/app/data/updaters/GearUpdater.mjs index 30a1104..3ddf530 100644 --- a/app/data/updaters/GearUpdater.mjs +++ b/app/data/updaters/GearUpdater.mjs @@ -1,4 +1,4 @@ -import DataUpdater from "./DataUpdater.mjs"; +import DataUpdater from './DataUpdater.mjs'; export default class GearUpdater extends DataUpdater { diff --git a/app/data/updaters/StageScheduleUpdater.mjs b/app/data/updaters/StageScheduleUpdater.mjs index 80ebdbd..88c968b 100644 --- a/app/data/updaters/StageScheduleUpdater.mjs +++ b/app/data/updaters/StageScheduleUpdater.mjs @@ -1,5 +1,5 @@ import _ from 'lodash'; -import DataUpdater from "./DataUpdater.mjs"; +import DataUpdater from './DataUpdater.mjs'; export default class StageScheduleUpdater extends DataUpdater { diff --git a/app/data/updaters/StagesUpdater.mjs b/app/data/updaters/StagesUpdater.mjs index 8357eb5..d46fdab 100644 --- a/app/data/updaters/StagesUpdater.mjs +++ b/app/data/updaters/StagesUpdater.mjs @@ -1,4 +1,4 @@ -import DataUpdater from "./DataUpdater.mjs"; +import DataUpdater from './DataUpdater.mjs'; export default class StagesUpdater extends DataUpdater { diff --git a/app/data/updaters/XRankDetailUpdater.mjs b/app/data/updaters/XRankDetailUpdater.mjs index f8befe2..9f42a1a 100644 --- a/app/data/updaters/XRankDetailUpdater.mjs +++ b/app/data/updaters/XRankDetailUpdater.mjs @@ -1,7 +1,7 @@ -import { olderThan } from "../../common/fs.mjs"; -import prefixedConsole from "../../common/prefixedConsole.mjs"; -import { getXRankSeasonId } from "../../common/util.mjs"; -import DataUpdater from "./DataUpdater.mjs"; +import { olderThan } from '../../common/fs.mjs'; +import prefixedConsole from '../../common/prefixedConsole.mjs'; +import { getXRankSeasonId } from '../../common/util.mjs'; +import DataUpdater from './DataUpdater.mjs'; export default class XRankDetailUpdater extends DataUpdater { diff --git a/app/data/updaters/XRankUpdater.mjs b/app/data/updaters/XRankUpdater.mjs index 6a1c65e..c80738c 100644 --- a/app/data/updaters/XRankUpdater.mjs +++ b/app/data/updaters/XRankUpdater.mjs @@ -1,7 +1,7 @@ -import prefixedConsole from "../../common/prefixedConsole.mjs"; +import prefixedConsole from '../../common/prefixedConsole.mjs'; import { getXRankSeasonId } from '../../common/util.mjs'; -import DataUpdater from "./DataUpdater.mjs"; -import XRankDetailUpdater from "./XRankDetailUpdater.mjs"; +import DataUpdater from './DataUpdater.mjs'; +import XRankDetailUpdater from './XRankDetailUpdater.mjs'; export default class XRankUpdater extends DataUpdater { diff --git a/app/index.mjs b/app/index.mjs index 20be096..2128c32 100644 --- a/app/index.mjs +++ b/app/index.mjs @@ -3,7 +3,7 @@ import consoleStamp from 'console-stamp'; import cron from './cron.mjs'; import { sendStatuses, testStatuses } from './social/index.mjs'; import { update } from './data/index.mjs'; -import { warmCaches } from "./splatnet/index.mjs"; +import { warmCaches } from './splatnet/index.mjs'; import MastodonClient from './social/clients/MastodonClient.mjs'; import ImageWriter from './social/clients/ImageWriter.mjs'; import BlueskyClient from './social/clients/BlueskyClient.mjs'; @@ -26,7 +26,7 @@ const actions = { splatnet: update, warmCaches, dataArchive: archiveData, -} +}; const command = process.argv[2]; const params = process.argv.slice(3); diff --git a/app/social/StatusGeneratorManager.mjs b/app/social/StatusGeneratorManager.mjs index 8c83571..693fd31 100644 --- a/app/social/StatusGeneratorManager.mjs +++ b/app/social/StatusGeneratorManager.mjs @@ -1,7 +1,7 @@ -import prefixedConsole from "../common/prefixedConsole.mjs"; -import ScreenshotHelper from "../screenshots/ScreenshotHelper.mjs"; -import Client from "./clients/Client.mjs"; -import StatusGenerator from "./generators/StatusGenerator.mjs"; +import prefixedConsole from '../common/prefixedConsole.mjs'; +import ScreenshotHelper from '../screenshots/ScreenshotHelper.mjs'; +import Client from './clients/Client.mjs'; +import StatusGenerator from './generators/StatusGenerator.mjs'; export default class StatusGeneratorManager { diff --git a/app/social/clients/BlueskyClient.mjs b/app/social/clients/BlueskyClient.mjs index 7fecf83..a9fc6cd 100644 --- a/app/social/clients/BlueskyClient.mjs +++ b/app/social/clients/BlueskyClient.mjs @@ -1,6 +1,6 @@ -import atprotoApi from "@atproto/api"; -import sharp from "sharp"; -import Client from "./Client.mjs"; +import atprotoApi from '@atproto/api'; +import sharp from 'sharp'; +import Client from './Client.mjs'; const { BskyAgent, RichText } = atprotoApi; @@ -39,7 +39,7 @@ export default class BlueskyClient extends Client // We have to convert the PNG to a JPG for Bluesky because of size limits let jpeg = await sharp(m.file).jpeg().toBuffer(); - let response = await this.#agent.uploadBlob(jpeg, { encoding: 'image/jpeg' }) + let response = await this.#agent.uploadBlob(jpeg, { encoding: 'image/jpeg' }); return { image: response.data.blob, diff --git a/app/social/clients/Client.mjs b/app/social/clients/Client.mjs index 38d29dc..f262a95 100644 --- a/app/social/clients/Client.mjs +++ b/app/social/clients/Client.mjs @@ -1,5 +1,5 @@ -import Status from "../Status.mjs"; -import StatusGenerator from "../generators/StatusGenerator.mjs"; +import Status from '../Status.mjs'; +import StatusGenerator from '../generators/StatusGenerator.mjs'; export default class Client { diff --git a/app/social/clients/FileWriter.mjs b/app/social/clients/FileWriter.mjs index 653dc1c..44f474f 100644 --- a/app/social/clients/FileWriter.mjs +++ b/app/social/clients/FileWriter.mjs @@ -1,6 +1,6 @@ import fs from 'fs/promises'; import mkdirp from 'mkdirp'; -import Client from "./Client.mjs"; +import Client from './Client.mjs'; export default class FileWriter extends Client { key = 'file'; diff --git a/app/social/clients/ImageWriter.mjs b/app/social/clients/ImageWriter.mjs index 0ecb818..9560d2e 100644 --- a/app/social/clients/ImageWriter.mjs +++ b/app/social/clients/ImageWriter.mjs @@ -1,6 +1,6 @@ import fs from 'fs/promises'; import mkdirp from 'mkdirp'; -import Client from "./Client.mjs"; +import Client from './Client.mjs'; export default class ImageWriter extends Client { key = 'image'; diff --git a/app/social/clients/MastodonClient.mjs b/app/social/clients/MastodonClient.mjs index 4e6295b..e4c3101 100644 --- a/app/social/clients/MastodonClient.mjs +++ b/app/social/clients/MastodonClient.mjs @@ -1,5 +1,5 @@ import { createRestAPIClient } from 'masto'; -import Client from "./Client.mjs"; +import Client from './Client.mjs'; export default class MastodonClient extends Client { diff --git a/app/social/clients/ThreadsClient.mjs b/app/social/clients/ThreadsClient.mjs index 8aff3ae..2870a08 100644 --- a/app/social/clients/ThreadsClient.mjs +++ b/app/social/clients/ThreadsClient.mjs @@ -1,10 +1,10 @@ -import sharp from "sharp"; -import threads from "threads-api"; -import Client from "./Client.mjs"; +import sharp from 'sharp'; +import threads from 'threads-api'; +import Client from './Client.mjs'; export default class ThreadsClient extends Client { - key = "threads"; - name = "Threads"; + key = 'threads'; + name = 'Threads'; #api; @@ -33,7 +33,7 @@ export default class ThreadsClient extends Client { await this.#api.publish({ text: status.status, - image: { type: "image/jpeg", data: jpeg }, + image: { type: 'image/jpeg', data: jpeg }, }); } } diff --git a/app/social/clients/TwitterClient.mjs b/app/social/clients/TwitterClient.mjs index ed1f4b8..e1b456d 100644 --- a/app/social/clients/TwitterClient.mjs +++ b/app/social/clients/TwitterClient.mjs @@ -1,5 +1,5 @@ -import { TwitterApi } from "twitter-api-v2"; -import Client from "./Client.mjs"; +import { TwitterApi } from 'twitter-api-v2'; +import Client from './Client.mjs'; export default class TwitterClient extends Client { diff --git a/app/social/generators/ChallengeStatus.mjs b/app/social/generators/ChallengeStatus.mjs index f6bf34d..286bdeb 100644 --- a/app/social/generators/ChallengeStatus.mjs +++ b/app/social/generators/ChallengeStatus.mjs @@ -1,8 +1,8 @@ -import Media from "../Media.mjs"; -import { useEventSchedulesStore } from "../../../src/stores/schedules.mjs"; -import { br2nl } from "../../../src/common/util.mjs"; -import ScreenshotHelper from "../../screenshots/ScreenshotHelper.mjs"; -import StatusGenerator from "./StatusGenerator.mjs"; +import Media from '../Media.mjs'; +import { useEventSchedulesStore } from '../../../src/stores/schedules.mjs'; +import { br2nl } from '../../../src/common/util.mjs'; +import ScreenshotHelper from '../../screenshots/ScreenshotHelper.mjs'; +import StatusGenerator from './StatusGenerator.mjs'; export default class ChallengeStatus extends StatusGenerator { key = 'challenge'; diff --git a/app/social/generators/CountdownStatus.mjs b/app/social/generators/CountdownStatus.mjs index a02c638..92815e2 100644 --- a/app/social/generators/CountdownStatus.mjs +++ b/app/social/generators/CountdownStatus.mjs @@ -1,6 +1,6 @@ -import Media from "../Media.mjs"; -import ScreenshotHelper from "../../screenshots/ScreenshotHelper.mjs"; -import StatusGenerator from "./StatusGenerator.mjs"; +import Media from '../Media.mjs'; +import ScreenshotHelper from '../../screenshots/ScreenshotHelper.mjs'; +import StatusGenerator from './StatusGenerator.mjs'; const releaseDate = new Date('2022-09-09'); diff --git a/app/social/generators/DailyDropGearStatus.mjs b/app/social/generators/DailyDropGearStatus.mjs index cfc6ffb..27b5ced 100644 --- a/app/social/generators/DailyDropGearStatus.mjs +++ b/app/social/generators/DailyDropGearStatus.mjs @@ -1,8 +1,8 @@ -import Media from "../Media.mjs"; -import { useGearStore } from "../../../src/stores/gear.mjs"; -import { getGearIcon } from "../../common/util.mjs"; -import ScreenshotHelper from "../../screenshots/ScreenshotHelper.mjs"; -import StatusGenerator from "./StatusGenerator.mjs"; +import Media from '../Media.mjs'; +import { useGearStore } from '../../../src/stores/gear.mjs'; +import { getGearIcon } from '../../common/util.mjs'; +import ScreenshotHelper from '../../screenshots/ScreenshotHelper.mjs'; +import StatusGenerator from './StatusGenerator.mjs'; export default class DailyDropGearStatus extends StatusGenerator { diff --git a/app/social/generators/EggstraWorkStatus.mjs b/app/social/generators/EggstraWorkStatus.mjs index 69f8f73..4c52b9e 100644 --- a/app/social/generators/EggstraWorkStatus.mjs +++ b/app/social/generators/EggstraWorkStatus.mjs @@ -1,7 +1,7 @@ -import Media from "../Media.mjs"; -import { useEggstraWorkSchedulesStore } from "../../../src/stores/schedules.mjs"; -import ScreenshotHelper from "../../screenshots/ScreenshotHelper.mjs"; -import StatusGenerator from "./StatusGenerator.mjs"; +import Media from '../Media.mjs'; +import { useEggstraWorkSchedulesStore } from '../../../src/stores/schedules.mjs'; +import ScreenshotHelper from '../../screenshots/ScreenshotHelper.mjs'; +import StatusGenerator from './StatusGenerator.mjs'; export default class EggstraWorkStatus extends StatusGenerator { @@ -25,7 +25,7 @@ export default class EggstraWorkStatus extends StatusGenerator let lines = []; - let mode = 'EGGSTRA WORK' + let mode = 'EGGSTRA WORK'; lines.push(`${mode} is now open on ${schedule.settings.coopStage.name}! #salmonrun #splatoon3`); @@ -41,7 +41,7 @@ export default class EggstraWorkStatus extends StatusGenerator async _getMedia(screenshotHelper) { let media = new Media; media.file = await screenshotHelper.capture('salmonrun', { - params: {eggstra: "true"}, + params: {eggstra: 'true'}, }); return media; diff --git a/app/social/generators/EggstraWorkUpcomingStatus.mjs b/app/social/generators/EggstraWorkUpcomingStatus.mjs index 4be1bbc..fa1ae4d 100644 --- a/app/social/generators/EggstraWorkUpcomingStatus.mjs +++ b/app/social/generators/EggstraWorkUpcomingStatus.mjs @@ -1,8 +1,8 @@ -import Media from "../Media.mjs"; -import { useEggstraWorkSchedulesStore } from "../../../src/stores/schedules.mjs"; -import { useTimeStore } from "../../../src/stores/time.mjs"; -import ScreenshotHelper from "../../screenshots/ScreenshotHelper.mjs"; -import StatusGenerator from "./StatusGenerator.mjs"; +import Media from '../Media.mjs'; +import { useEggstraWorkSchedulesStore } from '../../../src/stores/schedules.mjs'; +import { useTimeStore } from '../../../src/stores/time.mjs'; +import ScreenshotHelper from '../../screenshots/ScreenshotHelper.mjs'; +import StatusGenerator from './StatusGenerator.mjs'; export default class EggstraWorkUpcomingStatus extends StatusGenerator { @@ -66,7 +66,7 @@ export default class EggstraWorkUpcomingStatus extends StatusGenerator let media = new Media; media.file = await screenshotHelper.capture('salmonRun', { - params: { startTime: schedule?.startTime, eggstra: "true" }, + params: { startTime: schedule?.startTime, eggstra: 'true' }, }); return media; diff --git a/app/social/generators/RegularGearStatus.mjs b/app/social/generators/RegularGearStatus.mjs index 85826c6..cd4816d 100644 --- a/app/social/generators/RegularGearStatus.mjs +++ b/app/social/generators/RegularGearStatus.mjs @@ -1,7 +1,7 @@ -import Media from "../Media.mjs"; -import { useGearStore } from "../../../src/stores/gear.mjs"; -import { getGearIcon } from "../../common/util.mjs"; -import StatusGenerator from "./StatusGenerator.mjs"; +import Media from '../Media.mjs'; +import { useGearStore } from '../../../src/stores/gear.mjs'; +import { getGearIcon } from '../../common/util.mjs'; +import StatusGenerator from './StatusGenerator.mjs'; export default class RegularGearStatus extends StatusGenerator { diff --git a/app/social/generators/SalmonRunGearStatus.mjs b/app/social/generators/SalmonRunGearStatus.mjs index 3d96905..6a70a1e 100644 --- a/app/social/generators/SalmonRunGearStatus.mjs +++ b/app/social/generators/SalmonRunGearStatus.mjs @@ -1,7 +1,7 @@ -import Media from "../Media.mjs"; -import { useCoopGearStore } from "../../../src/stores/gear.mjs"; -import ScreenshotHelper from "../../screenshots/ScreenshotHelper.mjs"; -import StatusGenerator from "./StatusGenerator.mjs"; +import Media from '../Media.mjs'; +import { useCoopGearStore } from '../../../src/stores/gear.mjs'; +import ScreenshotHelper from '../../screenshots/ScreenshotHelper.mjs'; +import StatusGenerator from './StatusGenerator.mjs'; export default class SalmonRunGearStatus extends StatusGenerator { diff --git a/app/social/generators/SalmonRunStatus.mjs b/app/social/generators/SalmonRunStatus.mjs index 8c565b3..8512072 100644 --- a/app/social/generators/SalmonRunStatus.mjs +++ b/app/social/generators/SalmonRunStatus.mjs @@ -1,7 +1,7 @@ -import Media from "../Media.mjs"; -import { useSalmonRunSchedulesStore } from "../../../src/stores/schedules.mjs"; -import ScreenshotHelper from "../../screenshots/ScreenshotHelper.mjs"; -import StatusGenerator from "./StatusGenerator.mjs"; +import Media from '../Media.mjs'; +import { useSalmonRunSchedulesStore } from '../../../src/stores/schedules.mjs'; +import ScreenshotHelper from '../../screenshots/ScreenshotHelper.mjs'; +import StatusGenerator from './StatusGenerator.mjs'; export default class SalmonRunStatus extends StatusGenerator { @@ -11,7 +11,7 @@ export default class SalmonRunStatus extends StatusGenerator async getActiveSchedule() { await this.preparePinia(); - return useSalmonRunSchedulesStore().activeSchedule + return useSalmonRunSchedulesStore().activeSchedule; } async getDataTime() { diff --git a/app/social/generators/SalmonRunUpcomingStatus.mjs b/app/social/generators/SalmonRunUpcomingStatus.mjs index b824e34..edab785 100644 --- a/app/social/generators/SalmonRunUpcomingStatus.mjs +++ b/app/social/generators/SalmonRunUpcomingStatus.mjs @@ -1,8 +1,8 @@ -import Media from "../Media.mjs"; -import { useSalmonRunSchedulesStore } from "../../../src/stores/schedules.mjs"; -import { useTimeStore } from "../../../src/stores/time.mjs"; -import ScreenshotHelper from "../../screenshots/ScreenshotHelper.mjs"; -import StatusGenerator from "./StatusGenerator.mjs"; +import Media from '../Media.mjs'; +import { useSalmonRunSchedulesStore } from '../../../src/stores/schedules.mjs'; +import { useTimeStore } from '../../../src/stores/time.mjs'; +import ScreenshotHelper from '../../screenshots/ScreenshotHelper.mjs'; +import StatusGenerator from './StatusGenerator.mjs'; export default class SalmonRunUpcomingStatus extends StatusGenerator { diff --git a/app/social/generators/SchedulesStatus.mjs b/app/social/generators/SchedulesStatus.mjs index 7bde00f..40dfc48 100644 --- a/app/social/generators/SchedulesStatus.mjs +++ b/app/social/generators/SchedulesStatus.mjs @@ -1,8 +1,8 @@ -import Media from "../Media.mjs"; -import { useAnarchyOpenSchedulesStore, useAnarchySeriesSchedulesStore, useRegularSchedulesStore, useSplatfestOpenSchedulesStore, useSplatfestProSchedulesStore, useXSchedulesStore } from "../../../src/stores/schedules.mjs"; +import Media from '../Media.mjs'; +import { useAnarchyOpenSchedulesStore, useAnarchySeriesSchedulesStore, useRegularSchedulesStore, useSplatfestOpenSchedulesStore, useSplatfestProSchedulesStore, useXSchedulesStore } from '../../../src/stores/schedules.mjs'; import { useUSSplatfestsStore } from '../../../src/stores/splatfests.mjs'; -import ScreenshotHelper from "../../screenshots/ScreenshotHelper.mjs"; -import StatusGenerator from "./StatusGenerator.mjs"; +import ScreenshotHelper from '../../screenshots/ScreenshotHelper.mjs'; +import StatusGenerator from './StatusGenerator.mjs'; export default class SchedulesStatus extends StatusGenerator { key = 'schedules'; @@ -19,7 +19,7 @@ export default class SchedulesStatus extends StatusGenerator splatfestOpen: useSplatfestOpenSchedulesStore().activeSchedule, splatfestPro: useSplatfestProSchedulesStore().activeSchedule, tricolor: useUSSplatfestsStore().tricolor, - } + }; } async getDataTime() { @@ -42,7 +42,7 @@ export default class SchedulesStatus extends StatusGenerator '', `– Open: ${festOpenStages[0].name} and ${festOpenStages[1].name}`, `– Pro: ${festProStages[0].name} and ${festProStages[1].name}`, - ] + ]; if(stages.tricolor?.isTricolorActive) { lines.push(`– Tricolor: ${stages.tricolor.tricolorStage.name}`); diff --git a/app/social/generators/SplatfestResultsStatus.mjs b/app/social/generators/SplatfestResultsStatus.mjs index 8a00c1f..f9dd35d 100644 --- a/app/social/generators/SplatfestResultsStatus.mjs +++ b/app/social/generators/SplatfestResultsStatus.mjs @@ -1,7 +1,7 @@ -import Media from "../Media.mjs"; +import Media from '../Media.mjs'; import { useUSSplatfestsStore, useEUSplatfestsStore, useJPSplatfestsStore, useAPSplatfestsStore } from '../../../src/stores/splatfests.mjs'; -import ScreenshotHelper from "../../screenshots/ScreenshotHelper.mjs"; -import StatusGenerator from "./StatusGenerator.mjs"; +import ScreenshotHelper from '../../screenshots/ScreenshotHelper.mjs'; +import StatusGenerator from './StatusGenerator.mjs'; export default class SplatfestResultsStatus extends StatusGenerator { @@ -20,10 +20,10 @@ export default class SplatfestResultsStatus extends StatusGenerator let store; switch(this.region) { - case "NA": store = useUSSplatfestsStore(); break; - case "EU": store = useEUSplatfestsStore(); break; - case "JP": store = useJPSplatfestsStore(); break; - case "AP": store = useAPSplatfestsStore(); break; + case 'NA': store = useUSSplatfestsStore(); break; + case 'EU': store = useEUSplatfestsStore(); break; + case 'JP': store = useJPSplatfestsStore(); break; + case 'AP': store = useAPSplatfestsStore(); break; } return store.recentFestival; @@ -49,7 +49,7 @@ export default class SplatfestResultsStatus extends StatusGenerator let winningTeam = festival.teams.find(t => t.result.isWinner); const global = festival.regions.length == 4; - const regionText = global ? 'Global' : festival.regions.join("/"); + const regionText = global ? 'Global' : festival.regions.join('/'); return `${regionText} Splatfest results: Team ${winningTeam.teamName} wins! #splatfest #splatoon3`; } diff --git a/app/social/generators/SplatfestStatus.mjs b/app/social/generators/SplatfestStatus.mjs index 2b62858..1b24b27 100644 --- a/app/social/generators/SplatfestStatus.mjs +++ b/app/social/generators/SplatfestStatus.mjs @@ -1,8 +1,8 @@ -import Media from "../Media.mjs"; +import Media from '../Media.mjs'; import { useUSSplatfestsStore, useEUSplatfestsStore, useJPSplatfestsStore, useAPSplatfestsStore, STATUS_ACTIVE, STATUS_PAST } from '../../../src/stores/splatfests.mjs'; -import { useTimeStore } from "../../../src/stores/time.mjs"; -import ScreenshotHelper from "../../screenshots/ScreenshotHelper.mjs"; -import StatusGenerator from "./StatusGenerator.mjs"; +import { useTimeStore } from '../../../src/stores/time.mjs'; +import ScreenshotHelper from '../../screenshots/ScreenshotHelper.mjs'; +import StatusGenerator from './StatusGenerator.mjs'; export default class SplatfestStatus extends StatusGenerator { @@ -20,10 +20,10 @@ export default class SplatfestStatus extends StatusGenerator await this.preparePinia(); let store; switch(this.region) { - case "NA": store = useUSSplatfestsStore(); break; - case "EU": store = useEUSplatfestsStore(); break; - case "JP": store = useJPSplatfestsStore(); break; - case "AP": store = useAPSplatfestsStore(); break; + case 'NA': store = useUSSplatfestsStore(); break; + case 'EU': store = useEUSplatfestsStore(); break; + case 'JP': store = useJPSplatfestsStore(); break; + case 'AP': store = useAPSplatfestsStore(); break; } return store.upcomingFestival || store.activeFestival @@ -87,19 +87,19 @@ export default class SplatfestStatus extends StatusGenerator } const global = festival.regions.length == 4; - const regionText = global ? 'global' : festival.regions.join("/"); + const regionText = global ? 'global' : festival.regions.join('/'); switch (state) { case 'upcoming': return `You can now vote in the next ${regionText} Splatfest: ${festival.title} #splatfest #splatoon3`; case 'upcoming:3d': - return `Reminder: The next ${regionText} Splatfest starts in 3 DAYS! ${festival.title} #splatfest #splatoon3` + return `Reminder: The next ${regionText} Splatfest starts in 3 DAYS! ${festival.title} #splatfest #splatoon3`; case 'upcoming:1d': - return `Reminder: The next ${regionText} Splatfest starts in 24 HOURS! ${festival.title} #splatfest #splatoon3` + return `Reminder: The next ${regionText} Splatfest starts in 24 HOURS! ${festival.title} #splatfest #splatoon3`; case 'active': - return `The ${regionText} Splatfest is NOW OPEN! ${festival.title} #splatfest #splatoon3` + return `The ${regionText} Splatfest is NOW OPEN! ${festival.title} #splatfest #splatoon3`; case 'ended': - return `The ${regionText} Splatfest is now closed. Results are usually posted within 2 hours! #splatfest #splatoon3` + return `The ${regionText} Splatfest is now closed. Results are usually posted within 2 hours! #splatfest #splatoon3`; } } diff --git a/app/social/index.mjs b/app/social/index.mjs index fc69184..c32ecd5 100644 --- a/app/social/index.mjs +++ b/app/social/index.mjs @@ -1,21 +1,21 @@ -import FileWriter from "./clients/FileWriter.mjs"; -import ImageWriter from "./clients/ImageWriter.mjs"; -import MastodonClient from "./clients/MastodonClient.mjs"; -import TwitterClient from "./clients/TwitterClient.mjs"; -import DailyDropGearStatus from "./generators/DailyDropGearStatus.mjs"; -import RegularGearStatus from "./generators/RegularGearStatus.mjs"; -import SalmonRunGearStatus from "./generators/SalmonRunGearStatus.mjs"; -import SalmonRunStatus from "./generators/SalmonRunStatus.mjs"; -import SchedulesStatus from "./generators/SchedulesStatus.mjs"; -import SplatfestStatus from "./generators/SplatfestStatus.mjs"; -import SplatfestResultsStatus from "./generators/SplatfestResultsStatus.mjs"; -import StatusGeneratorManager from "./StatusGeneratorManager.mjs" -import SalmonRunUpcomingStatus from "./generators/SalmonRunUpcomingStatus.mjs"; -import EggstraWorkStatus from "./generators/EggstraWorkStatus.mjs"; -import EggstraWorkUpcomingStatus from "./generators/EggstraWorkUpcomingStatus.mjs"; -import BlueskyClient from "./clients/BlueskyClient.mjs"; -import ChallengeStatus from "./generators/ChallengeStatus.mjs"; -import ThreadsClient from "./clients/ThreadsClient.mjs"; +import FileWriter from './clients/FileWriter.mjs'; +import ImageWriter from './clients/ImageWriter.mjs'; +import MastodonClient from './clients/MastodonClient.mjs'; +import TwitterClient from './clients/TwitterClient.mjs'; +import DailyDropGearStatus from './generators/DailyDropGearStatus.mjs'; +import RegularGearStatus from './generators/RegularGearStatus.mjs'; +import SalmonRunGearStatus from './generators/SalmonRunGearStatus.mjs'; +import SalmonRunStatus from './generators/SalmonRunStatus.mjs'; +import SchedulesStatus from './generators/SchedulesStatus.mjs'; +import SplatfestStatus from './generators/SplatfestStatus.mjs'; +import SplatfestResultsStatus from './generators/SplatfestResultsStatus.mjs'; +import StatusGeneratorManager from './StatusGeneratorManager.mjs'; +import SalmonRunUpcomingStatus from './generators/SalmonRunUpcomingStatus.mjs'; +import EggstraWorkStatus from './generators/EggstraWorkStatus.mjs'; +import EggstraWorkUpcomingStatus from './generators/EggstraWorkUpcomingStatus.mjs'; +import BlueskyClient from './clients/BlueskyClient.mjs'; +import ChallengeStatus from './generators/ChallengeStatus.mjs'; +import ThreadsClient from './clients/ThreadsClient.mjs'; function defaultStatusGenerators() { return [ @@ -26,14 +26,14 @@ function defaultStatusGenerators() { new SalmonRunStatus, new SalmonRunUpcomingStatus, new SalmonRunGearStatus, - new SplatfestStatus("NA"), - new SplatfestStatus("EU"), - new SplatfestStatus("JP"), - new SplatfestStatus("AP"), - new SplatfestResultsStatus("NA"), - new SplatfestResultsStatus("EU"), - new SplatfestResultsStatus("JP"), - new SplatfestResultsStatus("AP"), + new SplatfestStatus('NA'), + new SplatfestStatus('EU'), + new SplatfestStatus('JP'), + new SplatfestStatus('AP'), + new SplatfestResultsStatus('NA'), + new SplatfestResultsStatus('EU'), + new SplatfestResultsStatus('JP'), + new SplatfestResultsStatus('AP'), new EggstraWorkStatus, new EggstraWorkUpcomingStatus, ]; diff --git a/app/splatnet/NsoClient.mjs b/app/splatnet/NsoClient.mjs index 6c6bab5..0dd11e9 100644 --- a/app/splatnet/NsoClient.mjs +++ b/app/splatnet/NsoClient.mjs @@ -1,6 +1,6 @@ // eslint-disable-next-line import/no-unresolved import CoralApi from 'nxapi/coral'; -import { addUserAgent } from "nxapi"; +import { addUserAgent } from 'nxapi'; import ValueCache from '../common/ValueCache.mjs'; import prefixedConsole from '../common/prefixedConsole.mjs'; diff --git a/app/splatnet/SplatNet3Client.mjs b/app/splatnet/SplatNet3Client.mjs index b9364b5..51cda07 100644 --- a/app/splatnet/SplatNet3Client.mjs +++ b/app/splatnet/SplatNet3Client.mjs @@ -1,5 +1,5 @@ import fs from 'fs/promises'; -import ValueCache from "../common/ValueCache.mjs"; +import ValueCache from '../common/ValueCache.mjs'; import prefixedConsole from '../common/prefixedConsole.mjs'; export const SPLATNET3_WEB_SERVICE_ID = '4834290508791808'; diff --git a/app/splatnet/index.mjs b/app/splatnet/index.mjs index 958bbee..9403f42 100644 --- a/app/splatnet/index.mjs +++ b/app/splatnet/index.mjs @@ -1,5 +1,5 @@ -import NsoClient, { regionTokens } from "./NsoClient.mjs"; -import SplatNet3Client, { SPLATNET3_WEB_SERVICE_ID } from "./SplatNet3Client.mjs"; +import NsoClient, { regionTokens } from './NsoClient.mjs'; +import SplatNet3Client, { SPLATNET3_WEB_SERVICE_ID } from './SplatNet3Client.mjs'; /** * Cache Warming diff --git a/postcss.config.js b/postcss.config.js index 33ad091..12a703d 100644 --- a/postcss.config.js +++ b/postcss.config.js @@ -3,4 +3,4 @@ module.exports = { tailwindcss: {}, autoprefixer: {}, }, -} +}; diff --git a/src/common/i18n.mjs b/src/common/i18n.mjs index e28aa20..6ed200a 100644 --- a/src/common/i18n.mjs +++ b/src/common/i18n.mjs @@ -1,5 +1,5 @@ -import { createI18n } from 'vue-i18n' -import languages from '../assets/i18n/index.mjs' +import { createI18n } from 'vue-i18n'; +import languages from '../assets/i18n/index.mjs'; const LANGUAGE_KEY = 'lang'; @@ -79,19 +79,19 @@ export function initializeI18n() { // Adapted from: https://vue-i18n.intlify.dev/guide/essentials/pluralization.html#custom-pluralization function ruPluralization(choice, choicesLength, orgRule) { if (choice === 0) { - return 0 + return 0; } - const teen = choice > 10 && choice < 20 - const endsWithOne = choice % 10 === 1 + const teen = choice > 10 && choice < 20; + const endsWithOne = choice % 10 === 1; if (!teen && endsWithOne) { - return 1 + return 1; } if (!teen && choice % 10 >= 2 && choice % 10 <= 4) { - return 2 + return 2; } - return choicesLength < 4 ? 2 : 3 + return choicesLength < 4 ? 2 : 3; } function reload() { @@ -100,18 +100,18 @@ function reload() { switch (currentLocale().code) { case 'zh-CN': - document.documentElement.style.setProperty("--font-family-s1", "splatoon1, splatoon1chzh, sans-serif"); - document.documentElement.style.setProperty("--font-family-s2", "splatoon2, splatoon2chzh, sans-serif"); + document.documentElement.style.setProperty('--font-family-s1', 'splatoon1, splatoon1chzh, sans-serif'); + document.documentElement.style.setProperty('--font-family-s2', 'splatoon2, splatoon2chzh, sans-serif'); break; case 'zh-TW': - document.documentElement.style.setProperty("--font-family-s1", "splatoon1, splatoon1twzh, sans-serif"); - document.documentElement.style.setProperty("--font-family-s2", "splatoon2, splatoon2twzh, sans-serif"); + document.documentElement.style.setProperty('--font-family-s1', 'splatoon1, splatoon1twzh, sans-serif'); + document.documentElement.style.setProperty('--font-family-s2', 'splatoon2, splatoon2twzh, sans-serif'); break; default: - document.documentElement.style.setProperty("--font-family-s1", "splatoon1, splatoon1jpja, sans-serif"); - document.documentElement.style.setProperty("--font-family-s2", "splatoon2, splatoon2jpja, sans-serif"); + document.documentElement.style.setProperty('--font-family-s1', 'splatoon1, splatoon1jpja, sans-serif'); + document.documentElement.style.setProperty('--font-family-s2', 'splatoon2, splatoon2jpja, sans-serif'); break; } } diff --git a/src/common/links.js b/src/common/links.js index 1d14769..5ddbe4e 100644 --- a/src/common/links.js +++ b/src/common/links.js @@ -1,5 +1,5 @@ const baseUrl = 'https://s.nintendo.com/av5ja-lp1/znca/game/4834290508791808'; export function getGesotownGearUrl(id) { - return `${baseUrl}?p=/gesotown/${id}` + return `${baseUrl}?p=/gesotown/${id}`; } diff --git a/src/common/time.js b/src/common/time.js index 572eda8..551d9da 100644 --- a/src/common/time.js +++ b/src/common/time.js @@ -48,7 +48,7 @@ export function formatDurationFromNow(value, hideSeconds = false) { } export function formatShortDuration(value) { - const { t } = useI18n() + const { t } = useI18n(); let { negative, days, hours, minutes, seconds } = getDurationParts(value); if (days) @@ -67,7 +67,7 @@ export function formatShortDurationFromNow(value) { } export function formatDurationHours(value) { - const { t } = useI18n() + const { t } = useI18n(); let { negative, days, hours } = getDurationParts(value); hours += 24 * days; diff --git a/src/components/LanguageButton.vue b/src/components/LanguageButton.vue index 82c5f3e..c4d7129 100644 --- a/src/components/LanguageButton.vue +++ b/src/components/LanguageButton.vue @@ -9,8 +9,8 @@