Skip to content

Commit c8a3ed1

Browse files
committed
www: v2.0.0
Change-Id: I307a1198cdbc7427c7cec14eb2200f5b16f75050 Signed-off-by: neroices <git@slce.moe>
1 parent 6d6e877 commit c8a3ed1

37 files changed

+877
-492
lines changed

next.config.js renamed to next.config.mjs

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ const nextConfig = {
66
reactStrictMode: true,
77
};
88

9-
module.exports = nextConfig;
9+
export default nextConfig;

public/data.json

+58
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
{
2+
"devices": [
3+
{
4+
"name": "Pixel 6a",
5+
"codename": "bluejay",
6+
"brand": "Google",
7+
"maintainer": {
8+
"name": "Toufu",
9+
"github": "toufune"
10+
},
11+
"downloadUrl": "https://sourceforge.net/projects/witaqua/files/15.1/bluejay/WitAqua-15.1-20250212-bluejay-v2.1-OFFICIAL.zip/download",
12+
"imgsUrl": "https://sourceforge.net/projects/witaqua/files/15.1/bluejay/images/",
13+
"archiveUrl": "https://sourceforge.net/projects/witaqua/files/15.1/bluejay",
14+
"installUrl": "https://wiki.witaqua.org/devices/bluejay",
15+
"latestAndroidVersion": "15.1",
16+
"datetime": 1739616725,
17+
"filename": "WitAqua-15.1-20250212-bluejay-v2.1-OFFICIAL.zip",
18+
"md5": "49ef72b19c9b2addea8db508ca9b00b7",
19+
"size": 1418544496
20+
},
21+
{
22+
"name": "Xiaomi Mi 8",
23+
"codename": "dipper",
24+
"brand": "Xiaomi",
25+
"maintainer": {
26+
"name": "Neroices",
27+
"github": "neroices"
28+
},
29+
"downloadUrl": "https://sourceforge.net/projects/witaqua/files/15/dipper/WitAqua-15.0-20241222-dipper-v2.0-OFFICIAL.zip/download",
30+
"imgsUrl": "https://sourceforge.net/projects/witaqua/files/15/dipper/images/",
31+
"archiveUrl": "https://sourceforge.net/projects/witaqua/files/15/dipper/",
32+
"installUrl": "https://wiki.witaqua.org/devices/dipper",
33+
"latestAndroidVersion": "15",
34+
"datetime": 1739616725,
35+
"filename": "WitAqua-15.0-20241222-dipper-v2.0-OFFICIAL.zip",
36+
"md5": "5660eb5e11e004c5c98910389874bcbe",
37+
"size": 1418544496
38+
},
39+
{
40+
"name": "Redmi Note 7",
41+
"codename": "lavender",
42+
"brand": "Xiaomi",
43+
"maintainer": {
44+
"name": "Neroices",
45+
"github": "neroices"
46+
},
47+
"downloadUrl": "https://sourceforge.net/projects/witaqua/files/15.1/lavender/WitAqua-15.1-20250223-lavender-v2.1-OFFICIAL.zip/download",
48+
"imgsUrl": "https://sourceforge.net/projects/witaqua/files/15.1/lavender/images/",
49+
"archiveUrl": "https://sourceforge.net/projects/witaqua/files/15.1/lavender/",
50+
"installUrl": "https://wiki.witaqua.org/devices/lavender",
51+
"latestAndroidVersion": "15.1",
52+
"datetime": 1740298709,
53+
"filename": "WitAqua-15.1-20250223-lavender-v2.1-OFFICIAL.zip",
54+
"md5": "57475669351b14c5129c94da7f498e3b",
55+
"size": 1171064849
56+
}
57+
]
58+
}

public/logo.png

-75.1 KB
Binary file not shown.

public/logo.svg

+52
Loading

public/screenshot-1.png

-86.4 KB
Loading

public/screenshot-2.png

600 KB
Loading

public/screenshot-3.png

-453 KB
Loading

public/screenshot-4.png

-70.6 KB
Loading

public/screenshot-5.png

-10.4 KB
Loading

public/screenshot-6.png

567 KB
Loading

public/screenshot-7.png

53.1 KB
Loading

src/app/about/page.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import AboutPage from "../../components/about-page";
1+
import AboutPage from "@/components/about";
22
import type { Metadata } from "next";
33

44
export const metadata: Metadata = {

src/app/devices/[codename]/page.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import DevicePage from "../../../components/device-page";
1+
import DevicePage from "@/components/codename";
22
import type { Metadata } from "next";
33

44
interface Props {

src/app/devices/page.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import DevicesPage from "../../components/devices-page";
1+
import DevicesPage from "@/components/devices";
22
import type { Metadata } from "next";
33

44
export const metadata: Metadata = {

src/app/ja/about/page.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import AboutPage from "../../../components/about-page";
1+
import AboutPage from "@/components/about";
22
import type { Metadata } from "next";
33

44
export const metadata: Metadata = {

src/app/ja/devices/[codename]/page.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import DevicePage from "../../../../components/device-page";
1+
import DevicePage from "@/components/codename";
22
import type { Metadata } from "next";
33

44
interface Props {

src/app/ja/devices/page.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import DevicesPage from "../../../components/devices-page";
1+
import DevicesPage from "@/components/devices";
22
import type { Metadata } from "next";
33

44
export const metadata: Metadata = {

src/app/ja/page.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import HomePage from "../../components/homepage";
1+
import HomePage from "@/components/homepage";
22

33
export default function Home() {
44
return <HomePage />;

src/app/layout.tsx

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
import { Inter } from "next/font/google";
1+
import { Geist } from "next/font/google";
22
import { ThemeProvider } from "./providers";
3-
import { SiteHeader } from "../components/site-header";
4-
import { SiteFooter } from "../components/site-footer";
3+
import { SiteHeader } from "@/components/header";
4+
import { SiteFooter } from "@/components/footer";
55
import type { Metadata } from "next";
66
import type React from "react";
77
import { LanguageProvider } from "../contexts/LanguageContext";
88

99
import "./globals.css";
1010

11-
const inter = Inter({ subsets: ["latin"] });
11+
const geist = Geist({ subsets: ["latin"] });
1212

1313
export const metadata: Metadata = {
1414
title: {
@@ -31,7 +31,7 @@ export default function RootLayout({
3131
<html lang={lang} suppressHydrationWarning>
3232
<link rel="icon" href="/favicon.ico" sizes="any" />
3333
<body
34-
className={`${inter.className} min-h-screen bg-background antialiased`}
34+
className={`${geist.className} min-h-screen bg-[#eff1f5] dark:bg-[#171717] antialiased`}
3535
>
3636
<LanguageProvider initialLang={lang}>
3737
<ThemeProvider

src/components/about-page.tsx renamed to src/components/about.tsx

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
"use client";
22

33
import { motion } from "framer-motion";
4-
import { TeamMember } from "./team-member";
5-
import { useLanguage } from "../contexts/LanguageContext";
4+
import { TeamMember } from "@/components/team";
5+
import { useLanguage } from "@/contexts/LanguageContext";
66

77
const teamMembers = [
88
{
@@ -90,7 +90,7 @@ export default function AboutPage({ lang }: AboutPageProps) {
9090

9191
return (
9292
<motion.div
93-
className="container py-6 px-4 sm:px-6 lg:px-8 mx-auto"
93+
className="w-[93%] lg:w-[65%] py-28 container px-4 sm:px-6 lg:px-8 mx-auto"
9494
initial="initial"
9595
animate="animate"
9696
variants={{

src/components/device-page.tsx renamed to src/components/codename.tsx

+19-12
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import {
1212
DialogTrigger,
1313
} from "@/components/ui/dialog";
1414
import type { Device } from "@/types/device";
15-
import { useLanguage } from "../contexts/LanguageContext";
15+
import { useLanguage } from "@/contexts/LanguageContext";
1616

1717
const translations = {
1818
en: {
@@ -140,8 +140,8 @@ export default function DevicePage({ codename }: DevicePageProps) {
140140
return <div className="text-center py-8">{t.deviceNotFound}</div>;
141141

142142
return (
143-
<div className="container py-6 px-4 sm:px-6 lg:px-8 mx-auto">
144-
<div className="bg-cyan-50 dark:bg-gray-900 p-8 rounded-lg shadow-md">
143+
<div className="lg:w-[68%] md:w-[70%] py-28 px-4 sm:px-6 lg:px-8 mx-auto">
144+
<div className="bg-white dark:bg-[#212121] p-8 rounded-lg shadow-md">
145145
<div className="flex flex-col md:flex-row justify-between items-start md:items-center mb-6">
146146
<div>
147147
<h1 className="text-4xl font-bold mb-2 flex items-center">
@@ -158,16 +158,16 @@ export default function DevicePage({ codename }: DevicePageProps) {
158158
<div className="mb-8">
159159
<h2 className="text-2xl font-semibold mb-2">{t.maintainer}</h2>
160160
<p className="text-lg flex items-center">
161-
<span className="bg-cyan-200 font-medium text-black py-1 px-3 rounded-full">
162-
{device.maintainer.name}
161+
<span className="font-medium py-1">
162+
{device.maintainer.name} -
163163
{device.maintainer.github && (
164164
<a
165165
href={`https://github.com/${device.maintainer.github}`}
166166
target="_blank"
167167
rel="noopener noreferrer"
168-
className="ml-2 text-primary hover:text-primary-focus"
168+
className="ml-2"
169169
>
170-
<LuGithub className="inline h-5 w-5 text-blue-800" />
170+
<LuGithub className="inline h-5 w-5 text-[#22d3ee]" />
171171
</a>
172172
)}
173173
</span>
@@ -214,7 +214,11 @@ export default function DevicePage({ codename }: DevicePageProps) {
214214
<div className="flex flex-wrap gap-4">
215215
<Dialog open={open} onOpenChange={setOpen}>
216216
<DialogTrigger asChild>
217-
<Button variant="outline" onClick={handleFetchChangelog}>
217+
<Button
218+
variant="ghost"
219+
className="bg-[#e8eced] dark:bg-[#404040] hover:bg-[#cdd2d4] hover:dark:bg-[#303030] transition-colors duration-300"
220+
onClick={handleFetchChangelog}
221+
>
218222
{t.changelog}
219223
</Button>
220224
</DialogTrigger>
@@ -233,7 +237,7 @@ export default function DevicePage({ codename }: DevicePageProps) {
233237
</Dialog>
234238
<Button
235239
onClick={() => handleButtonClick(device.downloadUrl)}
236-
className="bg-cyan-400 hover:bg-cyan-600 flex items-center max-w-[300px] sm:max-w-[200px] lg:max-w-[250px] overflow-hidden"
240+
className="bg-[#00c8ff] hover:bg-[#00aeff] transition-colors duration-300 flex items-center max-w-[300px] sm:max-w-[200px] lg:max-w-[250px] overflow-hidden"
237241
>
238242
<div className="overflow-hidden whitespace-nowrap flex-1 min-w-0 relative">
239243
<span className="inline-block animate-marquee">
@@ -243,22 +247,25 @@ export default function DevicePage({ codename }: DevicePageProps) {
243247
<LuDownload className="flex-shrink-0 ml-2 h-4 w-4" />
244248
</Button>
245249
<Button
246-
variant="outline"
250+
variant="ghost"
251+
className="bg-[#e8eced] dark:bg-[#404040] hover:bg-[#cdd2d4] hover:dark:bg-[#303030] transition-colors duration-300"
247252
onClick={() => handleButtonClick(device.archiveUrl)}
248253
>
249254
<LuDownload className="mr-2 h-4 w-4" />
250255
{t.archive}
251256
</Button>
252257
<Button
253-
variant="outline"
258+
variant="ghost"
259+
className="bg-[#e8eced] dark:bg-[#404040] hover:bg-[#cdd2d4] hover:dark:bg-[#303030] transition-colors duration-300"
254260
onClick={() => handleButtonClick(device.imgsUrl)}
255261
>
256262
<LuDownload className="mr-2 h-4 w-4" />
257263
{t.images}
258264
</Button>
259265
{device.installUrl && (
260266
<Button
261-
variant="outline"
267+
variant="ghost"
268+
className="bg-[#e8eced] dark:bg-[#404040] hover:bg-[#cdd2d4] hover:dark:bg-[#303030] transition-colors duration-300"
262269
onClick={() => handleButtonClick(device.installUrl)}
263270
>
264271
{t.installInstructions}

src/components/devices-page.tsx renamed to src/components/devices.tsx

+3-3
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import {
1111
AccordionTrigger,
1212
} from "@/components/ui/accordion";
1313
import type { Device } from "@/types/device";
14-
import { useLanguage } from "../contexts/LanguageContext";
14+
import { useLanguage } from "@/contexts/LanguageContext";
1515
import { useRouter } from "next/navigation";
1616
import type React from "react";
1717

@@ -113,7 +113,7 @@ export default function DevicesPage({ lang }: DevicesPageProps) {
113113
);
114114

115115
return (
116-
<div className="container py-6 px-4 sm:px-6 lg:px-8 mx-auto">
116+
<div className="lg:w-[65%] py-28 px-4 sm:px-6 lg:px-8 mx-auto">
117117
<div className="flex flex-col gap-6">
118118
<div className="relative flex items-center">
119119
<LuSearch className="absolute left-2 top-2.5 h-4 w-4 text-muted-foreground" />
@@ -197,7 +197,7 @@ function DeviceListItem({ device, lang }: DeviceListItemProps) {
197197
className={`flex flex-col sm:flex-row justify-between w-full p-4 rounded-lg ${
198198
device.deprecated
199199
? "bg-yellow-100 dark:bg-yellow-900"
200-
: "bg-accent hover:bg-gray-200 dark:hover:bg-gray-900 transition-colors duration-500"
200+
: "bg-white dark:bg-[#282828] hover:bg-[#f0f7ff] dark:hover:bg-[#1c1c1c] transition-colors duration-500"
201201
}`}
202202
>
203203
<div className="flex flex-col">

0 commit comments

Comments
 (0)