move retrieval of sprite url from svelte to rust

This commit is contained in:
2026-03-09 19:34:57 +08:00
parent 02f1119254
commit ceaa1257bf
11 changed files with 116 additions and 50 deletions

View File

@@ -1,7 +1,7 @@
use crate::{
lock_r,
models::{app_data::UserData, dolls::DollColorSchemeDto},
services::presence_modules::models::ModuleMetadata,
models::app_data::UserData,
services::{presence_modules::models::ModuleMetadata, sprite},
state::{init_app_data_scoped, AppDataRefreshScope, FDOLL},
};
@@ -29,24 +29,6 @@ pub fn get_modules() -> Result<Vec<ModuleMetadata>, String> {
#[tauri::command]
#[specta::specta]
pub fn get_active_doll_color_scheme() -> Result<Option<DollColorSchemeDto>, String> {
let guard = lock_r!(FDOLL);
let active_doll_id = guard
.user_data
.user
.as_ref()
.and_then(|u| u.active_doll_id.as_deref());
match active_doll_id {
Some(active_doll_id) => {
let color_scheme = guard
.user_data
.dolls
.as_ref()
.and_then(|dolls| dolls.iter().find(|d| d.id == active_doll_id))
.map(|d| d.configuration.color_scheme.clone());
Ok(color_scheme)
}
None => Ok(None),
}
pub fn get_active_doll_sprite_base64() -> Result<Option<String>, String> {
sprite::get_active_doll_sprite_base64()
}

View File

@@ -5,8 +5,8 @@ pub mod config;
pub mod dolls;
pub mod friends;
pub mod interaction;
pub mod sprite;
pub mod petpet;
pub mod sprite;
use crate::lock_r;
use crate::state::{init_app_data_scoped, AppDataRefreshScope, FDOLL};