diff --git a/web/src/components/FileGrid.vue b/web/src/components/FileGrid.vue index f227f5b..a341067 100644 --- a/web/src/components/FileGrid.vue +++ b/web/src/components/FileGrid.vue @@ -6,7 +6,7 @@ import { getFileIcon, getFileTypeColor, isImage } from '@/utils/file' const props = defineProps({ files: { type: Array, - required: true, + required: false, default: () => [], }, folders: { @@ -29,6 +29,10 @@ const props = defineProps({ type: Boolean, default: true, }, + viewMode: { + type: String, + default: 'grid', // 'grid' or 'list' + }, }) const emit = defineEmits([ @@ -90,71 +94,233 @@ const hoveredFolder = ref(null) diff --git a/web/src/views/files/FilesView.vue b/web/src/views/files/FilesView.vue index 4731c1d..d558f28 100644 --- a/web/src/views/files/FilesView.vue +++ b/web/src/views/files/FilesView.vue @@ -44,6 +44,7 @@ const selectedFiles = ref([]) const selectedFolders = ref([]) const isSelectionMode = ref(false) const showBatchMoveModal = ref(false) +const viewMode = ref('grid') // 'grid' or 'list' const moveTargetFolderId = ref(null) const moveBreadcrumbs = ref([]) const moveFolders = ref([]) @@ -421,10 +422,10 @@ onMounted(async () => {