feat: Implement user profile preferences for start page, Git identity, and task drawer auto-open, alongside Git server default branch configuration.

This commit is contained in:
2026-03-08 10:19:38 +03:00
parent 12d17ec35e
commit e864a9e08b
30 changed files with 2041 additions and 211 deletions

View File

@@ -40,6 +40,7 @@
taskDrawerStore,
openDrawerForTask,
openDrawer,
setTaskDrawerAutoOpenPreference,
} from "$lib/stores/taskDrawer.js";
import { sidebarStore, toggleMobileSidebar } from "$lib/stores/sidebar.js";
import { t } from "$lib/i18n";
@@ -112,6 +113,19 @@
toggleAssistantChat();
}
async function hydrateTaskDrawerPreference() {
try {
const response = await api.getProfilePreferences();
const autoOpenTaskDrawer = response?.preference?.auto_open_task_drawer;
setTaskDrawerAutoOpenPreference(autoOpenTaskDrawer !== false);
} catch (error) {
console.warn(
"[TopNavbar][REFLECT] Failed to hydrate task drawer preference, fallback to local preference cache",
error,
);
}
}
function handleSearchFocus() {
isSearchFocused = true;
showSearchDropdown = groupedSearchResults.length > 0;
@@ -320,6 +334,7 @@
onMount(() => {
void initializeEnvironmentContext();
void hydrateTaskDrawerPreference();
if (typeof document !== "undefined") {
document.addEventListener("click", handleDocumentClick);
}