From f8bf3d86a0c1b61138650f7dfa1ef4d64f05012a Mon Sep 17 00:00:00 2001 From: Untone Date: Tue, 5 Mar 2024 16:01:47 +0300 Subject: [PATCH] edit-access+redirect --- src/components/Inbox/DialogAvatar.tsx | 5 ++++- src/graphql/client/core.ts | 7 +++++++ src/pages/edit.page.tsx | 12 ++++++++++-- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/components/Inbox/DialogAvatar.tsx b/src/components/Inbox/DialogAvatar.tsx index 875cdc98..1e2d68e4 100644 --- a/src/components/Inbox/DialogAvatar.tsx +++ b/src/components/Inbox/DialogAvatar.tsx @@ -51,7 +51,10 @@ const DialogAvatar = (props: Props) => { {nameFirstLetter()}}>
diff --git a/src/graphql/client/core.ts b/src/graphql/client/core.ts index 753f2f86..e8a2aaf7 100644 --- a/src/graphql/client/core.ts +++ b/src/graphql/client/core.ts @@ -210,6 +210,13 @@ export const apiClient = { return resp.data.get_shout }, + getMyShout: async (shout_id: number) => { + const resp = await apiClient.private.query(shoutLoad, { shout_id }).toPromise() + if (resp.error) console.error(resp) + + return resp.data.get_shout + }, + getShouts: async (options: LoadShoutsOptions) => { const resp = await publicGraphQLClient.query(shoutsLoadBy, { options }).toPromise() if (resp.error) console.error(resp) diff --git a/src/pages/edit.page.tsx b/src/pages/edit.page.tsx index 031eedf4..f4b7fd00 100644 --- a/src/pages/edit.page.tsx +++ b/src/pages/edit.page.tsx @@ -7,8 +7,10 @@ import { useLocalize } from '../context/localize' import { apiClient } from '../graphql/client/core' import { Shout } from '../graphql/schema/core.gen' import { useRouter } from '../stores/router' +import { router } from '../stores/router' import { LayoutType } from './types' +import { redirectPage } from "@nanostores/router"; const EditView = lazy(() => import('../components/Views/EditView/EditView')) @@ -21,8 +23,14 @@ export const EditPage = () => { const [shout, setShout] = createSignal(null) onMount(async () => { - const loadedShout = await apiClient.getShoutById(shoutId()) - setShout(loadedShout) + const loadedShout = await apiClient.getMyShout(shoutId()) + console.log(loadedShout) + if (loadedShout) { + setShout(loadedShout) + } + else { + redirectPage(router, 'drafts') + } }) const title = createMemo(() => {