Commit Graph

1261 Commits

Author SHA1 Message Date
Dillon Kearns
b0cab3cc7d Use cookie session for logout route. 2022-01-23 13:42:50 -08:00
Dillon Kearns
1becbff897 Wire through errors with session checksums. 2022-01-23 13:35:04 -08:00
Dillon Kearns
7d1f675a90 Add some session helpers. 2022-01-23 13:01:04 -08:00
Dillon Kearns
aff8b1f850 Update Session API to pass through existing Session. 2022-01-23 10:43:06 -08:00
Dillon Kearns
d0bfc03d16 Return Nothing if there is no session. 2022-01-22 17:56:20 -08:00
Dillon Kearns
9bcba71c3a Extract session helper. 2022-01-22 14:40:04 -08:00
Dillon Kearns
d7eca2ee4b Use String instead of Json.Decode.Value for session values. Add flash helpers. 2022-01-22 13:47:51 -08:00
Dillon Kearns
05457709ae Update session decoders in example. 2022-01-21 11:13:36 -08:00
Dillon Kearns
69feca1c42 Add distillBytes with some lamdera wire encoder/decoders. 2022-01-21 09:31:18 -08:00
Dillon Kearns
e29c4204a5 Use withSession helper for managing login. 2022-01-20 21:34:33 -08:00
Dillon Kearns
aa4086837f Change argument type for withSession to remove extra wrapper layer. 2022-01-20 20:01:07 -08:00
Dillon Kearns
c900b8662b Extract function. 2022-01-20 19:52:18 -08:00
Dillon Kearns
9b1f486a1b Don't use secret in example for now. 2022-01-20 19:24:55 -08:00
Dillon Kearns
a353a79e49 Use newer node version. 2022-01-20 19:20:15 -08:00
Dillon Kearns
08e635cbeb Try all secrets in list for decoding signed cookies. 2022-01-20 19:09:37 -08:00
Dillon Kearns
b7185adc39 Add example page. 2022-01-20 18:01:07 -08:00
Dillon Kearns
30ab850c90 Add prototype for withSession helper. 2022-01-20 18:00:38 -08:00
Dillon Kearns
d062546d0c Add withSetCookieHeader. 2022-01-18 18:45:03 -08:00
Dillon Kearns
d44da4ee85 Remove example. 2022-01-18 18:44:54 -08:00
Dillon Kearns
51aea3b539 Simplify Server.Response API by combining render repsonses and server responses into the same API. 2022-01-17 20:56:37 -08:00
Dillon Kearns
03dd16a86f Wire through custom headers and status codes for RenderPage server responses. 2022-01-17 16:56:40 -08:00
Dillon Kearns
c27377c8f7 Use dynamic route segments with different names by appending index. 2022-01-17 11:46:40 -08:00
Dillon Kearns
22b3b54799 Use phantom types to reduce the number of cominations of functions for setting values with different types. 2022-01-16 15:29:06 -08:00
Dillon Kearns
a769a3e569 Fix tests. 2022-01-15 19:29:30 -08:00
Dillon Kearns
5b06fe51a4 Replace requiredRadio with radio that can apply required option. 2022-01-15 18:44:06 -08:00
Dillon Kearns
69e8fc92f4 Use phantom builder for required checks. 2022-01-15 18:28:47 -08:00
Dillon Kearns
00c62a9e96 Include form-level errors in server-rendered response. 2022-01-15 15:02:32 -08:00
Dillon Kearns
6b7c4586c9 Run field-level errors and form-level errors independently to avoid duplicates but get them in real-time. 2022-01-15 09:06:19 -08:00
Dillon Kearns
9c922c8f40 Run field-level validations on field change. Preparing for change to store dependent validation results separately so they can be updated independently. 2022-01-14 15:28:17 -08:00
Dillon Kearns
ff79f79d8f Make field required. 2022-01-14 15:25:42 -08:00
Dillon Kearns
84e7d9d157 Use user-defined errors instead of a set list of validation errors. 2022-01-14 08:46:35 -08:00
Dillon Kearns
1ac1c9d73e Abstract helper for submitHandlers. 2022-01-13 17:17:52 -08:00
Dillon Kearns
b8e7a47e34 Give multiple errors for non-fatal validation errors. 2022-01-13 14:18:53 -08:00
Dillon Kearns
90d6bc821d Add ability to do dependent validations looking at entire form value. 2022-01-13 09:06:58 -08:00
Dillon Kearns
fe7b1c5209 Add input type to form style. 2022-01-12 17:07:21 -08:00
Dillon Kearns
92098ac972 Set field state on blur, focus, and input. 2022-01-11 09:00:58 -08:00
Dillon Kearns
c2b53e513a Scroll to top on success, and change debug info styling. 2022-01-10 19:34:26 -08:00
Dillon Kearns
9438e50add Handle required fields for checkboxes. 2022-01-10 19:01:47 -08:00
Dillon Kearns
95eff70f02 Run validations on init. Make Int and Float ranges. 2022-01-10 18:35:46 -08:00
Dillon Kearns
1e72283296 Don't submit form when there are validation errors. Include submitStatus for renderers. 2022-01-10 16:33:29 -08:00
Dillon Kearns
647a18cf28 Show errors for radio inputs, and add required radio builder. 2022-01-10 12:38:49 -08:00
Dillon Kearns
e8a8de56f6 Handle required vs. optional dates. 2022-01-10 12:25:35 -08:00
Dillon Kearns
34df6c16c3 Use custom type for form errors. 2022-01-10 12:02:56 -08:00
Dillon Kearns
b82aa41416 Handle elm/http submit from Form API. 2022-01-10 11:38:25 -08:00
Dillon Kearns
9be4926d34 Use record for Form model in preparation for adding more state. 2022-01-10 10:34:20 -08:00
Dillon Kearns
80171b84f8 Set default values in form dict on init. 2022-01-10 10:14:02 -08:00
Dillon Kearns
fd905da1da Add function to submit form with elm/http request. 2022-01-07 15:08:43 -08:00
Dillon Kearns
b6e45b7a14 Disable submit button when there are form errors. 2022-01-06 11:42:49 -08:00
Dillon Kearns
3522ed2b66 Apply capitalized validation to first and last names. 2022-01-06 11:01:53 -08:00
Dillon Kearns
6102412523 Apply input styling to email fields. 2022-01-06 11:01:38 -08:00
Dillon Kearns
edd678e403 Show client-validation errors coming back from server. 2022-01-06 09:48:06 -08:00
Dillon Kearns
e042393830 Add function to include client-side validation. 2022-01-06 09:44:46 -08:00
Dillon Kearns
e22d688920 Wire up Err for client-side validations. 2022-01-06 08:25:14 -08:00
Dillon Kearns
b855a20794 Update model state through FormMsg's. 2022-01-05 16:11:15 -08:00
Dillon Kearns
8887bbf97d Change Msg type, and wire up FormMsg. 2022-01-05 15:12:58 -08:00
Dillon Kearns
08138e7a26 Use () instead of Never for Msg's in stateless pages. That way, you can map Msg's (unlike never). 2022-01-05 14:09:37 -08:00
Dillon Kearns
ed814e54ee Replace min/max record fields with properties under the hood. 2022-01-05 11:48:33 -08:00
Dillon Kearns
a6508282d7 Add rating range field. 2022-01-05 11:40:35 -08:00
Dillon Kearns
1dd04db688 Delete commented reference code. 2022-01-05 11:36:16 -08:00
Dillon Kearns
7fe9168d10 Rename function. 2022-01-05 11:23:39 -08:00
Dillon Kearns
ae854e5742 Replace requiredText with more general required function. 2022-01-05 11:23:08 -08:00
Dillon Kearns
a018c48f5a Rename function. 2022-01-05 11:21:43 -08:00
Dillon Kearns
0f70795908 Add number input, required, and tel, url, email. 2022-01-05 09:27:18 -08:00
Dillon Kearns
2f4785d098 Delete commented code. 2022-01-05 08:08:55 -08:00
Dillon Kearns
d653c1ea49 Use enum mapping for radio. 2022-01-04 18:14:29 -08:00
Dillon Kearns
802d9ac538 Add radio button. 2022-01-04 17:55:37 -08:00
Dillon Kearns
af9ba5d099 Add push notifications section. 2022-01-04 16:20:44 -08:00
Dillon Kearns
0914f91bc7 Add checkbox input to tailwind form example. 2022-01-04 15:28:16 -08:00
Dillon Kearns
4d7203ad40 Add argument for default checked state on checkbox, and preserve checkbox state when repopulating form data. 2022-01-04 12:01:11 -08:00
Dillon Kearns
77778dcdf5 Add checkbox fields. 2022-01-04 11:47:57 -08:00
Dillon Kearns
d8ec3d735b Decode inputs into types. 2022-01-03 21:17:07 -08:00
Dillon Kearns
4a5d0814a9 Update form styling. 2022-01-03 19:26:41 -08:00
Dillon Kearns
1fde8588b0 Extract functions. 2022-01-03 14:26:04 -08:00
Dillon Kearns
1ae8d6096a Delete unused. 2022-01-03 14:12:53 -08:00
Dillon Kearns
0bfdc655ab Add wrap functions so sections of forms can be wrapped with views. 2022-01-03 14:07:36 -08:00
Dillon Kearns
98040342f7 Build tailwind modules in netlify. 2022-01-03 12:15:26 -08:00
Dillon Kearns
9968d796fb Add section heading. 2022-01-03 11:55:45 -08:00
Dillon Kearns
f2023a1b40 Update tailwind form example. 2022-01-03 11:14:39 -08:00
Dillon Kearns
0075c7eae8 Update tailwind setup and copy over raw form for reference. 2022-01-03 10:47:12 -08:00
Dillon Kearns
dda2f89cce Use plain HTML for vanilla form page. 2022-01-03 10:07:06 -08:00
Dillon Kearns
07bd8902d6 Make view type extensible, and add tailwind form example. 2022-01-03 10:04:42 -08:00
Dillon Kearns
5ab5881fc8 Update form API to include errors. 2022-01-03 08:43:00 -08:00
Dillon Kearns
580f845ded Make form views customizable. 2022-01-03 07:40:45 -08:00
Dillon Kearns
4ba0e99612 Preserve original values when there are validation errors. 2022-01-02 10:23:36 -08:00
Dillon Kearns
558cb98ff9 Add form server validations prototype. 2022-01-02 09:52:04 -08:00
Dillon Kearns
1165b73b61 Update form example. 2022-01-01 20:55:52 -08:00
Dillon Kearns
e4b1ba1b39 Update default user. 2022-01-01 18:35:36 -08:00
Dillon Kearns
8e2bdc68ed Add form API experiment. 2022-01-01 12:50:03 -08:00
Dillon Kearns
7b743cf72d Rename module. 2021-12-31 16:15:41 -08:00
Dillon Kearns
86142cb6d8 Remove obsolete server request code from initial prototype. 2021-12-31 11:52:37 -08:00
Dillon Kearns
78ee8d0117 Fix jsonError api route. 2021-12-31 11:17:12 -08:00
Dillon Kearns
3aae8c1adf Remove Handler type in favor of a type variable for ServerRequest type. 2021-12-31 11:14:23 -08:00
Dillon Kearns
bfbb5866f2 Capture multiple matching errors for server requests. 2021-12-30 19:55:45 -08:00
Dillon Kearns
68a4fc42c4 Add ServerRequest tests and remove obsolete expectFormField in favor of expectFormPost. 2021-12-30 11:43:10 -08:00
Dillon Kearns
8851ab402d Try reading relative to root of repo for netlify function. 2021-12-30 09:45:27 -08:00
Dillon Kearns
e9926979d3 Change included_files syntax. 2021-12-30 09:40:42 -08:00
Dillon Kearns
972c0ea9ce Move secret file to content/ folder. 2021-12-30 09:38:03 -08:00
Dillon Kearns
9e9eb26a02 Try different lamda file read root. 2021-12-30 09:31:24 -08:00
Dillon Kearns
d0d205bee4 Try new filename resolution for netlify function. 2021-12-30 09:27:20 -08:00
Dillon Kearns
2a90dc9d51 Try adding path.resolve for netlify file paths. 2021-12-29 21:57:35 -08:00