feat: custom workspace slugs

This commit is contained in:
Henry
2025-01-23 22:22:29 +00:00
parent 0bd23d24ac
commit f78dd07c38
14 changed files with 57 additions and 58 deletions

View File

@@ -1,15 +1,15 @@
import Link from "next/link";
import { api } from "~/utils/api";
import { useWorkspace } from "~/providers/workspace";
import PatternedBackground from "~/components/PatternedBackground";
import { useWorkspace } from "~/providers/workspace";
import { api } from "~/utils/api";
export function BoardsList() {
const { workspace } = useWorkspace();
const { data, isLoading } = api.board.all.useQuery(
{ workspacePublicId: workspace?.publicId },
{ enabled: workspace?.publicId ? true : false },
{ workspacePublicId: workspace.publicId },
{ enabled: workspace.publicId ? true : false },
);
if (isLoading)
@@ -29,7 +29,7 @@ export function BoardsList() {
<Link key={board.publicId} href={`boards/${board.publicId}`}>
<div className="align-center relative mr-5 flex h-[150px] w-full items-center justify-center rounded-md border border-dashed border-light-400 bg-light-50 shadow-sm hover:bg-light-200 dark:border-dark-600 dark:bg-dark-50 dark:hover:bg-dark-100">
<PatternedBackground />
<p className="text-md px-4 font-medium text-neutral-900 dark:text-dark-1000">
<p className="text-md px-4 font-bold text-neutral-900 dark:text-dark-1000">
{board.name}
</p>
</div>

View File

@@ -1,14 +1,13 @@
import { HiArrowDownTray, HiOutlinePlusSmall } from "react-icons/hi2";
import { BoardsList } from "./components/BoardsList";
import Modal from "~/components/modal";
import { NewWorkspaceForm } from "~/components/NewWorkspaceForm";
import { PageHead } from "~/components/PageHead";
import { useModal } from "~/providers/modal";
import { useWorkspace } from "~/providers/workspace";
import Modal from "~/components/modal";
import { PageHead } from "~/components/PageHead";
import { BoardsList } from "./components/BoardsList";
import { ImportBoardsForm } from "./components/ImportBoardsForm";
import { NewBoardForm } from "./components/NewBoardForm";
import { NewWorkspaceForm } from "~/components/NewWorkspaceForm";
export default function BoardsPage() {
const { openModal, modalContentType } = useModal();
@@ -16,10 +15,10 @@ export default function BoardsPage() {
return (
<>
<PageHead title={`Boards | ${workspace?.name ?? "Workspace"}`} />
<PageHead title={`Boards | ${workspace.name ?? "Workspace"}`} />
<div className="p-8">
<div className="mb-8 flex w-full justify-between">
<h1 className="font-medium tracking-tight text-neutral-900 dark:text-dark-1000 sm:text-[1.2rem]">
<h1 className="font-bold tracking-tight text-neutral-900 dark:text-dark-1000 sm:text-[1.2rem]">
Boards
</h1>
<div className="flex">