diff options
| author | dakkar <dakkar@thenautilus.net> | 2024-10-18 21:14:49 +0000 |
|---|---|---|
| committer | dakkar <dakkar@thenautilus.net> | 2024-10-18 21:14:49 +0000 |
| commit | ba17776b1961376b5369aa775e8910a227cc02ec (patch) | |
| tree | 0d0579dd911a6c9b74ebc84195cacf10eafe0918 /packages/frontend-embed/src/server-context.ts | |
| parent | merge: Allow logged in users to refresh polls (!686) (diff) | |
| parent | Merge branch 'develop' into feature/2024.9.0 (diff) | |
| download | sharkey-ba17776b1961376b5369aa775e8910a227cc02ec.tar.gz sharkey-ba17776b1961376b5369aa775e8910a227cc02ec.tar.bz2 sharkey-ba17776b1961376b5369aa775e8910a227cc02ec.zip | |
merge: version 2024.9.0 (!675)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/675
Approved-by: Julia <julia@insertdomain.name>
Approved-by: Marie <github@yuugi.dev>
Diffstat (limited to 'packages/frontend-embed/src/server-context.ts')
| -rw-r--r-- | packages/frontend-embed/src/server-context.ts | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/packages/frontend-embed/src/server-context.ts b/packages/frontend-embed/src/server-context.ts new file mode 100644 index 0000000000..a84a1a726a --- /dev/null +++ b/packages/frontend-embed/src/server-context.ts @@ -0,0 +1,21 @@ +/* + * SPDX-FileCopyrightText: syuilo and misskey-project + * SPDX-License-Identifier: AGPL-3.0-only + */ +import * as Misskey from 'misskey-js'; + +const providedContextEl = document.getElementById('misskey_embedCtx'); + +export type ServerContext = { + clip?: Misskey.entities.Clip; + note?: Misskey.entities.Note; + user?: Misskey.entities.UserLite; +} | null; + +// NOTE: devモードのときしか embedCtx が null になることは無い +export const serverContext: ServerContext = (providedContextEl && providedContextEl.textContent) ? JSON.parse(providedContextEl.textContent) : null; + +export function assertServerContext<K extends keyof NonNullable<ServerContext>>(ctx: ServerContext, entity: K): ctx is Required<Pick<NonNullable<ServerContext>, K>> { + if (ctx == null) return false; + return entity in ctx; +} |