aboutsummaryrefslogtreecommitdiffstats
path: root/code/app/src/models
diff options
context:
space:
mode:
authorivarlovlie <git@ivarlovlie.no>2022-12-13 14:48:11 +0100
committerivarlovlie <git@ivarlovlie.no>2022-12-13 14:48:21 +0100
commita8219611cbebbd27501d9f30c804979048b98107 (patch)
tree632dbab8b724f0148b06525771d85ad6ddb55e35 /code/app/src/models
parentdb2d937a38d5c309e3c6aa14f2eaf3cfe58f415e (diff)
downloadgreatoffice-a8219611cbebbd27501d9f30c804979048b98107.tar.xz
greatoffice-a8219611cbebbd27501d9f30c804979048b98107.zip
feat: A whole slew of things
- Use a md5 hash of the session cookie value as key for session validity check - Introduce global state - Introduce a common interface for form logic, and implement it on the sign-in form - Introduce static resolve() on all services instead of new-upping all over. - Implement /portal on the frontend to support giving the frontend a inital context from server or anywhere. - Show a notification when users sign in for the first time after validating their email
Diffstat (limited to 'code/app/src/models')
-rw-r--r--code/app/src/models/internal/IForm.ts15
1 files changed, 15 insertions, 0 deletions
diff --git a/code/app/src/models/internal/IForm.ts b/code/app/src/models/internal/IForm.ts
new file mode 100644
index 0000000..c14b770
--- /dev/null
+++ b/code/app/src/models/internal/IForm.ts
@@ -0,0 +1,15 @@
+import type { FormError } from "./FormError";
+
+export interface IForm {
+ fields: Record<string, IFormField>;
+ error: FormError;
+ get_payload: Function;
+ submit_async: Function;
+ isLoading: boolean;
+ showError: boolean;
+}
+
+export interface IFormField {
+ value: any;
+ errors: Array<string>;
+}