diff --git a/package-lock.json b/package-lock.json
index 463c721..8be3821 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -15,11 +15,11 @@
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"framer-motion": "^11.15.0",
- "lucide-react": "^0.468.0",
"next": "15.1.1",
"next-themes": "^0.4.4",
"react": "^19.0.0",
"react-dom": "^19.0.0",
+ "react-icons": "^5.4.0",
"tailwind-merge": "^2.5.5",
"tailwindcss-animate": "^1.0.7"
},
@@ -4509,15 +4509,6 @@
"integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
"license": "ISC"
},
- "node_modules/lucide-react": {
- "version": "0.468.0",
- "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.468.0.tgz",
- "integrity": "sha512-6koYRhnM2N0GGZIdXzSeiNwguv1gt/FAjZOiPl76roBi3xKEXa4WmfpxgQwTTL4KipXjefrnf3oV4IsYhi4JFA==",
- "license": "ISC",
- "peerDependencies": {
- "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc"
- }
- },
"node_modules/math-intrinsics": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.0.0.tgz",
@@ -5237,6 +5228,15 @@
"react": "^19.0.0"
}
},
+ "node_modules/react-icons": {
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-5.4.0.tgz",
+ "integrity": "sha512-7eltJxgVt7X64oHh6wSWNwwbKTCtMfK35hcjvJS0yxEAhPM8oUKdS3+kqaW1vicIltw+kR2unHaa12S9pPALoQ==",
+ "license": "MIT",
+ "peerDependencies": {
+ "react": "*"
+ }
+ },
"node_modules/react-is": {
"version": "16.13.1",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
diff --git a/package.json b/package.json
index 113e1fc..65b5897 100644
--- a/package.json
+++ b/package.json
@@ -16,11 +16,11 @@
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"framer-motion": "^11.15.0",
- "lucide-react": "^0.468.0",
"next": "15.1.1",
"next-themes": "^0.4.4",
"react": "^19.0.0",
"react-dom": "^19.0.0",
+ "react-icons": "^5.4.0",
"tailwind-merge": "^2.5.5",
"tailwindcss-animate": "^1.0.7"
},
diff --git a/src/components/devices-page.tsx b/src/components/devices-page.tsx
index 0a76557..a4aafa7 100644
--- a/src/components/devices-page.tsx
+++ b/src/components/devices-page.tsx
@@ -1,7 +1,8 @@
"use client";
import { useState, useEffect } from "react";
-import { Download, Github, Search, AlertTriangle } from "lucide-react";
+import { LuDownload, LuGithub, LuSearch } from "react-icons/lu";
+import { TbAlertTriangle } from "react-icons/tb";
import { Input } from "@/components/ui/input";
import { Button } from "@/components/ui/button";
import {
@@ -79,7 +80,7 @@ export default function DevicesPage() {
-
+
{device.name}
{device.deprecated && (
-
+
)}
{device.codename}
@@ -177,7 +178,7 @@ function DeviceItem({ device }: { device: Device }) {
rel="noopener noreferrer"
className="text-primary hover:text-primary-focus"
>
-
+
)}
@@ -206,7 +207,7 @@ function DeviceItem({ device }: { device: Device }) {
size="sm"
onClick={() => window.open(device.downloadUrl, "_blank")}
>
-
+
Latest
@@ -223,7 +224,7 @@ function DeviceItem({ device }: { device: Device }) {
size="sm"
onClick={() => window.open(`${device.imgsUrl}`, "_blank")}
>
-
+
Images
diff --git a/src/components/homepage.tsx b/src/components/homepage.tsx
index 6f73760..4acba28 100644
--- a/src/components/homepage.tsx
+++ b/src/components/homepage.tsx
@@ -4,11 +4,11 @@ import Image from "next/image";
import Link from "next/link";
import { motion } from "framer-motion";
import {
- ArrowRight,
- PaintbrushVertical,
- CircleFadingArrowUp,
- Smartphone,
-} from "lucide-react";
+ LuArrowRight,
+ LuPaintbrushVertical,
+ LuCircleFadingArrowUp,
+ LuSmartphone,
+} from "react-icons/lu";
import { Button } from "@/components/ui/button";
const MotionImage = motion.create(Image);
@@ -21,19 +21,19 @@ const fadeIn = {
const features = [
{
- icon: PaintbrushVertical,
+ icon: LuPaintbrushVertical,
title: "Customizable Features",
description:
"Add some extra functionality with a few thoughtful, carefully selected features that enhance usability and personalization without compromising system performance.",
},
{
- icon: CircleFadingArrowUp,
+ icon: LuCircleFadingArrowUp,
title: "Frequent Stable Updates",
description:
"These updates are carefully tested and designed to keep your system in a stable state while ensuring you always have the latest security patches and improvements.",
},
{
- icon: Smartphone,
+ icon: LuSmartphone,
title: "Stock Android Experience",
description:
"Enjoy a clean, bloat-free interface that stays true to the pure Android design and functionality.",
@@ -147,7 +147,7 @@ export default function Home() {
diff --git a/src/components/site-footer.tsx b/src/components/site-footer.tsx
index ffb48af..6d924a0 100644
--- a/src/components/site-footer.tsx
+++ b/src/components/site-footer.tsx
@@ -1,5 +1,5 @@
import Link from "next/link";
-import { Twitter } from "lucide-react";
+import { LuTwitter } from "react-icons/lu";
export function SiteFooter() {
return (
@@ -22,7 +22,7 @@ export function SiteFooter() {
-
+
X
diff --git a/src/components/site-header.tsx b/src/components/site-header.tsx
index f1b5cc7..c9838c3 100644
--- a/src/components/site-header.tsx
+++ b/src/components/site-header.tsx
@@ -1,5 +1,5 @@
import Link from "next/link";
-import { Github } from "lucide-react";
+import { LuGithub } from "react-icons/lu";
import Image from "next/image";
import { Button } from "@/components/ui/button";
import { ThemeToggle } from "@/components/theme-toggle";
@@ -47,7 +47,7 @@ export function SiteHeader() {
size="icon"
className="hidden sm:inline-flex"
>
-
+
diff --git a/src/components/team-member.tsx b/src/components/team-member.tsx
index 850e92e..5827692 100644
--- a/src/components/team-member.tsx
+++ b/src/components/team-member.tsx
@@ -1,5 +1,5 @@
import Image from 'next/image'
-import { Github } from 'lucide-react'
+import { LuGithub } from 'react-icons/lu'
import { Button } from '@/components/ui/button'
interface TeamMemberProps {
@@ -24,7 +24,7 @@ export function TeamMember({ name, role, image, github }: TeamMemberProps) {
diff --git a/src/components/theme-toggle.tsx b/src/components/theme-toggle.tsx
index 2508ffd..222820f 100644
--- a/src/components/theme-toggle.tsx
+++ b/src/components/theme-toggle.tsx
@@ -1,7 +1,7 @@
"use client"
import * as React from "react"
-import { Moon, Sun } from 'lucide-react'
+import { LuMoon, LuSun } from 'react-icons/lu'
import { useTheme } from "next-themes"
import { Button } from "@/components/ui/button"
@@ -19,8 +19,8 @@ export function ThemeToggle() {
diff --git a/src/components/ui/accordion.tsx b/src/components/ui/accordion.tsx
index 2f55a32..863e14b 100644
--- a/src/components/ui/accordion.tsx
+++ b/src/components/ui/accordion.tsx
@@ -2,7 +2,7 @@
import * as React from "react"
import * as AccordionPrimitive from "@radix-ui/react-accordion"
-import { ChevronDown } from "lucide-react"
+import { LuChevronDown } from "react-icons/lu"
import { cn } from "@/lib/utils"
@@ -34,7 +34,7 @@ const AccordionTrigger = React.forwardRef<
{...props}
>
{children}
-
+
))
diff --git a/src/components/ui/dialog.tsx b/src/components/ui/dialog.tsx
index 1647513..322a3d5 100644
--- a/src/components/ui/dialog.tsx
+++ b/src/components/ui/dialog.tsx
@@ -2,7 +2,7 @@
import * as React from "react"
import * as DialogPrimitive from "@radix-ui/react-dialog"
-import { X } from "lucide-react"
+import { LuX } from "react-icons/lu"
import { cn } from "@/lib/utils"
@@ -45,7 +45,7 @@ const DialogContent = React.forwardRef<
>
{children}
-
+
Close
diff --git a/src/components/ui/dropdown-menu.tsx b/src/components/ui/dropdown-menu.tsx
index 082639f..ed21d1b 100644
--- a/src/components/ui/dropdown-menu.tsx
+++ b/src/components/ui/dropdown-menu.tsx
@@ -2,7 +2,7 @@
import * as React from "react"
import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu"
-import { Check, ChevronRight, Circle } from "lucide-react"
+import { LuCheck, LuChevronRight, LuCircle } from "react-icons/lu"
import { cn } from "@/lib/utils"
@@ -34,7 +34,7 @@ const DropdownMenuSubTrigger = React.forwardRef<
{...props}
>
{children}
-
+
))
DropdownMenuSubTrigger.displayName =
@@ -108,7 +108,7 @@ const DropdownMenuCheckboxItem = React.forwardRef<
>
-
+
{children}
@@ -131,7 +131,7 @@ const DropdownMenuRadioItem = React.forwardRef<
>
-
+
{children}