wip: file list

This commit is contained in:
zhaoyupeng
2024-10-14 18:08:49 +08:00
parent 660c5a7efb
commit 6f15f82122
12 changed files with 168 additions and 114 deletions

View File

@@ -5,10 +5,8 @@ import {Dial} from "../api";
interface StoreFile {
file_active: string | null,
file_set: (key: string) => Promise<void>,
prefix: string;
filter: string;
files_list: S3File[];
files_get: (conn: Connection, bucket: Bucket, prefix?: string, filter?: string) => void;
files_get: (conn: Connection, bucket: Bucket, prefix?: string, filter?: string) => Promise<void>;
}
export const useStoreFile = create<StoreFile>()((set) => ({
@@ -18,8 +16,6 @@ export const useStoreFile = create<StoreFile>()((set) => ({
return {file_active: key}
})
},
prefix: "",
filter: "",
files_list: [],
files_get: async (conn: Connection, bucket: Bucket, prefix = '', filter = '') => {
const res = await Dial<{ list: S3File[] }>('/api/bucket/files', {
@@ -33,7 +29,25 @@ export const useStoreFile = create<StoreFile>()((set) => ({
}
set((state) => {
return {files_list: res.data.list, prefix: prefix, filter: filter}
return {files_list: res.data.list}
})
}
},
}))
interface StoreFileFilter {
prefix: string;
filter: string;
prefix_set: (prefix: string) => Promise<void>;
filter_set: (filter: string) => Promise<void>;
}
export const useStoreFileFilter = create<StoreFileFilter>()((set) => ({
prefix: '',
filter: '',
prefix_set: async (keyword: string) => {
set(state => {return {prefix: keyword}})
},
filter_set: async (keyword: string) => {
set(state => {return {filter: keyword}})
},
}))