summaryrefslogtreecommitdiff
path: root/ui/routes
diff options
context:
space:
mode:
Diffstat (limited to 'ui/routes')
-rw-r--r--ui/routes/(app)/+layout.svelte6
-rw-r--r--ui/routes/(app)/ch/[channel]/+page.svelte2
-rw-r--r--ui/routes/(app)/me/+page.svelte17
-rw-r--r--ui/routes/(login)/invite/[invite]/+page.js12
-rw-r--r--ui/routes/(login)/invite/[invite]/+page.svelte17
-rw-r--r--ui/routes/(login)/login/+page.svelte5
-rw-r--r--ui/routes/(login)/setup/+page.svelte11
7 files changed, 40 insertions, 30 deletions
diff --git a/ui/routes/(app)/+layout.svelte b/ui/routes/(app)/+layout.svelte
index 5d1023d..356a096 100644
--- a/ui/routes/(app)/+layout.svelte
+++ b/ui/routes/(app)/+layout.svelte
@@ -9,10 +9,10 @@
import ChannelList from '$lib/components/ChannelList.svelte';
import CreateChannelForm from '$lib/components/CreateChannelForm.svelte';
- let loading = true;
let events = null;
- $: channel = $page?.params?.channel;
+ let loading = $state(true);
+ let channel = $derived($page.params.channel);
function onBooted(boot) {
currentUser.update(() => ({
@@ -63,7 +63,7 @@
<div id="interface" class="p-2">
<nav id="sidebar" data-expanded={$showMenu}>
<div class="channel-list">
- <ChannelList active={channel} />
+ <ChannelList active={channel} channels={$channelsList.channels} />
</div>
<div class="create-channel">
<CreateChannelForm />
diff --git a/ui/routes/(app)/ch/[channel]/+page.svelte b/ui/routes/(app)/ch/[channel]/+page.svelte
index 2c1b40a..a5836fc 100644
--- a/ui/routes/(app)/ch/[channel]/+page.svelte
+++ b/ui/routes/(app)/ch/[channel]/+page.svelte
@@ -3,7 +3,7 @@
import ActiveChannel from '$lib/components/ActiveChannel.svelte';
import MessageInput from '$lib/components/MessageInput.svelte';
- $: channel = $page?.params?.channel;
+ let channel = $derived($page.params.channel);
</script>
<div class="active-channel">
diff --git a/ui/routes/(app)/me/+page.svelte b/ui/routes/(app)/me/+page.svelte
index 26537ad..4531a91 100644
--- a/ui/routes/(app)/me/+page.svelte
+++ b/ui/routes/(app)/me/+page.svelte
@@ -3,15 +3,16 @@
import Invites from '$lib/components/Invites.svelte';
- let currentPassword = '',
- newPassword = '',
- confirmPassword = '',
+ let currentPassword = $state(''),
+ newPassword = $state(''),
+ confirmPassword = $state(''),
passwordForm;
- let pending = false;
- $: valid = newPassword === confirmPassword && newPassword !== currentPassword;
- $: disabled = pending || !valid;
+ let pending = $state(false);
+ let valid = $derived(newPassword === confirmPassword && newPassword !== currentPassword);
+ let disabled = $derived(pending || !valid);
- async function onPasswordChange() {
+ async function onPasswordChange(event) {
+ event.preventDefault();
pending = true;
let response = await changePassword(currentPassword, newPassword);
switch (response.status) {
@@ -23,7 +24,7 @@
}
</script>
-<form on:submit|preventDefault={onPasswordChange} bind:this={passwordForm}>
+<form onsubmit={onPasswordChange} bind:this={passwordForm}>
<label
>current password
<input
diff --git a/ui/routes/(login)/invite/[invite]/+page.js b/ui/routes/(login)/invite/[invite]/+page.js
index a48ba89..32c9290 100644
--- a/ui/routes/(login)/invite/[invite]/+page.js
+++ b/ui/routes/(login)/invite/[invite]/+page.js
@@ -1,12 +1,11 @@
import { getInvite } from '$lib/apiServer';
-export async function load({ params }) {
- let { invite } = params;
+async function loadInvite(invite) {
let response = await getInvite(invite);
switch (response.status) {
case 200: {
let invite = response.data;
- return { invite };
+ return invite;
}
case 404:
return null;
@@ -15,3 +14,10 @@ export async function load({ params }) {
break;
}
}
+
+export function load({ params }) {
+ let { invite } = params;
+ return {
+ invite: loadInvite(invite)
+ };
+}
diff --git a/ui/routes/(login)/invite/[invite]/+page.svelte b/ui/routes/(login)/invite/[invite]/+page.svelte
index 8f4d1a4..65f5a97 100644
--- a/ui/routes/(login)/invite/[invite]/+page.svelte
+++ b/ui/routes/(login)/invite/[invite]/+page.svelte
@@ -4,14 +4,15 @@
import LogIn from '$lib/components/LogIn.svelte';
- export let data;
+ let { data } = $props();
- let username = '',
- password = '';
+ let username = $state(''),
+ password = $state('');
let pending = false;
- $: disabled = pending;
+ let disabled = $derived(pending);
- async function onSubmit() {
+ async function onSubmit(event) {
+ event.preventDefault();
pending = true;
const response = await acceptInvite(data.invite.id, username, password);
if (200 <= response.status && response.status < 300) {
@@ -23,13 +24,13 @@
}
</script>
-{#await data}
+{#await data.invite}
<div class="card m-4 p-4">
<p>Loading invitation…</p>
</div>
-{:then { invite }}
+{:then invite}
<div class="card m-4 p-4">
<p>Hi there! {invite.issuer} invites you to the conversation.</p>
</div>
- <LogIn bind:disabled bind:username bind:password on:submit={onSubmit} />
+ <LogIn {disabled} bind:username bind:password onsubmit={onSubmit} />
{/await}
diff --git a/ui/routes/(login)/login/+page.svelte b/ui/routes/(login)/login/+page.svelte
index dba7f5a..77c2d62 100644
--- a/ui/routes/(login)/login/+page.svelte
+++ b/ui/routes/(login)/login/+page.svelte
@@ -9,7 +9,8 @@
let pending = false;
$: disabled = pending;
- async function onSubmit() {
+ async function onSubmit(event) {
+ event.preventDefault();
pending = true;
const response = await logIn(username, password);
if (200 <= response.status && response.status < 300) {
@@ -21,4 +22,4 @@
}
</script>
-<LogIn bind:disabled bind:username bind:password on:submit={onSubmit} />
+<LogIn {disabled} bind:username bind:password onsubmit={onSubmit} />
diff --git a/ui/routes/(login)/setup/+page.svelte b/ui/routes/(login)/setup/+page.svelte
index 2f098ef..f95403f 100644
--- a/ui/routes/(login)/setup/+page.svelte
+++ b/ui/routes/(login)/setup/+page.svelte
@@ -4,12 +4,13 @@
import LogIn from '$lib/components/LogIn.svelte';
- let username = '',
- password = '';
+ let username = $state(''),
+ password = $state('');
let pending = false;
- $: disabled = pending;
+ let disabled = $derived(pending);
- async function onSubmit() {
+ async function onSubmit(event) {
+ event.preventDefault();
pending = true;
const response = await setup(username, password);
if (200 <= response.status && response.status < 300) {
@@ -21,4 +22,4 @@
}
</script>
-<LogIn bind:disabled bind:username bind:password legend="set up" on:submit={onSubmit} />
+<LogIn {disabled} bind:username bind:password legend="set up" onsubmit={onSubmit} />