feat: update settings page and theme context for user preferences
- Replaced `SettingsPageClient` with `SettingsIndexPageClient` to fetch and display user preferences on the settings page. - Integrated `userPreferencesService` to retrieve all preferences asynchronously, enhancing data handling. - Refactored theme management in `ThemeContext` to use `updateViewPreferences` for saving theme changes, improving error handling and user feedback. - Marked the task for creating dedicated config sub-pages as complete in TODO.md.
This commit is contained in:
12
src/app/settings/advanced/page.tsx
Normal file
12
src/app/settings/advanced/page.tsx
Normal file
@@ -0,0 +1,12 @@
|
||||
import { userPreferencesService } from '@/services/user-preferences';
|
||||
import { AdvancedSettingsPageClient } from '@/components/settings/AdvancedSettingsPageClient';
|
||||
|
||||
// Force dynamic rendering for real-time data
|
||||
export const dynamic = 'force-dynamic';
|
||||
|
||||
export default async function AdvancedSettingsPage() {
|
||||
// Fetch data server-side
|
||||
const preferences = await userPreferencesService.getAllPreferences();
|
||||
|
||||
return <AdvancedSettingsPageClient initialPreferences={preferences} />;
|
||||
}
|
||||
12
src/app/settings/general/page.tsx
Normal file
12
src/app/settings/general/page.tsx
Normal file
@@ -0,0 +1,12 @@
|
||||
import { userPreferencesService } from '@/services/user-preferences';
|
||||
import { GeneralSettingsPageClient } from '@/components/settings/GeneralSettingsPageClient';
|
||||
|
||||
// Force dynamic rendering for real-time data
|
||||
export const dynamic = 'force-dynamic';
|
||||
|
||||
export default async function GeneralSettingsPage() {
|
||||
// Fetch data server-side
|
||||
const preferences = await userPreferencesService.getAllPreferences();
|
||||
|
||||
return <GeneralSettingsPageClient initialPreferences={preferences} />;
|
||||
}
|
||||
18
src/app/settings/integrations/page.tsx
Normal file
18
src/app/settings/integrations/page.tsx
Normal file
@@ -0,0 +1,18 @@
|
||||
import { userPreferencesService } from '@/services/user-preferences';
|
||||
import { IntegrationsSettingsPageClient } from '@/components/settings/IntegrationsSettingsPageClient';
|
||||
|
||||
// Force dynamic rendering for real-time data
|
||||
export const dynamic = 'force-dynamic';
|
||||
|
||||
export default async function IntegrationsSettingsPage() {
|
||||
// Fetch data server-side
|
||||
const preferences = await userPreferencesService.getAllPreferences();
|
||||
const jiraConfig = await userPreferencesService.getJiraConfig();
|
||||
|
||||
return (
|
||||
<IntegrationsSettingsPageClient
|
||||
initialPreferences={preferences}
|
||||
initialJiraConfig={jiraConfig}
|
||||
/>
|
||||
);
|
||||
}
|
||||
@@ -1,8 +1,12 @@
|
||||
import { SettingsPageClient } from '@/components/settings/SettingsPageClient';
|
||||
import { userPreferencesService } from '@/services/user-preferences';
|
||||
import { SettingsIndexPageClient } from '@/components/settings/SettingsIndexPageClient';
|
||||
|
||||
// Force dynamic rendering (no static generation)
|
||||
export const dynamic = 'force-dynamic';
|
||||
|
||||
export default async function SettingsPage() {
|
||||
return <SettingsPageClient />;
|
||||
// Fetch basic data for the index page
|
||||
const preferences = await userPreferencesService.getAllPreferences();
|
||||
|
||||
return <SettingsIndexPageClient initialPreferences={preferences} />;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user