aboutsummaryrefslogtreecommitdiffstats
path: root/src/hooks/useForm.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/hooks/useForm.js')
-rw-r--r--src/hooks/useForm.js20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/hooks/useForm.js b/src/hooks/useForm.js
new file mode 100644
index 0000000..6270c1e
--- /dev/null
+++ b/src/hooks/useForm.js
@@ -0,0 +1,20 @@
+import useLocalStorage from "./useLocalStorage";
+
+export default function useForm(formId) {
+ const [forms, setForms] = useLocalStorage(`forms`, {});
+
+ const form = forms[formId] || { fields: [], id: formId };
+
+ function setForm(newForm) {
+ console.log(
+ "setForm",
+ newForm,
+ { ...forms, [newForm.id]: newForm },
+ { form: forms[formId], formId, forms },
+ );
+ setForms({ ...forms, [newForm.id]: newForm });
+ }
+
+ console.log("useForm", formId, form);
+ return [form, setForm];
+}