summaryrefslogtreecommitdiff
path: root/packages/frontend/src/ui/universal.widgets.vue
diff options
context:
space:
mode:
authorsyuilo <4439005+syuilo@users.noreply.github.com>2025-04-07 19:45:28 +0900
committersyuilo <4439005+syuilo@users.noreply.github.com>2025-04-07 19:45:28 +0900
commit33e6ebb2ee1b66bcf325286ebc742bb0a8d4ae36 (patch)
tree3a54952e359c8fc919a6b7b17f8739710605190e /packages/frontend/src/ui/universal.widgets.vue
parentfix(frontend): fix drawer menu style (diff)
downloadmisskey-33e6ebb2ee1b66bcf325286ebc742bb0a8d4ae36.tar.gz
misskey-33e6ebb2ee1b66bcf325286ebc742bb0a8d4ae36.tar.bz2
misskey-33e6ebb2ee1b66bcf325286ebc742bb0a8d4ae36.zip
enhance(frontend): improve and refactor mobile nav footer
Diffstat (limited to 'packages/frontend/src/ui/universal.widgets.vue')
-rw-r--r--packages/frontend/src/ui/universal.widgets.vue81
1 files changed, 0 insertions, 81 deletions
diff --git a/packages/frontend/src/ui/universal.widgets.vue b/packages/frontend/src/ui/universal.widgets.vue
deleted file mode 100644
index 1a6d62e19b..0000000000
--- a/packages/frontend/src/ui/universal.widgets.vue
+++ /dev/null
@@ -1,81 +0,0 @@
-<!--
-SPDX-FileCopyrightText: syuilo and misskey-project
-SPDX-License-Identifier: AGPL-3.0-only
--->
-
-<template>
-<div>
- <XWidgets :edit="editMode" :widgets="widgets" @addWidget="addWidget" @removeWidget="removeWidget" @updateWidget="updateWidget" @updateWidgets="updateWidgets" @exit="editMode = false"/>
-
- <button v-if="editMode" class="_textButton" style="font-size: 0.9em;" @click="editMode = false"><i class="ti ti-check"></i> {{ i18n.ts.editWidgetsExit }}</button>
- <button v-else class="_textButton" data-cy-widget-edit :class="$style.edit" style="font-size: 0.9em;" @click="editMode = true"><i class="ti ti-pencil"></i> {{ i18n.ts.editWidgets }}</button>
-</div>
-</template>
-
-<script lang="ts">
-import { computed, ref } from 'vue';
-const editMode = ref(false);
-</script>
-<script lang="ts" setup>
-import XWidgets from '@/components/MkWidgets.vue';
-import { i18n } from '@/i18n.js';
-import { prefer } from '@/preferences.js';
-
-const props = withDefaults(defineProps<{
- // null = 全てのウィジェットを表示
- // left = place: leftだけを表示
- // right = rightとnullを表示
- place?: 'left' | null | 'right';
-}>(), {
- place: null,
-});
-
-const widgets = computed(() => {
- if (props.place === null) return prefer.r.widgets.value;
- if (props.place === 'left') return prefer.r.widgets.value.filter(w => w.place === 'left');
- return prefer.r.widgets.value.filter(w => w.place !== 'left');
-});
-
-function addWidget(widget) {
- prefer.commit('widgets', [{
- ...widget,
- place: props.place,
- }, ...prefer.s.widgets]);
-}
-
-function removeWidget(widget) {
- prefer.commit('widgets', prefer.s.widgets.filter(w => w.id !== widget.id));
-}
-
-function updateWidget({ id, data }) {
- prefer.commit('widgets', prefer.s.widgets.map(w => w.id === id ? {
- ...w,
- data,
- place: props.place,
- } : w));
-}
-
-function updateWidgets(thisWidgets) {
- if (props.place === null) {
- prefer.commit('widgets', thisWidgets);
- return;
- }
- if (props.place === 'left') {
- prefer.commit('widgets', [
- ...thisWidgets.map(w => ({ ...w, place: 'left' })),
- ...prefer.s.widgets.filter(w => w.place !== 'left' && !thisWidgets.some(t => w.id === t.id)),
- ]);
- return;
- }
- prefer.commit('widgets', [
- ...prefer.s.widgets.filter(w => w.place === 'left' && !thisWidgets.some(t => w.id === t.id)),
- ...thisWidgets.map(w => ({ ...w, place: 'right' })),
- ]);
-}
-</script>
-
-<style lang="scss" module>
-.edit {
- width: 100%;
-}
-</style>