279 lines
11 KiB
TypeScript
279 lines
11 KiB
TypeScript
import type { Metadata } from "next";
|
|
import { Inter } from "next/font/google";
|
|
import "./globals.css";
|
|
import SignoutButton from "./components/signout-button";
|
|
|
|
const inter = Inter({ subsets: ["latin"] });
|
|
|
|
export const metadata: Metadata = {
|
|
title: "Create Next App",
|
|
description: "Generated by create next app",
|
|
};
|
|
|
|
export default function RootLayout({
|
|
children,
|
|
}: Readonly<{
|
|
children: React.ReactNode;
|
|
}>) {
|
|
return (
|
|
<html lang="zh_CN" data-theme="light">
|
|
<body className={inter.className}>
|
|
<header className="text-gray-600 body-font">
|
|
<div className="container mx-auto flex flex-wrap p-5 flex-col md:flex-row items-center">
|
|
<a
|
|
href="#"
|
|
className="flex title-font font-medium items-center text-gray-900 mb-4 md:mb-0"
|
|
>
|
|
<svg
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
fill="none"
|
|
stroke="currentColor"
|
|
stroke-linecap="round"
|
|
stroke-linejoin="round"
|
|
stroke-width="2"
|
|
className="w-10 h-10 text-white p-2 bg-indigo-500 rounded-full"
|
|
viewBox="0 0 24 24"
|
|
>
|
|
<path d="M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5"></path>
|
|
</svg>
|
|
<span className="ml-3 text-xl">音乐弹幕</span>
|
|
</a>
|
|
<nav className="md:ml-auto md:mr-auto flex flex-wrap items-center text-base justify-center">
|
|
<a href="#" className="mr-5 hover:text-gray-900">
|
|
First Link
|
|
</a>
|
|
<a href="#" className="mr-5 hover:text-gray-900">
|
|
Second Link
|
|
</a>
|
|
<a href="#" className="mr-5 hover:text-gray-900">
|
|
Third Link
|
|
</a>
|
|
<a href="#" className="mr-5 hover:text-gray-900">
|
|
Fourth Link
|
|
</a>
|
|
</nav>
|
|
<SignoutButton className="inline-flex items-center bg-gray-100 border-0 py-1 px-3 focus:outline-none hover:bg-gray-200 rounded text-base mt-4 md:mt-0" />
|
|
</div>
|
|
</header>
|
|
<main className="min-h-[50vh]">{children}</main>
|
|
<footer className="text-gray-600 body-font">
|
|
<div className="container px-5 py-24 mx-auto flex md:items-center lg:items-start md:flex-row md:flex-nowrap flex-wrap flex-col">
|
|
<div className="w-64 flex-shrink-0 md:mx-0 mx-auto text-center md:text-left">
|
|
<a
|
|
href="#"
|
|
className="flex title-font font-medium items-center md:justify-start justify-center text-gray-900"
|
|
>
|
|
<svg
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
fill="none"
|
|
stroke="currentColor"
|
|
stroke-linecap="round"
|
|
stroke-linejoin="round"
|
|
stroke-width="2"
|
|
className="w-10 h-10 text-white p-2 bg-indigo-500 rounded-full"
|
|
viewBox="0 0 24 24"
|
|
>
|
|
<path d="M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5"></path>
|
|
</svg>
|
|
<span className="ml-3 text-xl">Tailblocks</span>
|
|
</a>
|
|
<p className="mt-2 text-sm text-gray-500">
|
|
Air plant banjo lyft occupy retro adaptogen indego
|
|
</p>
|
|
</div>
|
|
<div className="flex-grow flex flex-wrap md:pl-20 -mb-10 md:mt-0 mt-10 md:text-left text-center">
|
|
<div className="lg:w-1/4 md:w-1/2 w-full px-4">
|
|
<h2 className="title-font font-medium text-gray-900 tracking-widest text-sm mb-3">
|
|
CATEGORIES
|
|
</h2>
|
|
<nav className="list-none mb-10">
|
|
<li>
|
|
<a href="#" className="text-gray-600 hover:text-gray-800">
|
|
First Link
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="#" className="text-gray-600 hover:text-gray-800">
|
|
Second Link
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="#" className="text-gray-600 hover:text-gray-800">
|
|
Third Link
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="#" className="text-gray-600 hover:text-gray-800">
|
|
Fourth Link
|
|
</a>
|
|
</li>
|
|
</nav>
|
|
</div>
|
|
<div className="lg:w-1/4 md:w-1/2 w-full px-4">
|
|
<h2 className="title-font font-medium text-gray-900 tracking-widest text-sm mb-3">
|
|
CATEGORIES
|
|
</h2>
|
|
<nav className="list-none mb-10">
|
|
<li>
|
|
<a href="#" className="text-gray-600 hover:text-gray-800">
|
|
First Link
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="#" className="text-gray-600 hover:text-gray-800">
|
|
Second Link
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="#" className="text-gray-600 hover:text-gray-800">
|
|
Third Link
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="#" className="text-gray-600 hover:text-gray-800">
|
|
Fourth Link
|
|
</a>
|
|
</li>
|
|
</nav>
|
|
</div>
|
|
<div className="lg:w-1/4 md:w-1/2 w-full px-4">
|
|
<h2 className="title-font font-medium text-gray-900 tracking-widest text-sm mb-3">
|
|
CATEGORIES
|
|
</h2>
|
|
<nav className="list-none mb-10">
|
|
<li>
|
|
<a href="#" className="text-gray-600 hover:text-gray-800">
|
|
First Link
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="#" className="text-gray-600 hover:text-gray-800">
|
|
Second Link
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="#" className="text-gray-600 hover:text-gray-800">
|
|
Third Link
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="#" className="text-gray-600 hover:text-gray-800">
|
|
Fourth Link
|
|
</a>
|
|
</li>
|
|
</nav>
|
|
</div>
|
|
<div className="lg:w-1/4 md:w-1/2 w-full px-4">
|
|
<h2 className="title-font font-medium text-gray-900 tracking-widest text-sm mb-3">
|
|
CATEGORIES
|
|
</h2>
|
|
<nav className="list-none mb-10">
|
|
<li>
|
|
<a href="#" className="text-gray-600 hover:text-gray-800">
|
|
First Link
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="#" className="text-gray-600 hover:text-gray-800">
|
|
Second Link
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="#" className="text-gray-600 hover:text-gray-800">
|
|
Third Link
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="#" className="text-gray-600 hover:text-gray-800">
|
|
Fourth Link
|
|
</a>
|
|
</li>
|
|
</nav>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div className="bg-gray-100">
|
|
<div className="container mx-auto py-4 px-5 flex flex-wrap flex-col sm:flex-row">
|
|
<p className="text-gray-500 text-sm text-center sm:text-left">
|
|
© 2024 音乐弹幕 —
|
|
<a
|
|
href="https://github.com/sealday"
|
|
rel="noopener noreferrer"
|
|
className="text-gray-600 ml-1"
|
|
target="_blank"
|
|
>
|
|
@sealday
|
|
</a>
|
|
</p>
|
|
<span className="inline-flex sm:ml-auto sm:mt-0 mt-2 justify-center sm:justify-start">
|
|
<a href="#" className="text-gray-500">
|
|
<svg
|
|
fill="currentColor"
|
|
stroke-linecap="round"
|
|
stroke-linejoin="round"
|
|
stroke-width="2"
|
|
className="w-5 h-5"
|
|
viewBox="0 0 24 24"
|
|
>
|
|
<path d="M18 2h-3a5 5 0 00-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 011-1h3z"></path>
|
|
</svg>
|
|
</a>
|
|
<a href="#" className="ml-3 text-gray-500">
|
|
<svg
|
|
fill="currentColor"
|
|
stroke-linecap="round"
|
|
stroke-linejoin="round"
|
|
stroke-width="2"
|
|
className="w-5 h-5"
|
|
viewBox="0 0 24 24"
|
|
>
|
|
<path d="M23 3a10.9 10.9 0 01-3.14 1.53 4.48 4.48 0 00-7.86 3v1A10.66 10.66 0 013 4s-4 9 5 13a11.64 11.64 0 01-7 2c9 5 20 0 20-11.5a4.5 4.5 0 00-.08-.83A7.72 7.72 0 0023 3z"></path>
|
|
</svg>
|
|
</a>
|
|
<a href="#" className="ml-3 text-gray-500">
|
|
<svg
|
|
fill="none"
|
|
stroke="currentColor"
|
|
stroke-linecap="round"
|
|
stroke-linejoin="round"
|
|
stroke-width="2"
|
|
className="w-5 h-5"
|
|
viewBox="0 0 24 24"
|
|
>
|
|
<rect
|
|
width="20"
|
|
height="20"
|
|
x="2"
|
|
y="2"
|
|
rx="5"
|
|
ry="5"
|
|
></rect>
|
|
<path d="M16 11.37A4 4 0 1112.63 8 4 4 0 0116 11.37zm1.5-4.87h.01"></path>
|
|
</svg>
|
|
</a>
|
|
<a href="#" className="ml-3 text-gray-500">
|
|
<svg
|
|
fill="currentColor"
|
|
stroke="currentColor"
|
|
stroke-linecap="round"
|
|
stroke-linejoin="round"
|
|
stroke-width="0"
|
|
className="w-5 h-5"
|
|
viewBox="0 0 24 24"
|
|
>
|
|
<path
|
|
stroke="none"
|
|
d="M16 8a6 6 0 016 6v7h-4v-7a2 2 0 00-2-2 2 2 0 00-2 2v7h-4v-7a6 6 0 016-6zM2 9h4v12H2z"
|
|
></path>
|
|
<circle cx="4" cy="4" r="2" stroke="none"></circle>
|
|
</svg>
|
|
</a>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
</body>
|
|
</html>
|
|
);
|
|
}
|