Files
immich/web/src/lib/stores/asset-viewing.store.ts
Sergey Kondrikov 5f9dfa9493 refactor(web): asset grid stores (#3464)
* Refactor asset grid stores

* Iterate over buckets with for..of loop

* Rebase on top of main branch changes
2023-07-31 20:27:56 -05:00

32 lines
769 B
TypeScript

import { writable } from 'svelte/store';
import { api, type AssetResponseDto } from '@api';
function createAssetViewingStore() {
const viewingAssetStoreState = writable<AssetResponseDto>();
const viewState = writable<boolean>(false);
const setAssetId = async (id: string) => {
const { data } = await api.assetApi.getAssetById({ id });
viewingAssetStoreState.set(data);
viewState.set(true);
};
const showAssetViewer = (show: boolean) => {
viewState.set(show);
};
return {
asset: {
subscribe: viewingAssetStoreState.subscribe,
},
isViewing: {
subscribe: viewState.subscribe,
set: viewState.set,
},
setAssetId,
showAssetViewer,
};
}
export const assetViewingStore = createAssetViewingStore();