Skip to content

Commit db91603

Browse files
committed
use a store
1 parent bba1a04 commit db91603

File tree

11 files changed

+31
-20
lines changed

11 files changed

+31
-20
lines changed

src/lib/ArticleList/index.svelte

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<script>
2+
import { user } from '$lib/stores';
23
import ArticlePreview from './ArticlePreview.svelte';
34
4-
export let user;
55
export let articles;
66
</script>
77

@@ -10,7 +10,7 @@
1010
{:else}
1111
<div>
1212
{#each articles as article (article.slug)}
13-
<ArticlePreview {article} {user} />
13+
<ArticlePreview {article} user={$user} />
1414
{/each}
1515
</div>
1616
{/if}

src/lib/Nav.svelte

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
<script>
22
import { page } from '$app/stores';
3-
4-
export let user;
3+
import { user } from '$lib/stores';
54
</script>
65

76
<nav class="navbar navbar-light">
@@ -14,7 +13,7 @@
1413
>
1514
</li>
1615

17-
{#if user}
16+
{#if $user}
1817
<li class="nav-item">
1918
<a
2019
rel="prefetch"
@@ -38,9 +37,9 @@
3837
</li>
3938

4039
<li class="nav-item">
41-
<a rel="prefetch" href="/profile/@{user.username}" class="nav-link">
40+
<a rel="prefetch" href="/profile/@{$user.username}" class="nav-link">
4241
<!-- <img src={$user.image} class="user-pic" alt={$user.username}> -->
43-
{user.username}
42+
{$user.username}
4443
</a>
4544
</li>
4645
{:else}

src/lib/stores.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import { writable } from 'svelte/store';
2+
3+
export const user = writable();

src/routes/+layout.svelte

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,19 @@
11
<script>
22
import { navigating } from '$app/stores';
3+
import { user } from '$lib/stores';
34
import Nav from '$lib/Nav.svelte';
45
import PreloadingIndicator from '$lib/PreloadingIndicator.svelte';
56
67
export let data;
8+
9+
$: user.set(data.user);
710
</script>
811

912
{#if $navigating}
1013
<PreloadingIndicator />
1114
{/if}
1215

13-
<Nav user={data.user} />
16+
<Nav />
1417

1518
<main>
1619
<slot />

src/routes/+page.svelte

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<script>
22
import { page } from '$app/stores';
3+
import { user } from '$lib/stores';
34
import ArticleList from '$lib/ArticleList/index.svelte';
45
import Pagination from '$lib/Pagination.svelte';
56
@@ -17,7 +18,7 @@
1718
</svelte:head>
1819

1920
<div class="home-page">
20-
{#if !data.user}
21+
{#if !$user}
2122
<div class="banner">
2223
<div class="container">
2324
<h1 class="logo-font">conduit</h1>
@@ -42,7 +43,7 @@
4243
</a>
4344
</li>
4445

45-
{#if data.user}
46+
{#if $user}
4647
<li class="nav-item">
4748
<a href="/?tab=feed" rel="prefetch" class="nav-link" class:active={tab === 'feed'}>
4849
Your Feed
@@ -65,7 +66,7 @@
6566
</ul>
6667
</div>
6768

68-
<ArticleList articles={data.articles} user={data.user} />
69+
<ArticleList articles={data.articles} />
6970
<Pagination pages={data.pages} {p} href={(p) => `/?${page_link_base}&page=${p}`} />
7071
</div>
7172

src/routes/article/[slug]/+page.svelte

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<script>
22
import { marked } from 'marked';
33
4+
import { user } from '$lib/stores';
45
import ArticleMeta from './_ArticleMeta.svelte';
56
import CommentContainer from './_CommentContainer.svelte';
67
@@ -18,7 +19,7 @@
1819
<div class="banner">
1920
<div class="container">
2021
<h1>{data.article.title}</h1>
21-
<ArticleMeta article={data.article} user={data.user} />
22+
<ArticleMeta article={data.article} user={$user} />
2223
</div>
2324
</div>
2425

@@ -42,7 +43,7 @@
4243
<div class="article-actions" />
4344

4445
<div class="row">
45-
<CommentContainer slug={data.slug} comments={data.comments} user={data.user} errors={[]} />
46+
<CommentContainer slug={data.slug} comments={data.comments} user={$user} errors={[]} />
4647
</div>
4748
</div>
4849
</div>

src/routes/login/+page.svelte

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<script>
22
import { goto } from '$app/navigation';
3+
import { user } from '$lib/stores';
34
import { post } from '$lib/utils.js';
45
import ListErrors from '$lib/ListErrors.svelte';
56
@@ -14,6 +15,7 @@
1415
errors = response.errors;
1516
1617
if (response.user) {
18+
user.set(response.user);
1719
goto('/');
1820
}
1921
}

src/routes/profile/%40[user]/+layout.svelte

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<script>
22
import { page } from '$app/stores';
3+
import { user } from '$lib/stores';
34
45
/** @type {import('./$types').PageData} */
56
export let data;
@@ -8,7 +9,7 @@
89
// https://github.com/sveltejs/kit/issues/269
910
$: segments = $page.url.pathname.split('/');
1011
$: is_favorites = segments.length === 4 && segments[3] === 'favorites';
11-
$: is_user = data.user && data.profile.username === data.user.username;
12+
$: is_user = $user && data.profile.username === $user.username;
1213
1314
let current_token;
1415
async function toggle_following() {
@@ -54,7 +55,7 @@
5455
<i class="ion-gear-a" />
5556
Edit Profile Settings
5657
</a>
57-
{:else if data.user}
58+
{:else if $user}
5859
<button
5960
class="btn btn-sm action-btn {data.profile.following
6061
? 'btn-secondary'

src/routes/profile/%40[user]/+page.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,4 @@
1010
export let data;
1111
</script>
1212

13-
<ArticleList articles={data.articles} user={data.user} />
13+
<ArticleList articles={data.articles} />

src/routes/profile/%40[user]/favorites/+page.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,4 @@
1010
export let data;
1111
</script>
1212

13-
<ArticleList articles={data.articles} user={data.user} />
13+
<ArticleList articles={data.articles} />

0 commit comments

Comments
 (0)