Implement last used calendar tracking with localStorage and database sync
- Add database migration for last_used_calendar field in user preferences - Update backend models and handlers to support last_used_calendar persistence - Modify frontend preferences service with update_last_used_calendar() method - Implement automatic saving of selected calendar on event creation - Add localStorage fallback for offline usage and immediate UI response - Update create event modal to default to last used calendar for new events - Clean up unused imports from event form components 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -413,6 +413,21 @@ pub fn App() -> Html {
|
||||
let auth_token = auth_token.clone();
|
||||
Callback::from(move |event_data: EventCreationData| {
|
||||
web_sys::console::log_1(&format!("Creating event: {:?}", event_data).into());
|
||||
|
||||
// Save the selected calendar as the last used calendar
|
||||
if let Some(ref calendar_path) = event_data.selected_calendar {
|
||||
let _ = LocalStorage::set("last_used_calendar", calendar_path);
|
||||
|
||||
// Also sync to backend asynchronously
|
||||
let calendar_path_for_sync = calendar_path.clone();
|
||||
wasm_bindgen_futures::spawn_local(async move {
|
||||
let preferences_service = crate::services::preferences::PreferencesService::new();
|
||||
if let Err(e) = preferences_service.update_last_used_calendar(&calendar_path_for_sync).await {
|
||||
web_sys::console::warn_1(&format!("Failed to sync last used calendar to backend: {}", e).into());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
create_event_modal_open.set(false);
|
||||
|
||||
if let Some(_token) = (*auth_token).clone() {
|
||||
|
||||
Reference in New Issue
Block a user