summaryrefslogtreecommitdiff
path: root/src/pages
diff options
context:
space:
mode:
authorSam Nystrom <sam@samnystrom.dev>2024-03-14 19:29:29 -0400
committerSam Nystrom <sam@samnystrom.dev>2024-03-14 19:29:29 -0400
commitc63738e17df4d5bfff2049a6d1c445c609c2189e (patch)
tree5e64cdbcd49a3d6f7348cff8ad80a8eafb6dc83c /src/pages
parent71abdb2ee3f5bdb1e029c9f4266f4b797fa960f9 (diff)
fix: fix lots of type errors
Diffstat (limited to 'src/pages')
-rw-r--r--src/pages/LogIn.tsx4
-rw-r--r--src/pages/ProjectsList.tsx22
-rw-r--r--src/pages/SignUp.tsx4
3 files changed, 17 insertions, 13 deletions
diff --git a/src/pages/LogIn.tsx b/src/pages/LogIn.tsx
index 296a499..5820cb6 100644
--- a/src/pages/LogIn.tsx
+++ b/src/pages/LogIn.tsx
@@ -5,7 +5,7 @@ import { Pb } from '../context.ts';
import { Header, Content, Form, TextInput, Button, ArrowButton, FormLabel } from '../components';
const LogIn = () => {
- const pb = useContext(Pb);
+ const pb = useContext(Pb)!;
const email = useSignal('');
const password = useSignal('');
@@ -14,7 +14,7 @@ const LogIn = () => {
event.preventDefault();
await pb.collection('users').authWithPassword(email.value, password.value);
if (pb.authStore.isValid) {
- route('/' + pb.authStore.model.username);
+ route('/' + pb.authStore.model!.username);
}
}, []);
diff --git a/src/pages/ProjectsList.tsx b/src/pages/ProjectsList.tsx
index a7e3bed..13dd5d6 100644
--- a/src/pages/ProjectsList.tsx
+++ b/src/pages/ProjectsList.tsx
@@ -1,26 +1,30 @@
import { useContext, useEffect, useCallback } from 'preact/hooks';
import { useSignal } from '@preact/signals';
import { route } from 'preact-router';
+import type { ListResult } from 'pocketbase';
+import type { Project } from '../types.ts';
import { Pb } from '../context.ts';
import { logOut } from '../util.ts';
import { Header, Content, ContainedList, Form, FormLabel, TextInput, Button } from '../components';
-const ProjectsList = ({ user }) => {
- const pb = useContext(Pb);
- const projects = useSignal(null);
+export interface ProjectsListProps {
+ user: string;
+}
+
+const ProjectsList = ({ user }: ProjectsListProps) => {
+ const pb = useContext(Pb)!;
+ const projects = useSignal<ListResult<Project> | null>(null);
const projectName = useSignal('');
- useEffect(() => {
- pb.collection('projects')
- .getList(1, 20, { sort: '-mtime' })
- .then(p => projects.value = p);
+ useEffect(async () => {
+ projects.value = await pb.collection('projects').getList(1, 20, { sort: '-mtime' });
}, []);
- const onCreateProject = useCallback(async (event: FormEvent) => {
+ const onCreateProject = useCallback(async (event: SubmitEvent) => {
event.preventDefault();
const project = await pb.collection('projects').create({
name: projectName.value,
- owner: pb.authStore.model.id,
+ owner: pb.authStore.model!.id,
});
route(`/${user}/${project.name}`);
}, [user]);
diff --git a/src/pages/SignUp.tsx b/src/pages/SignUp.tsx
index 22e1512..e1cee3c 100644
--- a/src/pages/SignUp.tsx
+++ b/src/pages/SignUp.tsx
@@ -5,7 +5,7 @@ import { Pb } from '../context.ts';
import { Header, Content, Form, FormLabel, TextInput, Button, ArrowButton } from '../components';
const SignUp = () => {
- const pb = useContext(Pb);
+ const pb = useContext(Pb)!;
const username = useSignal('');
const email = useSignal('');
@@ -22,7 +22,7 @@ const SignUp = () => {
passwordConfirm: confirm.value,
});
if (pb.authStore.isValid) {
- route('/' + pb.authStore.model.username);
+ route('/' + pb.authStore.model!.username);
}
}, []);