95 Commits

Author SHA1 Message Date
Hayden Hargreaves
7df879b04a (CHORE): Removed the handlers directory, they were old 2025-11-13 21:39:09 -07:00
Hayden Hargreaves
34b0cc4199 (FEAT): Translated the first API.
Auth is next...
2025-11-13 21:38:47 -07:00
Hayden Hargreaves
ee6017f8ca (FIX): Fixed the database scripts.
They were not working properly.
2025-10-09 17:52:04 -07:00
Hayden Hargreaves
ad63f6e3c5 (FIX): Database backup scripts. 2025-10-07 12:07:05 -07:00
Hayden Hargreaves
445557f37e (FIX): Fixed issues with search.
Spaces are now ignored and special characters that are used for the
query are not a problem. This can be pushed up for UAT.
2025-09-19 13:38:16 -07:00
Hayden Hargreaves
033b4fe410 (FIX): Fixed comp issues 2025-09-12 18:58:40 -07:00
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
1e6a06e8ed (FEAT): Added errors to each of the handlers.
I think this is really the only place we need them. For now at least.
2025-09-04 20:25:12 -07:00
Hayden Hargreaves
6b030adf02 (DOC): Updated documentation 2025-09-03 22:25:13 -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
d22f9a7ff3 (FIX): Added directions for create page.
It was brought to my attention that the menu was hard to understand. Now
there are some simple directions.
2025-08-20 21:33:21 -07:00
Hayden Hargreaves
3dd8185257 (FEAT): Allowed for removal of ingredients and instructions.
This is very janky and makes me wonder if I should have used a
framework. But it works?
2025-08-14 20:38:53 -07:00
Hayden Hargreaves
930ce72f54 (FIX): Updated the templ version 2025-08-14 20:37:16 -07:00
Hayden Hargreaves
2dc99c30c8 (FIX/UI): Only displaying 3 lines in search results. 2025-07-27 18:41:10 -07:00
Hayden Hargreaves
09aa311d52 (FIX): This got missed...
This is part of the merge that fixed the issues with the nil derefs
2025-07-27 14:20:42 -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
0bfb2e6e86 (FIX): Removed tx's from user and engagement repositories. 2025-07-27 12:10:56 -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
2c925513d5 Merge branch 'dev' of gitea:azpect/Potion into dev 2025-07-26 23:20:51 -07:00
Hayden Hargreaves
8d94ed2d08 (FIX): Fixed the issue with null returns from the RotW! 2025-07-26 23:20:27 -07:00
0ba2f10b36 Merge branch 'master' into dev 2025-07-26 23:06:50 -07:00
Hayden Hargreaves
ae2b2791ce (FIX): Fixed one of small deref errors.
The recipe get tags method was failing when a nil recipe is provided.
Not sure when that would happen, but without fixing it, we can just
return nil when a blank recipe is returned.
2025-07-26 23:02:34 -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
68b97cea21 (FEAT/DB): Implemented the DB migrations for RotW.
Created a table and a stored procedure to generate the values in the
table! This is my first implementation of an SP, which is very cool!
2025-07-26 20:10:48 -07:00
Hayden Hargreaves
4614b4ef37 (UI): Implemented the UI for the recipe of the week. 2025-07-25 16:53:31 -07:00
Hayden Hargreaves
ab555ed090 (FIX): Removed activity section coming soon prompt. 2025-07-23 18:27:14 -07:00
Hayden Hargreaves
157fd8d3c1 (FIX): Fixed the cookies! They are now abstracted and env controlled
Need to test this in production to ensure they are working properly.
2025-07-23 18:10:12 -07:00
Hayden Hargreaves
296f32aa6d (FIX): Forgot to update this. Need to change cookies too. 2025-07-22 22:50:12 -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
94740b4b54 (FEAT): Added a handler to recover from panics.
This is not perfect, and def not set in stone. But for now, it will
return a JSON page, and not crash. I want this to log the user out,
clear the cookies, and then direct home with a message saying something
went wrong.

I also want it to send me an email with the details, but one step at a
time for now, that is not 100% necessary, I just need to fix the bugs.
I also need to fix the environments.
2025-07-22 22:11:11 -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
eec8ed00c3 (FEAT): Application has been dockerized.
The application can now be built, tailwind is built, AND templ
components are generated! Which means, we can no longer push the
tailwind generated CSS file OR the templ generated go files!

Plus, this is the first step towards deployment and CI/CD!
2025-07-21 20:14:03 -07:00
Hayden Hargreaves
0c99ab5414 (FIX): Updated the URLs from the profile page. 2025-07-20 22:02:17 -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
27d5b59cfc (UI/FIX): Displaying a heart next to favorites.
This effect is seen in the favorites page AND the search page! But of
course, only for users that are logged in.
2025-07-16 19:32:54 -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
bebeb25492 (DB/FEAT): Implemented toggle favorite in the backend.
The frontend is half wired up, just need to update the button. I also
want to update the recipe methods to return the favorite status. This
will follow very similar to the way I updated the tags. Another method
which can be called to attach the favorite state.
2025-07-14 21:30:45 -07:00
Hayden Hargreaves
d29426290d (FEAT): Created engagement buttons, and wired most of them up!
The make button is pretty much done, just need to finish up by
rate limiting it. That will take place in the engagement repository.

Sharing works as well, just a UI change, there is no backend yet, maybe
there should be an engagement type for sharing recipes. But not totally
sure.

The viewing is also in a semi-working state. It does not create requests
for users that aren't signed in, which needs to come. With that update
there is a need to update HOW the requests come in, we don't need it
every time we load the page. Maybe just when we click to it, from
somewhere else?

Finally, the favoriting does not totally work. The entry into the
engagement table is complete, but the actual favorites table, favorite
creation, button toggling AND button rendering is not implemented yet.
2025-07-14 21:00:28 -07:00
Hayden Hargreaves
acbb07cb34 (UI): Small UI tweaks. 2025-07-14 18:07:58 -07:00
Hayden Hargreaves
4a94b1a08c (UI/FIX): Fixed the retarded formatting.
Templ's formatter sucks.
2025-07-13 21:37:51 -07:00