efim
e17b45d2ec
fix(15): sbt-derivation need new hach for new deps
2023-07-16 15:41:53 +00:00
efim
d7bcb418d4
docs(15): lessons learned
2023-07-16 15:34:33 +00:00
efim
77bcf87cd1
feat(15): phone validation htmx inline
...
making phone input as a fragment that accepts value and error
initial value from overall state, initial error empty string
some contitional classes and hidden error message
wowy,
endpoint that takes POST request, extracts value and resends the
rendered fragment. cool
2023-07-16 15:07:46 +00:00
efim
8c0318c4e2
fix(15): mobile 'months free' alignment
2023-07-16 07:03:56 +00:00
efim
080b47a9a6
feat(15): nix installation & image
2023-07-16 06:45:04 +00:00
efim
01ec722ea0
fix(15): selected plan was reset on mo\yr toggle
...
hx-put sends all form data, so full page state can be used to render the fragment
2023-07-16 05:10:37 +00:00
efim
e6f36dc0bd
feat(15): styling sidebar font
2023-07-16 05:10:25 +00:00
efim
27e19d4494
feat(15): styling step 5
2023-07-16 04:55:10 +00:00
efim
5d0f58edc1
feat(15): step 4 desktop styling
2023-07-16 04:21:04 +00:00
efim
0e7d53b582
feat(15): stylings of steps 1-3
...
and mobile styling of step 4
2023-07-15 20:19:54 +00:00
efim
96edd50450
feat(15): adding only required validation
2023-07-15 17:31:25 +00:00
efim
dd590e1530
feat(15): jump from step4 to step2
...
here hidden 'form-confirmed' input will result in 'submitted' attribute
of Step4 answer to be set,
but this field is explicitly excluded on the hx-post from the Back
and Change links, this seems OK, i guess!
2023-07-15 17:15:21 +00:00
efim
3133a9aa8c
feat(15): dynamicly redrawing plan type info yr/mo
2023-07-15 15:46:32 +00:00
efim
a52ab42c61
feat(15): steps summary as dynamic fragment
...
defined in step1, reused in other steps
2023-07-15 14:35:52 +00:00
efim
77e70c3536
fix(15): set skipped identical prices
...
so 150 + 10 + 20 + 20 was only 180
2023-07-15 13:49:51 +00:00
efim
4d9a7c3e12
feat(15): dynamic values in step 3 addon selection
2023-07-15 13:48:48 +00:00
efim
6d827365ac
feat(15): dynamic rendering of plan types
...
currently only on page revisit.
for dynamic - need to use htmx swapping, with separate endpoing getting
updates value from whole element being a fragment
2023-07-15 13:21:26 +00:00
efim
f9c32fd7dc
feat(15): putting state values into summary step
2023-07-15 12:55:22 +00:00
efim
998cc778e6
feat(15): adding dynamic form data source
2023-07-15 12:05:40 +00:00
efim
076dc76ca4
feat(15): submitting form data on step back
2023-07-15 12:05:04 +00:00
efim
5f260455cb
feat(15): displaying existing answers in form step
2023-07-15 04:36:28 +00:00
efim
bf33858e41
feat(15): route to get previous form step
2023-07-15 03:50:51 +00:00
efim
6ed489835f
feat(15): start form, save state, decode steps
2023-07-14 20:49:00 +00:00
efim
febc77032b
feat(15): steps submit form and set next
2023-07-14 20:17:15 +00:00
efim
65bfe3077f
feat(15): receiving form submission from step 1
2023-07-14 18:29:25 +00:00
efim
f8f1580fc7
feat(15): making fragments, loading based on step
2023-07-14 05:03:18 +00:00
efim
aca7ae8ecf
feat(15): index placeholder for the form
...
to be htmx'ed into getting appropriate step for the session
2023-07-13 19:31:53 +00:00
efim
03aa9f8b94
feat(15): associating session with root page
2023-07-13 18:31:30 +00:00
efim
2d514e9258
feat(15): initial styling step 5
2023-07-13 06:15:53 +00:00
efim
3c51273cc3
feat(15): initial step 4 styling
2023-07-11 17:55:26 +00:00
efim
68bd81ec3c
feat(15): initial styling of step 3
2023-07-11 17:24:32 +00:00
efim
ef7193530b
feat(15): initial step 2 desktop styling
2023-07-11 16:36:28 +00:00
efim
35df226d25
feat(15): initial static step 2 styling
...
toggle with help from
https://tailwind-elements.com/docs/standard/forms/switch/
multi select via label
styling with "peer" modifier
2023-07-11 06:41:44 +00:00
efim
967864e72d
feat(15): desktop styling step 1
2023-07-09 19:19:40 +00:00
efim
7b2060c5d0
feat(15): styling of mobile step 1
2023-07-09 18:22:14 +00:00
efim
8b62506f00
feat(15): initial styling footer-controls section
2023-07-09 18:04:43 +00:00
efim
d8e25ff95d
feat(15): initial mobile step 1 styling
2023-07-09 15:28:47 +00:00
efim
808ba96049
init(15): registering fonts with tailwind
2023-07-09 15:25:27 +00:00
efim
05c4044ef3
init(15): adding exercise resources
2023-07-09 15:05:07 +00:00
efim
e9fcba7ad6
init(15): adding tailwind, yay
2023-07-08 18:41:46 +00:00
efim
a2418a810c
init(15): server returns dummy index from template
2023-07-08 18:27:21 +00:00
efim
c27cb67c2a
init(15): sbt project with mainargs
2023-07-08 17:06:32 +00:00
efim
084035fdcb
docs(14): lessons learned in rock-paper-scissors
2023-07-07 05:01:41 +00:00
efim
e4a18da5c2
docs(13): lessons learned fragments in thymeleaf
2023-07-06 06:16:55 +00:00
efim
d73c39500b
docs(12): lessons learned and docker deploy
2023-07-05 06:47:10 +00:00
efim
5dced77b4d
docs(11): readme with lessons learned
2023-07-04 06:40:24 +00:00
efim
88e1d04e0d
feat(11): docker image for price grid app
2023-07-04 05:19:57 +00:00
efim
572b63c82d
feat(root): attempt to create combined project
...
right now struggling with making page relative links,
so that images would get pulled from "subproj/public" path
2023-07-03 07:34:41 +00:00
efim
f6d8a1de8d
feat(14): nix derivation to build docker image
2023-07-03 06:23:46 +00:00
efim
80af2e0fd0
feat(14): nix installation module for rps
2023-07-02 12:51:45 +00:00
efim
9ddd9d3943
fix(14): halo should be around winning hand
2023-07-02 12:31:18 +00:00
efim
59cab44920
feat(14): header desktop styling
2023-07-02 12:07:13 +00:00
efim
a7dbfffa8e
feat(14): styling of desktop rules modal
2023-07-02 11:50:47 +00:00
efim
b67b3cdc89
feat(14): adding initial rules modal overlay
2023-07-02 11:41:31 +00:00
efim
372fb5a6ad
feat(14): end of game animation
...
couldn't make circles grow from the center, they still had shared top
point.
the templates are certainly not quite plesant to look at, with 2 states
being showed into same big template.
i suppose that animations for both hands in the showdow, and for single
hand in showdown would be better stored in separate files.
and maybe appended by the htmx replacements, but i'm feeling rushed
2023-07-02 10:11:10 +00:00
efim
0c8a9b91e0
fix(14): winning logic for rock
2023-07-02 07:22:37 +00:00
efim
18d91b742e
fix(14): prettier animation
2023-07-02 07:22:28 +00:00
efim
69dc59a1ed
feat(14): animated countdown to house choice
2023-07-02 07:17:28 +00:00
efim
73ccfba393
feat(14): update and persist scores
2023-07-02 06:58:33 +00:00
efim
4a5a13f6d4
fix(14): styling and text of message
2023-07-02 06:26:28 +00:00
efim
697985a480
feat(14): appearing message, new game request
2023-07-02 06:15:11 +00:00
efim
4e1f4f4a8e
feat(14): setting up result message with data
...
i think i should be able to make it appear with delay just with css
(and that would also mean that my initial delayed call to get house
choice is also not necessary, but oh well, this is still nice practice)
2023-07-02 06:01:00 +00:00
efim
02a5f41800
refactor: make choices object, move out style
...
this should allow to write 'isBeating' function over choices.
and maybe move to enums
2023-07-02 05:26:23 +00:00
efim
54af09d356
feat(14): easy htmx automatic timed request
2023-07-01 20:07:53 +00:00
efim
de3d4781f0
feat(14): manual request of house choice
...
hodgepodge of 2 fragments which are put into house choice depending on
the state.
the alignment is done in a very not nice way.
2023-07-01 20:00:19 +00:00
efim
66013ae1c6
feat(14): template in showdown-table, show choice
2023-07-01 14:20:52 +00:00
efim
69a464a767
feat(14): controls generated from fragment
...
with their own ids and htmx requests to submit the vote
2023-07-01 13:40:48 +00:00
efim
560ce6896a
feat(14): controls models for fragment rendering
2023-07-01 13:06:36 +00:00
efim
91c53429e0
feat(14): initial static section change
...
paper control switches "controls" to "showdown" - the fragment of
results page. yay
2023-07-01 13:05:55 +00:00
efim
726cadec19
feat(14): final static main stylig
2023-07-01 08:10:16 +00:00
efim
9fc2e959fa
feat(14): initial static styling of showdown
2023-07-01 07:25:20 +00:00
efim
bed0387575
feat(14): styled static selection screen
2023-07-01 06:09:06 +00:00
efim
de431a4bc0
feat(14): styled 3 controls, with css vars
...
for size, colors, position, this should be what i need i hope
2023-07-01 05:38:59 +00:00
efim
364d8a737a
feat: initial styling of control
2023-07-01 04:58:37 +00:00
efim
6aa5c25a5e
feat(14): adding exercise resources and guide
2023-06-30 18:20:39 +00:00
efim
1c8bc38f29
feat(14): enabling tailwindcss
...
the command to generate
"tailwindcss -i ./src/input.css -o ./src/main/resources/public/output.css --watch"
and this should be same during dev and in install script,
but. we'll be committing the output.css, let's try that
2023-06-30 17:03:21 +00:00
efim
83c75ad3a9
feat(14): enabling public resource serving
...
this time with "staticResources" for files in 'main/resources' which
should be copied and put onto classpath by the scala compilation, yay
2023-06-30 16:40:40 +00:00
efim
ec5cac0680
feat(11): enabled cask server with simple template
2023-06-30 14:06:15 +00:00
efim
770b4f6e87
init(14): scala project def with main args
2023-06-30 13:47:20 +00:00
efim
b6ba1dfcd0
feat: installing htmx and toggling card size
2023-06-30 11:58:54 +00:00
efim
3e00aa5f3d
feat(13): rest route get single testimonial card
...
not ideal, that i need separate file, even though i can use the fragment
from the main file.
and having th:eac in same place as th:fragment means rendering that
fragment and passing element over which i'm iterating doesn't help if
collection is empty
2023-06-30 03:44:41 +00:00
efim
c9195759a8
feat(13): dynamic grid desktop layout
2023-06-29 19:30:12 +00:00
efim
36b91cd5d1
feat(13): desktop grid styling
2023-06-29 19:09:30 +00:00
efim
4248d1b047
feat(13): encoding data on server
2023-06-29 18:18:33 +00:00
efim
657d7c7407
feat: repeating dynamic testimonial section
2023-06-29 16:59:55 +00:00
efim
951d364380
feat: styling statically all other testimonials
2023-06-29 16:13:05 +00:00
efim
71be19c677
feat: styled first testimony as static page
...
bg - relative from 'output.css'
image - relative from templates/index.html
ideally i'll figure out how to lay out things, so that relative paths
would be same as paths during deploy
2023-06-29 15:54:47 +00:00
efim
ec8c8bb678
feat: setting up mess of thymeleaf.
...
had problems with th:fragment, getting errors
Caused by: ognl.OgnlException: source is null for getProperty(null, "text")
now will try to style the page as if it's static page, and then add
thymeleaf things
2023-06-29 15:23:47 +00:00
efim
7fac41488c
feat: project to play with simpler fragments
...
my problem was - thinking that th:fragment is not rendered
but it is, and i get null poniter error, because argument is not there
the object under name used in fragment should already be available, for
example take out of th:each
2023-06-29 15:20:59 +00:00
efim
2dff41f428
feat(13): style guide into config
2023-06-29 12:13:18 +00:00
efim
d181064165
feat(13): setting up tailwindcss
2023-06-29 11:35:03 +00:00
efim
df09abd9a4
feat(13) adding exercise resources
2023-06-29 11:32:14 +00:00
efim
d35bf9735c
feat(13): starting simple web server
2023-06-28 15:35:34 +00:00
efim
28f2cf281a
init(13): new sbt project, main args
2023-06-28 15:24:03 +00:00
efim
2f1804a9fd
feat(12): nix installation of exercise
2023-06-28 12:51:03 +00:00
efim
abf0c7262d
docs: saving some things about dev process
2023-06-28 12:28:59 +00:00
efim
520dd6de9c
feat(12): moving order summary into template file
2023-06-28 12:16:52 +00:00
efim
1d7647bcdf
feat(12): active states styled
2023-06-28 12:10:25 +00:00
efim
6cd6c8cc3e
feat(12): desktop styling
2023-06-28 12:04:22 +00:00
efim
0816b79c26
feat(12): styling mobile
2023-06-28 11:53:11 +00:00