From cadbfc05b1a8bf354683a379c4c84a26c6fe6939 Mon Sep 17 00:00:00 2001 From: zurdi Date: Wed, 29 Jan 2025 16:47:09 +0000 Subject: [PATCH] Add refresh metadata functionality to AdminMenu and localize strings --- .../src/components/common/Game/AdminMenu.vue | 27 +++++++++++++++++++ frontend/src/locales/de_DE/rom.json | 1 + frontend/src/locales/en_GB/rom.json | 1 + frontend/src/locales/en_US/rom.json | 1 + frontend/src/locales/es_ES/rom.json | 1 + frontend/src/locales/fr_FR/rom.json | 1 + frontend/src/locales/ko_KR/rom.json | 1 + frontend/src/locales/pt_BR/rom.json | 1 + frontend/src/locales/ru_RU/rom.json | 3 ++- frontend/src/locales/zh_CN/rom.json | 1 + frontend/src/views/Gallery/Platform.vue | 2 +- 11 files changed, 38 insertions(+), 2 deletions(-) diff --git a/frontend/src/components/common/Game/AdminMenu.vue b/frontend/src/components/common/Game/AdminMenu.vue index 6d997965a..b9ba6b239 100644 --- a/frontend/src/components/common/Game/AdminMenu.vue +++ b/frontend/src/components/common/Game/AdminMenu.vue @@ -7,6 +7,8 @@ import storeCollections, { type Collection } from "@/stores/collections"; import storeHeartbeat from "@/stores/heartbeat"; import type { SimpleRom } from "@/stores/roms"; import storeRoms from "@/stores/roms"; +import storeScanning from "@/stores/scanning"; +import socket from "@/services/socket"; import type { Events } from "@/types/emitter"; import type { Emitter } from "mitt"; import { storeToRefs } from "pinia"; @@ -23,6 +25,7 @@ const auth = storeAuth(); const collectionsStore = storeCollections(); const romsStore = storeRoms(); const { favCollection } = storeToRefs(collectionsStore); +const scanningStore = storeScanning(); async function switchFromFavourites() { if (!favCollection.value) { @@ -115,6 +118,23 @@ async function resetLastPlayed() { return; }); } + +async function onScan() { + scanningStore.set(true); + emitter?.emit("snackbarShow", { + msg: `Refreshing ${props.rom.name} metadata...`, + icon: "mdi-loading mdi-spin", + color: "romm-accent-1", + }); + + if (!socket.connected) socket.connect(); + socket.emit("scan", { + platforms: [props.rom.platform_id], + roms_ids: [props.rom.id], + type: "quick", // Quick scan so we can filter by selected roms + apis: heartbeat.getMetadataOptions().map((s) => s.value), + }); +}