diff --git a/public/city/city-hero.png b/public/city/city-hero.png deleted file mode 100644 index 3d61151..0000000 Binary files a/public/city/city-hero.png and /dev/null differ diff --git a/public/city/city-hero.webp b/public/city/city-hero.webp new file mode 100644 index 0000000..af21f65 Binary files /dev/null and b/public/city/city-hero.webp differ diff --git a/public/home-hero-scene.png b/public/home-hero-scene.png deleted file mode 100644 index 357f392..0000000 Binary files a/public/home-hero-scene.png and /dev/null differ diff --git a/public/home-hero-scene.webp b/public/home-hero-scene.webp new file mode 100644 index 0000000..e0adaea Binary files /dev/null and b/public/home-hero-scene.webp differ diff --git a/public/home-hero-train.png b/public/home-hero-train.png deleted file mode 100644 index e9e8380..0000000 Binary files a/public/home-hero-train.png and /dev/null differ diff --git a/public/home/about-card.png b/public/home/about-card.png deleted file mode 100644 index 38b13e6..0000000 Binary files a/public/home/about-card.png and /dev/null differ diff --git a/public/home/about-card.webp b/public/home/about-card.webp new file mode 100644 index 0000000..37d254c Binary files /dev/null and b/public/home/about-card.webp differ diff --git a/public/home/city-skyline.png b/public/home/city-skyline.png deleted file mode 100644 index 106fc92..0000000 Binary files a/public/home/city-skyline.png and /dev/null differ diff --git a/public/home/city-skyline.webp b/public/home/city-skyline.webp new file mode 100644 index 0000000..f879b91 Binary files /dev/null and b/public/home/city-skyline.webp differ diff --git a/public/home/collage-1.png b/public/home/collage-1.png deleted file mode 100644 index 87d1a3a..0000000 Binary files a/public/home/collage-1.png and /dev/null differ diff --git a/public/home/collage-1.webp b/public/home/collage-1.webp new file mode 100644 index 0000000..8dcea5e Binary files /dev/null and b/public/home/collage-1.webp differ diff --git a/public/home/collage-2.png b/public/home/collage-2.png deleted file mode 100644 index 9febaf8..0000000 Binary files a/public/home/collage-2.png and /dev/null differ diff --git a/public/home/collage-2.webp b/public/home/collage-2.webp new file mode 100644 index 0000000..c3b84af Binary files /dev/null and b/public/home/collage-2.webp differ diff --git a/public/home/collage-3.png b/public/home/collage-3.png deleted file mode 100644 index 7f88bc2..0000000 Binary files a/public/home/collage-3.png and /dev/null differ diff --git a/public/home/collage-3.webp b/public/home/collage-3.webp new file mode 100644 index 0000000..17f31f0 Binary files /dev/null and b/public/home/collage-3.webp differ diff --git a/public/home/collage-4.png b/public/home/collage-4.png deleted file mode 100644 index 3e40e7b..0000000 Binary files a/public/home/collage-4.png and /dev/null differ diff --git a/public/home/collage-4.webp b/public/home/collage-4.webp new file mode 100644 index 0000000..8a9205d Binary files /dev/null and b/public/home/collage-4.webp differ diff --git a/public/home/collage-5.png b/public/home/collage-5.png deleted file mode 100644 index 1fe9768..0000000 Binary files a/public/home/collage-5.png and /dev/null differ diff --git a/public/home/collage-5.webp b/public/home/collage-5.webp new file mode 100644 index 0000000..26f22bc Binary files /dev/null and b/public/home/collage-5.webp differ diff --git a/public/home/join-card.png b/public/home/join-card.png deleted file mode 100644 index 5f7277a..0000000 Binary files a/public/home/join-card.png and /dev/null differ diff --git a/public/home/rail-network.png b/public/home/rail-network.png deleted file mode 100644 index 18e337f..0000000 Binary files a/public/home/rail-network.png and /dev/null differ diff --git a/public/home/rail-network.webp b/public/home/rail-network.webp new file mode 100644 index 0000000..4c33cdb Binary files /dev/null and b/public/home/rail-network.webp differ diff --git a/public/icon/avatar/if-chan.png b/public/icon/avatar/if-chan.png deleted file mode 100644 index 775c304..0000000 Binary files a/public/icon/avatar/if-chan.png and /dev/null differ diff --git a/public/icon/avatar/if-chan.webp b/public/icon/avatar/if-chan.webp new file mode 100644 index 0000000..358b7b5 Binary files /dev/null and b/public/icon/avatar/if-chan.webp differ diff --git a/public/icon/avatar/yiranxiaoxiong.jpg b/public/icon/avatar/yiranxiaoxiong.jpg deleted file mode 100644 index 17ded2d..0000000 Binary files a/public/icon/avatar/yiranxiaoxiong.jpg and /dev/null differ diff --git a/public/icon/avatar/yiranxiaoxiong.webp b/public/icon/avatar/yiranxiaoxiong.webp new file mode 100644 index 0000000..318a969 Binary files /dev/null and b/public/icon/avatar/yiranxiaoxiong.webp differ diff --git a/public/links/friendly-links-hero.png b/public/links/friendly-links-hero.png deleted file mode 100644 index 67158bf..0000000 Binary files a/public/links/friendly-links-hero.png and /dev/null differ diff --git a/public/links/friendly-links-hero.webp b/public/links/friendly-links-hero.webp new file mode 100644 index 0000000..2b8c5c1 Binary files /dev/null and b/public/links/friendly-links-hero.webp differ diff --git a/public/members/members-hero.png b/public/members/members-hero.png deleted file mode 100644 index 950e3b6..0000000 Binary files a/public/members/members-hero.png and /dev/null differ diff --git a/public/members/members-hero.webp b/public/members/members-hero.webp new file mode 100644 index 0000000..db4a7cf Binary files /dev/null and b/public/members/members-hero.webp differ diff --git a/public/pages/about-hero.png b/public/pages/about-hero.png deleted file mode 100644 index 1e950a9..0000000 Binary files a/public/pages/about-hero.png and /dev/null differ diff --git a/public/pages/about-hero.webp b/public/pages/about-hero.webp new file mode 100644 index 0000000..1c893a5 Binary files /dev/null and b/public/pages/about-hero.webp differ diff --git a/public/pages/about-intro-overlay.png b/public/pages/about-intro-overlay.png deleted file mode 100644 index 8279e90..0000000 Binary files a/public/pages/about-intro-overlay.png and /dev/null differ diff --git a/public/pages/about-intro-overlay.webp b/public/pages/about-intro-overlay.webp new file mode 100644 index 0000000..341d744 Binary files /dev/null and b/public/pages/about-intro-overlay.webp differ diff --git a/public/pages/join-hero.png b/public/pages/join-hero.png deleted file mode 100644 index 5f7277a..0000000 Binary files a/public/pages/join-hero.png and /dev/null differ diff --git a/public/pages/join-hero.webp b/public/pages/join-hero.webp new file mode 100644 index 0000000..ec74473 Binary files /dev/null and b/public/pages/join-hero.webp differ diff --git a/public/pages/railway-hero.png b/public/pages/railway-hero.png deleted file mode 100644 index f8949e5..0000000 Binary files a/public/pages/railway-hero.png and /dev/null differ diff --git a/public/pages/railway-hero.webp b/public/pages/railway-hero.webp new file mode 100644 index 0000000..3360b47 Binary files /dev/null and b/public/pages/railway-hero.webp differ diff --git a/public/policy-hero.png b/public/policy-hero.png deleted file mode 100644 index 411eea8..0000000 Binary files a/public/policy-hero.png and /dev/null differ diff --git a/public/policy-hero.webp b/public/policy-hero.webp new file mode 100644 index 0000000..af40f41 Binary files /dev/null and b/public/policy-hero.webp differ diff --git a/src/app/[locale]/city/page.tsx b/src/app/[locale]/city/page.tsx index 2527831..eed6b52 100644 --- a/src/app/[locale]/city/page.tsx +++ b/src/app/[locale]/city/page.tsx @@ -11,5 +11,5 @@ export async function generateMetadata({ params }: { params: Promise<{ locale: s export default async function CityPage({ params }: { params: Promise<{ locale: string }> }) { const { locale } = await params; if (!isLocale(locale)) notFound(); - return ; + return ; } diff --git a/src/app/[locale]/join-us/page.tsx b/src/app/[locale]/join-us/page.tsx index afb08e2..7faec22 100644 --- a/src/app/[locale]/join-us/page.tsx +++ b/src/app/[locale]/join-us/page.tsx @@ -12,5 +12,5 @@ export default async function JoinUsPage({ params }: { params: Promise<{ locale: const { locale } = await params; if (!isLocale(locale)) notFound(); const messages = getLocaleMessages(locale); - return ; + return ; } diff --git a/src/app/[locale]/railway/page.tsx b/src/app/[locale]/railway/page.tsx index e9cce7e..f88cba9 100644 --- a/src/app/[locale]/railway/page.tsx +++ b/src/app/[locale]/railway/page.tsx @@ -11,5 +11,5 @@ export async function generateMetadata({ params }: { params: Promise<{ locale: s export default async function RailwayPage({ params }: { params: Promise<{ locale: string }> }) { const { locale } = await params; if (!isLocale(locale)) notFound(); - return ; + return ; } diff --git a/src/app/globals.css b/src/app/globals.css index 65d036c..5c47682 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -36,7 +36,7 @@ a { color: inherit; text-decoration: none; } .home-page { padding: 0 0 48px; } .home-hero, .home-stories, .home-news, .home-collage, .home-actions { width: min(1200px, calc(100% - 32px)); margin-right: auto; margin-left: auto; } .home-hero { position: relative; height: 560px; overflow: hidden; border-radius: 15px; isolation: isolate; color: #fff; background: #173c59; } -.hero-scene, .hero-shade { position: absolute; inset: 0; }.hero-scene { background: url("/home-hero-scene.png") center / cover no-repeat; } +.hero-scene, .hero-shade { position: absolute; inset: 0; }.hero-scene { background: url("/home-hero-scene.webp") center / cover no-repeat; } .hero-city { position: absolute; bottom: 0; width: 34%; height: 70%; opacity: .82; background: repeating-linear-gradient(90deg, #244052 0 17px, #98b1ba 18px 21px, #1b3347 22px 42px); }.hero-city-left { left: -7%; transform: skewY(8deg); }.hero-city-right { right: -6%; height: 61%; background: repeating-linear-gradient(90deg, #405d70 0 29px, #b3c1c4 30px 33px, #314c60 34px 58px); transform: skewY(-4deg); } .hero-overpass { position: absolute; right: 14%; bottom: 21%; width: 65%; height: 15%; border-top: 10px solid #d9dedb; border-bottom: 12px solid #6e8284; transform: skewY(-7deg); box-shadow: 0 14px 0 rgba(25,48,57,.35); } .hero-track { position: absolute; bottom: -18%; left: 17%; width: 70%; height: 55%; border-top: 10px solid #dee4e1; border-right: 10px solid #c5cecb; transform-origin: bottom left; }.hero-track-one { transform: skewX(-31deg) rotate(-5deg); }.hero-track-two { bottom: -25%; left: 36%; width: 62%; opacity: .75; transform: skewX(-31deg) rotate(-5deg); } @@ -47,8 +47,8 @@ a { color: inherit; text-decoration: none; } .home-stories { display: flex; flex-direction: column; gap: 100px; margin-top: 100px; } .home-story { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); min-height: 462px; overflow: hidden; border-radius: 10px; background: var(--home-story-surface); color: var(--ink); } .home-story-image { min-height: 462px; background: center / cover no-repeat; } -.home-story-image--railway { background-image: url("/home/rail-network.png"); } -.home-story-image--city { background-image: url("/home/city-skyline.png"); } +.home-story-image--railway { background-image: url("/home/rail-network.webp"); } +.home-story-image--city { background-image: url("/home/city-skyline.webp"); } .home-story-copy { display: flex; flex-direction: column; justify-content: center; padding: 48px 72px; } .home-story-copy h2 { margin: 0; font-size: 44px; font-weight: 700; line-height: 1.2; letter-spacing: -.04em; } .home-story-copy p { margin: 14px 0 0; font-size: 25px; line-height: 1.8; letter-spacing: -.04em; } @@ -69,11 +69,11 @@ a { color: inherit; text-decoration: none; } .news-card time { color: var(--muted); font-size: 16px; } .home-collage { position: relative; height: 648px; margin-top: 100px; } .home-collage-tile { position: absolute; border-radius: 13px; background-position: center; background-size: cover; background-repeat: no-repeat; } -.home-collage-wide { top: 0; left: 0; width: 41.4%; height: 359px; background-image: url("/home/collage-1.png"); } -.home-collage-medium { top: 0; left: 42.57%; width: 28.87%; height: 359px; background-image: url("/home/collage-2.png"); } -.home-collage-small { top: 376px; left: 27.28%; width: 44.3%; height: 272px; background-image: url("/home/collage-3.png"); } -.home-collage-bottom { top: 376px; left: 0; width: 25.83%; height: 272px; background-image: url("/home/collage-4.png"); } -.home-collage-tall { top: 0; right: 0; width: 27.1%; height: 648px; background-image: url("/home/collage-5.png"); } +.home-collage-wide { top: 0; left: 0; width: 41.4%; height: 359px; background-image: url("/home/collage-1.webp"); } +.home-collage-medium { top: 0; left: 42.57%; width: 28.87%; height: 359px; background-image: url("/home/collage-2.webp"); } +.home-collage-small { top: 376px; left: 27.28%; width: 44.3%; height: 272px; background-image: url("/home/collage-3.webp"); } +.home-collage-bottom { top: 376px; left: 0; width: 25.83%; height: 272px; background-image: url("/home/collage-4.webp"); } +.home-collage-tall { top: 0; right: 0; width: 27.1%; height: 648px; background-image: url("/home/collage-5.webp"); } .page-action-cards { display: grid; width: min(1200px, calc(100% - 32px)); grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 50px; margin-right: auto; margin-left: auto; padding-bottom: 121px; } .home-actions { margin-top: 100px; } .page-action-card { display: block; min-width: 0; color: var(--ink); } @@ -92,7 +92,7 @@ a { color: inherit; text-decoration: none; } .about-introduction-copy { display: flex; flex-direction: column; justify-content: center; padding: 64px 80px; background: #535360; color: #fff; } .about-introduction-copy p { align-self: flex-start; margin: 0 0 39px; padding: 4px 10px; background: #1267d8; color: #fff; font-size: 18px; font-weight: 700; line-height: 28px; } .about-introduction-copy h2 { margin: 0; font-size: 40px; font-weight: 700; line-height: 1.28; letter-spacing: -.04em; } -.about-introduction-image { min-height: 512px; background: url("/pages/about-intro-overlay.png") center / cover no-repeat; } +.about-introduction-image { min-height: 512px; background: url("/pages/about-intro-overlay.webp") center / cover no-repeat; } .about-action-cards { margin-top: 50px; } .news-page { padding: 30px 0 60px; } diff --git a/src/components/about/about-page.tsx b/src/components/about/about-page.tsx index 0510312..ef1b55b 100644 --- a/src/components/about/about-page.tsx +++ b/src/components/about/about-page.tsx @@ -18,7 +18,7 @@ export function AboutPage({ locale }: { locale: Locale }) { return ( <>
- +
@@ -33,8 +33,8 @@ export function AboutPage({ locale }: { locale: Locale }) { label={messages.footer.columns[1].title} className="about-action-cards" items={[ - { href: "/members", image: "/home/about-card.png", label: messages.footer.columns[1].links[1] }, - { href: "/join-us", image: "/home/join-card.png", label: messages.footer.columns[1].links[2] }, + { href: "/members", image: "/home/about-card.webp", label: messages.footer.columns[1].links[1] }, + { href: "/join-us", image: "/pages/join-hero.webp", label: messages.footer.columns[1].links[2] }, ]} />
diff --git a/src/components/home/home-page-content.tsx b/src/components/home/home-page-content.tsx index 86c3fcc..7055536 100644 --- a/src/components/home/home-page-content.tsx +++ b/src/components/home/home-page-content.tsx @@ -133,8 +133,8 @@ export function HomePageContent({ newsByLocale }: { newsByLocale: Record diff --git a/src/components/links/friendly-links-page.tsx b/src/components/links/friendly-links-page.tsx index c22cc61..9bb79c7 100644 --- a/src/components/links/friendly-links-page.tsx +++ b/src/components/links/friendly-links-page.tsx @@ -53,7 +53,7 @@ export function FriendlyLinksPage({ locale }: { locale: Locale }) { return ( <>
- +
{linkSections.map((section) => (
diff --git a/src/components/members/members-page.tsx b/src/components/members/members-page.tsx index a078d99..c0d7f4d 100644 --- a/src/components/members/members-page.tsx +++ b/src/components/members/members-page.tsx @@ -47,7 +47,7 @@ export function MembersPage({ locale }: { locale: Locale }) { return ( <>
- +
{memberData.sections.map((section) => (
diff --git a/src/components/policy/policy-page-content.tsx b/src/components/policy/policy-page-content.tsx index b667191..046c756 100644 --- a/src/components/policy/policy-page-content.tsx +++ b/src/components/policy/policy-page-content.tsx @@ -32,7 +32,7 @@ export function PolicyPageContent({ catalog }: { catalog: PolicyCatalog }) { return ( <>
- +
{isTranslated && (
diff --git a/src/data/members.json b/src/data/members.json index e715722..603bcea 100644 --- a/src/data/members.json +++ b/src/data/members.json @@ -24,7 +24,7 @@ { "name": "IF-Chan", "role": "服主&主要出资者", - "avatar": "/icon/avatar/if-chan.png", + "avatar": "/icon/avatar/if-chan.webp", "url": "https://if-chan.mika.vin/", "i18n": { "name": { @@ -58,7 +58,7 @@ { "name": "yiranxiaoxiong", "role": "资源包制作者", - "avatar": "/icon/avatar/yiranxiaoxiong.jpg", + "avatar": "/icon/avatar/yiranxiaoxiong.webp", "url": "https://space.bilibili.com/1754428275", "i18n": { "name": {