feat: production deployment - full update with providers, admin, glossaries, pricing, tests
Major changes across backend, frontend, infrastructure: - Provider system with model selection (Google, DeepL, OpenAI, Ollama, Google Cloud) - Admin panel: user management, pricing, settings - Glossary system with CSV import/export - Subscription and tier quota management - Security hardening (rate limiting, API key auth, path traversal fixes) - Docker compose for dev, prod, and IONOS deployment - Alembic migrations for new tables - Frontend: dashboard, pricing page, landing page, i18n (en/fr) - Test suite and verification scripts Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
14
office-translator-landing-page/app/admin/layout.tsx
Normal file
14
office-translator-landing-page/app/admin/layout.tsx
Normal file
@@ -0,0 +1,14 @@
|
||||
import type { Metadata } from "next"
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "Admin - Office Translator",
|
||||
description: "System administration and user management dashboard.",
|
||||
}
|
||||
|
||||
export default function AdminLayout({
|
||||
children,
|
||||
}: {
|
||||
children: React.ReactNode
|
||||
}) {
|
||||
return <>{children}</>
|
||||
}
|
||||
36
office-translator-landing-page/app/admin/page.tsx
Normal file
36
office-translator-landing-page/app/admin/page.tsx
Normal file
@@ -0,0 +1,36 @@
|
||||
"use client"
|
||||
|
||||
import { AdminSidebar } from "@/components/admin-sidebar"
|
||||
import { AdminHeader } from "@/components/admin-header"
|
||||
import { SystemHealthCards } from "@/components/admin-system-health"
|
||||
import { ProviderStatus } from "@/components/admin-provider-status"
|
||||
import { UserManagementTable } from "@/components/admin-user-table"
|
||||
|
||||
export default function AdminPage() {
|
||||
return (
|
||||
<div className="flex h-screen bg-background">
|
||||
<AdminSidebar />
|
||||
|
||||
<div className="flex flex-1 flex-col overflow-hidden">
|
||||
<AdminHeader />
|
||||
|
||||
<main className="flex-1 overflow-y-auto">
|
||||
<div className="mx-auto max-w-6xl px-4 py-4 lg:px-6 lg:py-5">
|
||||
{/* System Health Row */}
|
||||
<SystemHealthCards />
|
||||
|
||||
{/* Provider Status Row */}
|
||||
<div className="mt-3">
|
||||
<ProviderStatus />
|
||||
</div>
|
||||
|
||||
{/* User Management Table */}
|
||||
<div className="mt-4">
|
||||
<UserManagementTable />
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user