diff --git a/src-tauri/lang/chs.json b/src-tauri/lang/chs.json index 3f0bec9..5707405 100644 --- a/src-tauri/lang/chs.json +++ b/src-tauri/lang/chs.json @@ -31,6 +31,7 @@ "horny_mode": "Horny 模式" }, "downloads": { + "grasscutter_fullbuild": "下载 Grasscutter 一体化", "grasscutter_stable_data": "下载 Grasscutter 稳定版数据", "grasscutter_latest_data": "下载 Grasscutter 开发版数据", "grasscutter_stable_data_update": "更新 Grasscutter 稳定版数据", @@ -40,7 +41,9 @@ "grasscutter_stable_update": "更新 Grasscutter 稳定版", "grasscutter_latest_update": "更新 Grasscutter 开发版", "resources": "下载 Grasscutter 资源", - "game": "下载游戏" + "game": "下载游戏", + "aio_header": "多合一下载:", + "individual_header": "个别部分下载:" }, "download_status": { "downloading": "下载中", diff --git a/src-tauri/lang/cht.json b/src-tauri/lang/cht.json index 53a4e09..1d8cf4f 100644 --- a/src-tauri/lang/cht.json +++ b/src-tauri/lang/cht.json @@ -28,6 +28,7 @@ "use_proxy": "使用內建代理伺服器" }, "downloads": { + "grasscutter_fullbuild": "下載Grasscutter多合一下載", "grasscutter_stable_data": "下載Grasscutter穩定版數據(Data)", "grasscutter_latest_data": "下載Grasscutter開發板數據(Data)", "grasscutter_stable_data_update": "更新Grasscutter穩定版數據(Data)", @@ -37,7 +38,9 @@ "grasscutter_stable_update": "更新Grasscutter穩定版", "grasscutter_latest_update": "更新Grasscutter開發板", "resources": "下載Grasscutter資源(Resources)", - "game": "下載遊戲" + "game": "下載遊戲", + "aio_header": "多合一下載:", + "individual_header": "個別部分下載:" }, "download_status": { "downloading": "下載中", diff --git a/src-tauri/lang/de.json b/src-tauri/lang/de.json index 650ab54..a3a5a8a 100644 --- a/src-tauri/lang/de.json +++ b/src-tauri/lang/de.json @@ -26,6 +26,7 @@ "patch_metadata": "Metadaten automatisch patchen" }, "downloads": { + "grasscutter_fullbuild": "Alles in Einem Grasscutter Daten herunterladen", "grasscutter_stable_data": "Stabile Grasscutter Daten herunterladen", "grasscutter_latest_data": "Aktuellste Grasscutter Daten herunterladen", "grasscutter_stable_data_update": "Stabile Grasscutter Daten aktualisieren", @@ -35,7 +36,9 @@ "grasscutter_stable_update": "Stabile Grasscutter Version aktualisieren", "grasscutter_latest_update": "Aktuellste Grasscutter Version aktualisieren", "resources": "Grasscutter Ressourcen herunterladen", - "game": "Spiel herunterladen" + "game": "Spiel herunterladen", + "aio_header": "Alles in Einem herunterladen", + "individual_header": "Einzelne Teile herunterladen:" }, "download_status": { "downloading": "Lädt herunter", diff --git a/src-tauri/lang/en.json b/src-tauri/lang/en.json index 1b6cf4d..e950bfe 100644 --- a/src-tauri/lang/en.json +++ b/src-tauri/lang/en.json @@ -31,7 +31,7 @@ "horny_mode": "Horny Mode" }, "downloads": { - "grasscutter_fullbuild": "Download Grasscutter Full Build [All-in-One]", + "grasscutter_fullbuild": "Download Grasscutter All-in-One", "grasscutter_stable_data": "Download Grasscutter Stable Data", "grasscutter_latest_data": "Download Grasscutter Latest Data", "grasscutter_stable_data_update": "Update Grasscutter Stable Data", @@ -42,8 +42,8 @@ "grasscutter_latest_update": "Update Grasscutter Latest", "resources": "Download Grasscutter Resources", "game": "Download Game", - "aio_header": "All-in-one download: No individual downloads needed.", - "individual_header": "Individual downloads" + "aio_header": "All-in-One Downloads:", + "individual_header": "Individual downloads:" }, "download_status": { "downloading": "Downloading", diff --git a/src-tauri/lang/es.json b/src-tauri/lang/es.json index 86e606d..7be0552 100644 --- a/src-tauri/lang/es.json +++ b/src-tauri/lang/es.json @@ -26,6 +26,7 @@ "theme": "Establecer Tema" }, "downloads": { + "grasscutter_fullbuild": "Descargar Datos todo en uno de Grasscutter", "grasscutter_stable_data": "Descargar Datos Estables de Grasscutter", "grasscutter_latest_data": "Descargar Datos más Recientes de Grasscutter", "grasscutter_stable_data_update": "Actualizar Datos Estables de Grasscutter", @@ -35,7 +36,9 @@ "grasscutter_stable_update": "Actualizar Grasscutter Estable", "grasscutter_latest_update": "Actualizar Grasscutter más reciente", "resources": "Descargar Recursos de Grasscutter", - "game": "Descarga el juego" + "game": "Descarga el juego", + "aio_header": "Descargas todo en uno:", + "individual_header": "Descargas de piezas individuales:" }, "download_status": { "downloading": "Descargando", diff --git a/src-tauri/lang/fr.json b/src-tauri/lang/fr.json index e4fecd6..747b8d0 100644 --- a/src-tauri/lang/fr.json +++ b/src-tauri/lang/fr.json @@ -23,6 +23,7 @@ "theme": "definir un theme" }, "downloads": { + "grasscutter_fullbuild": "Telecharger Grasscutter tout-en-un", "grasscutter_stable_data": "Telecharger les donnees de Grasscutter (version stable)", "grasscutter_latest_data": "Telecharger les donnees de Grasscutter (derniere version)", "grasscutter_stable_data_update": "Mettre a jour les donnees de Grasscutter (version stable)", @@ -31,7 +32,9 @@ "grasscutter_latest": "Telecharger Grasscutter (derniere version)", "grasscutter_stable_update": "Mettre a jour Grasscutter (version stable)", "grasscutter_latest_update": "Mettre a jour Grasscutter (derniere version)", - "resources": "Telecharger les ressources logicielles de Grasscutter" + "resources": "Telecharger les ressources logicielles de Grasscutter", + "aio_header": "Telechargements tout-en-un:", + "individual_header": "Telechargements de pièces individuelles:" }, "download_status": { "downloading": "Telechargement", diff --git a/src-tauri/lang/id.json b/src-tauri/lang/id.json index faafe47..8a7fcb2 100644 --- a/src-tauri/lang/id.json +++ b/src-tauri/lang/id.json @@ -19,6 +19,7 @@ "theme": "Atur Tema" }, "downloads": { + "grasscutter_fullbuild": "Sedang Mendownload Grasscutter Semua Dalam Satu", "grasscutter_stable_data": "Sedang Mendownload Grasscutter Versi Stabil", "grasscutter_latest_data": "Sedang Mendownload Grasscutter Data Terbaru", "grasscutter_stable_data_update": "Memperbaharui Grasscutter Data Stabil", @@ -27,7 +28,9 @@ "grasscutter_latest": "Download Grasscutter Terbaru Version", "grasscutter_stable_update": "Sedang MengUpdate Grasscutter Stabil", "grasscutter_latest_update": "Sedang MengUpdate Grasscutter Terbaru", - "resources": "Mendownload Grasscutter Resources" + "resources": "Mendownload Grasscutter Resources", + "aio_header": "Unduhan Semua Dalam Satu:", + "individual_header": "Unduhan Bagian Individual:" }, "download_status": { "downloading": "Sedang Mendownload", diff --git a/src-tauri/lang/ko.json b/src-tauri/lang/ko.json index 8c81ac8..5d88cea 100644 --- a/src-tauri/lang/ko.json +++ b/src-tauri/lang/ko.json @@ -31,6 +31,7 @@ "horny_mode": "Horny 모드" }, "downloads": { + "grasscutter_fullbuild": "올인원 Grasscutter 다운로드", "grasscutter_stable_data": "안정적인 데이터 다운로드", "grasscutter_latest_data": "최신 데이터 다운로드", "grasscutter_stable_data_update": "안정적 데이터 업데이트", @@ -40,7 +41,9 @@ "grasscutter_stable_update": "안정 업데이트", "grasscutter_latest_update": "최신 업데이트", "resources": "리소스 다운로드", - "game": "게임 다운로드" + "game": "게임 다운로드", + "aio_header": "올인원 다운로드", + "individual_header": "개별 부품 다운로드:" }, "download_status": { "downloading": "다운로드 중", diff --git a/src-tauri/lang/lv.json b/src-tauri/lang/lv.json index 66ecc9b..15af0e7 100644 --- a/src-tauri/lang/lv.json +++ b/src-tauri/lang/lv.json @@ -23,6 +23,7 @@ "theme": "Iestatīt tēmu" }, "downloads": { + "grasscutter_fullbuild": "Lejupielādējiet Grasscutter viss vienā", "grasscutter_stable_data": "Lejupielādējiet Grasscutter stabilos datus", "grasscutter_latest_data": "Lejupielādējiet Grasscutter jaunākos datus", "grasscutter_stable_data_update": "Atjauniniet Grasscutter stabilos datus", @@ -31,7 +32,9 @@ "grasscutter_latest": "Lejupielādēt Grasscutter jaunāko", "grasscutter_stable_update": "Atjauniet Grasscutter stabilo", "grasscutter_latest_update": "Atjauniet Grasscutter jaunāko", - "resources": "Lejupielādējiet Grasscutter resursi" + "resources": "Lejupielādējiet Grasscutter resursi", + "aio_header": "Lejupielādes viss vienā", + "individual_header": "Atsevišķu daļu lejupielādes:" }, "download_status": { "downloading": "Notiek lejupielāde", diff --git a/src-tauri/lang/nl.json b/src-tauri/lang/nl.json index 09950e1..744ec9d 100644 --- a/src-tauri/lang/nl.json +++ b/src-tauri/lang/nl.json @@ -28,6 +28,7 @@ "use_proxy": "Gebruik Interne Proxy" }, "downloads": { + "grasscutter_fullbuild": "Grasscutter Alles-in-één Downloaden", "grasscutter_stable_data": "Download Stabiele Gegevens Van Grasscutter", "grasscutter_latest_data": "Download De Nieuwste Gegevens Van Grasscutter", "grasscutter_stable_data_update": "Stabiele gegevens Van Grasscutter bijwerken", @@ -37,7 +38,9 @@ "grasscutter_stable_update": "Update Grasscutter Naar De Stabiele Versie", "grasscutter_latest_update": "Update Grasscutter Naar De Nieuwste Versie", "resources": "Download Grasscutter bronnen", - "game": "Download Spel" + "game": "Download Spel", + "aio_header": "Alles-in-één Downloads:", + "individual_header": "Downloads van afzonderlijke onderdelen:" }, "download_status": { "downloading": "Aan Het Downloading", diff --git a/src-tauri/lang/ru.json b/src-tauri/lang/ru.json index 78d4e88..011efb8 100644 --- a/src-tauri/lang/ru.json +++ b/src-tauri/lang/ru.json @@ -28,6 +28,7 @@ "use_proxy": "Использовать встроенный Прокси" }, "downloads": { + "grasscutter_fullbuild": "Скачать все в одном Grasscutter", "grasscutter_stable_data": "Скачать стабильные данные Grasscutter", "grasscutter_latest_data": "Скачать последние данные Grasscutter", "grasscutter_stable_data_update": "Обновить стабильные данные Grasscutter", @@ -37,7 +38,9 @@ "grasscutter_stable_update": "Обновить стабильную версию Grasscutter", "grasscutter_latest_update": "Обновить последнюю версию Grasscutter", "resources": "Скачать ресурсы Grasscutter", - "game": "Скачать Игру" + "game": "Скачать Игру", + "aio_header": "Все в одной загрузке:", + "individual_header": "загрузка отдельных частей:" }, "download_status": { "downloading": "Скачивание", diff --git a/src-tauri/lang/vi.json b/src-tauri/lang/vi.json index ad2387c..05d2708 100644 --- a/src-tauri/lang/vi.json +++ b/src-tauri/lang/vi.json @@ -31,6 +31,7 @@ "horny_mode": "Chế độ hứng tình" }, "downloads": { + "grasscutter_fullbuild": "Tải Grasscutter tất cả trong một", "grasscutter_stable_data": "Tải dữ liệu Grasscutter bản ổn định", "grasscutter_latest_data": "Tải dữ liệu Grasscutter bản mới nhất", "grasscutter_stable_data_update": "Cập nhật dữ liệu Grasscutter bản ổn định", @@ -40,7 +41,9 @@ "grasscutter_stable_update": "Cập nhật Grasscutter bản ổn định", "grasscutter_latest_update": "Cập nhật Grasscutter bản mới nhất", "resources": "Tải tài nguyên Grasscutter", - "game": "Tải game" + "game": "Tải game", + "aio_header": "Tải xuống tất cả trong một:", + "individual_header": "Tải xuống từng phần:" }, "download_status": { "downloading": "Đang tải", diff --git a/src-tauri/src/file_helpers.rs b/src-tauri/src/file_helpers.rs index 8e6f30f..6a700da 100644 --- a/src-tauri/src/file_helpers.rs +++ b/src-tauri/src/file_helpers.rs @@ -131,8 +131,8 @@ pub fn read_file(path: String) -> String { let mut file = match fs::File::open(path_buf) { Ok(file) => file, Err(e) => { - println!("Failed to open file: {}", e); - return String::new(); + // Send back error for handling by the caller + return e; } }; diff --git a/src-tauri/src/unzip.rs b/src-tauri/src/unzip.rs index 2693ca3..ee9a90d 100644 --- a/src-tauri/src/unzip.rs +++ b/src-tauri/src/unzip.rs @@ -96,6 +96,13 @@ pub fn unzip( .unwrap(); } + // If downloading full build, emit that the jar was extracted with it + if zipfile = "GrasscutterCulti3.4.zip" { + window + .emit("jar_extracted", destpath.to_string() + (destpath.to_string() + "grasscutter.jar")) + .unwrap(); + } + // Delete zip file match std::fs::remove_file(&zipfile) { Ok(_) => { diff --git a/src/ui/components/menu/Downloads.css b/src/ui/components/menu/Downloads.css index 24a954a..51a636a 100644 --- a/src/ui/components/menu/Downloads.css +++ b/src/ui/components/menu/Downloads.css @@ -17,6 +17,12 @@ height: 100%; } +.HeaderText { + text-decoration: underline; + text-decoration: rgb(1, 37, 37); + font-size: 24px; +} + .DownloadValue .BigButton { height: 100%; min-height: 30px; diff --git a/src/ui/components/menu/Downloads.tsx b/src/ui/components/menu/Downloads.tsx index d3ec4aa..0b81a73 100644 --- a/src/ui/components/menu/Downloads.tsx +++ b/src/ui/components/menu/Downloads.tsx @@ -212,7 +212,10 @@ export default class Downloads extends React.Component { render() { return ( -
+ + + +
@@ -252,8 +255,8 @@ export default class Downloads extends React.Component {
*/} -
- +
+
diff --git a/src/utils/game.ts b/src/utils/game.ts index 748c034..83543c7 100644 --- a/src/utils/game.ts +++ b/src/utils/game.ts @@ -44,11 +44,16 @@ export async function getGameVersion() { return null } - const settings = JSON.parse( - await invoke('read_file', { - path: GameData + '\\StreamingAssets\\asb_settings.json', - }) - ) + try { + const settings = JSON.parse( + await invoke('read_file', { + path: GameData + '\\StreamingAssets\\asb_settings.json', + }) + ) + } catch (e) { + console.log(`Game config at ${path} not found or invalid. Missing game files?`) + return 0.0 + } const versionRaw = settings.variance.split('.') const version = { diff --git a/src/utils/server.ts b/src/utils/server.ts index 8dc9128..e1e572c 100644 --- a/src/utils/server.ts +++ b/src/utils/server.ts @@ -10,7 +10,7 @@ export async function toggleEncryption(path: string) { }) ) } catch (e) { - console.log(`Server config at ${path} not found or invalid`) + console.log(`Server config at ${path} not found or invalid. Be sure to run the server at least once to generate it`) return } @@ -36,7 +36,7 @@ export async function encryptionEnabled(path: string) { }) ) } catch (e) { - console.log(`Server config at ${path} not found or invalid`) + console.log(`Server config at ${path} not found or invalid. Be sure to run the server at least once to generate it`) return false }