-
Notifications
You must be signed in to change notification settings - Fork 186
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Themes support #402
Comments
On #343 we determined we would accept a PR for dark mode, but I think that's it :) |
Yeah, I see. However, this was before having a real component system. Now it should be easier. 😅 I know José doesn't want to make this project very complex, and I absolutely understand, but I see massive potential if we allow the community more customization with themes and plugins. Baby steps! It will be an awesome project anyway :) |
I think there are two topics here:
My $.02: I don't see the benefit in supporting themes given the complexity they require. Any feature or design modification we do will break themes. So we would either: reach v1.0 and then be unable to improve features, as they would break themes, or release a feature that can break on every new release. However, I do agree with making it public that we use Bootstrap, allow custom css, and have that as the building block for new pages. |
I saw several plus points:
As you rightly point out, backward compatibility is a requirement for the project in the long term, and custom themes will break it. I didn't realize. Considering the pros and cons, it is better not to give theme support. We can solve future features with different approaches. Thank you |
I created #405 to track the docs changes. I am going to work on docs later this afternoon so if it is still open at that time then I will take it :) Also I am closing this since we are not planning to step up to themes support. Thank you @alexcastano for all of the thoughtful conversation! |
@josevalim Suppose I want to change only 1 bit of the entire dashboard using custom css, or maybe add a bit of a javascript to do certain things. There is already the on_mount functions that are available, and a few things such as the :page_title are customisable in that way, however apart from that, I could not really find any other way. Doing something like this allowed me to change a few things such as the page title that is being used in the layout, but thats about it. I was hoping to maybe add a simple string here that can be possible to have certain custom javascript / css / any kind of html, that renders on the layout.
If this is possible, then I would assume, any kind of customisation would be possible with custom css / js at the layout level. |
Now that we have real components in Dashboard I think we can support themes "easily":
Theme
behaviour with all the components we use. It would be a little bit more complex than simple behaviour because it should have support for all the attrs and slots we use, but it will work.Theme
module or we just delegate to the configured theme.This is the basic idea. What do you think? Am I missing something relevant?
The text was updated successfully, but these errors were encountered: