joshuawootonn / type-the-word

little project I created to try t3 stack and make something I have wanted to use for a long time
https://typetheword.site
21 stars 1 forks source link

Themes #8

Open JWCook opened 4 days ago

JWCook commented 4 days ago

Would you consider adding support for themes? Either built-in themes (with an easy way to submit more via a PR here) or user-defined color settings would be a welcome addition.

For example, monkeytype stores its built-in themes as just 4 color values stored in a JSON file, and also has a section in the settings menu to set user-defined colors.

joshuawootonn commented 3 days ago

Hey @JWCook! I like this idea a lot. Especially creating a pattern so that other users can contribute.

I don't have a public roadmap right now, but I am working on a couple of other tasks. I'm migrating to App router, and after that I would like to:

Before those last three tasks though I will be reaching out to users to see what they would like most and I'll throw this one into the mix.

joshuawootonn commented 3 days ago

Seems like most of your work is in python, but in the off chance you want to contribute I would be happy to help design a theme'ing setup like you described. Let me know!

JWCook commented 3 days ago

Sounds good! I occasionally do a little frontend work, but I may not have enough experience with this stack to be of much help.

I did look around a bit to see how others handle multiple themes with tailwind, though. There are several plugins out there that aim to make it easier, and two of the more actively maintained ones appear to be tw-colors and tailwindcss-themer.

From a quick look through this repo, it looks like the background and text colors currently come from builtin classes (bg-white, text-black, etc.) applied directly to each element, so I suppose the first step would be to move all that to tailwind theme config, then try out one of those plugins to support multiple themes. That's just one idea, though; there might be other ways to go about it, like CSS variables.

joshuawootonn commented 3 days ago

I suppose the first step would be to move all that to tailwind theme config,

Definitely. I think this is the first step. Thankfully the themes I am using are so simple that it won't be to complicated. I really like how shadcn is doing this. So I would like to follow that convention of variables.

joshuawootonn commented 3 days ago

Sounds good! I occasionally do a little frontend work, but I may not have enough experience with this stack to be of much help.

No worries. I'll get to it at some point.

I'll take a look at those two plugins too. I haven't seen those yet.