|
6 | 6 | import YizyLogo from './YIZYLogo.svelte'; |
7 | 7 | import Button from './button/button.svelte'; |
8 | 8 | import { User } from 'lucide-svelte'; |
9 | | - import * as localStorageService from '$lib/localStorageService'; |
10 | 9 | import { onMount } from 'svelte'; |
11 | 10 |
|
12 | | - let { onOpenSidebarBtnClicked }: { onOpenSidebarBtnClicked?: () => void } = $props(); |
| 11 | + let { |
| 12 | + isUserLoggedIn, |
| 13 | + userHasActiveSubscription, |
| 14 | + onOpenSidebarBtnClicked |
| 15 | + }: { |
| 16 | + isUserLoggedIn: boolean; |
| 17 | + userHasActiveSubscription: boolean; |
| 18 | + onOpenSidebarBtnClicked?: () => void; |
| 19 | + } = $props(); |
13 | 20 |
|
14 | | - let isLoggedIn = $state(false); |
15 | 21 | let isMounted = $state(false); |
16 | 22 | onMount(() => { |
17 | | - isLoggedIn = localStorageService.getIsLoggedIn(); |
18 | 23 | isMounted = true; |
19 | 24 | }); |
20 | 25 |
|
|
38 | 43 | class="mx-2 my-auto hidden text-sm font-bold hover:text-primary sm:mx-4 sm:text-lg md:block" |
39 | 44 | >Home</a> |
40 | 45 |
|
41 | | - <a |
42 | | - href="/demo" |
43 | | - class="mx-2 my-auto hidden text-center text-sm font-bold hover:text-primary sm:mx-4 sm:text-left sm:text-lg md:block" |
44 | | - >Demo</a> |
45 | | - |
46 | 46 | <a |
47 | 47 | href="/doc/introduction" |
48 | 48 | class="mx-2 my-auto hidden text-center text-sm font-bold hover:text-primary sm:mx-4 sm:text-left sm:text-lg md:block" |
49 | 49 | >Documentation</a> |
50 | 50 |
|
51 | | - {#if !isLoggedIn && isMounted} |
| 51 | + {#if !isUserLoggedIn && isMounted} |
52 | 52 | <a |
53 | 53 | href="/login" |
54 | 54 | class="mx-2 my-auto hidden text-center text-sm font-bold hover:text-primary sm:mx-4 sm:text-left sm:text-lg md:block" |
55 | 55 | >Login</a> |
56 | 56 | {/if} |
| 57 | + |
| 58 | + {#if userHasActiveSubscription} |
| 59 | + <a |
| 60 | + href="/app" |
| 61 | + class="mx-2 my-auto hidden text-center text-sm font-bold hover:text-primary sm:mx-4 sm:text-left sm:text-lg md:block"> |
| 62 | + App |
| 63 | + </a> |
| 64 | + {/if} |
57 | 65 | <div class="ml-4 flex h-full"> |
58 | 66 | <a |
59 | 67 | href="https://github.com/YIZY-API/yizy-web-app" |
|
66 | 74 | <div class="my-auto ml-2 hidden md:block"> |
67 | 75 | <DarkModeToggle /> |
68 | 76 | </div> |
69 | | - {#if isLoggedIn && isMounted} |
| 77 | + {#if isUserLoggedIn && isMounted} |
70 | 78 | <DropdownMenu.Root> |
71 | 79 | <DropdownMenu.Trigger> |
72 | 80 | <div class="my-auto ml-2 hidden md:block"> |
|
81 | 89 | <DropdownMenu.Separator /> |
82 | 90 | <DropdownMenu.Item> |
83 | 91 | <button |
84 | | - class="bg-transparent" |
| 92 | + class="bg-transparent outline-none" |
85 | 93 | onclick={() => { |
86 | | - localStorageService.setClientSideLogoutState(); |
87 | 94 | window.location.href = '/api/auth/logout'; |
88 | 95 | }}> |
89 | 96 | Log out |
90 | 97 | </button> |
91 | 98 | </DropdownMenu.Item> |
| 99 | + |
| 100 | + {#if userHasActiveSubscription} |
| 101 | + <DropdownMenu.Item> |
| 102 | + <form action="/api/stripe/createPortalSession" method="POST"> |
| 103 | + <button class="bg-transparent" type="submit"> Billing </button> |
| 104 | + </form> |
| 105 | + </DropdownMenu.Item> |
| 106 | + {/if} |
92 | 107 | </DropdownMenu.Group> |
93 | 108 | </DropdownMenu.Content> |
94 | 109 | </DropdownMenu.Root> |
|
0 commit comments