Files
learn-languages/src/app/page.tsx
2025-10-27 18:20:34 +08:00

110 lines
3.1 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { Navbar } from "@/components/Navbar";
import Link from "next/link";
function TopArea() {
return (
<div className="bg-[#35786f] text-white w-full min-h-[75dvh] flex justify-center items-center">
<div className="mb-16 mx-16 md:mx-0 md:max-w-[60dvw]">
<h1 className="text-6xl md:text-9xl mb-8">Learn Languages</h1>
<p className="text-2xl md:text-5xl">
Here is a very useful website to help you learn almost every language
in the world, including constructed ones.
</p>
</div>
</div>
);
}
interface LinkAreaProps {
href: string;
name: string;
description: string;
color: string;
}
function LinkArea({ href, name, description, color }: LinkAreaProps) {
return (
<Link
href={href}
style={{ backgroundColor: color }}
className={`h-32 md:h-64 flex justify-center items-center`}
>
<div className="text-white m-8">
<h1 className="text-4xl">{name}</h1>
<p className="text-xl">{description}</p>
</div>
</Link>
);
}
function LinkGrid() {
return (
<div className="w-full grid grid-cols-1 grid-rows-6 md:grid-cols-3">
<LinkArea
href="/translator"
name="翻译器"
description="翻译到任何语言并标注国际音标IPA"
color="#a56068"
></LinkArea>
<LinkArea
href="/text-speaker"
name="朗读器"
description="识别并朗读文本,支持循环朗读、朗读速度调节"
color="#578aad"
></LinkArea>
{/* <LinkArea
href="/word-board"
name="词墙"
description="将单词固定到一片区域,高效便捷地记忆单词"
color="#e9b353"></LinkArea> */}
<LinkArea
href="/srt-player"
name="逐句视频播放器"
description="基于SRT字幕文件逐句播放视频以模仿母语者的发音"
color="#3c988d"
></LinkArea>
<LinkArea
href="/alphabet"
name="记忆字母表"
description="从字母表开始新语言的学习"
color="#dd7486"
></LinkArea>
<LinkArea
href="#"
name="更多功能"
description="开发中,敬请期待"
color="#cab48a"
></LinkArea>
</div>
);
}
function Fortune() {
return (
<div className="w-full flex justify-center font-serif items-center flex-col min-h-64 h-[25vdh]">
<p className="text-3xl">Stay hungry, stay foolish.</p>
<cite className="text-[#e9b353] text-xl"> Steve Jobs</cite>
</div>
);
}
function Explore() {
return (
<div className="bg-[#bbbbbb] w-full flex justify-center items-center flex-col h-52">
<span className="text-[100px] text-white"></span>
<div className="w-0 h-0 border-l-[40px] border-r-[40px] border-t-[30px] border-l-transparent border-r-transparent border-t-white"></div>
</div>
);
}
export default function Home() {
return (
<>
<Navbar></Navbar>
<TopArea></TopArea>
<Fortune></Fortune>
<Explore></Explore>
<LinkGrid></LinkGrid>
</>
);
}