diff --git a/assets/jsons/translations/en.json b/assets/jsons/translations/en.json index 491c3f0a..2f6fa09c 100644 --- a/assets/jsons/translations/en.json +++ b/assets/jsons/translations/en.json @@ -17,8 +17,11 @@ "version-viewer": { "launch-mods": { "oculus": "Oculus Mod", + "oculus-description": "If you are running Beat Saber through Steam, this allows you to play the game on an Oculus headset.", "desktop": "Desktop Mod", - "debug": "Debug Mod" + "desktop-description": "This allows you to use WASD and the mouse to navigate around the menu in game. This makes testing much easier, because you don't have to put on your headset!", + "debug": "Debug Mod", + "debug-description": "Enables the output log window for IPA. This will show the debug console that mods use." }, "maps": { "search-bar": { diff --git a/assets/jsons/translations/es.json b/assets/jsons/translations/es.json index e6a4a7e7..a5d56128 100644 --- a/assets/jsons/translations/es.json +++ b/assets/jsons/translations/es.json @@ -17,8 +17,11 @@ "version-viewer": { "launch-mods": { "oculus": "Oculus Mod", + "oculus-description": "Si estás ejecutando Beat Saber a través de Steam, esto te permite jugar en un auricular Oculus.", "desktop": "Desktop Mod", - "debug": "Debug Mod" + "desktop-description": "Esto te permite usar WASD y el mouse para navegar por el menú en juego. Esto hace que las pruebas sean mucho más fáciles, ¡porque no tienes que ponerte el auricular!", + "debug": "Debug Mod", + "debug-description": "Habilita la ventana de registro de salida para IPA. Esto mostrará la consola de depuración que usan los mods." }, "maps": { "search-bar": { diff --git a/assets/jsons/translations/fr.json b/assets/jsons/translations/fr.json index bf0afff5..2d8d9b93 100644 --- a/assets/jsons/translations/fr.json +++ b/assets/jsons/translations/fr.json @@ -17,8 +17,11 @@ "version-viewer": { "launch-mods": { "oculus": "Mode Oculus", + "oculus-description": "Si vous exécutez Beat Saber via Steam, cela vous permet de jouer au jeu sur un casque Oculus.", "desktop": "Mode Bureau", - "debug": "Mode Debug" + "desktop-description": "Cela vous permet d'utiliser WASD et la souris pour naviguer dans le menu en jeu. Cela rend les tests beaucoup plus faciles, car vous n'avez pas à mettre votre casque!", + "debug": "Mode Debug", + "debug-description": "Active la fenêtre de log pour IPA. Cela affichera la console de débogage utilisée par les mods." }, "maps": { "search-bar": { diff --git a/src/renderer/components/svgs/bsm-icon.component.tsx b/src/renderer/components/svgs/bsm-icon.component.tsx index 14b06c72..d211f27e 100644 --- a/src/renderer/components/svgs/bsm-icon.component.tsx +++ b/src/renderer/components/svgs/bsm-icon.component.tsx @@ -46,9 +46,10 @@ import { FilterIcon } from "./icons/filter-icon.component"; import DiscordIcon from "./icons/discord-icon.component"; import { TwitterIcon } from "./icons/twitter-icon.component"; import { Mee6Icon } from "./icons/mee6-icon.component"; +import { InfoIcon } from "./icons/info-icon.component"; export type BsmIconType = BsvMapCharacteristic | ( - "settings"|"trash"|"favorite"|"folder"|"bsNote"|"check"|"three-dots"|"twitch"|"eye"|"play"|"checkCircleIcon"|"discord"| + "settings"|"trash"|"favorite"|"folder"|"bsNote"|"check"|"three-dots"|"twitch"|"eye"|"play"|"checkCircleIcon"|"discord"|"info"| "terminal"|"desktop"|"oculus"|"add"|"cross"|"task"|"github"|"close"|"thumbUpFill"|"timerFill"|"pause"|"twitter"| "copy"|"steam"|"edit"|"export"|"patreon"|"search"|"bsMapDifficulty"|"link"|"unlink"|"download"|"filter"|"mee6"| "fr-FR-flag"|"es-ES-flag"|"en-US-flag"|"en-EN-flag" @@ -103,6 +104,7 @@ export const BsmIcon = memo(({className, icon, style}: {className?: string, icon if(icon === "discord"){ return } if(icon === "twitter"){ return } if(icon === "mee6"){ return } + if(icon === "info"){ return } return } diff --git a/src/renderer/components/svgs/icons/info-icon.component.tsx b/src/renderer/components/svgs/icons/info-icon.component.tsx new file mode 100644 index 00000000..5b5e79d8 --- /dev/null +++ b/src/renderer/components/svgs/icons/info-icon.component.tsx @@ -0,0 +1,9 @@ +import { CSSProperties } from "react"; + +export function InfoIcon(props: {className?: string, style?: CSSProperties}) { + return ( + + + + ) +} diff --git a/src/renderer/components/version-viewer/slides/launch/launch-mod-toogle.component.tsx b/src/renderer/components/version-viewer/slides/launch/launch-mod-toogle.component.tsx index 6db616ca..98b3d249 100644 --- a/src/renderer/components/version-viewer/slides/launch/launch-mod-toogle.component.tsx +++ b/src/renderer/components/version-viewer/slides/launch/launch-mod-toogle.component.tsx @@ -1,18 +1,32 @@ +import Tippy from "@tippyjs/react"; import { BsmIcon, BsmIconType } from "renderer/components/svgs/bsm-icon.component" import { useTranslation } from "renderer/hooks/use-translation.hook"; -type props = {onClick: (active: boolean) => void, active: boolean, text: string, icon: BsmIconType} +type props = { + onClick: (active: boolean) => void, + active: boolean, + text: string, + icon: BsmIconType, + infoText?: string, +} -export function LaunchModToogle({onClick, active, text, icon}: props) { +export function LaunchModToogle({onClick, active, text, icon, infoText}: props) { const t = useTranslation(); return (
onClick(!active)}>
-
- - {t(text)} +
+ + {t(text)} + {infoText && ( + +
+ +
+
+ )}
) diff --git a/src/renderer/components/version-viewer/slides/launch/launch-slide.component.tsx b/src/renderer/components/version-viewer/slides/launch/launch-slide.component.tsx index ebef41e7..b4be2d5c 100644 --- a/src/renderer/components/version-viewer/slides/launch/launch-slide.component.tsx +++ b/src/renderer/components/version-viewer/slides/launch/launch-slide.component.tsx @@ -39,9 +39,9 @@ export function LaunchSlide({version}: Props) { return (
- {!version.oculus && setMode(LaunchMods.OCULUS_MOD, !oculusMode)} active={oculusMode} text="pages.version-viewer.launch-mods.oculus"/>} - setMode(LaunchMods.DESKTOP_MOD, !desktopMode)} active={desktopMode} text="pages.version-viewer.launch-mods.desktop"/> - setMode(LaunchMods.DEBUG_MOD, !debugMode)} active={debugMode} text="pages.version-viewer.launch-mods.debug"/> + {!version.oculus && setMode(LaunchMods.OCULUS_MOD, !oculusMode)} active={oculusMode} text="pages.version-viewer.launch-mods.oculus"/>} + setMode(LaunchMods.DESKTOP_MOD, !desktopMode)} active={desktopMode} text="pages.version-viewer.launch-mods.desktop"/> + setMode(LaunchMods.DEBUG_MOD, !debugMode)} active={debugMode} text="pages.version-viewer.launch-mods.debug"/>