);
}
function Tab(props: { name: string; selected: boolean; onSelect: () => void }) {
return (
-
props.onSelect()}>
+
props.onSelect()}
+ >
{props.name}
);
diff --git a/app/lish/[handle]/[publication]/page.tsx b/app/lish/[handle]/[publication]/page.tsx
index 651b0572..d8612d89 100644
--- a/app/lish/[handle]/[publication]/page.tsx
+++ b/app/lish/[handle]/[publication]/page.tsx
@@ -9,8 +9,11 @@ import { Sidebar } from "components/ActionBar/Sidebar";
import { Media } from "components/Media";
import { Footer } from "components/ActionBar/Footer";
import { PublicationDashboard } from "./PublicationDashboard";
-import { AddTiny } from "components/Icons/AddTiny";
import { DraftList } from "./DraftList";
+import { NewDraftActionButton } from "./NewDraftButton";
+import { use } from "react";
+import { IdentityContext } from "components/IdentityProvider";
+import { getIdentityData } from "actions/getIdentityData";
const idResolver = new IdResolver();
@@ -32,20 +35,31 @@ export async function generateMetadata(props: {
return { title: decodeURIComponent((await props.params).publication) };
}
+//This is the admin dashboard of the publication
export default async function Publication(props: {
params: Promise<{ publication: string; handle: string }>;
}) {
+ let identity = await getIdentityData();
+ if (!identity || !identity.atp_did) return
;
let did = await idResolver.handle.resolve((await props.params).handle);
if (!did) return
;
let { data: publication } = await supabaseServerClient
.from("publications")
.select(
- "*, documents_in_publications(documents(*)), leaflets_in_publications(*, permission_tokens(*, permission_token_rights(*), custom_domain_routes!custom_domain_routes_edit_permission_token_fkey(*) ))",
+ `*,
+ documents_in_publications(documents(*)),
+ leaflets_in_publications(*,
+ permission_tokens(*,
+ permission_token_rights(*),
+ custom_domain_routes!custom_domain_routes_edit_permission_token_fkey(*)
+ )
+ )`,
)
.eq("identity_did", did)
.eq("name", decodeURIComponent((await props.params).publication))
.single();
- if (!publication) return
;
+ if (!publication || identity.atp_did !== publication.identity_did)
+ return
;
let all_facts = await supabaseServerClient.rpc("get_facts_for_roots", {
max_depth: 2,
@@ -69,12 +83,7 @@ export default async function Publication(props: {
return (
-
- label="Create Draft"
- />
+
({
...d.permission_tokens!,
initialFacts: facts[d.permission_tokens?.root_entity!],
@@ -95,12 +105,7 @@ export default async function Publication(props: {
@@ -115,15 +120,10 @@ const PubNotFound = () => {
return
ain't no pub here
;
};
-const Actions = () => {
+const Actions = (props: { publication: string }) => {
return (
<>
-
- label="Create Draft"
- />
+
>
);
};