diff options
| author | syuilo <4439005+syuilo@users.noreply.github.com> | 2025-09-01 16:23:05 +0900 |
|---|---|---|
| committer | syuilo <4439005+syuilo@users.noreply.github.com> | 2025-09-01 16:23:05 +0900 |
| commit | 4a0e9686625a399529879ea92f51d93bd7204340 (patch) | |
| tree | 8bb8750ba5993e9b23df659d19b6be837c826c35 /packages/frontend/src/components/form | |
| parent | Update misskey-js.api.md (diff) | |
| download | misskey-4a0e9686625a399529879ea92f51d93bd7204340.tar.gz misskey-4a0e9686625a399529879ea92f51d93bd7204340.tar.bz2 misskey-4a0e9686625a399529879ea92f51d93bd7204340.zip | |
refactor
Diffstat (limited to 'packages/frontend/src/components/form')
| -rw-r--r-- | packages/frontend/src/components/form/suspense.vue | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/packages/frontend/src/components/form/suspense.vue b/packages/frontend/src/components/form/suspense.vue deleted file mode 100644 index 3b23acf612..0000000000 --- a/packages/frontend/src/components/form/suspense.vue +++ /dev/null @@ -1,70 +0,0 @@ -<!-- -SPDX-FileCopyrightText: syuilo and misskey-project -SPDX-License-Identifier: AGPL-3.0-only ---> - -<template> -<div v-if="pending"> - <MkLoading/> -</div> -<div v-else-if="resolved"> - <slot :result="result as T"></slot> -</div> -<div v-else> - <div :class="$style.error"> - <div><i class="ti ti-alert-triangle"></i> {{ i18n.ts.somethingHappened }}</div> - <MkButton inline style="margin-top: 16px;" @click="retry"><i class="ti ti-reload"></i> {{ i18n.ts.retry }}</MkButton> - </div> -</div> -</template> - -<script lang="ts" setup generic="T extends unknown"> -import { ref, watch } from 'vue'; -import MkButton from '@/components/MkButton.vue'; -import { i18n } from '@/i18n.js'; - -const props = defineProps<{ - p: () => Promise<T>; -}>(); - -const pending = ref(true); -const resolved = ref(false); -const rejected = ref(false); -const result = ref<T | null>(null); - -const process = () => { - if (props.p == null) { - return; - } - const promise = props.p(); - pending.value = true; - resolved.value = false; - rejected.value = false; - promise.then((_result) => { - pending.value = false; - resolved.value = true; - result.value = _result; - }); - promise.catch(() => { - pending.value = false; - rejected.value = true; - }); -}; - -watch(() => props.p, () => { - process(); -}, { - immediate: true, -}); - -const retry = () => { - process(); -}; -</script> - -<style lang="scss" module> -.error { - padding: 16px; - text-align: center; -} -</style> |