diff options
| author | misskey-release-bot[bot] <157398866+misskey-release-bot[bot]@users.noreply.github.com> | 2025-09-08 12:29:29 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-09-08 12:29:29 +0000 |
| commit | 1eab314b17525987835ab495a94c705abd6ca78f (patch) | |
| tree | bf6e8f3ce5c75c17bfdca9e38cc8316a139087da /packages/frontend/src/widgets | |
| parent | Merge pull request #16335 from misskey-dev/develop (diff) | |
| parent | Release: 2025.9.0 (diff) | |
| download | misskey-1eab314b17525987835ab495a94c705abd6ca78f.tar.gz misskey-1eab314b17525987835ab495a94c705abd6ca78f.tar.bz2 misskey-1eab314b17525987835ab495a94c705abd6ca78f.zip | |
Merge pull request #16521 from misskey-dev/develop
Release: 2025.9.0
Diffstat (limited to 'packages/frontend/src/widgets')
4 files changed, 12 insertions, 11 deletions
diff --git a/packages/frontend/src/widgets/WidgetAiscriptApp.vue b/packages/frontend/src/widgets/WidgetAiscriptApp.vue index fdd4eaae06..18acd966fd 100644 --- a/packages/frontend/src/widgets/WidgetAiscriptApp.vue +++ b/packages/frontend/src/widgets/WidgetAiscriptApp.vue @@ -7,25 +7,26 @@ SPDX-License-Identifier: AGPL-3.0-only <MkContainer :showHeader="widgetProps.showHeader" class="mkw-aiscriptApp"> <template #header>App</template> <div :class="$style.root"> - <MkAsUi v-if="root" :component="root" :components="components" size="small"/> + <div v-if="isSyntaxError">Syntax error :(</div> + <MkAsUi v-else-if="root" :component="root" :components="components" size="small"/> </div> </MkContainer> </template> <script lang="ts" setup> import { onMounted, ref, watch } from 'vue'; -import type { Ref } from 'vue'; import { Interpreter, Parser } from '@syuilo/aiscript'; import { useWidgetPropsManager } from './widget.js'; +import type { Ref } from 'vue'; import type { WidgetComponentEmits, WidgetComponentExpose, WidgetComponentProps } from './widget.js'; import type { FormWithDefault, GetFormResultType } from '@/utility/form.js'; +import type { AsUiComponent, AsUiRoot } from '@/aiscript/ui.js'; import * as os from '@/os.js'; import { aiScriptReadline, createAiScriptEnv } from '@/aiscript/api.js'; import { $i } from '@/i.js'; import MkAsUi from '@/components/MkAsUi.vue'; import MkContainer from '@/components/MkContainer.vue'; import { registerAsUiLib } from '@/aiscript/ui.js'; -import type { AsUiComponent, AsUiRoot } from '@/aiscript/ui.js'; const name = 'aiscriptApp'; @@ -56,8 +57,11 @@ const parser = new Parser(); const root = ref<AsUiRoot>(); const components = ref<Ref<AsUiComponent>[]>([]); +const isSyntaxError = ref(false); async function run() { + isSyntaxError.value = false; + const aiscript = new Interpreter({ ...createAiScriptEnv({ storageKey: 'widget', @@ -80,10 +84,7 @@ async function run() { try { ast = parser.parse(widgetProps.script); } catch (err) { - os.alert({ - type: 'error', - text: 'Syntax error :(', - }); + isSyntaxError.value = true; return; } try { diff --git a/packages/frontend/src/widgets/WidgetButton.vue b/packages/frontend/src/widgets/WidgetButton.vue index e88a960f87..f8ae03c5fd 100644 --- a/packages/frontend/src/widgets/WidgetButton.vue +++ b/packages/frontend/src/widgets/WidgetButton.vue @@ -52,7 +52,7 @@ const { widgetProps, configure } = useWidgetPropsManager(name, const parser = new Parser(); -const run = async () => { +async function run() { const aiscript = new Interpreter(createAiScriptEnv({ storageKey: 'widget', token: $i?.token, @@ -84,7 +84,7 @@ const run = async () => { text: err instanceof Error ? err.message : String(err), }); } -}; +} defineExpose<WidgetComponentExpose>({ name, diff --git a/packages/frontend/src/widgets/WidgetNotifications.vue b/packages/frontend/src/widgets/WidgetNotifications.vue index 8fb7968238..b588bcb029 100644 --- a/packages/frontend/src/widgets/WidgetNotifications.vue +++ b/packages/frontend/src/widgets/WidgetNotifications.vue @@ -17,8 +17,8 @@ SPDX-License-Identifier: AGPL-3.0-only <script lang="ts" setup> import { defineAsyncComponent } from 'vue'; -import type { notificationTypes as notificationTypes_typeReferenceOnly } from '@@/js/const.js'; import { useWidgetPropsManager } from './widget.js'; +import type { notificationTypes as notificationTypes_typeReferenceOnly } from 'misskey-js'; import type { WidgetComponentEmits, WidgetComponentExpose, WidgetComponentProps } from './widget.js'; import type { FormWithDefault, GetFormResultType } from '@/utility/form.js'; import MkContainer from '@/components/MkContainer.vue'; diff --git a/packages/frontend/src/widgets/WidgetRssTicker.vue b/packages/frontend/src/widgets/WidgetRssTicker.vue index 9d4feb784c..95f82f7d7b 100644 --- a/packages/frontend/src/widgets/WidgetRssTicker.vue +++ b/packages/frontend/src/widgets/WidgetRssTicker.vue @@ -31,7 +31,7 @@ import { ref, watch, computed } from 'vue'; import * as Misskey from 'misskey-js'; import { useWidgetPropsManager } from './widget.js'; import type { WidgetComponentEmits, WidgetComponentExpose, WidgetComponentProps } from './widget.js'; -import MarqueeText from '@/components/MkMarqueeText.vue'; +import MkMarqueeText from '@/components/MkMarqueeText.vue'; import type { FormWithDefault, GetFormResultType } from '@/utility/form.js'; import MkContainer from '@/components/MkContainer.vue'; import { shuffle } from '@/utility/shuffle.js'; |