Updated stores

This commit is contained in:
Roman Krček
2025-08-06 13:45:03 +02:00
parent 2f730fdbbb
commit d8b4eea3ef
2 changed files with 83 additions and 100 deletions

View File

@@ -1,5 +1,6 @@
<script lang="ts">
import { availableSheets, selectedSheet, currentStep } from '$lib/stores';
import { selectedSheet, currentStep } from '$lib/stores';
import type { SheetInfoType } from '$lib/stores';
import { searchSheets } from '$lib/google';
import { onMount } from 'svelte';
import Navigator from './subcomponents/Navigator.svelte';
@@ -25,19 +26,11 @@
try {
searchResults = await searchSheets(searchQuery);
availableSheets.set(
searchResults.map((sheet) => ({
spreadsheetId: sheet.spreadsheetId || sheet.id,
name: sheet.name,
url: sheet.webViewLink
}))
);
hasSearched = true;
} catch (err) {
console.error('Error searching sheets:', err);
error = 'Failed to search sheets. Please check your connection and try again.';
searchResults = [];
availableSheets.set([]);
} finally {
isLoading = false;
}
@@ -57,11 +50,24 @@
}
}
function saveRecentSheet(sheet) {
// Remove duplicates
recentSheets = recentSheets.filter(s => s.id !== sheet.id);
recentSheets.unshift(sheet);
// Limit to 5 recent sheets
if (recentSheets.length > 5) {
recentSheets.pop();
}
localStorage.setItem(RECENT_SHEETS_KEY, JSON.stringify(recentSheets));
}
function handleSelectSheet(sheet) {
const sheetData = {
spreadsheetId: sheet.spreadsheetId || sheet.id,
const sheetData: SheetInfoType = {
id: sheet.id,
name: sheet.name,
url: sheet.webViewLink || sheet.url
webViewLink: sheet.webViewLink
};
selectedSheet.set(sheetData);
}
@@ -264,5 +270,6 @@
textBack="Back to Auth"
textForwardDisabled="Select a sheet"
textForwardEnabled="Continue"
onForward={() => saveRecentSheet($selectedSheet)}
/>
</div>