️ feat: add main page layout with navigation and footer

feat: create random labels page

feat: implement login page with OpenID Connect support

feat: add Gravatar component for user avatars

feat: create Navbar component with navigation menu

chore: create Sidebar component placeholder

feat: implement login form with OIDC and email/password options

feat: add reusable button component

feat: create card component for structured content display

feat: implement input component for forms

feat: create label component for form labels

feat: add navigation menu component for site navigation

chore: add configuration file for site metadata

feat: implement device context for responsive design

feat: add utility functions for class name management

feat: define OIDC configuration model

feat: define base response model for API responses

feat: define user model for user data

feat: implement i18n for internationalization support

feat: add English and Chinese translations for login

chore: create index for locale resources

chore: add blog home view placeholder
This commit is contained in:
2025-07-24 09:22:50 +08:00
parent 19c8a9eac5
commit 9ca307f4d9
57 changed files with 2453 additions and 108 deletions

View File

@ -1,7 +1,32 @@
import type { NextConfig } from "next";
const nextConfig: NextConfig = {
/* config options here */
images: {
remotePatterns: [
{
protocol: 'https',
hostname: 'www.gravatar.com',
port: '',
pathname: '/avatar/**',
},
{
protocol: 'https',
hostname: 'cdn.liteyuki.org',
port: '',
pathname: '/**',
},
],
},
async rewrites() {
const backendUrl = (process.env.NEXT_PUBLIC_API_BASE_URL || "http://localhost:8888")
console.log("Using development API base URL:", backendUrl);
return [
{
source: '/api/:path*',
destination: backendUrl + '/api/:path*',
},
]
}
};
export default nextConfig;