Compare commits

...

29 Commits

Author SHA1 Message Date
MathieuG-P a4e3d9bcdb Add flat italian flag + add "it-IT" language translation 2025-01-02 02:23:21 +01:00
MathieuG-P 11139bb658 Merge branch 'master' into master 2025-01-02 01:04:26 +01:00
MathieuG-P d6b07ccf56 Merge pull request #722 from silentrald/bugfix/null-version-unhandled
[bugfix] handle version view page if state/version becomes null
2025-01-02 00:58:52 +01:00
silentrald a487871ff0 [bugfix] handle version view page if state/version becomes null 2025-01-01 10:58:32 +08:00
Davitekk 96a3277365 Add files via upload 2024-12-30 12:24:57 +01:00
Davitekk 556867d36e Merge branch 'master' into master 2024-12-30 10:32:09 +01:00
Davitekk 9646ce96ad Merge branch 'master' into master 2024-12-30 00:12:45 +01:00
Davitekk fd3fa98650 Add files via upload 2024-12-29 23:27:54 +01:00
Davitekk 5b8366a32e Add files via upload 2024-12-29 23:26:42 +01:00
Davitekk 37db83580d Update default-configuration.config.ts 2024-12-29 16:46:06 +01:00
Davitekk 7120dacf5f Update italy-icon.component.tsx 2024-12-29 16:44:42 +01:00
Davitekk e1442dc82d Create italy-icon.component.tsx 2024-12-29 16:39:31 +01:00
Davitekk 3adfd8e6d1 Update bsm-icon.component.tsx 2024-12-29 16:24:17 +01:00
Davitekk 860fe70471 Update bsm-icon.component.tsx 2024-12-29 16:21:59 +01:00
Davitekk cb22f4a59c Update bsm-icon.component.tsx 2024-12-29 16:14:11 +01:00
Davitekk f01638dc1d Update zh.json 2024-12-29 15:32:39 +01:00
Davitekk 882bc707ce Update zh-tw.json 2024-12-29 15:30:33 +01:00
Davitekk b4d6ca715b Update ru.json 2024-12-29 15:25:54 +01:00
Davitekk f7d154bf47 Update ko.json 2024-12-29 15:23:36 +01:00
Davitekk cbc2a25f46 Update ja.json 2024-12-29 15:22:41 +01:00
Davitekk 493d2627e0 Update fr.json 2024-12-29 15:22:00 +01:00
Davitekk b28ae49255 Update es.json 2024-12-29 15:21:17 +01:00
Davitekk 1c40b411c9 Update en.json 2024-12-29 15:20:24 +01:00
Davitekk 7272d41f5c Update de.json 2024-12-29 15:18:58 +01:00
Davitekk cc21992f14 Update it.json 2024-12-29 15:17:49 +01:00
Davitekk 74b13eb5c8 File 100% translated 2024-12-29 15:10:45 +01:00
Davitekk 3c1b1f72d4 Add files via upload 2024-12-28 13:17:24 +01:00
Davitekk 492e777fa2 Update it.json 2024-12-27 18:09:34 +01:00
Davitekk 6a70c432db Create it.json 2024-12-27 18:09:00 +01:00
14 changed files with 1327 additions and 4 deletions
+2
View File
@@ -209,6 +209,7 @@
"en-US": "English, US",
"fr-FR": "Français",
"es-ES": "Español",
"it-IT": "Italiano",
"de-DE": "Deutsch",
"ru-RU": "Русский",
"zh-CN": "简体中文",
@@ -220,6 +221,7 @@
"en-US": "Englisch, USA",
"fr-FR": "Französisch",
"es-ES": "Spanisch",
"it-IT": "Italienisch",
"de-DE": "Deutsch",
"ru-RU": "Russisch",
"zh-CN": "Vereinfachtes Chinesisch",
+2
View File
@@ -209,6 +209,7 @@
"en-US": "English, US",
"fr-FR": "Français",
"es-ES": "Español",
"it-IT": "Italiano",
"de-DE": "Deutsch",
"ru-RU": "Русский",
"zh-CN": "简体中文",
@@ -220,6 +221,7 @@
"en-US": "English, USA",
"fr-FR": "French",
"es-ES": "Spanish",
"it-IT": "Italian",
"de-DE": "German",
"ru-RU": "Russian",
"zh-CN": "Chinese (Simplified)",
+2
View File
@@ -209,6 +209,7 @@
"en-US": "English, US",
"fr-FR": "Français",
"es-ES": "Español",
"it-IT": "Italiano",
"de-DE": "Deutsch",
"ru-RU": "Русский",
"zh-CN": "简体中文",
@@ -220,6 +221,7 @@
"en-US": "Inglés, Estados Unidos",
"fr-FR": "Francés",
"es-ES": "Español",
"it-IT": "Italiano",
"de-DE": "Alemán",
"ru-RU": "Ruso",
"zh-CN": "Chino simplificado",
+2
View File
@@ -209,6 +209,7 @@
"en-US": "English, US",
"fr-FR": "Français",
"es-ES": "Español",
"it-IT": "Italiano",
"de-DE": "Deutsch",
"ru-RU": "Русский",
"zh-CN": "简体中文",
@@ -220,6 +221,7 @@
"en-US": "Anglais, États-Unis",
"fr-FR": "Français",
"es-ES": "Espagnol",
"it-IT": "Italien",
"de-DE": "Allemand",
"ru-RU": "Russe",
"zh-CN": "Chinois simplifié",
File diff suppressed because it is too large Load Diff
+2
View File
@@ -209,6 +209,7 @@
"en-US": "English, US",
"fr-FR": "Français",
"es-ES": "Español",
"it-IT": "Italiano",
"de-DE": "Deutsch",
"ru-RU": "Русский",
"zh-CN": "简体中文",
@@ -220,6 +221,7 @@
"en-US": "アメリカ英語",
"fr-FR": "フランス語",
"es-ES": "スペイン語",
"it-IT": "イタリア語",
"de-DE": "ドイツ語",
"ru-RU": "ロシア語",
"zh-CN": "簡体字中国",
+2
View File
@@ -209,6 +209,7 @@
"en-US": "English, US",
"fr-FR": "Français",
"es-ES": "Español",
"it-IT": "Italiano",
"de-DE": "Deutsch",
"ru-RU": "Русский",
"zh-CN": "简体中文",
@@ -220,6 +221,7 @@
"en-US": "영어(미국)",
"fr-FR": "프랑스어",
"es-ES": "스페인어",
"it-IT": "이탈리아어",
"de-DE": "독일어",
"ru-RU": "러시아어",
"zh-CN": "중국어 (간체)",
+2
View File
@@ -209,6 +209,7 @@
"en-US": "English, US",
"fr-FR": "Français",
"es-ES": "Español",
"it-IT": "Italiano",
"de-DE": "Deutsch",
"ru-RU": "Русский",
"zh-CN": "简体中文",
@@ -220,6 +221,7 @@
"en-US": "Английский, США",
"fr-FR": "Французский",
"es-ES": "Испанский",
"it-IT": "Итальянец",
"de-DE": "Немецкий",
"ru-RU": "Русский",
"zh-CN": "Китайский (упрощенный)",
+2
View File
@@ -209,6 +209,7 @@
"en-US": "English, US",
"fr-FR": "Français",
"es-ES": "Español",
"it-IT": "Italiano",
"de-DE": "Deutsch",
"ru-RU": "Русский",
"zh-CN": "簡體中文",
@@ -220,6 +221,7 @@
"en-US": "美式英語",
"fr-FR": "法語",
"es-ES": "西班牙語",
"it-IT": "義大利語",
"de-DE": "德語",
"ru-RU": "俄語",
"zh-CN": "簡體中文",
+2
View File
@@ -209,6 +209,7 @@
"en-US": "English, US",
"fr-FR": "Français",
"es-ES": "Español",
"it-IT": "Italiano",
"de-DE": "Deutsch",
"ru-RU": "Русский",
"zh-CN": "简体中文",
@@ -220,6 +221,7 @@
"en-US": "美式英语",
"fr-FR": "法语",
"es-ES": "西班牙语",
"it-IT": "意大利语",
"de-DE": "德语",
"ru-RU": "俄语",
"zh-CN": "简体中文",
@@ -10,6 +10,7 @@ import { AddIcon } from "./icons/add-icon.component";
import { CrossIcon } from "./icons/cross-icon.component";
import { FranceIcon } from "./flags/france-icon.component";
import { SpainIcon } from "./flags/spain-icon.component";
import { ItalyIcon } from "./flags/italy-icon.component";
import { UsaIcon } from "./flags/usa-icon.component";
import { UkIcon } from "./flags/uk-icon.component";
import { TaskIcon } from "./icons/task-icon.component";
@@ -70,7 +71,7 @@ import { WarningIcon } from "./icons/warning-icon.component";
export type BsmIconType = SongDetailDiffCharactertistic | ("settings" | "trash" | "favorite" | "folder" | "bsNote" | "check" | "three-dots" | "twitch" | "eye" | "play" | "checkCircleIcon" | "discord" | "info" | "eye-cross" | "terminal" | "desktop" | "oculus" | "add" | "cross" | "task" | "github" | "close" | "thumbUpFill" | "timerFill" | "pause" | "twitter" | "sync" | "chevron-top" | "copy" | "steam" | "edit" | "export" | "patreon" | "search" | "bsMapDifficulty" | "link" | "unlink" | "download" | "filter" | "mee6" | "volume-up" | "volume-off" | "volume-down" | "shortcut" | "backup-restore" | "web-site" | "clean" | "browse" | "add-file" | "cancel" | "warning" | "fr-FR-flag" | "es-ES-flag" | "en-US-flag" | "en-EN-flag" | "de-DE-flag" | "ru-RU-flag" | "zh-CN-flag" | "zh-TW-flag" | "ja-JP-flag" | "ko-KR-flag" | "null" );
export type BsmIconType = SongDetailDiffCharactertistic | ("settings" | "trash" | "favorite" | "folder" | "bsNote" | "check" | "three-dots" | "twitch" | "eye" | "play" | "checkCircleIcon" | "discord" | "info" | "eye-cross" | "terminal" | "desktop" | "oculus" | "add" | "cross" | "task" | "github" | "close" | "thumbUpFill" | "timerFill" | "pause" | "twitter" | "sync" | "chevron-top" | "copy" | "steam" | "edit" | "export" | "patreon" | "search" | "bsMapDifficulty" | "link" | "unlink" | "download" | "filter" | "mee6" | "volume-up" | "volume-off" | "volume-down" | "shortcut" | "backup-restore" | "web-site" | "clean" | "browse" | "add-file" | "cancel" | "warning" | "fr-FR-flag" | "es-ES-flag" | "it-IT-flag" | "en-US-flag" | "en-EN-flag" | "de-DE-flag" | "ru-RU-flag" | "zh-CN-flag" | "zh-TW-flag" | "ja-JP-flag" | "ko-KR-flag" | "null" );
export const BsmIcon = memo(({ className, icon, style }: { className?: string; icon: BsmIconType; style?: CSSProperties }) => {
// TODO : Very ugly very messy, need to find a better way to do this
@@ -113,6 +114,9 @@ export const BsmIcon = memo(({ className, icon, style }: { className?: string; i
if (icon === "es-ES-flag") {
return <SpainIcon className={className} style={style} />;
}
if (icon === "it-IT-flag") {
return <ItalyIcon className={className} style={style} />;
}
if (icon === "en-US-flag") {
return <UsaIcon className={className} style={style} />;
}
@@ -0,0 +1,13 @@
import { createSvgIcon } from "../svg-icon.type";
export const ItalyIcon = createSvgIcon((props, ref) => {
return (
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 71 48" ref={ref} {...props} width="71" height="48">
<g fill="none">
<path d="M6.65.53A6.36 6.36 0 0 0 .29 6.89v34.27a6.36 6.36 0 0 0 6.36 6.36h17v-47z" fill="#57A863"/>
<path d="M23.63.53v47H47v-47z" fill="#FFF"/>
<path d="M63.92.53H47v47h16.92a6.36 6.36 0 0 0 6.36-6.36V6.89A6.36 6.36 0 0 0 63.92.53" fill="#ED5565"/>
</g>
</svg>
);
});
@@ -25,7 +25,7 @@ export const defaultConfiguration: {
"second-color": "#ff4444",
theme: "os",
language: window.navigator.language.length <= 2 ? `${window.navigator.language}-${window.navigator.language.toLocaleUpperCase()}` : window.navigator.language,
supported_languages: ["en-US", "en-EN", "fr-FR", "es-ES", "de-DE", "ru-RU", "zh-CN", "zh-TW", "ja-JP", "ko-KR"],
supported_languages: ["en-US", "en-EN", "fr-FR", "es-ES", "it-IT", "de-DE", "ru-RU", "zh-CN", "zh-TW", "ja-JP", "ko-KR"],
default_mods: ["SongCore", "WhyIsThereNoLeaderboard", "BeatSaverDownloader", "BeatSaverVoting", "PlaylistManager"],
"default-shared-folders": [
window.electron.path.join("Beat Saber_Data", "CustomLevels"),
@@ -1,6 +1,6 @@
import { BSVersion } from "shared/bs-version.interface";
import { useState } from "react";
import { useLocation, useNavigate } from "react-router-dom";
import { Navigate, useLocation, useNavigate } from "react-router-dom";
import { TabNavBar } from "renderer/components/shared/tab-nav-bar.component";
import { BsmDropdownButton } from "renderer/components/shared/bsm-dropdown-button.component";
import { BsmImage } from "renderer/components/shared/bsm-image.component";
@@ -24,6 +24,7 @@ import { BsDownloaderService } from "renderer/services/bs-version-download/bs-do
import { useOnUpdate } from "renderer/hooks/use-on-update.hook";
import { safeLt } from "shared/helpers/semver.helpers";
import { ConfigurationService } from "renderer/services/configuration.service";
import { logRenderError } from "renderer";
export function VersionViewer() {
@@ -36,7 +37,7 @@ export function VersionViewer() {
const notification = useService(NotificationService);
const config = useService(ConfigurationService);
const { state } = useLocation() as { state: BSVersion };
const { state, pathname: url } = useLocation() as { state: BSVersion; pathname: string };
const navigate = useNavigate();
const [currentTabIndex, setCurrentTabIndex] = useState(0);
@@ -132,6 +133,13 @@ export function VersionViewer() {
});
}
// If state/version is not properly set, or becomes null for some reason
// redirect user to the available-versions page
if (!state) {
logRenderError(`Missing state/version for "${url}"`);
return <Navigate to="/available-versions" replace />;
}
return (
<>
<BsmImage className="absolute w-full h-full top-0 left-0 object-cover" image={state.ReleaseImg || DefautVersionImage} errorImage={DefautVersionImage} />