diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index b20405d..d0f3641 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -134,12 +134,12 @@ async fn get_bg_file(bg_path: String) -> String { } }; - let file_name = response_data.backgroundFile.to_string() + ".png"; + let file_name = response_data.bg_file.to_string(); // First we see if the file already exists in our local bg folder if file_helpers::dir_exists(format!(".\\bg\\{}", file_name).as_str()) { let cwd = std::env::current_dir().unwrap(); - return format!("{}\\{}", cwd.display(), response_data.backgroundFile.as_str()); + return format!("{}\\{}", cwd.display(), response_data.bg_file.as_str()); } // Now we check if the bg folder, which is one directory above the game_path, exists. @@ -159,16 +159,16 @@ async fn get_bg_file(bg_path: String) -> String { // The image exists, lets copy it to our local \bg folder let bg_img_path_local = format!(".\\bg\\{}", file_name.as_str()); - match std::fs::copy(bg_img_path, bg_img_path_local) { + return match std::fs::copy(bg_img_path, bg_img_path_local) { Ok(_) => { // Copy was successful, lets return true let cwd = std::env::current_dir().unwrap(); - return format!("{}\\{}", cwd.display(), response_data.backgroundFile.as_str()); + format!("{}\\{}", cwd.display(), response_data.bg_file.as_str()) } Err(e) => { // Copy failed, lets return false println!("Failed to copy background image: {}", e); - return "".to_string(); + "".to_string() } }; } \ No newline at end of file diff --git a/src-tauri/src/structs.rs b/src-tauri/src/structs.rs index dca3538..e2d0710 100644 --- a/src-tauri/src/structs.rs +++ b/src-tauri/src/structs.rs @@ -4,5 +4,5 @@ use serde::Deserialize; #[derive(Deserialize)] pub(crate) struct APIQuery { - pub backgroundFile: String, + pub bg_file: String, } \ No newline at end of file diff --git a/src/ui/components/menu/Downloads.tsx b/src/ui/components/menu/Downloads.tsx index e598b03..5bc75a3 100644 --- a/src/ui/components/menu/Downloads.tsx +++ b/src/ui/components/menu/Downloads.tsx @@ -2,7 +2,7 @@ import React from 'react' import Menu from './Menu' import Tr from '../../../utils/language' import DownloadHandler from '../../../utils/download' -import { unzip } from '../../../utils/zip_utils' +import { unzip } from '../../../utils/zipUtils' import BigButton from '../common/BigButton' import { dataDir } from '@tauri-apps/api/path' diff --git a/src/ui/components/news/NewsSection.tsx b/src/ui/components/news/NewsSection.tsx index ccd17ec..dc19ec1 100644 --- a/src/ui/components/news/NewsSection.tsx +++ b/src/ui/components/news/NewsSection.tsx @@ -4,6 +4,7 @@ import React from 'react' import Tr from '../../../utils/language' import './NewsSection.css' +import {base64Decode} from '../../../utils/string' interface IProps { selected?: string; @@ -55,6 +56,9 @@ export default class NewsSection extends React.Component { if (!obj.commits) { const commits: string = await invoke('req_get', { url: 'https://api.github.com/repos/Grasscutters/Grasscutter/commits' }) obj = JSON.parse(commits) + } else { + const commitData = JSON.parse(base64Decode(obj.commits)) + obj = commitData.gc_stable } // Probably rate-limited diff --git a/src/utils/string.ts b/src/utils/string.ts index fefc7a4..df04e8b 100644 --- a/src/utils/string.ts +++ b/src/utils/string.ts @@ -8,4 +8,8 @@ export function byteToString(bytes: number) { const i = parseInt(Math.floor(Math.log(bytes) / Math.log(1024)).toString(), 10) if (i === 0) return `${bytes} ${sizes[i]}` return `${(bytes / Math.pow(1024, i)).toFixed(2)} ${sizes[i]}` +} + +export function base64Decode(str: string) { + return Buffer.from(str, 'base64').toString('utf8') } \ No newline at end of file diff --git a/src/utils/zip_utils.ts b/src/utils/zipUtils.ts similarity index 100% rename from src/utils/zip_utils.ts rename to src/utils/zipUtils.ts