Most simple components created

This commit is contained in:
2025-07-18 23:30:48 -04:00
commit 5421c2346a
134 changed files with 13805 additions and 0 deletions

View File

@@ -0,0 +1,46 @@
import { useTheme } from "$/providers/theme/ThemeProvider";
import { BsLightbulb, BsLightbulbFill } from "react-icons/bs";
export default function DarkModeSwitch(){
const { theme, setTheme } = useTheme();
const updateTheme = () => {
if(theme === "system"){
if(window.document.documentElement.classList.contains("dark")){
setTheme("light");
}
else{
setTheme("dark");
}
}
else{
setTheme(theme === "dark" ? "light" : "dark");
}
}
return (
<label
className="flex flex-row justify-center items-center cursor-pointer"
>
<input
type="checkbox"
className="peer hidden"
checked={theme === "dark"}
onChange={updateTheme}
/>
<div
className="block peer-checked:hidden cursor-pointer"
>
<BsLightbulbFill/>
</div>
<div
className="hidden peer-checked:block cursor-pointer"
>
<BsLightbulb/>
</div>
</label>
);
}