From e35b29e3171d85cf86e31563ff7742e49a467618 Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Sun, 4 Jan 2026 19:42:43 -0500 Subject: [PATCH] Add info on root path --- .../artcraft/src/core/commands/get_app_info_command.rs | 8 ++++++++ .../settings-modal/src/lib/panes/AboutSettingsPane.tsx | 7 +++++++ frontend/libs/tauri-api/src/lib/system/GetAppInfo.ts | 1 + 3 files changed, 16 insertions(+) diff --git a/crates/desktop/artcraft/src/core/commands/get_app_info_command.rs b/crates/desktop/artcraft/src/core/commands/get_app_info_command.rs index 5a5e6795a1..38d507336f 100644 --- a/crates/desktop/artcraft/src/core/commands/get_app_info_command.rs +++ b/crates/desktop/artcraft/src/core/commands/get_app_info_command.rs @@ -1,3 +1,4 @@ +use std::path::PathBuf; use crate::core::commands::response::shorthand::InfallibleResponse; use crate::core::commands::response::success_response_wrapper::SerializeMarker; use crate::core::state::app_env_configs::app_env_configs::AppEnvConfigs; @@ -7,6 +8,7 @@ use chrono::{DateTime, Utc}; use log::info; use serde_derive::Serialize; use tauri::State; +use crate::core::state::data_dir::app_data_root::AppDataRoot; #[derive(Debug, Serialize)] pub struct AppInfoResponse { @@ -22,6 +24,8 @@ pub struct AppInfoResponse { pub os_version: String, pub storyteller_host: String, + + pub root_directory: PathBuf, } impl SerializeMarker for AppInfoResponse {} @@ -38,6 +42,7 @@ pub enum DetectedOs { #[tauri::command] pub fn get_app_info_command( + app_data_root: State<'_, AppDataRoot>, app_env_configs: State<'_, AppEnvConfigs>, artcraft_platform_info: State<'_, ArtcraftPlatformInfo>, ) -> InfallibleResponse { @@ -52,6 +57,8 @@ pub fn get_app_info_command( ArtcraftOs::Unknown => DetectedOs::Unknown, }; + let root_directory = app_data_root.path().to_path_buf(); + AppInfoResponse { artcraft_version: artcraft_platform_info.artcraft_version.clone(), build_timestamp: artcraft_platform_info.build_timestamp, @@ -61,6 +68,7 @@ pub fn get_app_info_command( os_platform, os_version: artcraft_platform_info.os_version.clone(), storyteller_host, + root_directory, }.into() } diff --git a/frontend/libs/components/settings-modal/src/lib/panes/AboutSettingsPane.tsx b/frontend/libs/components/settings-modal/src/lib/panes/AboutSettingsPane.tsx index e5c2014d8e..c6957008d7 100644 --- a/frontend/libs/components/settings-modal/src/lib/panes/AboutSettingsPane.tsx +++ b/frontend/libs/components/settings-modal/src/lib/panes/AboutSettingsPane.tsx @@ -60,6 +60,13 @@ export const AboutSettingsPane = (args: AboutSettingsPaneProps) => {
{appInfo?.os_platform} ({appInfo?.os_version})
+
+ +
{appInfo?.root_directory}
+
+ ); diff --git a/frontend/libs/tauri-api/src/lib/system/GetAppInfo.ts b/frontend/libs/tauri-api/src/lib/system/GetAppInfo.ts index a9f824dca0..e3e155d444 100644 --- a/frontend/libs/tauri-api/src/lib/system/GetAppInfo.ts +++ b/frontend/libs/tauri-api/src/lib/system/GetAppInfo.ts @@ -14,6 +14,7 @@ export interface GetAppInfoPayload { storyteller_host?: string | null; os_platform?: string | null; os_version?: string | null; + root_directory: string; } // Returns the Success and Error variants directly.