summaryrefslogtreecommitdiff
path: root/packages/frontend/src/pages/oauth.vue
diff options
context:
space:
mode:
Diffstat (limited to 'packages/frontend/src/pages/oauth.vue')
-rw-r--r--packages/frontend/src/pages/oauth.vue28
1 files changed, 14 insertions, 14 deletions
diff --git a/packages/frontend/src/pages/oauth.vue b/packages/frontend/src/pages/oauth.vue
index 8719a769e5..49fdd25ff3 100644
--- a/packages/frontend/src/pages/oauth.vue
+++ b/packages/frontend/src/pages/oauth.vue
@@ -4,13 +4,13 @@ SPDX-License-Identifier: AGPL-3.0-only
-->
<template>
-<div>
- <MkAnimBg style="position: fixed; top: 0;"/>
+<PageWithAnimBg>
<div :class="$style.formContainer">
<div :class="$style.form">
<MkAuthConfirm
ref="authRoot"
:name="name"
+ :icon="logo"
:permissions="permissions"
:waitOnDeny="true"
@accept="onAccept"
@@ -18,50 +18,50 @@ SPDX-License-Identifier: AGPL-3.0-only
/>
</div>
</div>
-</div>
+</PageWithAnimBg>
</template>
<script lang="ts" setup>
import * as Misskey from 'misskey-js';
-import MkAnimBg from '@/components/MkAnimBg.vue';
-import { definePageMetadata } from '@/scripts/page-metadata.js';
+import { definePage } from '@/page.js';
import MkAuthConfirm from '@/components/MkAuthConfirm.vue';
-const transactionIdMeta = document.querySelector<HTMLMetaElement>('meta[name="misskey:oauth:transaction-id"]');
+const transactionIdMeta = window.document.querySelector<HTMLMetaElement>('meta[name="misskey:oauth:transaction-id"]');
if (transactionIdMeta) {
transactionIdMeta.remove();
}
-const name = document.querySelector<HTMLMetaElement>('meta[name="misskey:oauth:client-name"]')?.content;
-const permissions = document.querySelector<HTMLMetaElement>('meta[name="misskey:oauth:scope"]')?.content.split(' ').filter((p): p is typeof Misskey.permissions[number] => (Misskey.permissions as readonly string[]).includes(p)) ?? [];
+const name = window.document.querySelector<HTMLMetaElement>('meta[name="misskey:oauth:client-name"]')?.content;
+const logo = window.document.querySelector<HTMLMetaElement>('meta[name="misskey:oauth:client-logo"]')?.content;
+const permissions = window.document.querySelector<HTMLMetaElement>('meta[name="misskey:oauth:scope"]')?.content.split(' ').filter((p): p is typeof Misskey.permissions[number] => (Misskey.permissions as readonly string[]).includes(p)) ?? [];
function doPost(token: string, decision: 'accept' | 'deny') {
- const form = document.createElement('form');
+ const form = window.document.createElement('form');
form.action = '/oauth/decision';
form.method = 'post';
form.acceptCharset = 'utf-8';
- const loginToken = document.createElement('input');
+ const loginToken = window.document.createElement('input');
loginToken.type = 'hidden';
loginToken.name = 'login_token';
loginToken.value = token;
form.appendChild(loginToken);
- const transactionId = document.createElement('input');
+ const transactionId = window.document.createElement('input');
transactionId.type = 'hidden';
transactionId.name = 'transaction_id';
transactionId.value = transactionIdMeta?.content ?? '';
form.appendChild(transactionId);
if (decision === 'deny') {
- const cancel = document.createElement('input');
+ const cancel = window.document.createElement('input');
cancel.type = 'hidden';
cancel.name = 'cancel';
cancel.value = 'cancel';
form.appendChild(cancel);
}
- document.body.appendChild(form);
+ window.document.body.appendChild(form);
form.submit();
}
@@ -73,7 +73,7 @@ function onDeny(token: string) {
doPost(token, 'deny');
}
-definePageMetadata(() => ({
+definePage(() => ({
title: 'OAuth',
icon: 'ti ti-apps',
}));