@fuzdev/fuz_app 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -3
- package/dist/ui/AdminAuditLog.svelte +1 -1
- package/dist/ui/AdminInvites.svelte +5 -4
- package/dist/ui/AdminInvites.svelte.d.ts.map +1 -1
- package/dist/ui/BootstrapForm.svelte +30 -27
- package/dist/ui/BootstrapForm.svelte.d.ts.map +1 -1
- package/dist/ui/LoginForm.svelte +4 -4
- package/dist/ui/SignupForm.svelte +30 -27
- package/dist/ui/SignupForm.svelte.d.ts.map +1 -1
- package/dist/ui/SurfaceExplorer.svelte +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @fuzdev/fuz_app
|
|
2
2
|
|
|
3
|
-
> fullstack app library
|
|
3
|
+
> fullstack app library 🗝 pre-alpha ⚠️ do not use in production
|
|
4
4
|
|
|
5
5
|
fuz_app is a fullstack app library for
|
|
6
6
|
TypeScript, [Svelte](https://svelte.dev/), SvelteKit,
|
|
@@ -14,8 +14,9 @@ fuz_app supports deploying with Deno, Node, and Bun,
|
|
|
14
14
|
to servers, static websites, and local-first binaries, with more to come,
|
|
15
15
|
eventually with compatible alternatives written in Rust.
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
For more see the <a href="https://github.com/fuzdev/fuz_app/discussions">discussions</a>.
|
|
18
|
+
fuz_app is part of the Fuz stack
|
|
19
|
+
([fuz.dev](https://www.fuz.dev/), [@fuzdev](https://github.com/fuzdev)).
|
|
19
20
|
|
|
20
21
|
> ⚠️ This is a pre-alpha release, not ready for production.
|
|
21
22
|
> There are no known security vulnerabilities,
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
<section>
|
|
62
62
|
<h1>audit log</h1>
|
|
63
63
|
|
|
64
|
-
<div class="row mb_md
|
|
64
|
+
<div class="row mb_md gap_md" style:align-items="end">
|
|
65
65
|
<label class="mb_0">
|
|
66
66
|
<div class="title">filter</div>
|
|
67
67
|
<select bind:value={filter_event_type} onchange={handle_filter_change}>
|
|
@@ -62,9 +62,10 @@
|
|
|
62
62
|
void handle_create();
|
|
63
63
|
}}
|
|
64
64
|
>
|
|
65
|
-
<
|
|
65
|
+
<fieldset class="row gap_sm">
|
|
66
|
+
<legend>invite target</legend>
|
|
66
67
|
<label class="grow">
|
|
67
|
-
<
|
|
68
|
+
<div class="title">email</div>
|
|
68
69
|
<input
|
|
69
70
|
type="email"
|
|
70
71
|
bind:value={invite_email}
|
|
@@ -73,7 +74,7 @@
|
|
|
73
74
|
/>
|
|
74
75
|
</label>
|
|
75
76
|
<label class="grow">
|
|
76
|
-
<
|
|
77
|
+
<div class="title">username</div>
|
|
77
78
|
<input
|
|
78
79
|
type="text"
|
|
79
80
|
bind:value={invite_username}
|
|
@@ -81,7 +82,7 @@
|
|
|
81
82
|
disabled={admin_invites.creating}
|
|
82
83
|
/>
|
|
83
84
|
</label>
|
|
84
|
-
</
|
|
85
|
+
</fieldset>
|
|
85
86
|
<PendingButton pending={admin_invites.creating} disabled={!can_create} onclick={handle_create}>
|
|
86
87
|
create invite
|
|
87
88
|
</PendingButton>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdminInvites.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/AdminInvites.svelte"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AdminInvites.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/AdminInvites.svelte"],"names":[],"mappings":"AA0IA,QAAA,MAAM,YAAY,2DAAwC,CAAC;AAC3D,KAAK,YAAY,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AACpD,eAAe,YAAY,CAAC"}
|
|
@@ -41,8 +41,8 @@
|
|
|
41
41
|
}}
|
|
42
42
|
{@attach enter_advance()}
|
|
43
43
|
>
|
|
44
|
-
<label
|
|
45
|
-
<
|
|
44
|
+
<label>
|
|
45
|
+
<div class="title">bootstrap token</div>
|
|
46
46
|
<input
|
|
47
47
|
type="password"
|
|
48
48
|
bind:value={token}
|
|
@@ -51,8 +51,8 @@
|
|
|
51
51
|
{@attach autofocus()}
|
|
52
52
|
/>
|
|
53
53
|
</label>
|
|
54
|
-
<label
|
|
55
|
-
<
|
|
54
|
+
<label>
|
|
55
|
+
<div class="title">username</div>
|
|
56
56
|
<input
|
|
57
57
|
type="text"
|
|
58
58
|
bind:value={username}
|
|
@@ -66,29 +66,32 @@
|
|
|
66
66
|
3-39 chars, starts with a letter, ends with letter/number, middle allows dash/underscore
|
|
67
67
|
</p>
|
|
68
68
|
{/if}
|
|
69
|
-
<
|
|
70
|
-
<
|
|
71
|
-
<
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
<
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
69
|
+
<fieldset>
|
|
70
|
+
<legend>password</legend>
|
|
71
|
+
<label>
|
|
72
|
+
<div class="title">password (min {PASSWORD_LENGTH_MIN} characters)</div>
|
|
73
|
+
<input
|
|
74
|
+
type="password"
|
|
75
|
+
bind:value={password}
|
|
76
|
+
placeholder="password"
|
|
77
|
+
autocomplete="new-password"
|
|
78
|
+
disabled={auth_state.verifying}
|
|
79
|
+
/>
|
|
80
|
+
</label>
|
|
81
|
+
<label>
|
|
82
|
+
<div class="title">confirm password</div>
|
|
83
|
+
<input
|
|
84
|
+
type="password"
|
|
85
|
+
bind:value={password_confirm}
|
|
86
|
+
placeholder="confirm password"
|
|
87
|
+
autocomplete="new-password"
|
|
88
|
+
disabled={auth_state.verifying}
|
|
89
|
+
/>
|
|
90
|
+
</label>
|
|
91
|
+
{#if password && password_confirm && !passwords_match}
|
|
92
|
+
<p class="color_c_50 font_size_sm mt_0 mb_xs">passwords do not match</p>
|
|
93
|
+
{/if}
|
|
94
|
+
</fieldset>
|
|
92
95
|
<div class="row gap_sm">
|
|
93
96
|
<PendingButton
|
|
94
97
|
pending={auth_state.verifying}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BootstrapForm.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/BootstrapForm.svelte"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BootstrapForm.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/BootstrapForm.svelte"],"names":[],"mappings":"AAwFA,QAAA,MAAM,aAAa,2DAAwC,CAAC;AAC5D,KAAK,aAAa,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;AACtD,eAAe,aAAa,CAAC"}
|
package/dist/ui/LoginForm.svelte
CHANGED
|
@@ -45,8 +45,8 @@
|
|
|
45
45
|
}}
|
|
46
46
|
{@attach enter_advance()}
|
|
47
47
|
>
|
|
48
|
-
<label
|
|
49
|
-
<
|
|
48
|
+
<label>
|
|
49
|
+
<div class="title">{username_label}</div>
|
|
50
50
|
<input
|
|
51
51
|
type="text"
|
|
52
52
|
bind:value={username}
|
|
@@ -56,8 +56,8 @@
|
|
|
56
56
|
{@attach autofocus()}
|
|
57
57
|
/>
|
|
58
58
|
</label>
|
|
59
|
-
<label
|
|
60
|
-
<
|
|
59
|
+
<label>
|
|
60
|
+
<div class="title">password</div>
|
|
61
61
|
<input
|
|
62
62
|
type="password"
|
|
63
63
|
bind:value={password}
|
|
@@ -52,8 +52,8 @@
|
|
|
52
52
|
}}
|
|
53
53
|
{@attach enter_advance()}
|
|
54
54
|
>
|
|
55
|
-
<label
|
|
56
|
-
<
|
|
55
|
+
<label>
|
|
56
|
+
<div class="title">username</div>
|
|
57
57
|
<input
|
|
58
58
|
type="text"
|
|
59
59
|
bind:value={username}
|
|
@@ -68,8 +68,8 @@
|
|
|
68
68
|
3-39 chars, starts with a letter, ends with letter/number, middle allows dash/underscore
|
|
69
69
|
</p>
|
|
70
70
|
{/if}
|
|
71
|
-
<label
|
|
72
|
-
<
|
|
71
|
+
<label>
|
|
72
|
+
<div class="title">email (optional)</div>
|
|
73
73
|
<input
|
|
74
74
|
type="email"
|
|
75
75
|
bind:value={email}
|
|
@@ -78,29 +78,32 @@
|
|
|
78
78
|
disabled={auth_state.verifying}
|
|
79
79
|
/>
|
|
80
80
|
</label>
|
|
81
|
-
<
|
|
82
|
-
<
|
|
83
|
-
<
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
<
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
81
|
+
<fieldset>
|
|
82
|
+
<legend>password</legend>
|
|
83
|
+
<label>
|
|
84
|
+
<div class="title">password (min {PASSWORD_LENGTH_MIN} characters)</div>
|
|
85
|
+
<input
|
|
86
|
+
type="password"
|
|
87
|
+
bind:value={password}
|
|
88
|
+
placeholder="password"
|
|
89
|
+
autocomplete="new-password"
|
|
90
|
+
disabled={auth_state.verifying}
|
|
91
|
+
/>
|
|
92
|
+
</label>
|
|
93
|
+
<label>
|
|
94
|
+
<div class="title">confirm password</div>
|
|
95
|
+
<input
|
|
96
|
+
type="password"
|
|
97
|
+
bind:value={password_confirm}
|
|
98
|
+
placeholder="confirm password"
|
|
99
|
+
autocomplete="new-password"
|
|
100
|
+
disabled={auth_state.verifying}
|
|
101
|
+
/>
|
|
102
|
+
</label>
|
|
103
|
+
{#if password && password_confirm && !passwords_match}
|
|
104
|
+
<p class="color_c_50 font_size_sm mt_0 mb_xs">passwords do not match</p>
|
|
105
|
+
{/if}
|
|
106
|
+
</fieldset>
|
|
104
107
|
<div class="row gap_sm">
|
|
105
108
|
<PendingButton
|
|
106
109
|
pending={auth_state.verifying}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignupForm.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/SignupForm.svelte"],"names":[],"mappings":"AAaC,KAAK,gBAAgB,GAAI;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;
|
|
1
|
+
{"version":3,"file":"SignupForm.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/SignupForm.svelte"],"names":[],"mappings":"AAaC,KAAK,gBAAgB,GAAI;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAuFH,QAAA,MAAM,UAAU,sDAAwC,CAAC;AACzD,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAChD,eAAe,UAAU,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fuzdev/fuz_app",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "fullstack app library",
|
|
5
|
-
"glyph": "
|
|
5
|
+
"glyph": "🗝",
|
|
6
6
|
"logo": "logo.svg",
|
|
7
7
|
"logo_alt": "a friendly pixelated spider facing you",
|
|
8
8
|
"license": "MIT",
|
|
@@ -44,10 +44,10 @@
|
|
|
44
44
|
"@electric-sql/pglite": "^0.3.16",
|
|
45
45
|
"@fuzdev/blake3_wasm": "^0.1.0",
|
|
46
46
|
"@fuzdev/fuz_code": "^0.45.1",
|
|
47
|
-
"@fuzdev/fuz_css": "^0.
|
|
47
|
+
"@fuzdev/fuz_css": "^0.58.0",
|
|
48
48
|
"@fuzdev/fuz_ui": "^0.191.1",
|
|
49
49
|
"@fuzdev/fuz_util": "^0.55.0",
|
|
50
|
-
"@fuzdev/gro": "^0.197.
|
|
50
|
+
"@fuzdev/gro": "^0.197.2",
|
|
51
51
|
"@jridgewell/trace-mapping": "^0.3.31",
|
|
52
52
|
"@node-rs/argon2": "^2.0.2",
|
|
53
53
|
"@ryanatkn/eslint-config": "^0.10.1",
|