🚧 create blueprint page

This commit is contained in:
Fred KISSIE
2025-10-23 22:27:14 +02:00
parent e30fde5237
commit 90ddffce0e
3 changed files with 41 additions and 39 deletions

View File

@@ -0,0 +1,9 @@
import type { Metadata } from "next";
export interface CreateBlueprintPageProps {
params: Promise<{ orgId: string }>;
}
export default function CreateBlueprintPage(props: CreateBlueprintPageProps) {
return <></>;
}

View File

@@ -1,4 +1,6 @@
import BlueprintsTable, { type BlueprintRow } from "@app/components/BlueprintsTable";
import BlueprintsTable, {
type BlueprintRow
} from "@app/components/BlueprintsTable";
import SettingsSectionTitle from "@app/components/SettingsSectionTitle";
import { internal } from "@app/lib/api";
import { authCookieHeader } from "@app/lib/api/cookies";
@@ -6,35 +8,35 @@ import OrgProvider from "@app/providers/OrgProvider";
import { ListBlueprintsResponse } from "@server/routers/blueprints";
import { GetOrgResponse } from "@server/routers/org";
import { AxiosResponse } from "axios";
import { Metadata } from "next";
import { getTranslations } from "next-intl/server";
import { redirect } from "next/navigation";
import { cache } from "react";
type BluePrintsPageProps = {
params: Promise<{ orgId: string }>;
searchParams: Promise<{ view?: string }>;
};
export const metadata: Metadata = {
title: "Blueprint"
};
export default async function BluePrintsPage(props: BluePrintsPageProps) {
const params = await props.params;
let blueprints: BlueprintRow[] = [];
try {
const res = await internal.get<
AxiosResponse<ListBlueprintsResponse>
>(`/org/${params.orgId}/blueprints`, await authCookieHeader());
const res = await internal.get<AxiosResponse<ListBlueprintsResponse>>(
`/org/${params.orgId}/blueprints`,
await authCookieHeader()
);
blueprints = res.data.data.blueprints
console.log({
...res.data.data
})
blueprints = res.data.data.blueprints;
} catch (e) {
console.error(e);
}
let org = null;
try {
const getOrg = cache(async () =>
@@ -49,21 +51,15 @@ export default async function BluePrintsPage(props: BluePrintsPageProps) {
redirect(`/${params.orgId}`);
}
if (!org) {
}
const t = await getTranslations();
return (
<>
<OrgProvider org={org}>
<SettingsSectionTitle
title={t("blueprints")}
description={t("blueprintsDescription")}
/>
<BlueprintsTable blueprints={blueprints} orgId={params.orgId} />
</OrgProvider>
</>
);
}
<OrgProvider org={org}>
<SettingsSectionTitle
title={t("blueprints")}
description={t("blueprintsDescription")}
/>
<BlueprintsTable blueprints={blueprints} orgId={params.orgId} />
</OrgProvider>
);
}

View File

@@ -1,25 +1,15 @@
import { Metadata } from "next";
import {
Combine,
KeyRound,
LinkIcon,
Settings,
Users,
Waypoints,
Workflow
} from "lucide-react";
import { verifySession } from "@app/lib/auth/verifySession";
import { redirect } from "next/navigation";
import { internal } from "@app/lib/api";
import { AxiosResponse } from "axios";
import { ListOrgsResponse } from "@server/routers/org";
import { GetOrgResponse, ListUserOrgsResponse } from "@server/routers/org";
import { ListUserOrgsResponse } from "@server/routers/org";
import { authCookieHeader } from "@app/lib/api/cookies";
import { cache } from "react";
import { GetOrgUserResponse } from "@server/routers/user";
import UserProvider from "@app/providers/UserProvider";
import { Layout } from "@app/components/Layout";
import { SidebarNavItem, SidebarNavProps } from "@app/components/SidebarNav";
import { getTranslations } from "next-intl/server";
import { pullEnv } from "@app/lib/pullEnv";
import { orgNavSections } from "@app/app/navigation";
@@ -27,7 +17,10 @@ import { orgNavSections } from "@app/app/navigation";
export const dynamic = "force-dynamic";
export const metadata: Metadata = {
title: `Settings - ${process.env.BRANDING_APP_NAME || "Pangolin"}`,
title: {
template: `%s - ${process.env.BRANDING_APP_NAME || "Pangolin"}`,
default: `Settings - ${process.env.BRANDING_APP_NAME || "Pangolin"}`
},
description: ""
};
@@ -86,7 +79,11 @@ export default async function SettingsLayout(props: SettingsLayoutProps) {
return (
<UserProvider user={user}>
<Layout orgId={params.orgId} orgs={orgs} navItems={orgNavSections(env.flags.enableClients)}>
<Layout
orgId={params.orgId}
orgs={orgs}
navItems={orgNavSections(env.flags.enableClients)}
>
{children}
</Layout>
</UserProvider>