diff --git a/apps/web/__tests__/unit/dashboard-video-count.test.ts b/apps/web/__tests__/unit/dashboard-video-count.test.ts index 991854bc824..4efb064d046 100644 --- a/apps/web/__tests__/unit/dashboard-video-count.test.ts +++ b/apps/web/__tests__/unit/dashboard-video-count.test.ts @@ -1,8 +1,8 @@ import type { Database, ImageUploads, Spaces } from "@cap/web-backend"; import { Effect, Layer } from "effect"; import { beforeEach, describe, expect, it, vi } from "vitest"; -import CapsPage from "@/app/(org)/dashboard/caps/page"; -import SharedCapsPage from "@/app/(org)/dashboard/spaces/[spaceId]/page"; +import CapsPage from "@/app/(org)/dashboard/caps/(list)/page"; +import SharedCapsPage from "@/app/(org)/dashboard/spaces/[spaceId]/(space)/page"; const mocks = vi.hoisted(() => ({ query: vi.fn() })); diff --git a/apps/web/__tests__/unit/space-page-round-trips.test.ts b/apps/web/__tests__/unit/space-page-round-trips.test.ts index c59957b0542..8eeeed3e5d4 100644 --- a/apps/web/__tests__/unit/space-page-round-trips.test.ts +++ b/apps/web/__tests__/unit/space-page-round-trips.test.ts @@ -9,7 +9,7 @@ import { import { drizzle } from "drizzle-orm/mysql-proxy"; import { Effect, Layer, Option } from "effect"; import { beforeEach, describe, expect, it, vi } from "vitest"; -import SharedCapsPage from "@/app/(org)/dashboard/spaces/[spaceId]/page"; +import SharedCapsPage from "@/app/(org)/dashboard/spaces/[spaceId]/(space)/page"; import { getVideosByFolderId } from "@/lib/folder"; import { Database as BackendDatabase, diff --git a/apps/web/app/(org)/dashboard/caps/loading.tsx b/apps/web/app/(org)/dashboard/caps/(list)/loading.tsx similarity index 100% rename from apps/web/app/(org)/dashboard/caps/loading.tsx rename to apps/web/app/(org)/dashboard/caps/(list)/loading.tsx diff --git a/apps/web/app/(org)/dashboard/caps/page.tsx b/apps/web/app/(org)/dashboard/caps/(list)/page.tsx similarity index 99% rename from apps/web/app/(org)/dashboard/caps/page.tsx rename to apps/web/app/(org)/dashboard/caps/(list)/page.tsx index 51696e1eb10..edca8eab948 100644 --- a/apps/web/app/(org)/dashboard/caps/page.tsx +++ b/apps/web/app/(org)/dashboard/caps/(list)/page.tsx @@ -24,7 +24,7 @@ import type { Metadata } from "next"; import { redirect } from "next/navigation"; import { seedThumbnailUrls } from "@/lib/seeded-thumbnails"; import { runPromise } from "@/lib/server"; -import { Caps } from "./Caps"; +import { Caps } from "../Caps"; export const metadata: Metadata = { title: "My Caps — Cap", diff --git a/apps/web/app/(org)/dashboard/settings/organization/GeneralPage.tsx b/apps/web/app/(org)/dashboard/settings/organization/(general)/GeneralPage.tsx similarity index 66% rename from apps/web/app/(org)/dashboard/settings/organization/GeneralPage.tsx rename to apps/web/app/(org)/dashboard/settings/organization/(general)/GeneralPage.tsx index e6eb7fc73fe..ebb3b86ead4 100644 --- a/apps/web/app/(org)/dashboard/settings/organization/GeneralPage.tsx +++ b/apps/web/app/(org)/dashboard/settings/organization/(general)/GeneralPage.tsx @@ -1,7 +1,7 @@ "use client"; -import DeleteOrg from "./components/DeleteOrg"; -import { OrganizationDetailsCard } from "./components/OrganizationDetailsCard"; +import DeleteOrg from "../components/DeleteOrg"; +import { OrganizationDetailsCard } from "../components/OrganizationDetailsCard"; export function GeneralPage() { return ( diff --git a/apps/web/app/(org)/dashboard/settings/organization/loading.tsx b/apps/web/app/(org)/dashboard/settings/organization/(general)/loading.tsx similarity index 100% rename from apps/web/app/(org)/dashboard/settings/organization/loading.tsx rename to apps/web/app/(org)/dashboard/settings/organization/(general)/loading.tsx diff --git a/apps/web/app/(org)/dashboard/settings/organization/page.tsx b/apps/web/app/(org)/dashboard/settings/organization/(general)/page.tsx similarity index 100% rename from apps/web/app/(org)/dashboard/settings/organization/page.tsx rename to apps/web/app/(org)/dashboard/settings/organization/(general)/page.tsx diff --git a/apps/web/app/(org)/dashboard/settings/organization/billing/loading.tsx b/apps/web/app/(org)/dashboard/settings/organization/billing/loading.tsx new file mode 100644 index 00000000000..d9b010731a5 --- /dev/null +++ b/apps/web/app/(org)/dashboard/settings/organization/billing/loading.tsx @@ -0,0 +1,59 @@ +"use client"; + +import { SkeletonPage } from "@cap/ui"; + +export default function Loading() { + return ( + ( +
+
+
+ + +
+ +
+
+
+ + +
+
+ {Array(5) + .fill(0) + .map((_, index) => ( + + ))} +
+
+
+ )} + /> + ); +} diff --git a/apps/web/app/(org)/dashboard/settings/organization/content/loading.tsx b/apps/web/app/(org)/dashboard/settings/organization/content/loading.tsx new file mode 100644 index 00000000000..64f517a084b --- /dev/null +++ b/apps/web/app/(org)/dashboard/settings/organization/content/loading.tsx @@ -0,0 +1,54 @@ +"use client"; + +import { SkeletonPage } from "@cap/ui"; + +export default function Loading() { + return ( + ( +
+
+
+ + +
+
+ {["source", "destination"].map((column) => ( +
+ + + + +
+ ))} +
+
+
+ )} + /> + ); +} diff --git a/apps/web/app/(org)/dashboard/settings/organization/integrations/loading.tsx b/apps/web/app/(org)/dashboard/settings/organization/integrations/loading.tsx new file mode 100644 index 00000000000..c9b364e9f79 --- /dev/null +++ b/apps/web/app/(org)/dashboard/settings/organization/integrations/loading.tsx @@ -0,0 +1 @@ +export { default } from "../(general)/loading"; diff --git a/apps/web/app/(org)/dashboard/settings/organization/preferences/loading.tsx b/apps/web/app/(org)/dashboard/settings/organization/preferences/loading.tsx new file mode 100644 index 00000000000..c9b364e9f79 --- /dev/null +++ b/apps/web/app/(org)/dashboard/settings/organization/preferences/loading.tsx @@ -0,0 +1 @@ +export { default } from "../(general)/loading"; diff --git a/apps/web/app/(org)/dashboard/settings/organization/security/loading.tsx b/apps/web/app/(org)/dashboard/settings/organization/security/loading.tsx new file mode 100644 index 00000000000..c9b364e9f79 --- /dev/null +++ b/apps/web/app/(org)/dashboard/settings/organization/security/loading.tsx @@ -0,0 +1 @@ +export { default } from "../(general)/loading"; diff --git a/apps/web/app/(org)/dashboard/spaces/[spaceId]/loading.tsx b/apps/web/app/(org)/dashboard/spaces/[spaceId]/(space)/loading.tsx similarity index 100% rename from apps/web/app/(org)/dashboard/spaces/[spaceId]/loading.tsx rename to apps/web/app/(org)/dashboard/spaces/[spaceId]/(space)/loading.tsx diff --git a/apps/web/app/(org)/dashboard/spaces/[spaceId]/page.tsx b/apps/web/app/(org)/dashboard/spaces/[spaceId]/(space)/page.tsx similarity index 99% rename from apps/web/app/(org)/dashboard/spaces/[spaceId]/page.tsx rename to apps/web/app/(org)/dashboard/spaces/[spaceId]/(space)/page.tsx index df563360460..53560f16876 100644 --- a/apps/web/app/(org)/dashboard/spaces/[spaceId]/page.tsx +++ b/apps/web/app/(org)/dashboard/spaces/[spaceId]/(space)/page.tsx @@ -34,7 +34,7 @@ import type { Metadata } from "next"; import { notFound } from "next/navigation"; import { seedThumbnailUrls } from "@/lib/seeded-thumbnails"; import { runPromise } from "@/lib/server"; -import { SharedCaps } from "./SharedCaps"; +import { SharedCaps } from "../SharedCaps"; export const metadata: Metadata = { title: "Shared Caps — Cap", diff --git a/apps/web/app/(org)/dashboard/spaces/[spaceId]/SharedCaps.tsx b/apps/web/app/(org)/dashboard/spaces/[spaceId]/SharedCaps.tsx index c2bc3d0196e..9d5e1073fdc 100644 --- a/apps/web/app/(org)/dashboard/spaces/[spaceId]/SharedCaps.tsx +++ b/apps/web/app/(org)/dashboard/spaces/[spaceId]/SharedCaps.tsx @@ -38,6 +38,7 @@ import type { FolderDataType } from "../../caps/components/Folder"; import { FoldersSection } from "../../caps/components/FoldersSection"; import { NewFolderDialog } from "../../caps/components/NewFolderDialog"; import { SelectedCapsBar } from "../../caps/components/SelectedCapsBar"; +import type { SpaceMemberData } from "./(space)/page"; import { AddVideosDialog } from "./components/AddVideosDialog"; import { AddVideosToOrganizationDialog } from "./components/AddVideosToOrganizationDialog"; import { EmptySharedCapState } from "./components/EmptySharedCapState"; @@ -47,7 +48,6 @@ import { type OrganizationMemberData, } from "./components/OrganizationIndicator"; import { SharedCapCard } from "./components/SharedCapCard"; -import type { SpaceMemberData } from "./page"; type SharedVideoData = { id: Video.VideoId; diff --git a/apps/web/app/(org)/dashboard/spaces/[spaceId]/components/MembersIndicator.tsx b/apps/web/app/(org)/dashboard/spaces/[spaceId]/components/MembersIndicator.tsx index 03cdbbd591b..b1148457db6 100644 --- a/apps/web/app/(org)/dashboard/spaces/[spaceId]/components/MembersIndicator.tsx +++ b/apps/web/app/(org)/dashboard/spaces/[spaceId]/components/MembersIndicator.tsx @@ -29,8 +29,8 @@ import { spaceRoleLabel, } from "@/lib/permissions/roles"; import { useDashboardContext } from "../../../Contexts"; +import type { SpaceMemberData } from "../(space)/page"; import { setSpaceMembers } from "../actions"; -import type { SpaceMemberData } from "../page"; import { MemberSelect } from "./MemberSelect"; type MembersIndicatorProps = {