@@ -2,8 +2,7 @@ use std::path::PathBuf;
22
33use crate :: content_base;
44use crate :: obsidian:: ObsidianVault ;
5-
6- pub const FILENAME : & str = "settings.json" ;
5+ use crate :: settings_base;
76
87pub struct Settings < ' a , R : tauri:: Runtime , M : tauri:: Manager < R > > {
98 manager : & ' a M ,
@@ -13,19 +12,8 @@ pub struct Settings<'a, R: tauri::Runtime, M: tauri::Manager<R>> {
1312impl < ' a , R : tauri:: Runtime , M : tauri:: Manager < R > > Settings < ' a , R , M > {
1413 pub fn default_base ( & self ) -> Result < PathBuf , crate :: Error > {
1514 let bundle_id: & str = self . manager . config ( ) . identifier . as_ref ( ) ;
16- let data_dir = self
17- . manager
18- . path ( )
19- . data_dir ( )
20- . map_err ( |_| crate :: Error :: DataDirUnavailable ) ?;
21-
22- let app_folder = if cfg ! ( debug_assertions) || bundle_id == "com.hyprnote.staging" {
23- bundle_id
24- } else {
25- "hyprnote"
26- } ;
27-
28- let path = data_dir. join ( app_folder) ;
15+ let path = settings_base:: compute_default_base ( bundle_id)
16+ . ok_or ( crate :: Error :: DataDirUnavailable ) ?;
2917 std:: fs:: create_dir_all ( & path) ?;
3018 Ok ( path)
3119 }
@@ -36,7 +24,7 @@ impl<'a, R: tauri::Runtime, M: tauri::Manager<R>> Settings<'a, R, M> {
3624
3725 pub fn settings_path ( & self ) -> Result < PathBuf , crate :: Error > {
3826 let base = self . settings_base ( ) ?;
39- Ok ( base . join ( FILENAME ) )
27+ Ok ( settings_base :: compute_settings_path ( & base ) )
4028 }
4129
4230 pub fn content_base ( & self ) -> Result < PathBuf , crate :: Error > {
@@ -89,7 +77,7 @@ impl<'a, R: tauri::Runtime, M: tauri::Manager<R> + tauri::Emitter<R>> Settings<'
8977 std:: fs:: create_dir_all ( & new_path) ?;
9078 crate :: fs:: copy_content_items ( & old_content_base, & new_path) . await ?;
9179
92- let settings_path = default_base . join ( FILENAME ) ;
80+ let settings_path = settings_base :: compute_settings_path ( & default_base ) ;
9381 let existing_json = std:: fs:: read_to_string ( & settings_path) . ok ( ) ;
9482 let content = content_base:: prepare_settings_json_for_content_base (
9583 existing_json. as_deref ( ) ,
0 commit comments