Some checks failed
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-school (push) Successful in 28s
CI / test-go-edu-search (push) Successful in 30s
CI / test-python-klausur (push) Failing after 1m59s
CI / test-python-agent-core (push) Successful in 16s
CI / test-nodejs-website (push) Successful in 18s
Backend: add layout_metrics (avg_row_height_px, font_size_suggestion_px) to build-grid response for faithful grid reconstruction. Frontend: rewrite GridTable from HTML <table> to CSS Grid layout. Column widths are now proportional to the OCR-measured x_min/x_max positions. Row heights use the average content row height from the scan. Column and row resize via drag handles (Excel-like). Font: add Noto Sans (supports IPA characters) via next/font/google. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
34 lines
777 B
TypeScript
34 lines
777 B
TypeScript
import type { Metadata } from 'next'
|
|
import localFont from 'next/font/local'
|
|
import { Noto_Sans } from 'next/font/google'
|
|
import './globals.css'
|
|
|
|
const inter = localFont({
|
|
src: '../public/fonts/Inter-VariableFont.woff2',
|
|
variable: '--font-inter',
|
|
display: 'swap',
|
|
})
|
|
|
|
const notoSans = Noto_Sans({
|
|
subsets: ['latin', 'latin-ext'],
|
|
variable: '--font-noto-sans',
|
|
display: 'swap',
|
|
})
|
|
|
|
export const metadata: Metadata = {
|
|
title: 'BreakPilot Admin Lehrer KI',
|
|
description: 'Neues Admin-Frontend mit verbesserter Navigation und Rollen-System',
|
|
}
|
|
|
|
export default function RootLayout({
|
|
children,
|
|
}: {
|
|
children: React.ReactNode
|
|
}) {
|
|
return (
|
|
<html lang="de">
|
|
<body className={`${inter.className} ${notoSans.variable}`}>{children}</body>
|
|
</html>
|
|
)
|
|
}
|