mirror of
https://github.com/redlib-org/redlib.git
synced 2025-04-22 14:59:15 +00:00
update preferences
This commit is contained in:
parent
604aef19ce
commit
482e698822
2 changed files with 13 additions and 4 deletions
|
@ -26,6 +26,8 @@ pub struct Config {
|
||||||
|
|
||||||
#[serde(rename = "REDLIB_DEFAULT_THEME_LIGHT")]
|
#[serde(rename = "REDLIB_DEFAULT_THEME_LIGHT")]
|
||||||
#[serde(alias = "LIBREDDIT_DEFAULT_THEME_LIGHT")]
|
#[serde(alias = "LIBREDDIT_DEFAULT_THEME_LIGHT")]
|
||||||
|
#[serde(alias = "REDLIB_DEFAULT_THEME")]
|
||||||
|
#[serde(alias = "LIBREDDIT_DEFAULT_THEME")]
|
||||||
pub(crate) default_theme_light: Option<String>,
|
pub(crate) default_theme_light: Option<String>,
|
||||||
|
|
||||||
#[serde(rename = "REDLIB_DEFAULT_THEME_DARK")]
|
#[serde(rename = "REDLIB_DEFAULT_THEME_DARK")]
|
||||||
|
|
15
src/utils.rs
15
src/utils.rs
|
@ -12,7 +12,7 @@ use libflate::deflate::{Decoder, Encoder};
|
||||||
use log::error;
|
use log::error;
|
||||||
use once_cell::sync::Lazy;
|
use once_cell::sync::Lazy;
|
||||||
use regex::Regex;
|
use regex::Regex;
|
||||||
use revision::revisioned;
|
use revision::{revisioned, Error};
|
||||||
use rinja::Template;
|
use rinja::Template;
|
||||||
use rust_embed::RustEmbed;
|
use rust_embed::RustEmbed;
|
||||||
use serde::{Deserialize, Deserializer, Serialize, Serializer};
|
use serde::{Deserialize, Deserializer, Serialize, Serializer};
|
||||||
|
@ -621,14 +621,16 @@ pub struct Params {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Default, Serialize, Deserialize, Debug, PartialEq, Eq)]
|
#[derive(Default, Serialize, Deserialize, Debug, PartialEq, Eq)]
|
||||||
#[revisioned(revision = 1)]
|
#[revisioned(revision = 2)]
|
||||||
pub struct Preferences {
|
pub struct Preferences {
|
||||||
#[revision(start = 1)]
|
#[revision(start = 1)]
|
||||||
#[serde(skip_serializing, skip_deserializing)]
|
#[serde(skip_serializing, skip_deserializing)]
|
||||||
pub available_themes: Vec<String>,
|
pub available_themes: Vec<String>,
|
||||||
#[revision(start = 1)]
|
#[revision(start = 1, end = 2, convert_fn="convert_theme")]
|
||||||
|
pub theme: String,
|
||||||
|
#[revision(start = 2)]
|
||||||
pub theme_light: String,
|
pub theme_light: String,
|
||||||
#[revision(start = 1)]
|
#[revision(start = 2)]
|
||||||
pub theme_dark: String,
|
pub theme_dark: String,
|
||||||
#[revision(start = 1)]
|
#[revision(start = 1)]
|
||||||
pub front_page: String,
|
pub front_page: String,
|
||||||
|
@ -746,6 +748,11 @@ impl Preferences {
|
||||||
pub fn to_bincode_str(&self) -> Result<String, String> {
|
pub fn to_bincode_str(&self) -> Result<String, String> {
|
||||||
Ok(base2048::encode(&self.to_compressed_bincode()?))
|
Ok(base2048::encode(&self.to_compressed_bincode()?))
|
||||||
}
|
}
|
||||||
|
fn convert_theme(&mut self, _revision: u16, value:String) -> Result<(), Error> {
|
||||||
|
self.theme_light = value.clone();
|
||||||
|
self.theme_dark = value.clone();
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn deflate_compress(i: Vec<u8>) -> Result<Vec<u8>, String> {
|
pub fn deflate_compress(i: Vec<u8>) -> Result<Vec<u8>, String> {
|
||||||
|
|
Loading…
Add table
Reference in a new issue