From 7fe8d4f7070702163084c74221d73045fccf4c8c Mon Sep 17 00:00:00 2001 From: Patrick Plate Date: Sat, 13 Jun 2026 17:45:31 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20rebrand=20Shadboard=20=E2=86=92=20CannaM?= =?UTF-8?q?anage,=20staff=20permissions=20UX?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Sidebar, footer, bottom-bar-header: replaced 'Shadboard' with 'CannaManage' - Footer: removed 'Designed by Qualiora' attribution - Staff permissions: single-column layout, alphabetically sorted by label - Edit permissions dialog: useEffect syncs state when dialog opens (fixes pre-fill not working when controlled externally) --- .../settings/staff/page.tsx | 45 ++++++++++--------- .../src/components/layout/footer.tsx | 29 +----------- .../horizontal-layout/bottom-bar-header.tsx | 2 +- .../src/components/layout/sidebar.tsx | 2 +- 4 files changed, 29 insertions(+), 49 deletions(-) diff --git a/cannamanage-frontend/src/app/(dashboard-layout)/settings/staff/page.tsx b/cannamanage-frontend/src/app/(dashboard-layout)/settings/staff/page.tsx index dc7edc3..4fa096a 100644 --- a/cannamanage-frontend/src/app/(dashboard-layout)/settings/staff/page.tsx +++ b/cannamanage-frontend/src/app/(dashboard-layout)/settings/staff/page.tsx @@ -1,6 +1,6 @@ "use client" -import { useState } from "react" +import { useEffect, useState } from "react" import { useInviteStaffMutation, useRevokeStaffMutation, @@ -157,22 +157,24 @@ function PermissionCheckboxes({ } return ( -
- {ALL_PERMISSIONS.map((perm) => ( -
- toggle(perm)} - /> - -
- ))} +
+ {[...ALL_PERMISSIONS] + .sort((a, b) => permLabels[a].localeCompare(permLabels[b])) + .map((perm) => ( +
+ toggle(perm)} + /> + +
+ ))}
) } @@ -311,11 +313,14 @@ function EditPermissionsDialog({ staffMember?.id ?? "" ) - // Sync permissions when staff member changes - const handleOpen = (isOpen: boolean) => { - if (isOpen && staffMember) { + // Sync permissions whenever the dialog opens or staff member changes + useEffect(() => { + if (open && staffMember) { setPermissions([...staffMember.permissions]) } + }, [open, staffMember]) + + const handleOpen = (isOpen: boolean) => { onOpenChange(isOpen) } diff --git a/cannamanage-frontend/src/components/layout/footer.tsx b/cannamanage-frontend/src/components/layout/footer.tsx index 3ea0cca..4914b4a 100644 --- a/cannamanage-frontend/src/components/layout/footer.tsx +++ b/cannamanage-frontend/src/components/layout/footer.tsx @@ -1,36 +1,11 @@ -import { cn } from "@/lib/utils" - -import { buttonVariants } from "@/components/ui/button" - export function Footer() { const currentYear = new Date().getFullYear() return ( diff --git a/cannamanage-frontend/src/components/layout/horizontal-layout/bottom-bar-header.tsx b/cannamanage-frontend/src/components/layout/horizontal-layout/bottom-bar-header.tsx index 98c20d4..3ef4578 100644 --- a/cannamanage-frontend/src/components/layout/horizontal-layout/bottom-bar-header.tsx +++ b/cannamanage-frontend/src/components/layout/horizontal-layout/bottom-bar-header.tsx @@ -20,7 +20,7 @@ export function BottomBarHeader() { width={24} className="dark:invert" /> - Shadboard + CannaManage
diff --git a/cannamanage-frontend/src/components/layout/sidebar.tsx b/cannamanage-frontend/src/components/layout/sidebar.tsx index f1fbf8b..f4d113b 100644 --- a/cannamanage-frontend/src/components/layout/sidebar.tsx +++ b/cannamanage-frontend/src/components/layout/sidebar.tsx @@ -116,7 +116,7 @@ export function Sidebar() { width={24} className="dark:invert" /> - Shadboard + CannaManage