Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 2 additions & 6 deletions apps/web/app/(org)/dashboard/_components/Navbar/Mobile.tsx
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
"use client";

import { LogoBadge } from "@cap/ui";
import { faMoon, faSun } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { useClickAway } from "@uidotdev/usehooks";
import { AnimatePresence, motion } from "framer-motion";
import { X } from "lucide-react";
import { ThemeToggleIcon } from "@/components/ThemeToggleIcon";
import Link from "next/link";
import { type MutableRefObject, useState } from "react";
import { useTheme } from "../../Contexts";
Expand Down Expand Up @@ -61,10 +60,7 @@ export const AdminMobileNav = () => {
}}
className="flex justify-center items-center rounded-full border transition-colors cursor-pointer lg:hidden bg-gray-4 hover:border-gray-6 hover:bg-gray-5 size-9 border-gray-5"
>
<FontAwesomeIcon
className="text-gray-12 size-3.5"
icon={theme === "dark" ? faSun : faMoon}
/>
<ThemeToggleIcon />
</div>
</div>
</div>
Expand Down
8 changes: 3 additions & 5 deletions apps/web/app/(org)/dashboard/_components/Navbar/Top.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,9 @@ import {
PopoverContent,
PopoverTrigger,
} from "@cap/ui";
import { faBell, faMoon, faSun } from "@fortawesome/free-solid-svg-icons";
import { faBell } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { ThemeToggleIcon } from "@/components/ThemeToggleIcon";
import { useMutation, useQueryClient } from "@tanstack/react-query";
import { useClickAway } from "@uidotdev/usehooks";
import clsx from "clsx";
Expand Down Expand Up @@ -170,10 +171,7 @@ const Top = () => {
}}
className="hidden justify-center items-center rounded-full transition-colors cursor-pointer bg-gray-3 lg:flex hover:bg-gray-5 size-9"
>
<FontAwesomeIcon
className="text-gray-12 size-3.5 view-transition-theme-icon"
icon={theme === "dark" ? faMoon : faSun}
/>
<ThemeToggleIcon />
</div>
<User />
</div>
Expand Down
17 changes: 17 additions & 0 deletions apps/web/components/ThemeToggleIcon.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
"use client";
import { Sun, Moon } from "lucide-react";
import { useTheme } from "@/app/(org)/dashboard/Contexts";

export const ThemeToggleIcon = () => {
const { theme } = useTheme();

return (
<span className="view-transition-theme-icon">
{theme === "dark" ? (
<Moon size={16} className="fill-white stroke-gray-3" />
) : (
<Sun size={16} className="stroke-gray-12" />
)}
</span>
);
};
Loading