Refactor metadata handling for improved maintainability and localization support

- Extracted server-only metadata generation logic into separate files, reducing inline logic in page components.
- Added `/* istanbul ignore file */` annotations for E2E-covered framework-level metadata.
- Standardized `generateMetadata` export patterns across auth, admin, and error pages for consistency.
- Enhanced maintainability and readability by centralizing metadata definitions for each route.
This commit is contained in:
Felipe Cardoso
2025-11-20 10:07:15 +01:00
parent a943f79ce7
commit 444d495f83
23 changed files with 138 additions and 113 deletions

View File

@@ -4,8 +4,6 @@
* Protected by AuthGuard in layout with requireAdmin=true
*/
/* istanbul ignore next - Next.js type import for metadata */
import type { Metadata } from 'next';
import { Link } from '@/lib/i18n/routing';
import { DashboardStats } from '@/components/admin';
import {
@@ -16,10 +14,8 @@ import {
} from '@/components/charts';
import { Users, Building2, Settings } from 'lucide-react';
/* istanbul ignore next - Next.js metadata, not executable code */
export const metadata: Metadata = {
title: 'Admin Dashboard',
};
// Re-export server-only metadata from separate, ignored file
export { metadata } from './metadata';
export default function AdminPage() {
return (