refactor: remove "more" menu in menubar

This commit is contained in:
trafficlunar 2025-02-08 14:26:51 +00:00
parent 554322f5af
commit 9c94c35464
4 changed files with 22 additions and 28 deletions

View file

@ -2,7 +2,11 @@ import { useContext } from "react";
import { ThemeContext } from "@/context/Theme"; import { ThemeContext } from "@/context/Theme";
import { MoonIcon, SunIcon, SunMoonIcon } from "lucide-react"; import { MoonIcon, SunIcon, SunMoonIcon } from "lucide-react";
function ThemeIcon() { interface Props {
inApp?: boolean;
}
function ThemeIcon({ inApp }: Props) {
const { theme, setTheme } = useContext(ThemeContext); const { theme, setTheme } = useContext(ThemeContext);
const onClick = () => { const onClick = () => {
@ -11,18 +15,20 @@ function ThemeIcon() {
}; };
const getIcon = () => { const getIcon = () => {
const size = inApp ? 24 : 30;
switch (theme) { switch (theme) {
case "light": case "light":
return <SunIcon size={30} />; return <SunIcon size={size} />;
case "dark": case "dark":
return <MoonIcon size={30} />; return <MoonIcon size={size} />;
case "system": case "system":
return <SunMoonIcon size={30} />; return <SunMoonIcon size={size} />;
} }
}; };
return ( return (
<button onClick={onClick} title={theme} className="text-white"> <button onClick={onClick} title={theme} className={`text-white ${inApp ? "text-black" : ""}`}>
{getIcon()} {getIcon()}
</button> </button>
); );

View file

@ -1,15 +0,0 @@
import { MenubarContent, MenubarMenu, MenubarTrigger } from "@/components/ui/menubar";
import ThemeChanger from "./ThemeChanger";
function MoreMenu() {
return (
<MenubarMenu>
<MenubarTrigger>More</MenubarTrigger>
<MenubarContent>
<ThemeChanger />
</MenubarContent>
</MenubarMenu>
);
}
export default MoreMenu;

View file

@ -10,7 +10,8 @@ import FileMenu from "./FileMenu";
import EditMenu from "./EditMenu"; import EditMenu from "./EditMenu";
import SelectMenu from "./SelectMenu"; import SelectMenu from "./SelectMenu";
import ViewMenu from "./ViewMenu"; import ViewMenu from "./ViewMenu";
import MoreMenu from "./MoreMenu";
import ThemeIcon from "@/components/ThemeIcon";
import BlockmaticIcon from "@/assets/blockmatic-icon-colored.svg?react"; import BlockmaticIcon from "@/assets/blockmatic-icon-colored.svg?react";
import BlockmaticText from "@/assets/blockmatic-text-colored.svg?react"; import BlockmaticText from "@/assets/blockmatic-text-colored.svg?react";
@ -31,11 +32,13 @@ function Menubar() {
<EditMenu /> <EditMenu />
<SelectMenu /> <SelectMenu />
<ViewMenu /> <ViewMenu />
<MoreMenu />
<a href="https://github.com/trafficlunar/blockmatic" className="w-6 absolute right-2"> <div className="absolute right-3 flex items-center gap-1">
<ThemeIcon inApp={true} />
<a href="https://github.com/trafficlunar/blockmatic" className="w-5">
<GithubIcon fill={isDark ? "white" : "black"} /> <GithubIcon fill={isDark ? "white" : "black"} />
</a> </a>
</div>
</UIMenubar> </UIMenubar>
</DialogProvider> </DialogProvider>
); );

View file

@ -7,7 +7,7 @@ import { ThemeContext } from "@/context/Theme";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { Separator } from "@/components/ui/separator"; import { Separator } from "@/components/ui/separator";
import ThemeIcon from "@/components/home/ThemeIcon"; import ThemeIcon from "@/components/ThemeIcon";
import ImageComparison from "@/components/home/ImageComparison"; import ImageComparison from "@/components/home/ImageComparison";
import BlockmaticLogo from "@/assets/blockmatic.svg?react"; import BlockmaticLogo from "@/assets/blockmatic.svg?react";
@ -22,12 +22,12 @@ function IndexPage() {
<header className="w-full flex justify-evenly p-8 z-10"> <header className="w-full flex justify-evenly p-8 z-10">
<BlockmaticLogo className="h-16 w-max" fill={"white"} /> <BlockmaticLogo className="h-16 w-max" fill={"white"} />
<div className="flex items-center gap-2"> <div className="flex items-center gap-1">
<Button className="bg-white text-black hover:bg-zinc-50/90 mr-4" asChild> <Button className="bg-white text-black hover:bg-zinc-50/90 mr-4" asChild>
<Link to={{ pathname: "/app" }}>Editor</Link> <Link to={{ pathname: "/app" }}>Editor</Link>
</Button> </Button>
<a href="https://github.com/trafficlunar/blockmatic" className="w-8"> <a href="https://github.com/trafficlunar/blockmatic" className="w-7">
<GithubIcon fill="white" /> <GithubIcon fill="white" />
</a> </a>
<ThemeIcon /> <ThemeIcon />