Skip to content

Commit 76a98cd

Browse files
committed
Fix local state warnings
1 parent e2909b5 commit 76a98cd

7 files changed

Lines changed: 30 additions & 23 deletions

File tree

src/lib/components/BookmarkButton.svelte

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
33
44
let { fillColor, emptyColor, onclick, filled } = $props();
55
6-
const icons_filled = {
6+
const icons_filled = $derived({
77
color: fillColor,
88
Icon: BookmarkIcon
9-
};
10-
const icons_empty = {
9+
});
10+
const icons_empty = $derived({
1111
color: emptyColor,
1212
Icon: BookmarkOutlineIcon
13-
};
13+
});
1414
1515
const { color, Icon } = $derived(filled ? icons_filled : icons_empty);
1616
</script>

src/lib/components/ScriptureViewSofria.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ LOGGING:
3737
<script lang="ts">
3838
/* eslint-disable svelte/no-dom-manipulating */
3939
40-
import { base } from '$app/paths';
4140
import { scriptureConfig } from '$assets/config';
4241
import { hasAudioPlayed, seekToVerse } from '$lib/data/audio';
4342
import {
@@ -258,6 +257,7 @@ LOGGING:
258257
}
259258
});
260259
260+
// svelte-ignore state_referenced_locally
261261
const stateSelectedVerses = fromStore(selectedVerses);
262262
$effect(() => {
263263
// eslint-disable-next-line @typescript-eslint/no-unused-expressions

src/lib/components/SearchResultList.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
// Changes to signal when to clear results
2525
const showSpinner = $derived(!queryDone && results.length === 0);
2626
let resultsShown = $state<SearchResult[]>([]);
27-
let displayQueryId = $state(queryId);
27+
let displayQueryId = $derived(queryId);
2828
2929
const resultCountText = $derived(formatResultCount(results.length));
3030

src/routes/history/+page.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import DeleteSweepIcon from '$lib/icons/DeleteSweepIcon.svelte';
77
88
let { data } = $props();
9-
let history = $state([...data.history].reverse());
9+
let history = $derived([...data.history].reverse());
1010
1111
async function onClearHistory() {
1212
await clearHistory();

src/routes/lexicon/+page.svelte

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -25,16 +25,16 @@
2525
2626
const { data }: Props = $props();
2727
28-
const { vernacularAlphabet } = data;
28+
const { vernacularAlphabet } = $derived(data);
2929
30-
const alphabets = {
30+
const alphabets = $derived({
3131
reversal: Object.fromEntries(
32-
reversals.entries().map(([code, alpha]) => [code, Array.from(alpha.keys())])
32+
reversals.entries().map(([code, alpha]) => [code, Array.from(alpha?.keys() ?? [])])
3333
),
3434
vernacular: vernacularAlphabet
35-
};
35+
});
3636
37-
let selectedLetter = alphabets.vernacular[0];
37+
let selectedLetter = $derived(alphabets.vernacular?.[0]);
3838
let scrollContainer: HTMLDivElement | undefined = $state(undefined);
3939
4040
//$: selectedLanguage = currentReversal.selectedLanguage;
@@ -45,7 +45,9 @@
4545
currentReversal.languageId = vernacularLanguageId.value;
4646
});
4747
48-
const validReversal = $derived(reversals.has(currentReversal.languageId));
48+
const validReversal = $derived(
49+
!!currentReversal.languageId && reversals.has(currentReversal.languageId)
50+
);
4951
5052
async function scrollToLetter(letter: string) {
5153
await tick();
@@ -68,7 +70,7 @@
6870
6971
function switchLanguage(language: string) {
7072
currentReversal.languageId = language;
71-
selectedLetter = currentAlphabet[0];
73+
selectedLetter = currentAlphabet?.[0];
7274
const scrollableDiv = document.querySelector('.flex-1.overflow-y-auto.bg-base-100');
7375
if (scrollableDiv) {
7476
scrollableDiv.scrollTop = 0;
@@ -90,16 +92,16 @@
9092
const threshold = 100;
9193
9294
if (div.scrollHeight - div.scrollTop - div.clientHeight < threshold) {
93-
const currentIndex = currentAlphabet.indexOf(selectedLetter);
94-
if (!currentReversal.letters.has(currentAlphabet[currentIndex + 1])) {
95-
if (currentIndex < currentAlphabet.length - 1) {
95+
const currentIndex = currentAlphabet?.indexOf(selectedLetter ?? '') ?? -1;
96+
if (!currentReversal.letters.has(currentAlphabet?.[currentIndex + 1] ?? '')) {
97+
if (currentIndex < (currentAlphabet?.length ?? 0) - 1) {
9698
isFetching = true;
9799
98100
isFetching = false;
99101
}
100102
}
101103
} else if (
102-
(validReversal && currentReversal.letters.has(selectedLetter)) ||
104+
(validReversal && currentReversal.letters.has(selectedLetter ?? '')) ||
103105
currentReversal.languageId === vernacularLanguageId.value
104106
) {
105107
const allLetters = div.querySelectorAll('[id^="letter-"]');
@@ -120,7 +122,9 @@
120122
}
121123
122124
let currentAlphabet = $derived(
123-
validReversal ? alphabets.reversal[currentReversal.languageId] : alphabets.vernacular
125+
validReversal && currentReversal.languageId
126+
? alphabets.reversal[currentReversal.languageId]
127+
: alphabets.vernacular
124128
);
125129
126130
onMount(() => {
@@ -136,7 +140,7 @@
136140
<WordNavigationStrip />
137141
{:else}
138142
{@const tabs = [vernacularLanguageId.value, ...reversals.keys()]}
139-
{@const indexOfPrevious = tabs.indexOf(previousLanguage)}
143+
{@const indexOfPrevious = previousLanguage ? tabs.indexOf(previousLanguage) : 0}
140144
<div class="flex w-full" style="background-color: var(--TabBackgroundColor);">
141145
{#each tabs as lang, i}
142146
<button
@@ -168,7 +172,10 @@
168172
style="border-color: var(--SettingsSeparatorColor);"
169173
disabled={currentReversal.languageId !== vernacularLanguageId.value &&
170174
!Array.from(
171-
reversals.get(currentReversal.languageId)?.get(letter)?.values() || []
175+
reversals
176+
.get(currentReversal.languageId ?? '')
177+
?.get(letter)
178+
?.values() || []
172179
).find((w) => w.length)}
173180
onclick={() => handleLetterChange(letter)}
174181
>

src/routes/notes/edit/[noteid]/+page.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
let textarea: HTMLTextAreaElement | undefined = $state();
1616
const note = $derived(data.note);
1717
const isNew = $derived(note ? false : true);
18-
let text = $state(note?.text ?? '');
18+
let text = $derived(note?.text ?? '');
1919
const reference = $derived(note?.reference ?? $selectedVerses[0]?.reference);
2020
const title = $derived(isNew ? 'Annotation_Note_Add' : 'Annotation_Note_Edit');
2121

src/routes/plans/[id]/+page.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
let inUse = $state(false);
4848
//could be info or calendar for a plan thats not in use, if the plan is in use, there is a settings tab
4949
checkPlanState();
50-
let selectedDay = $state(data.planData.items?.[0]);
50+
let selectedDay = $derived(data.planData.items?.[0]);
5151
const planId = $derived(data.planData.id);
5252
let currentPlanStatus = $state('');
5353
let currentStatusDateString = '';

0 commit comments

Comments
 (0)