From 3bf97694adef9c249b6111b03c3b229390c13465 Mon Sep 17 00:00:00 2001 From: Henry Date: Mon, 4 Mar 2024 08:11:50 +0000 Subject: [PATCH] feat: setup workspaces members --- .../components/BoardDropdown.tsx | 0 .../components/DeleteBoardConfirmation.tsx | 0 .../components/DeleteListConfirmation.tsx | 0 .../components/List.tsx | 0 .../components/ListDropdown.tsx | 0 .../components/NewCardForm.tsx | 0 .../components/NewListForm.tsx | 0 .../boards/{[...id] => [...boardId]}/page.tsx | 2 +- src/app/boards/layout.tsx | 7 +- src/app/boards/page.tsx | 4 +- .../components/DeleteCardConfirmation.tsx | 0 .../components/Dropdown.tsx | 0 .../components/LabelSelector.tsx | 0 .../components/ListSelector.tsx | 0 .../components/NewLabelForm.tsx | 0 src/app/cards/{[...id] => [cardId]}/page.tsx | 4 +- src/app/cards/layout.tsx | 7 +- src/app/components/SideNavigation.tsx | 19 +- src/app/members/layout.tsx | 10 + .../{workspaces/[slug] => }/members/page.tsx | 0 src/app/providers/workspace.tsx | 81 ++ src/app/workspaces/layout.tsx | 5 - src/server/api/routers/workspace.ts | 17 +- src/server/auth.ts | 9 +- .../db/migrations/0010_jittery_zzzax.sql | 16 + .../db/migrations/meta/0010_snapshot.json | 992 ++++++++++++++++++ src/server/db/migrations/meta/_journal.json | 7 + src/server/db/schema.ts | 35 +- 28 files changed, 1185 insertions(+), 30 deletions(-) rename src/app/boards/{[...id] => [...boardId]}/components/BoardDropdown.tsx (100%) rename src/app/boards/{[...id] => [...boardId]}/components/DeleteBoardConfirmation.tsx (100%) rename src/app/boards/{[...id] => [...boardId]}/components/DeleteListConfirmation.tsx (100%) rename src/app/boards/{[...id] => [...boardId]}/components/List.tsx (100%) rename src/app/boards/{[...id] => [...boardId]}/components/ListDropdown.tsx (100%) rename src/app/boards/{[...id] => [...boardId]}/components/NewCardForm.tsx (100%) rename src/app/boards/{[...id] => [...boardId]}/components/NewListForm.tsx (100%) rename src/app/boards/{[...id] => [...boardId]}/page.tsx (99%) rename src/app/cards/{[...id] => [cardId]}/components/DeleteCardConfirmation.tsx (100%) rename src/app/cards/{[...id] => [cardId]}/components/Dropdown.tsx (100%) rename src/app/cards/{[...id] => [cardId]}/components/LabelSelector.tsx (100%) rename src/app/cards/{[...id] => [cardId]}/components/ListSelector.tsx (100%) rename src/app/cards/{[...id] => [cardId]}/components/NewLabelForm.tsx (100%) rename src/app/cards/{[...id] => [cardId]}/page.tsx (98%) create mode 100644 src/app/members/layout.tsx rename src/app/{workspaces/[slug] => }/members/page.tsx (100%) create mode 100644 src/app/providers/workspace.tsx delete mode 100644 src/app/workspaces/layout.tsx create mode 100644 src/server/db/migrations/0010_jittery_zzzax.sql create mode 100644 src/server/db/migrations/meta/0010_snapshot.json diff --git a/src/app/boards/[...id]/components/BoardDropdown.tsx b/src/app/boards/[...boardId]/components/BoardDropdown.tsx similarity index 100% rename from src/app/boards/[...id]/components/BoardDropdown.tsx rename to src/app/boards/[...boardId]/components/BoardDropdown.tsx diff --git a/src/app/boards/[...id]/components/DeleteBoardConfirmation.tsx b/src/app/boards/[...boardId]/components/DeleteBoardConfirmation.tsx similarity index 100% rename from src/app/boards/[...id]/components/DeleteBoardConfirmation.tsx rename to src/app/boards/[...boardId]/components/DeleteBoardConfirmation.tsx diff --git a/src/app/boards/[...id]/components/DeleteListConfirmation.tsx b/src/app/boards/[...boardId]/components/DeleteListConfirmation.tsx similarity index 100% rename from src/app/boards/[...id]/components/DeleteListConfirmation.tsx rename to src/app/boards/[...boardId]/components/DeleteListConfirmation.tsx diff --git a/src/app/boards/[...id]/components/List.tsx b/src/app/boards/[...boardId]/components/List.tsx similarity index 100% rename from src/app/boards/[...id]/components/List.tsx rename to src/app/boards/[...boardId]/components/List.tsx diff --git a/src/app/boards/[...id]/components/ListDropdown.tsx b/src/app/boards/[...boardId]/components/ListDropdown.tsx similarity index 100% rename from src/app/boards/[...id]/components/ListDropdown.tsx rename to src/app/boards/[...boardId]/components/ListDropdown.tsx diff --git a/src/app/boards/[...id]/components/NewCardForm.tsx b/src/app/boards/[...boardId]/components/NewCardForm.tsx similarity index 100% rename from src/app/boards/[...id]/components/NewCardForm.tsx rename to src/app/boards/[...boardId]/components/NewCardForm.tsx diff --git a/src/app/boards/[...id]/components/NewListForm.tsx b/src/app/boards/[...boardId]/components/NewListForm.tsx similarity index 100% rename from src/app/boards/[...id]/components/NewListForm.tsx rename to src/app/boards/[...boardId]/components/NewListForm.tsx diff --git a/src/app/boards/[...id]/page.tsx b/src/app/boards/[...boardId]/page.tsx similarity index 99% rename from src/app/boards/[...id]/page.tsx rename to src/app/boards/[...boardId]/page.tsx index d5f644c7..414f58c7 100644 --- a/src/app/boards/[...id]/page.tsx +++ b/src/app/boards/[...boardId]/page.tsx @@ -61,7 +61,7 @@ export default function BoardPage() { const [selectedPublicListId, setSelectedPublicListId] = useState(""); - const boardId = params?.id?.length ? params.id[0] : null; + const boardId = params?.boardId?.length ? params.boardId[0] : null; const updateBoard = api.board.update.useMutation(); diff --git a/src/app/boards/layout.tsx b/src/app/boards/layout.tsx index 12318549..09288909 100644 --- a/src/app/boards/layout.tsx +++ b/src/app/boards/layout.tsx @@ -1,5 +1,10 @@ +import { WorkspaceProvider } from "~/app/providers/workspace"; import Dashboard from "~/app/components/dashboard"; export default function Layout(props: { children: React.ReactNode }) { - return {props.children}; + return ( + + {props.children}; + + ); } diff --git a/src/app/boards/page.tsx b/src/app/boards/page.tsx index 1db5bb42..5469e7d0 100644 --- a/src/app/boards/page.tsx +++ b/src/app/boards/page.tsx @@ -6,8 +6,8 @@ import { BoardsList } from "./components/BoardsList"; import { useModal } from "~/app/providers/modal"; import Modal from "~/app/components/modal"; -import { ImportBoardsForm } from "~/app/boards/components/ImportBoardsForm"; -import { NewBoardForm } from "~/app/boards/components/NewBoardForm"; +import { ImportBoardsForm } from "./components/ImportBoardsForm"; +import { NewBoardForm } from "./components/NewBoardForm"; export default function BoardsPage() { const { openModal, modalContentType } = useModal(); diff --git a/src/app/cards/[...id]/components/DeleteCardConfirmation.tsx b/src/app/cards/[cardId]/components/DeleteCardConfirmation.tsx similarity index 100% rename from src/app/cards/[...id]/components/DeleteCardConfirmation.tsx rename to src/app/cards/[cardId]/components/DeleteCardConfirmation.tsx diff --git a/src/app/cards/[...id]/components/Dropdown.tsx b/src/app/cards/[cardId]/components/Dropdown.tsx similarity index 100% rename from src/app/cards/[...id]/components/Dropdown.tsx rename to src/app/cards/[cardId]/components/Dropdown.tsx diff --git a/src/app/cards/[...id]/components/LabelSelector.tsx b/src/app/cards/[cardId]/components/LabelSelector.tsx similarity index 100% rename from src/app/cards/[...id]/components/LabelSelector.tsx rename to src/app/cards/[cardId]/components/LabelSelector.tsx diff --git a/src/app/cards/[...id]/components/ListSelector.tsx b/src/app/cards/[cardId]/components/ListSelector.tsx similarity index 100% rename from src/app/cards/[...id]/components/ListSelector.tsx rename to src/app/cards/[cardId]/components/ListSelector.tsx diff --git a/src/app/cards/[...id]/components/NewLabelForm.tsx b/src/app/cards/[cardId]/components/NewLabelForm.tsx similarity index 100% rename from src/app/cards/[...id]/components/NewLabelForm.tsx rename to src/app/cards/[cardId]/components/NewLabelForm.tsx diff --git a/src/app/cards/[...id]/page.tsx b/src/app/cards/[cardId]/page.tsx similarity index 98% rename from src/app/cards/[...id]/page.tsx rename to src/app/cards/[cardId]/page.tsx index 04ab58ca..0897f257 100644 --- a/src/app/cards/[...id]/page.tsx +++ b/src/app/cards/[cardId]/page.tsx @@ -27,7 +27,9 @@ export default function CardPage() { const params = useParams(); const { modalContentType } = useModal(); - const cardId = params?.id?.length ? params.id[0] : null; + const cardId = Array.isArray(params?.cardId) + ? params.cardId[0] + : params?.cardId; const { data } = api.card.byId.useQuery({ id: cardId ?? "" }); diff --git a/src/app/cards/layout.tsx b/src/app/cards/layout.tsx index 12318549..09288909 100644 --- a/src/app/cards/layout.tsx +++ b/src/app/cards/layout.tsx @@ -1,5 +1,10 @@ +import { WorkspaceProvider } from "~/app/providers/workspace"; import Dashboard from "~/app/components/dashboard"; export default function Layout(props: { children: React.ReactNode }) { - return {props.children}; + return ( + + {props.children}; + + ); } diff --git a/src/app/components/SideNavigation.tsx b/src/app/components/SideNavigation.tsx index 5c1df0dc..6863c20e 100644 --- a/src/app/components/SideNavigation.tsx +++ b/src/app/components/SideNavigation.tsx @@ -11,11 +11,7 @@ import settingsIcon from "~/app/assets/settings.json"; import ReactiveButton from "~/app/components/ReactiveButton"; import UserMenu from "~/app/components/UserMenu"; -const navigation = [ - { name: "Boards", href: "/boards", icon: boardsIcon }, - { name: "Members", href: "/members", icon: membersIcon }, - { name: "Settings", href: "/settings", icon: settingsIcon }, -]; +import { useWorkspace } from "~/app/providers/workspace"; interface SideNavigationProps { user: UserType; @@ -28,10 +24,17 @@ interface UserType { export default function SideNavigation({ user }: SideNavigationProps) { const pathname = usePathname(); + const { workspace } = useWorkspace(); - const { data } = api.workspace.all.useQuery(); - - const workspace = data?.[0]; + const navigation = [ + { name: "Boards", href: "/boards", icon: boardsIcon }, + { + name: "Members", + href: "/members", + icon: membersIcon, + }, + { name: "Settings", href: "/settings", icon: settingsIcon }, + ]; return (