From 8a072b1b4d5c4d81ed616f355eb2d201012d476d Mon Sep 17 00:00:00 2001 From: syuilo <4439005+syuilo@users.noreply.github.com> Date: Sat, 10 May 2025 17:03:17 +0900 Subject: [PATCH] wip --- .../frontend/src/components/MkDrive.file.vue | 4 +- packages/frontend/src/components/MkDrive.vue | 143 ++++++++++-------- .../src/composables/use-pagination.ts | 6 +- 3 files changed, 90 insertions(+), 63 deletions(-) diff --git a/packages/frontend/src/components/MkDrive.file.vue b/packages/frontend/src/components/MkDrive.file.vue index 70ab60cfae..388b8b56d7 100644 --- a/packages/frontend/src/components/MkDrive.file.vue +++ b/packages/frontend/src/components/MkDrive.file.vue @@ -240,8 +240,8 @@ function onDragend() { .name { display: block; - margin: 4px 0 0 0; - font-size: 0.8em; + margin: 8px 0 0 0; + font-size: 85%; text-align: center; word-break: break-all; color: var(--MI_THEME-fg); diff --git a/packages/frontend/src/components/MkDrive.vue b/packages/frontend/src/components/MkDrive.vue index 35aed7c202..3407805660 100644 --- a/packages/frontend/src/components/MkDrive.vue +++ b/packages/frontend/src/components/MkDrive.vue @@ -35,72 +35,80 @@ SPDX-License-Identifier: AGPL-3.0-only -
-
-
-
- -
- {{ i18n.ts.loadMore }} -
- -
- - - -
- +
+
+
+
+
- - {{ i18n.ts.loadMore }} -
+ {{ i18n.ts.loadMore }} +
-
-
{{ i18n.ts['empty-draghover'] }}
-
{{ i18n.ts.emptyDrive }}
{{ i18n.ts['empty-drive-description'] }}
-
{{ i18n.ts.emptyFolder }}
+
+ + + +
+ +
+
+ {{ i18n.ts.loadMore }} +
+ +
+
{{ i18n.ts['empty-draghover'] }}
+
{{ i18n.ts.emptyDrive }}
{{ i18n.ts['empty-drive-description'] }}
+
{{ i18n.ts.emptyFolder }}
+
+ +
- -
+ +
@@ -156,6 +164,8 @@ const draghover = ref(false); // (自分自身の階層にドロップできないようにするためのフラグ) const isDragSource = ref(false); +const isEditMode = ref(false); + const fetching = ref(true); const sortModeSelect = ref>('+createdAt'); @@ -171,6 +181,7 @@ const filesPaginator = usePagination({ })), }, autoInit: false, + autoReInit: false, }); const foldersPaginator = usePagination({ @@ -182,6 +193,7 @@ const foldersPaginator = usePagination({ })), }, autoInit: false, + autoReInit: false, }); const filesTimeline = makeDateGroupedTimelineComputedRef(filesPaginator.items, 'month'); @@ -613,6 +625,11 @@ function getMenu() { text: i18n.ts.createFolder, icon: 'ti ti-folder-plus', action: () => { createFolder(); }, + }, { type: 'divider' }, { + type: 'switch', + text: i18n.ts.edit, + icon: 'ti ti-pointer', + ref: isEditMode, }); return menu; @@ -739,6 +756,14 @@ onBeforeUnmount(() => { background-color: color(from var(--MI_THEME-bg) srgb r g b / 0.85); } +.footer { + padding: 8px 16px; + font-size: 90%; + -webkit-backdrop-filter: var(--MI-blur, blur(8px)); + backdrop-filter: var(--MI-blur, blur(8px)); + background-color: color(from var(--MI_THEME-bg) srgb r g b / 0.85); +} + .empty { padding: 16px; text-align: center; diff --git a/packages/frontend/src/composables/use-pagination.ts b/packages/frontend/src/composables/use-pagination.ts index 9325caeadc..cf8543c16a 100644 --- a/packages/frontend/src/composables/use-pagination.ts +++ b/packages/frontend/src/composables/use-pagination.ts @@ -40,6 +40,7 @@ export type PagingCtx(props: { ctx: PagingCtx; autoInit?: boolean; + autoReInit?: boolean; useShallowRef?: boolean; }) { const items = props.useShallowRef ? shallowRef([]) : ref([]); @@ -50,8 +51,9 @@ export function usePagination [props.ctx.endpoint, props.ctx.params], init, { deep: true }); + if (props.autoReInit !== false) { + watch(() => [props.ctx.endpoint, props.ctx.params], init, { deep: true }); + } function getNewestId(): string | null | undefined { // 様々な要因により並び順は保証されないのでソートが必要