Skip to content

Commit 73eb6ed

Browse files
committed
Modernize
1 parent 4643d7b commit 73eb6ed

File tree

20 files changed

+105
-55
lines changed

20 files changed

+105
-55
lines changed

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@freenit-framework/core",
3-
"version": "0.0.49",
3+
"version": "0.0.50",
44
"private": false,
55
"author": "Goran Mekić <meka@tilda.center>",
66
"license": "BSD-2-Clause",

src/lib/Login.svelte

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
<script lang="ts">
22
import { goto } from '$app/navigation'
33
import { error } from '$lib/notification'
4-
import BaseStore from '$lib/base-store'
54
65
let email = $state('')
76
let password = $state('')
87
let { store } = $props()
98
10-
const submit = async () => {
9+
const submit = async (event: Event) => {
10+
event.preventDefault()
1111
const response = await store.auth.login(email, password)
1212
if (!response.ok) {
1313
error(response.statusText)

src/lib/MenuItems.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<MenuItem href="/themes" {toggle} icon={mdiCookieEditOutline}>Themes</MenuItem>
2222
{/if}
2323
<MenuItem href="/profile" {toggle} icon={mdiFaceManProfile}>Profile</MenuItem>
24-
<MenuItem href="/logout" toggle={logout} icon={mdiLogoutVariant}>Logout</MenuItem>
24+
<MenuItem href="/" toggle={logout} icon={mdiLogoutVariant}>Logout</MenuItem>
2525
{:else}
2626
<MenuItem href="/register" {toggle} icon={mdiArrowDownBoldCircleOutline}>Register</MenuItem>
2727
<MenuItem href="/verify" {toggle} icon={mdiStamper}>Verify</MenuItem>

src/lib/Modal.svelte

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
<script lang="ts">
2-
export let open = false
2+
let { children, open } = $props()
33
</script>
44

55
{#if open}
66
<div class="modal_background">
77
<div class="modal">
8-
<slot />
8+
{@render children?.()}
99
</div>
1010
</div>
1111
{/if}

src/lib/Profile.svelte

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<script lang="ts">
2+
import { onMount } from 'svelte'
3+
4+
let { store } = $props()
5+
6+
onMount(async () => {
7+
store.user.fetchProfile()
8+
})
9+
</script>
10+
11+
<div class="root">
12+
<div>ID: {store.user.profile.id || store.user.profile.dn}</div>
13+
<div>Email: {store.user.profile.email}</div>
14+
<div>Active: {store.user.profile.active || store.user.profile.userClass == 'enabled' ? 'yes' : 'no'}</div>
15+
<div>Admin: {store.user.profile.admin ? 'yes' : 'no'}</div>
16+
</div>
17+
18+
<style>
19+
.root {
20+
height: 100vh;
21+
}
22+
</style>

src/lib/Role.svelte

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,10 @@
88
99
onMount(async () => {
1010
loading = true
11-
const [roleResponse, userResponse] = await Promise.all([store.role.fetch(pk), store.user.fetchAll()])
11+
const [roleResponse, userResponse] = await Promise.all([
12+
store.role.fetch(pk),
13+
store.user.fetchAll(),
14+
])
1215
if (!roleResponse.ok) {
1316
error(roleResponse.statusText)
1417
}
@@ -35,9 +38,15 @@
3538
const toggleMembership = (user: any) => async (event: any) => {
3639
let response
3740
if (event.target.checked) {
38-
response = await store.role.assign(store.role.detail.id || store.role.detail.dn, user.id || user.dn)
41+
response = await store.role.assign(
42+
store.role.detail.id || store.role.detail.dn,
43+
user.id || user.dn,
44+
)
3945
} else {
40-
response = await store.role.deassign(store.role.detail.id || store.role.detail.dn, user.id || user.dn)
46+
response = await store.role.deassign(
47+
store.role.detail.id || store.role.detail.dn,
48+
user.id || user.dn,
49+
)
4150
}
4251
if (!response.ok) {
4352
error(response.statusText)
@@ -94,10 +103,14 @@
94103
</div>
95104
</div>
96105
<div class="actions">
97-
<button class="button" disabled={store.user.list.page === 1} onclick={fetchPrevious}>&lt;</button>
106+
<button class="button" disabled={store.user.list.page === 1} onclick={fetchPrevious}
107+
>&lt;</button
108+
>
98109
{store.user.list.page}
99-
<button class="button" disabled={store.user.list.page === store.user.list.pages} onclick={fetchNext}
100-
>&gt;</button
110+
<button
111+
class="button"
112+
disabled={store.user.list.total === 0 || store.user.list.page === store.user.list.pages}
113+
onclick={fetchNext}>&gt;</button
101114
>
102115
</div>
103116
{/if}
@@ -139,4 +152,3 @@
139152
margin-right: 10px;
140153
}
141154
</style>
142-

src/lib/Spinner.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<script lang="ts">
2-
export let size = 50
2+
let { size = 50 } = $props()
33
</script>
44

55
<div class="root">

src/lib/User.svelte

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,10 @@
88
99
onMount(async () => {
1010
loading = true
11-
const [userResponse, roleResponse] = await Promise.all([store.user.fetch(pk), store.role.fetchAll()])
11+
const [userResponse, roleResponse] = await Promise.all([
12+
store.user.fetch(pk),
13+
store.role.fetchAll(),
14+
])
1215
if (!userResponse.ok) {
1316
error(userResponse.statusText)
1417
}
@@ -26,9 +29,15 @@
2629
const toggleMembership = (role: any) => async (event: any) => {
2730
let response
2831
if (event.target.checked) {
29-
response = await store.role.assign(role.id || role.dn, store.user.detail.id || store.user.detail.dn)
32+
response = await store.role.assign(
33+
role.id || role.dn,
34+
store.user.detail.id || store.user.detail.dn,
35+
)
3036
} else {
31-
response = await store.role.deassign(role.id || role.dn, store.user.detail.id || store.user.detail.dn)
37+
response = await store.role.deassign(
38+
role.id || role.dn,
39+
store.user.detail.id || store.user.detail.dn,
40+
)
3241
}
3342
if (!response.ok) {
3443
error(response.statusText)
@@ -71,10 +80,14 @@
7180
</div>
7281
</div>
7382
<div class="actions">
74-
<button class="button" disabled={store.role.list.page === 1} onclick={fetchPrevious}>&lt;</button>
83+
<button class="button" disabled={store.role.list.page === 1} onclick={fetchPrevious}
84+
>&lt;</button
85+
>
7586
{store.role.list.page}
76-
<button class="button" disabled={store.role.list.page === store.role.list.pages} onclick={fetchNext}
77-
>&gt;</button
87+
<button
88+
class="button"
89+
disabled={store.role.list.total === 0 || store.role.list.page === store.role.list.pages}
90+
onclick={fetchNext}>&gt;</button
7891
>
7992
</div>
8093
{/if}
@@ -116,4 +129,3 @@
116129
margin-right: 10px;
117130
}
118131
</style>
119-

src/lib/index.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
export { default as LeftPane } from './LeftPane.svelte'
2+
export { default as Login } from './Login.svelte'
23
export { default as MenuBar } from './MenuBar.svelte'
34
export { default as MenuItem } from './MenuItem.svelte'
45
export { default as MenuItems } from './MenuItems.svelte'
5-
export { default as Login } from './Login.svelte'
66
export { default as Modal } from './Modal.svelte'
7+
export { default as Profile } from './Profile.svelte'
78
export { default as Register } from './Register.svelte'
89
export { default as Role } from './Role.svelte'
910
export { default as Roles } from './Roles.svelte'

0 commit comments

Comments
 (0)