theme, cookie

This commit is contained in:
Max Peintner
2023-05-24 14:12:38 +02:00
parent 3786f40f4e
commit 316e116104
2 changed files with 23 additions and 28 deletions

View File

@@ -1,11 +1,9 @@
"use client"; "use client";
import { Switch } from "@headlessui/react"; import React, { useEffect, useState } from "react";
import { MoonIcon, SunIcon } from "@heroicons/react/24/outline";
import { useTheme } from "next-themes"; import { useTheme } from "next-themes";
import { useEffect, useState } from "react";
export default function Theme() { function Theme() {
const { resolvedTheme, setTheme } = useTheme(); const { resolvedTheme, setTheme } = useTheme();
const [mounted, setMounted] = useState<boolean>(false); const [mounted, setMounted] = useState<boolean>(false);
@@ -21,28 +19,27 @@ export default function Theme() {
} }
return ( return (
<Switch <div
checked={isDark} className={`relative grid grid-cols-2 rounded-full border border-divider-light dark:border-divider-dark p-1`}
onChange={(checked) => setTheme(checked ? "dark" : "light")}
className={`${
isDark
? "!bg-gray-800 dark:bg-background-dark-400"
: "!bg-gray-200 dark:bg-background-dark-400"
}
relative inline-flex h-4 w-9 items-center rounded-full`}
> >
<div <button
aria-hidden="true" className={`h-8 w-8 rounded-full flex flex-row items-center justify-center hover:opacity-100 transition-all ${
className={`${ isDark ? "bg-black/10 dark:bg-white/10" : "opacity-60"
isDark ? "translate-x-5" : "translate-x-0" }`}
} flex flex-row items-center justify-center h-4 w-4 transform rounded-full bg-white transition-all shadow dark:bg-background-dark-500 ring-1 ring-[#00000020] dark:ring-[#ffffff20] ring-offset-1 ring-offset-[#ffffff50] dark:ring-offset-[#00000005]`} onClick={() => setTheme("dark")}
> >
{isDark ? ( <i className="flex-shrink-0 text-xl rounded-full las la-moon"></i>
<MoonIcon className="dark:text-amber-500 h-4 w-4" /> </button>
) : ( <button
<SunIcon className="text-amber-500 h-4 w-4" /> className={`h-8 w-8 rounded-full flex flex-row items-center justify-center hover:opacity-100 transition-all ${
)} !isDark ? "bg-black/10 dark:bg-white/10" : "opacity-60"
</div> }`}
</Switch> onClick={() => setTheme("light")}
>
<i className="flex-shrink-0 text-xl rounded-full las la-sun"></i>
</button>
</div>
); );
} }
export default Theme;

View File

@@ -81,9 +81,7 @@ export async function removeSessionFromCookie(
? JSON.parse(stringifiedCookie?.value) ? JSON.parse(stringifiedCookie?.value)
: [session]; : [session];
const filteredSessions = sessions.filter( const filteredSessions = sessions.filter((s) => s.id !== session.id);
(session) => session.id !== session.id
);
// @ts-ignore // @ts-ignore
return cookiesList.set({ return cookiesList.set({