Skip to content

Commit 37e9c3c

Browse files
committed
refactor: rename UI components for improved clarity and consistency
1 parent c213b58 commit 37e9c3c

15 files changed

+380
-72
lines changed

apps/collabydraw/components/SidebarTriggerButton.tsx renamed to apps/collabydraw/components/AppMenuButton.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ import React, { memo } from "react";
44
import { Button } from "@/components/ui/button";
55
import { Menu } from "lucide-react";
66

7-
interface SidebarTriggerButtonProps {
7+
interface AppMenuButtonProps {
88
onClick: () => void;
99
}
1010

11-
const SidebarTriggerButton = memo(function SidebarTriggerButton({ onClick }: SidebarTriggerButtonProps) {
11+
const AppMenuButton = memo(function AppMenuButton({ onClick }: AppMenuButtonProps) {
1212
return (
1313
<Button
1414
variant="ghost"
@@ -23,4 +23,4 @@ const SidebarTriggerButton = memo(function SidebarTriggerButton({ onClick }: Sid
2323
);
2424
});
2525

26-
export default SidebarTriggerButton;
26+
export default AppMenuButton;

apps/collabydraw/components/MainMenuStack.tsx renamed to apps/collabydraw/components/AppSidebar.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,10 @@ import { useTheme } from "next-themes"
2929
import { signOut, useSession } from "next-auth/react"
3030
import { redirect, usePathname } from "next/navigation"
3131
import Link from "next/link"
32-
import { CollaborationAdDialog } from "./CollaborationAdDialog"
32+
import { CollabAuthPrompt } from "./CollabAuthPrompt"
3333
import { RoomSharingDialog } from "./RoomSharingDialog"
34-
import CollaborationStartdDialog from "./CollaborationStartdDialog"
3534
import { BASE_URL } from "@/config/constants"
35+
import CreateRoomDialog from "./CreateRoomDialog"
3636

3737
interface SidebarProps {
3838
isOpen: boolean
@@ -47,7 +47,7 @@ interface SidebarProps {
4747
onImportCanvas?: () => void;
4848
}
4949

50-
export function MainMenuStack({ isOpen, onClose, canvasColor, setCanvasColor, isMobile, roomName, isStandalone, onClearCanvas, onExportCanvas, onImportCanvas }: SidebarProps) {
50+
export function AppSidebar({ isOpen, onClose, canvasColor, setCanvasColor, isMobile, roomName, isStandalone, onClearCanvas, onExportCanvas, onImportCanvas }: SidebarProps) {
5151
const [clearDialogOpen, setClearDialogOpen] = useState(false);
5252
const { theme, setTheme } = useTheme();
5353
const { data: session } = useSession();
@@ -105,9 +105,9 @@ export function MainMenuStack({ isOpen, onClose, canvasColor, setCanvasColor, is
105105
<SidebarItem icon={Upload} label="Import Drawing" onClick={onImportCanvas} />
106106
<SidebarItem icon={Share2} label="Live collaboration" onClick={() => setIsShareOpen(true)} />
107107
{session?.user && session?.user.id ? (
108-
<CollaborationStartdDialog open={isShareOpen} onOpenChange={setIsShareOpen} />
108+
<CreateRoomDialog open={isShareOpen} onOpenChange={setIsShareOpen} />
109109
) : (
110-
<CollaborationAdDialog open={isShareOpen} onOpenChange={setIsShareOpen} />
110+
<CollabAuthPrompt open={isShareOpen} onOpenChange={setIsShareOpen} />
111111
)}
112112
</>
113113
) : (

apps/collabydraw/components/CollaborationAdDialog.tsx renamed to apps/collabydraw/components/CollabAuthPrompt.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { Button } from "./ui/button";
55
import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogFooter } from "./ui/dialog";
66
import { redirect } from "next/navigation";
77

8-
export function CollaborationAdDialog({ open, onOpenChange }: { open: boolean, onOpenChange: (open: boolean) => void }) {
8+
export function CollabAuthPrompt({ open, onOpenChange }: { open: boolean, onOpenChange: (open: boolean) => void }) {
99

1010
const handleSubmit = () => {
1111
redirect('/auth/signin');

apps/collabydraw/components/CollaborationButton.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
'use client';
22

33
import { useState } from "react";
4-
import { CollaborationAdDialog } from "./CollaborationAdDialog";
5-
import CollaborationStartdDialog from "./CollaborationStartdDialog";
4+
import { CollabAuthPrompt } from "./CollabAuthPrompt";
5+
import CreateRoomDialog from "./CreateRoomDialog";
66
import { useSession } from "next-auth/react";
77

88
export function CollaborationButton() {
@@ -31,9 +31,9 @@ export function CollaborationButton() {
3131
</button>
3232

3333
{session?.user && session?.user.id ? (
34-
<CollaborationStartdDialog open={isOpen} onOpenChange={setIsOpen} />
34+
<CreateRoomDialog open={isOpen} onOpenChange={setIsOpen} />
3535
) : (
36-
<CollaborationAdDialog open={isOpen} onOpenChange={setIsOpen} />
36+
<CollabAuthPrompt open={isOpen} onOpenChange={setIsOpen} />
3737
)}
3838
</>
3939
);

apps/collabydraw/components/CollaborationStartBtn.tsx renamed to apps/collabydraw/components/CollaborationToolbar.tsx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,19 @@
22

33
import { Button } from "./ui/button";
44
import { useState } from "react";
5-
import CollaborationStartdDialog from "./CollaborationStartdDialog";
5+
import CreateRoomDialog from "./CreateRoomDialog";
66
import { useSession } from "next-auth/react";
77
import { RoomSharingDialog } from "./RoomSharingDialog";
88
import { usePathname } from "next/navigation";
9-
import { CollaborationAdDialog } from "./CollaborationAdDialog";
9+
import { CollabAuthPrompt } from "./CollabAuthPrompt";
1010
import { cn } from "@/lib/utils";
1111
import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "./ui/tooltip";
1212
import { RoomParticipants } from "@repo/common/types";
1313
import { Popover, PopoverContent, PopoverTrigger } from "./ui/popover";
1414
import { BASE_URL } from "@/config/constants";
1515
import { Share2 } from "lucide-react";
1616

17-
export default function CollaborationStartBtn({ slug, participants }: { slug?: string, participants?: RoomParticipants[] }) {
17+
export default function CollaborationToolbar({ slug, participants }: { slug?: string, participants?: RoomParticipants[] }) {
1818
const pathname = usePathname();
1919
const [isOpen, setIsOpen] = useState(false);
2020
const { data: session } = useSession();
@@ -83,19 +83,19 @@ export default function CollaborationStartBtn({ slug, participants }: { slug?: s
8383
</div>
8484
<Button type="button" onClick={() => setIsOpen(true)}
8585
className={cn("excalidraw-button collab-button relative w-auto py-2 px-3 md:py-3 md:px-4 rounded-md text-[.875rem] font-semibold shadow-none active:scale-[.98]", roomSlug ? "bg-[#0fb884] dark:bg-[#0fb884] hover:bg-[#0fb884]" : "bg-color-primary hover:bg-brand-hover active:bg-brand-active")}
86-
title="Live collaboration..."><Share2 size={16} className="hidden xs670:inline" />
87-
<span className="inline-block xs670:hidden">Share</span> {roomSlug && participants && participants.length > 0 && (
86+
title="Live collaboration..."><Share2 size={16} className="hidden xs670:inline md:hidden" />
87+
<span className="inline-block xs670:hidden md:inline-block">Share</span> {roomSlug && participants && participants.length > 0 && (
8888
<div className="CollabButton-collaborators text-[.6rem] text-[#2b8a3e] bg-[#b2f2bb] font-bold font-assistant rounded-[50%] p-1 min-w-4 min-h-4 w-4 h-4 flex items-center justify-center absolute bottom-[-5px] right-[-5px]">{participants.length}</div>
8989
)}</Button>
9090

9191
{session?.user && session?.user.id ? (
9292
roomSlug ? (
9393
<RoomSharingDialog open={isOpen} onOpenChange={setIsOpen} link={`${BASE_URL}/${decodedPathname}`} />
9494
) : (
95-
<CollaborationStartdDialog open={isOpen} onOpenChange={setIsOpen} />
95+
<CreateRoomDialog open={isOpen} onOpenChange={setIsOpen} />
9696
)
9797
) : (
98-
<CollaborationAdDialog open={isOpen} onOpenChange={setIsOpen} />
98+
<CollabAuthPrompt open={isOpen} onOpenChange={setIsOpen} />
9999
)}
100100
</div>
101101
)

apps/collabydraw/components/CollaborationStartdDialog.tsx renamed to apps/collabydraw/components/CreateRoomDialog.tsx

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import { useForm } from "react-hook-form";
1313
import { zodResolver } from "@hookform/resolvers/zod";
1414
import { useRouter } from "next/navigation";
1515

16-
export default function CollaborationStartdDialog({ open, onOpenChange }: { open: boolean, onOpenChange: (open: boolean) => void }) {
16+
export default function CreateRoomDialog({ open, onOpenChange }: { open: boolean, onOpenChange: (open: boolean) => void }) {
1717
const [isPending, startTransition] = useTransition();
1818
const router = useRouter();
1919

@@ -85,9 +85,6 @@ export default function CollaborationStartdDialog({ open, onOpenChange }: { open
8585
</DialogFooter>
8686
</form>
8787
</Form>
88-
<DialogFooter className="flex items-center justify-center sm:justify-center">
89-
90-
</DialogFooter>
9188
</DialogContent>
9289
</Dialog >
9390
</>

apps/collabydraw/components/mobile-navbar.tsx renamed to apps/collabydraw/components/MobileCommandBar.tsx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,17 @@ import { useState } from "react"
66
import { Menu, Plus, Minus, Share2 } from "lucide-react"
77
import { Sheet, SheetContent, SheetHeader, SheetTitle } from "@/components/ui/sheet"
88
import { cn } from "@/lib/utils"
9-
import { MainMenuStack } from "./MainMenuStack"
109
import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "./ui/tooltip";
1110
import { Button } from "./ui/button"
1211
import { PaletteFilled } from "./SvgIcons"
13-
import { ToolMenuStack } from "./ToolMenuStack"
1412
import { BgFill, StrokeEdge, StrokeFill, StrokeStyle, StrokeWidth, ToolType } from "@/types/canvas"
1513
import { UserRoomsListDialog } from "./UserRoomsListDialog"
1614
import { RoomSharingDialog } from "./RoomSharingDialog"
1715
import { BASE_URL } from "@/config/constants"
16+
import { AppSidebar } from "./AppSidebar"
17+
import { StyleConfigurator } from "./StyleConfigurator"
1818

19-
interface MobileNavbarProps {
19+
interface MobileCommandBarProps {
2020
canvasColor: string
2121
setCanvasColor: (color: string) => void
2222
sidebarOpen: boolean
@@ -42,7 +42,7 @@ interface MobileNavbarProps {
4242
onImportCanvas?: () => void;
4343
}
4444

45-
export function MobileNavbar({ canvasColor,
45+
export function MobileCommandBar({ canvasColor,
4646
setCanvasColor,
4747
sidebarOpen,
4848
setSidebarOpen,
@@ -64,7 +64,7 @@ export function MobileNavbar({ canvasColor,
6464
onClearCanvas,
6565
onExportCanvas,
6666
onImportCanvas,
67-
}: MobileNavbarProps) {
67+
}: MobileCommandBarProps) {
6868
const [colorPickerOpen, setColorPickerOpen] = useState(false);
6969
const [roomsListOpen, setRoomsListOpen] = useState(false);
7070

@@ -93,7 +93,7 @@ export function MobileNavbar({ canvasColor,
9393
<SheetHeader className="mb-5">
9494
<SheetTitle>Settings</SheetTitle>
9595
</SheetHeader>
96-
<MainMenuStack
96+
<AppSidebar
9797
isOpen={sidebarOpen}
9898
onClose={() => setSidebarOpen(false)}
9999
canvasColor={canvasColor}
@@ -113,7 +113,7 @@ export function MobileNavbar({ canvasColor,
113113
<SheetHeader className="mb-5">
114114
<SheetTitle>Canvas Settings</SheetTitle>
115115
</SheetHeader>
116-
<ToolMenuStack
116+
<StyleConfigurator
117117
isMobile={true}
118118
activeTool={activeTool}
119119
strokeFill={strokeFill}
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
import CollaborationStartBtn from "./CollaborationStartBtn";
1+
import CollaborationToolbar from "./CollaborationToolbar";
22

33
export default function SideToolbar({ slug }: { slug: string }) {
44
return (
55
<section className="absolute top-20 right-0 flex flex-col items-center justify-center border border-sidebar-border border-r-0 rounded-l-lg overflow-hidden bg-island-bg-color">
6-
<CollaborationStartBtn slug={slug!} />
6+
<CollaborationToolbar slug={slug!} />
77
</section>
88
)
99
}

apps/collabydraw/components/ToolMenuStack.tsx renamed to apps/collabydraw/components/StyleConfigurator.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import ItemLabel from "./ItemLabel";
77
import { Input } from "./ui/input";
88
import { cn } from "@/lib/utils";
99

10-
interface SidebarProps {
10+
interface StyleConfiguratorProps {
1111
activeTool: ToolType;
1212
strokeFill: StrokeFill;
1313
setStrokeFill: React.Dispatch<React.SetStateAction<StrokeFill>>;
@@ -22,7 +22,7 @@ interface SidebarProps {
2222
isMobile?: boolean
2323
}
2424

25-
export function ToolMenuStack({
25+
export function StyleConfigurator({
2626
activeTool,
2727
strokeFill,
2828
setStrokeFill,
@@ -35,7 +35,7 @@ export function ToolMenuStack({
3535
strokeStyle,
3636
setStrokeStyle,
3737
isMobile
38-
}: SidebarProps) {
38+
}: StyleConfiguratorProps) {
3939

4040
const lineThicknessOptions: StrokeWidth[] = [1, 2, 4]
4141
const edgeRoundnessOptions: StrokeEdge[] = ["sharp", "round"]
@@ -46,7 +46,7 @@ export function ToolMenuStack({
4646
}
4747
return (
4848
<>
49-
<section className={cn("ToolMenuStack p-3 overflow-auto custom-scrollbar transition-transform duration-300 ease-in-out z-10 mt-2",
49+
<section className={cn("StyleConfigurator p-3 overflow-auto custom-scrollbar transition-transform duration-300 ease-in-out z-10 mt-2",
5050
isMobile ? "" : "absolute top-full w-56 h-[calc(100vh-150px)] bg-background dark:bg-w-bg rounded-lg Island"
5151
)}>
5252
<h2 className="sr-only">Selected shape actions</h2>

apps/collabydraw/components/Toolsbar.tsx renamed to apps/collabydraw/components/ToolSelector.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@ import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/comp
33
import type { ToolType } from "@/types/canvas"
44
import { tools } from "@/types/Tools"
55

6-
interface ToolbarProps {
6+
interface ToolSelectorProps {
77
selectedTool: ToolType
88
onToolSelect: (tool: ToolType) => void
99
}
1010

11-
export default function Toolsbar({ selectedTool, onToolSelect }: ToolbarProps) {
11+
export default function ToolSelector({ selectedTool, onToolSelect }: ToolSelectorProps) {
1212
return (
1313
<TooltipProvider delayDuration={0}>
1414
<header className="Tool_Bar flex items-center gap-1 p-1.5 rounded-lg Island">

0 commit comments

Comments
 (0)