Skip to content

Conversation

@HaggitheSecond
Copy link

Allows adding custom symptoms and setup what default symptoms show up when logging a day.

View when logging a new day or editing an existing log:
image

View in settings:
image

@J-shw
Copy link
Owner

J-shw commented Oct 15, 2025

This is very nice!

I don't have time right now to review it all. But I will spin it up before the end of the week.

@J-shw
Copy link
Owner

J-shw commented Oct 16, 2025

Ok I just managed to spin this up now. I had some dependancy issues (not related to this pr) but that is something else that will need to be looked at..

Anyway, this is awesome!

One question, the make default symptom button. I thought that would mean everytime I create a log it will auto select that symptom but it does not. Is that a bug?

Also that mark button does not show on the period settings screen when adding a new symptom there.

@J-shw J-shw linked an issue Oct 16, 2025 that may be closed by this pull request
Copy link
Owner

@J-shw J-shw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These changes are not logic based, just some really quick things to make the imports more resilient for if files get moved around.

@J-shw
Copy link
Owner

J-shw commented Oct 16, 2025

Just another thing I thought about, we should store the symptoms all lower case in the db. Then display them with the inital character upper case. I feel trying to add some consistancy to the storage/display of the data might be nice overall.

@HaggitheSecond HaggitheSecond force-pushed the feature/app/allow_costum_symptoms branch from 5ecb8ae to e6729f5 Compare October 19, 2025 07:53
@HaggitheSecond
Copy link
Author

Ok I just managed to spin this up now. I had some dependancy issues (not related to this pr) but that is something else that will need to be looked at..

Anyway, this is awesome!

One question, the make default symptom button. I thought that would mean everytime I create a log it will auto select that symptom but it does not. Is that a bug?

Also that mark button does not show on the period settings screen when adding a new symptom there.

That is a good point. Right now it's supposed to be treated as "default symptom" -> always shows up but is not preselected. That might be a good clarification to make somewhere.

Regarding the second point, this mark button does not make sense to have in the settings screen, as you can only add default symptoms here anyways, so it would not do anything.

@J-shw
Copy link
Owner

J-shw commented Oct 19, 2025

Right now it's supposed to be treated as "default symptom" -> always shows up but is not preselected.

What does this mean? Do you mean it adds it to the list of default symptoms in app. So its more of a behind the scenese thing.

I don't understand what changes if I select default or not.

Cheers

@J-shw
Copy link
Owner

J-shw commented Oct 20, 2025

Hi @HaggitheSecond

This is coming along really nicely! While looking over your code I noticed that you found issues with the current implementation of how symptoms are stored. Which causes issues for when you want to count the total uses ect..

Anyway, I have made a new issue (And am about to fix it) to migrate the symptoms to their own DB table. While doing this I also thought that we could store the symptom text values in a DB too.

So a the symptom table would be:

id symptom
1 cramps
2 headache
3 mood swings

And we just assign a foreign key in my new symptom_log table that is associated with the symptom IDs:

id symptom_id period_log_id
1 1 22
2 1 23
3 2 23

The latest changes will probably cause merge conflicts on this branch (sorry!) but it will make the logic more sound in the long run.

@HaggitheSecond HaggitheSecond force-pushed the feature/app/allow_costum_symptoms branch 2 times, most recently from 49d14ae to 1a531b8 Compare October 29, 2025 08:25
@HaggitheSecond
Copy link
Author

HaggitheSecond commented Oct 29, 2025

@J-shw i've reworked this quite a bit and introduced a Symptom type that allows for both proper localization of built in symtpoms and also allows for future expansion.
This will likely need a bit more hardening, it feels a bit prone to issues right now, but that'll be something to do later, I think.

Since I consider this mostly done (if not bug free), I'll open this and remove the draft status.

@HaggitheSecond HaggitheSecond marked this pull request as ready for review October 29, 2025 08:29
@J-shw
Copy link
Owner

J-shw commented Oct 29, 2025

This is awesome! I will load it up later when I get back from work and have a look around it

J-shw added 8 commits October 31, 2025 17:36
Slight issue still:

- Insights are wrong, I logged 'test' twice and it only shows it as 1 Day.

- The translated value is wrong. The value displayed on the graph seems to be the store value and not the translated one (for default values)
@J-shw
Copy link
Owner

J-shw commented Oct 31, 2025

Hi @HaggitheSecond this is looking good!

Turns out I can just commit to this branch lol..

So its all working with the new setting service, but as per this commit there are still some issues with the insights data. I have not got time tonight to look at it, but I can tomorrow

@J-shw
Copy link
Owner

J-shw commented Nov 1, 2025

Hi @HaggitheSecond I have made some more changes and I think this system is pretty much there!

I have changed a few things:

  • System now supports new setting service model
  • Default symptoms are saved as english strings in db for better export/import funcitonality
  • All values saved in the DB are lower case
  • Custom symptoms are saved as lowercase in settings (Also trims any whitespace)
  • Custom symptoms displayed are capitalised when displayed
  • Removed other symptom type
  • Add and reset buttons are now action buttons and use icons for + and reset
  • These new action buttons are used on log bottom sheets and settings screen
  • Renamed setting screen from period logging to logs (Due to symptoms being logged even when not on a period)
  • Changed log setting icon
  • Reordered settings

I think thats everything?

Anyway, if there is anything I have missed or you don't agree with just let me know.

And once we are both happy with this, we can merge it all!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE] More symptoms

2 participants