Remove unused types

This commit is contained in:
2025-12-14 21:34:34 +08:00
parent 27cb9fa32f
commit 12e8bd2b92
2 changed files with 0 additions and 79 deletions

View File

@@ -1,60 +0,0 @@
use crate::config::types::{ApplicationConfig, BasicConfig, PathConfig};
use crate::constants::{APP_CONIFG_FILE_PATH, CACHE_MAP};
use color_eyre::Result;
use std::path::PathBuf;
use language_tags::LanguageTag;
use ratatui::widgets::ListState;
use serde::Deserialize;
use serde_json;
pub mod types;
const CONFIG_KEY: &str = "app_conf";
impl ApplicationConfig {
pub fn get_config() -> Result<Self> {
if CACHE_MAP.contains_key(CONFIG_KEY) &&
let Some(cached_config) = CACHE_MAP.get(CONFIG_KEY)
{
Ok(serde_json::from_value(cached_config.clone())?)
} else if APP_CONIFG_FILE_PATH.exists() {
ApplicationConfig::from_file(&APP_CONIFG_FILE_PATH)
} else {
ApplicationConfig::new()
}
}
fn from_file(path: &PathBuf) -> Result<Self> {
let reader = std::fs::File::open(path)?;
let result: serde_json::Value = serde_json::from_reader(reader)?;
CACHE_MAP.insert(CONFIG_KEY.to_string(), result.clone());
Ok(serde_json::from_value(result)?)
}
fn new() -> Result<Self> {
let default_locale = sys_locale::get_locale().unwrap_or(String::from("ja-JP"));
let conf = Self {
basic_config: BasicConfig {
tick_rate: 250,
locale: LanguageTag::parse(&default_locale)?,
},
path_config: PathConfig {
dlsite_paths: vec![],
},
};
conf.clone().write_to_file(APP_CONIFG_FILE_PATH.to_path_buf())?;
Ok(conf)
}
fn write_to_file(self, path: PathBuf) -> Result<()> {
let writer = std::fs::File::create(path)?;
serde_json::to_writer_pretty(writer, &self)?;
Ok(())
}
pub fn save(self) -> Result<()> {
let current_value = serde_json::to_value(&self)?;
CACHE_MAP.alter(CONFIG_KEY, |_, _| current_value);
self.write_to_file(APP_CONIFG_FILE_PATH.to_path_buf())
}
}

View File

@@ -1,19 +0,0 @@
use language_tags::LanguageTag;
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Serialize, Deserialize)]
pub struct ApplicationConfig {
pub basic_config: BasicConfig,
pub path_config: PathConfig,
}
#[derive(Clone, Debug, Serialize, Deserialize)]
pub(crate) struct BasicConfig {
pub locale: LanguageTag,
pub tick_rate: u64,
}
#[derive(Clone, Debug, Serialize, Deserialize)]
pub struct PathConfig {
pub dlsite_paths: Vec<String>
}