Skip to content

Commit 482e698

Browse files
committed
update preferences
1 parent 604aef1 commit 482e698

File tree

2 files changed

+13
-4
lines changed

2 files changed

+13
-4
lines changed

src/config.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ pub struct Config {
2626

2727
#[serde(rename = "REDLIB_DEFAULT_THEME_LIGHT")]
2828
#[serde(alias = "LIBREDDIT_DEFAULT_THEME_LIGHT")]
29+
#[serde(alias = "REDLIB_DEFAULT_THEME")]
30+
#[serde(alias = "LIBREDDIT_DEFAULT_THEME")]
2931
pub(crate) default_theme_light: Option<String>,
3032

3133
#[serde(rename = "REDLIB_DEFAULT_THEME_DARK")]

src/utils.rs

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ use libflate::deflate::{Decoder, Encoder};
1212
use log::error;
1313
use once_cell::sync::Lazy;
1414
use regex::Regex;
15-
use revision::revisioned;
15+
use revision::{revisioned, Error};
1616
use rinja::Template;
1717
use rust_embed::RustEmbed;
1818
use serde::{Deserialize, Deserializer, Serialize, Serializer};
@@ -621,14 +621,16 @@ pub struct Params {
621621
}
622622

623623
#[derive(Default, Serialize, Deserialize, Debug, PartialEq, Eq)]
624-
#[revisioned(revision = 1)]
624+
#[revisioned(revision = 2)]
625625
pub struct Preferences {
626626
#[revision(start = 1)]
627627
#[serde(skip_serializing, skip_deserializing)]
628628
pub available_themes: Vec<String>,
629-
#[revision(start = 1)]
629+
#[revision(start = 1, end = 2, convert_fn="convert_theme")]
630+
pub theme: String,
631+
#[revision(start = 2)]
630632
pub theme_light: String,
631-
#[revision(start = 1)]
633+
#[revision(start = 2)]
632634
pub theme_dark: String,
633635
#[revision(start = 1)]
634636
pub front_page: String,
@@ -746,6 +748,11 @@ impl Preferences {
746748
pub fn to_bincode_str(&self) -> Result<String, String> {
747749
Ok(base2048::encode(&self.to_compressed_bincode()?))
748750
}
751+
fn convert_theme(&mut self, _revision: u16, value:String) -> Result<(), Error> {
752+
self.theme_light = value.clone();
753+
self.theme_dark = value.clone();
754+
Ok(())
755+
}
749756
}
750757

751758
pub fn deflate_compress(i: Vec<u8>) -> Result<Vec<u8>, String> {

0 commit comments

Comments
 (0)