32 Commits

Author SHA1 Message Date
Hayden Hargreaves
aad4640527 (REFACTOR): Working on dependency injection.
However, everything seems really slow now... 950ms for a page request?
Something is wrong, just not sure what yet.
2025-09-04 21:51:16 -07:00
Hayden Hargreaves
47b8386844 (FEAT): Errors can now be displayed using the RenderErrorBanner fx.
This is found in the components domain. Make sure only HTMX routes call
it. Although, I think I put this into the page handlers WHICH IS WRONG.

However, it does work, ish. But it does not load into the DOM properly.
But it seems to display just fine.
2025-09-03 22:22:23 -07:00
Hayden Hargreaves
eccc4885cc (FIX): This should be the last of the user nil deref updates!
I believe this can mark the tasks about fixing the deref issues with
auth completed. Will test in production to find out!
2025-07-27 14:11:26 -07:00
Hayden Hargreaves
dbf8470195 (FIX): More auth issues solved.
If a user is logged into an account that cannot be found, they will be
silently logged out, so they can log back into their account. In the
event that the data becomes stale.
2025-07-27 13:00:03 -07:00
Hayden Hargreaves
a28f8edd54 (FIX): Fixed the auth issue, at least on the profile page. 2025-07-27 12:47:25 -07:00
Hayden Hargreaves
37c88561b6 (FEAT): Loading search filters in homepage!
This was a simple update, just missing in the past. I really need to
cleanup the page loading, but that will come when the error displays get
implemented.
2025-07-27 12:07:14 -07:00
Hayden Hargreaves
c608744696 (FIX): Working on the nil derefs, removed tx's from select queries.
Lots of the derefs were from the transactions failing, which meant that
removing most of them, helped prevent them!
2025-07-27 12:00:28 -07:00
Hayden Hargreaves
05f67566f8 (FIX): Removed date requirement from rotf 2025-07-26 22:46:45 -07:00
Hayden Hargreaves
53943dd183 (FEAT): Implemented recipe of the week! And image placeholder.
Still having the stupid ass nil dereferences, I think I might need to
migrate to using success returns instead of pointers. Because they're
fucked. And even more so now.
2025-07-26 22:36:48 -07:00
Hayden Hargreaves
e0e1230660 (FEAT): Dev/prod environment toggle is complete!
We can now use environment values to dictate which values are used for
the DB and the domain. This is a simple solution, but for now, it works!

This will merge into master and we can then see it live in action!
2025-07-22 22:43:40 -07:00
Hayden Hargreaves
65c73bddfa (FIX): Working on finding all of the nil-deref errors.
This may have caught a few. Next I need to actually work on the
development/testing/production environment setup.
2025-07-22 21:37:47 -07:00
Hayden Hargreaves
21f958a4fb (FEAT): Completed the lists section on the home page.
This includes backend updates as well as frontend changes! The backend
also includes a new repository to get a list of jobs via their IDs,
which does respect order!

The list displays for users that are logged in and a small message when
the user is not logged in. The last piece is the recipe of the week
segment, which can be as simple as a DB cron-job. But that will require
stored procedures. Need to learn those next.

Though I want to deploy the application soon, so I need to begin working
on that.
2025-07-20 21:56:56 -07:00
Hayden Hargreaves
045dc13fbe (FEAT): Created favorites search route which allows for better search.
This basically marks the favorites page completed. Updating the recipe
repository to allow the search function to accept a userId and favorites
flag. This flag will toggle a "favorites only" search. Which can be used
to replicate the same functionality from the search page in the
favorites page. This later can serve as a baseline for updating to also
work for activity search.

I am starting to think an ORM is a good idea...I heard Gorm is good, but
for now, there is a bit too much tech debt.
2025-07-16 18:57:36 -07:00
Hayden Hargreaves
aacca77890 (FEAT): Created backend API to get users favorite recipes.
The UI is wired up and connected as well, for the profile page. Next
step is to create the favorites page.
2025-07-15 22:11:25 -07:00
Hayden Hargreaves
15cb03589c (UI/FIX): Fixed the view engagement to only run on clicks.
But that means we have to redirect from the handler. I didn't want to,
but I guess that makes it easier when more pages direct to the recipe
page.
2025-07-15 21:44:20 -07:00
Hayden Hargreaves
2a33edc8f6 (FEAT): Implemented API for the share engagement.
This includes user and no user routes! Now wired to the frontend,
however, it will still create an engagement even if it fails...
2025-07-15 21:19:47 -07:00
Hayden Hargreaves
e4c1a575be (FEAT): Implemented anon engagements.
This required some fixing of old repo methods, since the nullable user
id was a bit hard to parse. But it should be working now.
2025-07-15 20:14:32 -07:00
Hayden Hargreaves
7e355d5eda (UI/FIX): Fixed the favorite button rendering and updating!
I don't like the way that templ requires JS, but it is what it is. I
just don't want to return HTML from the server.
2025-07-15 19:44:19 -07:00
Hayden Hargreaves
79bee1cde7 (FEAT): Updated recipe repo to include recipe favorite status.
This means we need to pass the user id into the various methods that
call it. But, since it is a pointer, we can use nil if we don't have a
user to check with (this is noted in the service).
2025-07-15 19:17:41 -07:00
Hayden Hargreaves
d2835c636c (DB/FEAT): Began the implementation of the user engagement!
The database requirements have been added, as well as the service/repo
architecture. A few small functions have been created, but the system is
not complete by any means. More work is required to mark this task
complete.
2025-07-13 21:34:54 -07:00
Hayden Hargreaves
3b6ebd0dae (DB/UI): Created user list API and wired to UI.
The profile list will now properly display the users recipes! The
favorites list does not exist yet, since there is no backend support for
favoriting/saving recipes. So the list displays the same content as the
user recipe list. Same goes for the activity list, not yet implemented.
2025-07-13 14:01:05 -07:00
Hayden Hargreaves
5540daf6b6 (UI): Created a 404 not found page!
This loads whenever a page that does not exist is loaded. I would also
like to add some "coming soon" dialog to the few pages that don't exist
yet. Before deploying to the server.
2025-07-10 20:52:35 -07:00
Hayden Hargreaves
70536147b7 (UI/FEAT): The search page will now execute the search when loaded.
However, this only occurs when the page is loaded WITH filters. If
filters are not found in the cookies, such as when a blank page is
loaded, then a search will only execute on submit.
2025-07-10 17:51:23 -07:00
Hayden Hargreaves
d950e75540 (FIX): Using cookies to store filter data.
This means that we can use the cookie data to load the filters when the
search page loads. The final step is making sure the search is complete
and the simple redirection. Which will come in the next commit!
2025-07-09 21:19:28 -07:00
Hayden Hargreaves
c0fc47c569 (UI): UI implementation of the search page. Somewhat wired up.
Missing some context storage and better passing of data to allow
between the home page to the search page. Need a way to store the search
results in state so they can be retrieved when the page is reloaded,
etc.
2025-07-07 21:36:13 -07:00
Hayden Hargreaves
55c6a99bb1 (FEAT/DOC): Wired the backend to the UI for the recipe page!
The route will now display real, live data from the DB! Errors are not
handled very well, just returned as JSON for now. Need to implement an
error page for states when errors occur.

This commit also includes lots of documentation for the various
service/repository methods. I am trying to not let docs fall through the
cracks, but I am not perfect lol.
2025-07-02 22:53:15 -07:00
Hayden Hargreaves
35bf69d79c (UI): Implemented the recipe view page!
This can be accessed from `/v1/web/recipe/:id`! Static implementation,
not yet wired to the DB. Working on that next!
2025-07-02 21:21:10 -07:00
Hayden Hargreaves
c2cc8c8183 (FEAT): Wired backend to frontend for recipe creation.
Recipe creation is complete! Some minor issues include the
"eager-validation." It's better than nothing, but a bit harsh. Also, the
redirection and linking to a view page would be nice.

Furthermore, tags and images are not implemented yet. Will need that in
the future!
2025-06-30 22:30:11 -07:00
Hayden Hargreaves
cf0e291dd9 (FEAT): Implemented a route constants domain file.
This file contains route constants so they can be changed dynamically.
However, they do not support changes to the router, those are still
manual.
2025-06-25 18:23:47 -07:00
Hayden Hargreaves
6572c31ed4 (FEAT): Profile page is wired to backend.
This required service and repo creation for the users. Logging out is
not yet supported, but that is next.
2025-06-24 23:04:29 -07:00
Hayden Hargreaves
5577d96b0d (STYLE/UI): Implemented the nav bar for mobile and desktop.
This includes creation of the basic pages.
2025-06-16 22:21:06 -07:00
Hayden Hargreaves
4a5bfc3f10 (UI/STYLE): Implemented the simple login page.
Now all that's left for the authentication workflow is session management.
2025-06-14 21:18:35 -07:00