[Feature] Input Field Condition
Before Requesting
- [x] I found no existing issue matching my feature request
- [x] This request is related to Millennium, and not a request for a specific theme/addon
Describe the feature you'd like!
Millennium's ability to update a skin off the web is very handy for the user, especially if they have to deal with someone like me who is constantly rolling out updates, but it gives up some of the ability to customize a skin to have this. Dynamic Patching can handle some pre-set configurations, but this doesn't allow the user to really play with things unless they want to give up the auto-updates. With a straight up CSS config, a user may set certain variables to whatever they want. This could be for some URL to grab an image to apply for a background, to assign a string for customizing some text, or whatever.
What I propose is some similar configuration condition to the Dynamic Patching, but instead of selecting between patches, it directly assigns a value to a variable key.
"Option Title": {
"description": "Description of the option.",
"tab": "Option Tab",
"key": "--variable",
"value": "Default"
}
It could work as simple as this. You have similar options to Dynamic Patching like the title, description, and settings tab, but you instead have the variable key and the default value, which could be an empty string. This would generate a virtual style in where the variable key and value are concatenated in a root block. In the settings, it would render as an input field with the title and description like Dynamic Patching options.
As well, it could be useful to have these generated variables rendered as the color picker. Probably the simplest way to determine if it is a string literal or a color value to be parsed would be to have some additional key to define in the option block. Therefore only the author can screw that up. This would allow color configurations to be more closely organized with their respective related options instead of lumped into one tab as with RootColors.
If it is a string literal, it would add quotations to the value.
And to further improve it, a file picker to assign a variable to the selected file would make it even easier for the user, but is not necessary.
Use cases I can see for this are to allow users to add their own images to certain parts of a skin such as a background image or icon or mascot, allowing users to customize added strings to a skin for personalization or translation purposed, and this concept could go even further if there were some manner to detect and parse non-string literals, all while still allowing Millennium to update the skin for them.
Anything else?
No response