summaryrefslogtreecommitdiffstats
path: root/apps/portal/src/app/pages/home.svelte
blob: 0e325ee83468558945558f0894afe6dfd2dd1f04 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<script>
	import {projects_base} from "$shared/lib/configuration";
	import {get_session_data} from "$shared/lib/session";
	import {push} from "svelte-spa-router";
	import Layout from "./_layout@loggedin.svelte";
	import LinkCard from "$shared/components/link-card.svelte";
    import Alert from "$shared/components/alert.svelte";
	import {UserIcon, UsersIcon, WatchIcon, SendIcon, ListIcon} from "svelte-feather-icons";

	let showUsers = true;
	const session = get_session_data();
</script>

<Layout>
    <div class="grid gap-md">
        <div class="row">
            <Alert closeable="true"
                   closeableCooldown="~"
                   id="welcome-note"
                   title="Hello {session.profile?.username}" 
                   message="This is your portal to Greatoffice, here you will find all your great apps and management options."/>
        </div>
        <div class="row">
            <h2 class="margin-bottom-xs">Apps</h2>
            <div class="grid-auto-md gap-sm">
                <LinkCard name="Projects"
                          description="The home for your projects"
                          text="Open in a new tab"
                          title="Open Projects"
                          href="{projects_base()}">
                    <figure slot="icon">
                        <div class="bg-primary bg-opacity-10% padding-xs border-left border-primary border-2">
                            <WatchIcon size="42"
                                       class="color-primary"
                                       strokeWidth="1.2"/>
                        </div>
                    </figure>
                </LinkCard>
                <LinkCard name="Tickets"
                          description="The home for your tickets"
                          class="c-disabled user-select-none"
                          text="Coming soon"
                          title="Open Tickets"
                          href="{projects_base()}">
                    <figure slot="icon">
                        <div class="bg-primary bg-opacity-10% padding-xs border-left border-primary border-2">
                            <SendIcon size="42"
                                       class="color-primary"
                                       strokeWidth="1.2"/>
                        </div>
                    </figure>
                </LinkCard>
                <LinkCard name="Todo"
                          description="The home for your todos"
                          class="c-disabled user-select-none"
                          text="Coming soon"
                          title="Open Todo"
                          href="{projects_base()}">
                    <figure slot="icon">
                        <div class="bg-primary bg-opacity-10% padding-xs border-left border-primary border-2">
                            <ListIcon size="42"
                                       class="color-primary"
                                       strokeWidth="1.2"/>
                        </div>
                    </figure>
                </LinkCard>
            </div>
        </div>
        <div class="row">
            <h2 class="margin-bottom-xs">Manage</h2>
            <div class="grid-auto-md gap-sm">
                <LinkCard name="Profile"
                          description="Manage your profile"
                          text="Open"
                          title="Go to your profile management page"
                          on:click={() => push("/profile")}>
                    <figure slot="icon">
                        <div class="bg-primary bg-opacity-10% padding-xs border-left border-primary border-2">
                            <UserIcon size="42"
                                      class="color-primary"
                                      strokeWidth="1.2"/>
                        </div>
                    </figure>
                </LinkCard>
                {#if showUsers}
                    <LinkCard name="Organisation"
                              description="Manage your organisation"
                              title="Go to your organisations management page"
                              text="Open"
                              on:click={() => push("/admin")}>
                        <figure slot="icon">
                            <div class="bg-primary bg-opacity-10% padding-xs border-left border-primary border-2">
                                <UsersIcon size="42"
                                           class="color-primary"
                                           strokeWidth="1.2"/>
                            </div>
                        </figure>
                    </LinkCard>
                {/if}
            </div>
        </div>
    </div>
</Layout>