feat: enhance GeneralSettingsPage with tag management

- Added tag management functionality to the `GeneralSettingsPageClient`, including filtering, sorting, and CRUD operations for tags.
- Integrated a modal for creating and editing tags, improving user experience in managing task labels.
- Updated the `Header` component to replace the 'Tags' link with 'Manager'.
- Removed the deprecated `TagsPage` and `TagsPageClient` components to streamline the codebase.
- Adjusted data fetching in `page.tsx` to include initial tags alongside user preferences.
This commit is contained in:
Julien Froidefond
2025-09-19 13:34:15 +02:00
parent d6722e90d1
commit c4d8bacd97
5 changed files with 307 additions and 245 deletions

View File

@@ -1,4 +1,5 @@
import { userPreferencesService } from '@/services/user-preferences';
import { tagsService } from '@/services/tags';
import { GeneralSettingsPageClient } from '@/components/settings/GeneralSettingsPageClient';
// Force dynamic rendering for real-time data
@@ -6,7 +7,10 @@ export const dynamic = 'force-dynamic';
export default async function GeneralSettingsPage() {
// Fetch data server-side
const preferences = await userPreferencesService.getAllPreferences();
const [preferences, tags] = await Promise.all([
userPreferencesService.getAllPreferences(),
tagsService.getTags()
]);
return <GeneralSettingsPageClient initialPreferences={preferences} />;
return <GeneralSettingsPageClient initialPreferences={preferences} initialTags={tags} />;
}