Skip to content

Commit 71ad653

Browse files
committed
Fix eslint warnings in viewer
1 parent 33b567d commit 71ad653

21 files changed

Lines changed: 40 additions & 37 deletions

frontend/viewer/eslint.config.js

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -154,14 +154,4 @@ export default [
154154
},
155155
},
156156
...storybook.configs["flat/recommended"],
157-
{
158-
// TEMPORARY IGNORES, to be gotten rid of as soon as possible - 2025-07-24 RM
159-
files: ['**/*.svelte', '**/*.svelte.ts'],
160-
rules: {
161-
'svelte/require-each-key': 'off',
162-
'svelte/no-useless-mustaches': 'off',
163-
'svelte/prefer-svelte-reactivity': 'off',
164-
'svelte/no-unused-props': 'off',
165-
},
166-
},
167157
];

frontend/viewer/src/home/HomeView.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@
188188
</ButtonListItem>
189189
{/each}
190190
<DevContent>
191-
<ButtonListItem href={`/testing/project-view`}>
191+
<ButtonListItem href="/testing/project-view">
192192
<ListItem title={$t`Test Project`} icon={mdiTestTube}
193193
classes={{root: 'dark:bg-muted/50 bg-muted/80 hover:bg-muted/30 hover:dark:bg-muted'}}>
194194
<div slot="actions" class="pointer-events-none shrink-0">

frontend/viewer/src/home/Server.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@
100100
</p>
101101
{:else}
102102
<div class="shadow rounded">
103-
{#each projects as project}
103+
{#each projects as project (project.id)}
104104
{@const localProject = matchesProject(localProjects, project)}
105105
{#if localProject?.crdt}
106106
<ButtonListItem href={`/project/${project.code}`}>

frontend/viewer/src/home/ServersList.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
{#await serversPromise}
5656
<Server status={undefined} projects={[]} localProjects={[]} loading={true}/>
5757
{:then serversStatus}
58-
{#each serversStatus as status}
58+
{#each serversStatus as status (status.server.id)}
5959
{@const server = status.server}
6060
{@const serverProjects = remoteProjects[server.id]?.filter(p => p.crdt) ?? []}
6161
<Server {status}

frontend/viewer/src/lib/DictionaryEntry.svelte

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@
9393
{:else}
9494
<span class="font-bold">{index + 1}</span>
9595
{/if}
96+
<!-- eslint-disable-next-line svelte/no-useless-mustaches This mustache is not useless, it preserves whitespace -->
9697
{' · '}
9798
{/snippet}
9899

@@ -102,6 +103,7 @@
102103
</div>
103104
<strong class="mr-1">
104105
{#each headwords as headword, i (headword.wsId)}
106+
<!-- eslint-disable-next-line svelte/no-useless-mustaches This mustache is not useless, it preserves whitespace -->
105107
{#if i > 0}{' / '}{/if}
106108
<span class={headword.color}>{headword.value}</span>
107109
{/each}
@@ -123,11 +125,12 @@
123125
{#if glossAndDef.definition}
124126
<span class={glossAndDef.color}>{glossAndDef.definition}</span>
125127
{/if}
128+
<!-- eslint-disable-next-line svelte/no-useless-mustaches This mustache is not useless, it is deliberately an empty string with no whitespace -->
126129
{''}
127130
{/each}
128131
</span>
129132
{#each sense.exampleSentences as example (example.id)}
130-
{#each example.sentences as sentence, j}
133+
{#each example.sentences as sentence, j (sentence)}
131134
{@const first = j === 0}
132135
{@const last = j === example.sentences.length - 1}
133136
{#if j > 0};{/if}

frontend/viewer/src/lib/activity/ActivityView.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@
109109
<div
110110
class="change-list col-start-2 row-start-2 flex flex-col gap-4 overflow-auto p-1 border rounded h-max max-h-full">
111111
<InfiniteScroll perPage={100} items={selectedRow.changes} let:visibleItems>
112-
{#each visibleItems as change}
112+
{#each visibleItems as change (change)}
113113
<div class="change whitespace-pre-wrap font-mono text-sm">
114114
{formatJsonForUi(change)}
115115
</div>

frontend/viewer/src/lib/components/reorderer/reorderer-item-list.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
</script>
4242

4343
<DropdownMenu.Group {...mergedProps}>
44-
{#each displayItems as item, i}
44+
{#each displayItems as item, i (item)}
4545
{@const reorderName = getDisplayName(item) || ''}
4646
<DropdownMenu.Item class="grid grid-cols-subgrid col-span-full justify-items-start items-center"
4747
onmouseover={() => displayIndex = i}

frontend/viewer/src/lib/entry-editor/EntryOrSensePicker.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@
215215
</Badge>
216216
{/if}
217217
</ListItem>
218-
{#each selectedEntry.senses as sense}
218+
{#each selectedEntry.senses as sense (sense.id)}
219219
{@const disabledSense = disableSense?.(sense, selectedEntry)}
220220
<SenseRow
221221
{sense}

frontend/viewer/src/lib/entry-editor/ItemListItem.svelte

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,18 @@
2323
2424
let {
2525
item,
26+
// TODO: Either use `index` or remove it as a prop
27+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
28+
index,
2629
items = $bindable(),
2730
readonly,
2831
orderable = false,
2932
getDisplayName,
3033
onchange,
3134
menuItems,
35+
// TODO: Either use `actions` or remove it as a prop
36+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
37+
actions,
3238
} : ItemListItemProps<T> = $props();
3339
3440
const displayName = $derived(getDisplayName(item) || '');

frontend/viewer/src/lib/entry-editor/NewEntryDialog.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@
101101
</OverrideFields>
102102
{#if errors.length}
103103
<div class="text-end space-y-2">
104-
{#each errors as error}
104+
{#each errors as error (error)}
105105
<p class="text-destructive">{error}</p>
106106
{/each}
107107
</div>

0 commit comments

Comments
 (0)