small refactoring

This commit is contained in:
Egor Aristov 2025-05-06 23:35:28 +03:00
parent 0e32cc3f17
commit 07f32f8e95
Signed by: egor3f
GPG Key ID: 40482A264AAEC85F
3 changed files with 7 additions and 7 deletions

View File

@ -1,5 +1,5 @@
import {defineStore} from "pinia"; import {defineStore} from "pinia";
import {emptySpecs, type SpecField, fields, type Specs, type SpecValue} from "@/urlmaker/specs.ts"; import {defaultSpecs, type SpecField, fields, type Specs, type SpecValue} from "@/urlmaker/specs.ts";
import {computed, reactive} from "vue"; import {computed, reactive} from "vue";
import {debounce} from "es-toolkit"; import {debounce} from "es-toolkit";
@ -8,7 +8,7 @@ const LOCAL_STORAGE_KEY = 'rssalchemy_store_wizard';
export const useWizardStore = defineStore('wizard', () => { export const useWizardStore = defineStore('wizard', () => {
const locStorageContent = localStorage.getItem(LOCAL_STORAGE_KEY); const locStorageContent = localStorage.getItem(LOCAL_STORAGE_KEY);
const initialSpecs = locStorageContent ? JSON.parse(locStorageContent) as Specs : emptySpecs; const initialSpecs = locStorageContent ? JSON.parse(locStorageContent) as Specs : defaultSpecs;
const specs = reactive(Object.assign({}, initialSpecs)); const specs = reactive(Object.assign({}, initialSpecs));
@ -31,7 +31,7 @@ export const useWizardStore = defineStore('wizard', () => {
updateLocalStorage(); updateLocalStorage();
} }
function reset() { function reset() {
Object.assign(specs, emptySpecs); Object.assign(specs, defaultSpecs);
updateLocalStorage(); updateLocalStorage();
} }

View File

@ -1,6 +1,6 @@
import type {Specs} from "@/urlmaker/specs.ts"; import {type Specs} from "@/urlmaker/specs.ts";
import {b64decode, b64encode, compress, decompress, decompressString} from "@/urlmaker/utils.ts"; import {b64decode, b64encode, compress, decompress, decompressString} from "@/urlmaker/utils.ts";
import {rssalchemy as pb} from '@/urlmaker/proto/specs.ts'; import {rssalchemy, rssalchemy as pb} from '@/urlmaker/proto/specs.ts';
const apiBase = import.meta.env.VITE_API_BASE || document.location.origin; const apiBase = import.meta.env.VITE_API_BASE || document.location.origin;
const renderEndpoint = '/api/v1/render/'; // trailing slash const renderEndpoint = '/api/v1/render/'; // trailing slash
@ -57,7 +57,7 @@ export async function encodePreset(specs: Specs): Promise<string> {
} }
export async function encodeSpecsPart(specs: Specs): Promise<string> { export async function encodeSpecsPart(specs: Specs): Promise<string> {
const pbSpecs = pb.Specs.fromObject(specs); const pbSpecs = pb.Specs.fromObject(specs as ReturnType<rssalchemy.Specs['toObject']>);
let data = pbSpecs.serializeBinary(); let data = pbSpecs.serializeBinary();
data = await compress(data); data = await compress(data);
const encodedData = b64encode(data); const encodedData = b64encode(data);

View File

@ -130,7 +130,7 @@ export const fields: SpecField[] = [
}, },
]; ];
export const emptySpecs = fields.reduce((o, f) => { export const defaultSpecs = fields.reduce((o, f) => {
o[f.name] = f.default; o[f.name] = f.default;
return o return o
}, {} as Specs); }, {} as Specs);