diff --git a/frontend/src/components/common/Game/Card/Base.vue b/frontend/src/components/common/Game/Card/Base.vue index b9a07d45d..3f892a104 100644 --- a/frontend/src/components/common/Game/Card/Base.vue +++ b/frontend/src/components/common/Game/Card/Base.vue @@ -40,7 +40,7 @@ const props = withDefaults( withBorder: false, withBorderRommAccent: false, src: "", - } + }, ); const romsStore = storeRoms(); const emit = defineEmits(["click", "touchstart", "touchend"]); @@ -99,29 +99,29 @@ onMounted(() => { src ? src : romsStore.isSimpleRom(rom) - ? !rom.igdb_id && !rom.moby_id && !rom.has_cover - ? `/assets/default/cover/big_${theme.global.name.value}_unmatched.png` - : (rom.igdb_id || rom.moby_id) && !rom.has_cover - ? `/assets/default/cover/big_${theme.global.name.value}_missing_cover.png` - : `/assets/romm/resources/${rom.path_cover_l}?ts=${rom.updated_at}` - : !rom.igdb_url_cover && !rom.moby_url_cover - ? `/assets/default/cover/big_${theme.global.name.value}_missing_cover.png` - : rom.igdb_url_cover - ? rom.igdb_url_cover - : rom.moby_url_cover + ? !rom.igdb_id && !rom.moby_id && !rom.has_cover + ? `/assets/default/cover/big_${theme.global.name.value}_unmatched.png` + : (rom.igdb_id || rom.moby_id) && !rom.has_cover + ? `/assets/default/cover/big_${theme.global.name.value}_missing_cover.png` + : `/assets/romm/resources/${rom.path_cover_l}?ts=${rom.updated_at}` + : !rom.igdb_url_cover && !rom.moby_url_cover + ? `/assets/default/cover/big_${theme.global.name.value}_missing_cover.png` + : rom.igdb_url_cover + ? rom.igdb_url_cover + : rom.moby_url_cover " :lazy-src=" romsStore.isSimpleRom(rom) ? !rom.igdb_id && !rom.moby_id && !rom.has_cover ? `/assets/default/cover/big_${theme.global.name.value}_unmatched.png` : (rom.igdb_id || rom.moby_id) && !rom.has_cover - ? `/assets/default/cover/big_${theme.global.name.value}_missing_cover.png` - : `/assets/romm/resources/${rom.path_cover_s}?ts=${rom.updated_at}` + ? `/assets/default/cover/big_${theme.global.name.value}_missing_cover.png` + : `/assets/romm/resources/${rom.path_cover_s}?ts=${rom.updated_at}` : !rom.igdb_url_cover && !rom.moby_url_cover - ? `/assets/default/cover/big_${theme.global.name.value}_missing_cover.png` - : rom.igdb_url_cover - ? rom.igdb_url_cover - : rom.moby_url_cover + ? `/assets/default/cover/big_${theme.global.name.value}_missing_cover.png` + : rom.igdb_url_cover + ? rom.igdb_url_cover + : rom.moby_url_cover " :aspect-ratio="2 / 3" > diff --git a/frontend/src/layouts/Dashboard/Recent.vue b/frontend/src/layouts/Dashboard/Recent.vue index 1acc737f1..d285c56c7 100644 --- a/frontend/src/layouts/Dashboard/Recent.vue +++ b/frontend/src/layouts/Dashboard/Recent.vue @@ -8,12 +8,20 @@ import { useRouter } from "vue-router"; // Props const romsStore = storeRoms(); -const { recentRoms } = storeToRefs(romsStore) +const { recentRoms } = storeToRefs(romsStore); const router = useRouter(); // Functions function onGameClick(emitData: { rom: SimpleRom; event: MouseEvent }) { - router.push({ name: "rom", params: { rom: emitData.rom.id } }); + if (emitData.event.metaKey || emitData.event.ctrlKey) { + const link = router.resolve({ + name: "rom", + params: { rom: emitData.rom.id }, + }); + window.open(link.href, "_blank"); + } else { + router.push({ name: "rom", params: { rom: emitData.rom.id } }); + } }