Skip to content

Commit 55266c2

Browse files
committed
fix: add Svelte's key value for '#each' blocks to ensure reactivity of nested components; fix import
Signed-off-by: Robert Goniszewski <[email protected]>
1 parent 25183a2 commit 55266c2

File tree

8 files changed

+11
-12
lines changed

8 files changed

+11
-12
lines changed

src/lib/components/BookmarkCard/BookmarkCard.svelte

+1-1
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,7 @@
266266
<div class="card-actions justify-end px-2 font-medium tracking-tight gap-1">
267267
<span class="font-sans font-semibold text-xs">#</span>
268268
{#if bookmark.tags}
269-
{#each bookmark.tags as tag}
269+
{#each bookmark.tags as tag (tag.id)}
270270
<a href={`/tags/${tag.name}`} class="link font-sans text-xs">{tag.name}</a>
271271
{/each}
272272
{/if}

src/lib/components/BookmarkListItem/BookmarkListItem.svelte

+1-1
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@
139139
<div class="flex w-full gap-1">
140140
<span class="font-sans font-semibold text-xs">#</span>
141141
{#if bookmark.tags}
142-
{#each bookmark.tags as tag}
142+
{#each bookmark.tags as tag (tag.id)}
143143
<a
144144
href={`/tags/${tag.name}`}
145145
class="link font-sans text-xs w-full whitespace-nowrap max-w-[8rem] hover:text-secondary"

src/lib/components/BookmarksList/BookmarkList.svelte

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@
1313
{#if $page.data.bookmarks.length > 0}
1414
{#if $userSettingsStore.bookmarksView === 'grid'}
1515
<div class="w-full grid grid-cols-1 sm:grid-cols-2 xl:grid-cols-3 2xl:grid-cols-4 gap-6">
16-
{#each bookmarks as bookmark}
16+
{#each bookmarks as bookmark (bookmark.id)}
1717
<BookmarkCard {bookmark} />
1818
{/each}
1919
</div>
2020
{:else if $userSettingsStore.bookmarksView === 'list'}
2121
<div class="flex flex-col w-full gap-2">
22-
{#each bookmarks as bookmark}
22+
{#each bookmarks as bookmark (bookmark.id)}
2323
<BookmarkListItem {bookmark} />
2424
{/each}
2525
</div>

src/lib/components/CategoryTree/CategoryTree.svelte

+3-4
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
<script lang="ts">
2-
import { editCategoryStore } from '$lib/stores/edit-category.store';
32
import Icon from '$lib/components/Icon/Icon.svelte';
4-
import type { Category } from '$lib/interfaces/Category.interface';
3+
import type { Category } from '$lib/types/Category.type';
54
65
export let categories: (Category & { children?: Category[] })[] | [] = [];
76
</script>
87

9-
{#each categories as category}
8+
{#each categories as category (category.id)}
109
<div class="flex flex-col">
1110
<div class="flex items-center">
1211
{#if !category.icon}
@@ -23,7 +22,7 @@
2322
</div>
2423

2524
{#if category.children}
26-
{#each category.children as categoryChild}
25+
{#each category.children as categoryChild (categoryChild.id)}
2726
<div class="flex items-center ml-4">
2827
{#if !categoryChild.icon}
2928
<div

src/lib/components/ShowBookmarkContent/ShowBookmarkContent.svelte

+1-1
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@
6363
<h3 class="text-xl">Tags</h3>
6464
<div class="flex flex-wrap gap-2 m-1">
6565
{#if $bookmark.tags?.length}
66-
{#each $bookmark.tags as tag}
66+
{#each $bookmark.tags as tag (tag.id)}
6767
<span class="badge badge-outline badge-sm whitespace-nowrap">{tag.name}</span>
6868
{/each}
6969
{:else}

src/routes/+layout.svelte

+1-1
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@
155155
<div>
156156
<h3 class="text-xl">Tags</h3>
157157
<div class="flex flex-wrap p-2">
158-
{#each $page.data.tags as tag}
158+
{#each $page.data.tags as tag (tag.id)}
159159
{#if tag.bookmarks.length > 0}
160160
<a href={`/tags/${tag.slug}`} class="link m-1 hover:text-secondary"
161161
>#{tag.name}</a

src/routes/admin/+page.svelte

+1-1
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@
6767
</thead>
6868
<!-- body -->
6969
<tbody>
70-
{#each data.adminData.users as user}
70+
{#each data.adminData.users as user (user.id)}
7171
<tr>
7272
<td>{user.id}</td>
7373
<td>{user.name}</td>

src/routes/profile/+page.svelte

+1-1
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@
8282
<h2 class="card-title">Latest bookmarks</h2>
8383
{#if $page.data.bookmarks.length > 0}
8484
<div class="flex flex-col w-full columns-sm gap-2">
85-
{#each $page.data.bookmarks.slice(0, 3) as bookmark}
85+
{#each $page.data.bookmarks.slice(0, 3) as bookmark (bookmark.id)}
8686
<a
8787
href={bookmark.url}
8888
title={bookmark.url}

0 commit comments

Comments
 (0)