style: 调整整体的头部、尾部,增加注册登录的插图

This commit is contained in:
sealday 2024-04-06 01:43:25 +08:00
parent 910bd2d4dc
commit a743e0be92
7 changed files with 75 additions and 79 deletions

20
app/components/logo.tsx Normal file
View File

@ -0,0 +1,20 @@
export default function Logo() {
return (
<svg
viewBox="0 0 1024 1024"
version="1.1"
fill="none"
stroke="currentColor"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
xmlns="http://www.w3.org/2000/svg"
className="w-10 h-10 text-white p-2 bg-indigo-500 rounded-full"
>
<path
d="M982.408306 18.466839c-3.577415-16.618263-33.607551-23.264652-66.743305-14.767718l-298.185137 76.444925a9874.756874 9874.756874 0 0 1-120.706853 29.970589l-112.613009 27.061934c-33.264009 7.988492-68.51598 23.718127-78.355018 34.945074-9.839038 11.231527-17.882497 48.402752-17.882496 82.605775V708.413324l-62.162747-1.873448s-74.333288-2.258215-131.283361 57.353162c-68.996939 72.221651-79.390224 174.290216-23.214266 227.937706 56.171378 53.674974 157.64447 38.627842 226.65057-33.59839 37.125419-38.866031 44.614631-69.867245 44.614631-69.867245 8.029717-33.250267 14.644043-60.449618 14.694428-60.449618 0.054967 0 0.096192-27.982626 0.096192-62.19023V409.417428c0-34.203023 27.098579-69.175581 60.220591-77.704579l440.292355-113.410025c33.122012-8.528998 60.220591 12.472858 60.220591 46.675882v204.187515c0 34.207604-27.982626 62.199391-62.18565 62.208553 0 0-63.110922 0.022903-115.136895 54.476571-65.140109 68.204502-74.956244 164.593176-21.93171 215.267884 53.056598 50.674709 148.895605 36.452077 214.044875-31.743264 35.132877-36.795619 41.394499-62.895636 41.394499-62.895636 7.979331-33.259429 14.547851-60.467941 14.593657-60.467941 0.050386 0 0.08245-27.982626 0.08245-62.185649V110.856685c0.004581-34.203023-2.922396-75.776164-6.504392-92.389846zM321.136111 730.271745l-1.749773-1.676484c-2.001704-1.731451-1.868867-2.070412 0.288575-0.746631 2.157443 1.323781 3.920957 2.972782 3.920957 3.673607 0 0.700825-0.723728 0.503861-1.612356-0.430572 0.004581-0.009161 0.004581-0.009161-0.847403-0.81992z"
fill="#fff"
></path>
</svg>
);
}

View File

@ -2,6 +2,7 @@ import type { Metadata } from "next";
import { Inter } from "next/font/google";
import "./globals.css";
import SignoutButton from "./components/signout-button";
import Logo from "./components/logo";
const inter = Inter({ subsets: ["latin"] });
@ -24,38 +25,27 @@ export default function RootLayout({
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>
<Logo />
<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
AI
</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>
<main>{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">
@ -63,129 +53,113 @@ export default function RootLayout({
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>
<Logo />
<span className="ml-3 text-xl"></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
AI
</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>

View File

@ -8,16 +8,13 @@ export default function Home() {
<div className="container mx-auto flex px-5 py-24 md:flex-row flex-col items-center">
<div className="lg:flex-grow md:w-1/2 lg:pr-24 md:pr-16 flex flex-col md:items-start md:text-left mb-16 md:mb-0 items-center text-center">
<h1 className="title-font sm:text-4xl text-3xl mb-4 font-medium text-gray-900">
Before they sold out
<br className="hidden lg:inline-block" />
readymade gluten
</h1>
<p className="mb-8 leading-relaxed">
Copper mug try-hard pitchfork pour-over freegan heirloom neutra air
plant cold-pressed tacos poke beard tote bag. Heirloom echo park
mlkshk tote bag selvage hot chicken authentic tumeric truffaut
hexagon try-hard chambray.
</p>
<div className="flex justify-center">
<Link
@ -27,7 +24,7 @@ export default function Home() {
</Link>
<button className="ml-4 inline-flex text-gray-700 bg-gray-100 border-0 py-2 px-6 focus:outline-none hover:bg-gray-200 rounded text-lg">
Button
</button>
</div>
</div>

View File

@ -1,8 +1,11 @@
"use client";
import { signin } from "@/app/lib/actions/auth";
import Image from "next/image";
import Link from "next/link";
import { useFormState, useFormStatus } from "react-dom";
import signinSvg from '@/app/signin/signin.svg';
export default function Page() {
const [errorMessage, dispatch] = useFormState(signin, undefined);
@ -11,13 +14,12 @@ export default function Page() {
<section className="text-gray-600 body-font">
<div className="container px-5 py-24 mx-auto flex flex-wrap items-center">
<div className="lg:w-3/5 md:w-1/2 md:pr-16 lg:pr-0 pr-0">
<h1 className="title-font font-medium text-3xl text-gray-900">
Slow-carb next level shoindcgoitch ethical authentic, poko scenester
</h1>
<p className="leading-relaxed mt-4">
Poke slow-carb mixtape knausgaard, typewriter street art gentrify
hammock starladder roathse. Craies vegan tousled etsy austin.
</p>
<Image
width={600}
className="object-cover object-center rounded"
alt="signin"
src={signinSvg}
/>
</div>
<form
action={dispatch}

1
app/signin/signin.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 52 KiB

View File

@ -3,6 +3,8 @@
import { signup } from "@/app/lib/actions/auth";
import Link from "next/link";
import { useFormState, useFormStatus } from "react-dom";
import signupSvg from "@/app/signup/signup.svg";
import Image from "next/image";
export default function Page() {
const [errorMessage, dispatch] = useFormState(signup, undefined);
@ -11,13 +13,12 @@ export default function Page() {
<section className="text-gray-600 body-font">
<div className="container px-5 py-24 mx-auto flex flex-wrap items-center">
<div className="lg:w-3/5 md:w-1/2 md:pr-16 lg:pr-0 pr-0">
<h1 className="title-font font-medium text-3xl text-gray-900">
Slow-carb next level shoindcgoitch ethical authentic, poko scenester
</h1>
<p className="leading-relaxed mt-4">
Poke slow-carb mixtape knausgaard, typewriter street art gentrify
hammock starladder roathse. Craies vegan tousled etsy austin.
</p>
<Image
width={600}
className="object-cover object-center rounded"
alt="signup"
src={signupSvg}
/>
</div>
<form
action={dispatch}
@ -72,7 +73,9 @@ export default function Page() {
/>
</div>
<SignupButton className="text-white bg-indigo-500 border-0 py-2 px-8 focus:outline-none hover:bg-indigo-600 rounded text-lg" />
<Link href="/signin" className="btn btn-link"></Link>
<Link href="/signin" className="btn btn-link">
</Link>
{errorMessage ? (
<p className="text-xs text-red-400 mt-3">{errorMessage}</p>
) : null}
@ -82,7 +85,6 @@ export default function Page() {
);
}
// export default function Page() {
// const [errorMessage, dispatch] = useFormState(signup, undefined);
@ -122,4 +124,3 @@ function SignupButton({ className }: { className: string | undefined }) {
</button>
);
}

1
app/signup/signup.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 73 KiB