designtopack/src/stores/virtualSample.js

28 lines
833 B
JavaScript
Raw Normal View History

import { defineStore, storeToRefs } from 'pinia';
import { ref, watch } from 'vue';
import { usePageStore } from './page';
import { useDialogStore } from './dialog';
export const useVirtualSampleStore = defineStore('virtual-sample', () => {
2024-11-21 13:20:57 +01:00
const { page } = usePageStore();
const { openedFile } = storeToRefs(useDialogStore());
const step = page.steps.find((step) => step.id === 'virtualSample');
2024-12-20 15:52:42 +01:00
const isCompareModeEnabled = ref(false);
2024-11-21 13:20:57 +01:00
const activeTab = ref(step.files.dynamic ? 'dynamic' : 'static');
const currentFile = ref(null);
const isLoopAnimationEnabled = ref(false);
2025-01-07 16:54:08 +01:00
const isDownloadTriggered = ref(false);
watch(activeTab, () => (currentFile.value = null));
2024-12-20 15:52:42 +01:00
return {
activeTab,
currentFile,
step,
isLoopAnimationEnabled,
isCompareModeEnabled,
2025-01-07 16:54:08 +01:00
isDownloadTriggered,
2024-12-20 15:52:42 +01:00
};
});