-
-
Notifications
You must be signed in to change notification settings - Fork 3
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
Create - theme_widget #21
Comments
Tasks -
|
Tasks -
|
Tasks -
|
feedback Good job. Excellent. Would be good to make what you have work for all components, so ibrar can start playing with it even while you are still improving things. It seems this should already be somewhat usable now. Otherwise:
Let me say something about the last option, which might sound confusing, but for example:
There is a difference between applying specific styling to a few specific button instances or applying a change to the styling in the shared stylesheet that all buttons might re-use. This needs to be addressed as well - that's maybe the biggest challenge in the changes requested above. |
Tasks -
|
feedback One thing - please take time to un-intermingle the components that get styled by parents please :-) When a component css is changed, great that it shows color in the tree navigation. The dropdown creates But to be honest, that is probably a UI/UX question, so maybe Ibrar can propose a remake of the theme widget. I wonder if the "theme widget" itself should be displayed in the tree navigation as well? :-) Otherwise this looks good, but what is weird now: we lost all the styling options for the instances...
We should be able to decide (or rather Ibrar) of whether individual instances or all of them receive a styling. I make a proposal at the end of this feedback. Otherwise, it looks prefect the way it works. I do think you should maybe reach out to Ibrar and share your fork of the playproject page so he can start playing and applying the new themes already and also he can provide feedback whether he can use it or not and maybe comes up with ideas about what would make things easier :-) PROPOSAL: Let's say the first editor tab is the default style element of that component. You then click Now advanced would be, if we could "re-use" some stylesheet across many different components, e.g. one that only deals with FONTS and we want it to be the same thing everywhere. There are 3 parts to this:
I think Regarding Finally, going back to my initial discord thread, We do not have an "export" feature yet, to download and save css from localStorage theme to files and we don't have an "import" feature yet, where somebody could upload a bunch of css file themes - those have to be included in the original repository at the moment in order to be displayable and selectable in the theme widget. We might consider an import/export in the following form by representing a filesystem in json: {
"css/": {
"index.json": JSON.stringify({
"rainbow": "...",
"electro": "...",
"fantasy": "...",
}),
"rainbow/": {
// ...
},
"electro/": {
// ...
},
"fantasy/": {
// ...
},
}
} The above would then just represent everything, but for details check my original discord post. This way we can import and export it to offer users to download their themes and/or upload themes. Why is it needed?THAT WAY, Ibrar can play with the theme widget and in the end export his theme files and submit them in a worklog and we can import it and then we can write a command line tool, to take such a json theme file and create the files/folder on disk and add them to the repository and commit it to the actualy repo :-) |
feedback Idea
One thing to keep in mind though is the "COMPONENT PATH" ... by which i mean, maybe you have the So maybe each component has to not just pass the default name or the custom theme picked name, but also, the path towards the root component to know if it is a Alternatively just having I am thinking, basically it would be good if the app had an easy way to spit out all the paths of component names/instances in uses, e.g.:
for a theme widget to learn about and then know ALL components in use everywhere and where different components are used.
A designer could then write a {
"app": "css/rainbow/app.css",
"app/header": "css/rainbow/header.css",
"app/header/button": "css/rainbow/btn1.css",
"app/content": "css/rainbow/content.css",
"app/footer": "css/rainbow/footer.css",
"app/footer/button": "css/rainbow/btn2.css",
} |
Tasks -
|
feedback Alright, maybe it is a misunderstanding. Now i think in previous feedback i said there should be an easy way to highlight a component with a red border to make it visible and scroll to it. many shared files Now we want the ability for a designer, to select one or more components or component instances to be more specific and create a "shared stylesheet" for them. Now if a style sheet IS shared by many component instances or even multiple sheets are shared, then each comonent instance, just like our "task explorer" needs to be able to expand parent sheets to see a list of "multiple parent sheets" that are all active. expanding the sheet itself will show all the instances it applies to, regardless of where an instance is otherwise positioned in the tree. Let's just say, the sheets are similar to "inputs" of a task :-) Regarding injecting one or many sheets into the component instance, how about:
That way we can get rid of the inject button, but toggle specific sheets on/off Cypher is currently working on the wireframe of the task messenger, and maybe he can join here to help out with the UI/UX :-) codeMaybe get rid of the css folder structure for now and create under So You need to somehow capture the component instances and all the css sheets that were default or created custom. The default ones should probably be "published" by each individual component by sharing with the theme widget what it's internal default css is. a theme like // light.json
{
"app": `
:host { color: red; }
`,
"app/header": `
:host { color: red; }
`,
"app/header/button": `
:host { color: red; }
`,
"app/content": `
:host { color: red; }
`,
"app/footer": `
:host { color: red; }
`,
"app/footer/button": `
:host { color: red; }
`,
} So you make your filesystem that single json file instead of creating files and folders for now. Of course in practice json doesnt support template literals, so it would more look like: // light.json
{
"app": "\n :host { color: red; }\n ",
"app/header": "\n :host { color: red; }\n ",
"app/header/button": "\n :host { color: red; }\n ",
"app/content": "\n :host { color: red; }\n ",
"app/footer": "\n :host { color: red; }\n ",
"app/footer/button": "\n :host { color: red; }\n ",
} All in all, let's add the feature to export or download the file, so anyone, e.g. like me, could play with the css and then download the file that contains my customizations. I can then send it to you via discord and then you can import/upload that file when you have the theme widget open and it will apply my style to your page :-) |
Tasks -
|
feedback Thank you for the worklog 221. All feedback i could share was shared on discord during the last chaotic month which where i needed to do a lot of business related activities and visit 2 conferences. In essence, regarding feedback to this worklog:
In essence - let's move slower but without errors. By splitting the "whole problem" into independent well defined and testable modules we can implement the solution step by step and we avoid regressions. Features can be kept in github issues so we dont forget them while we work on the more basic re-usable modules we will use to implement the whole graph explorer with all features. Regarding button placement and stuff, let cypher figure out the UI/UX and how to integrate the functionality :-) You can share those "problems" with him and let's see what ideas he has. |
Tasks -
|
Tasks -
|
feedback Feedback as discussed on discord this time :-) |
Tasks -
|
Tasks -
|
Tasks -
|
Tasks -
|
feedback this time provided on discord :-) |
Tasks -
|
feedback feedback on discord :-) |
Task -
|
feedback Maybe in the future - write all worklog comments first - and then use the finished tasks and descriptions as a "table of content" about what to record in the worklog video to not forget stuff :-) |
Todo
theme_widget
@output
📦 theme_widget_v0.0.1 from commenttheme_widget_v0.0.1
@output
📦 theme_widget_v0.0.1 from commentindex.js
cleanup@output
📦 theme_widget_v0.0.2 from commenttheme_widget_v0.0.2
@input
📦 theme_widget_v0.0.2 from comment@output
📦 theme_widget_v0.0.3 from commenttheme_widget_v0.0.3
@input
📦 theme_widget_v0.0.3 from comment@output
📦 theme_widget_v0.0.4 from commenttheme_widget_v0.0.4
@input
📦 theme_widget_v0.0.4 from commenttheme_widget
@output
📦 theme_widget_v0.0.5 from commenttheme_widget_v0.0.5
@input
📦 theme_widget_v0.0.5 from comment@output
📦 theme_widget_v0.0.6 from commenttheme_widget_v0.0.6
@input
📦 theme_widget_v0.0.6 from commentio.js
module@output
📦 theme_widget_v0.0.7 from commenttheme_widget_v0.0.7
@input
📦 theme_widget_v0.0.7 from commentstatedb
to privately get data for each component@output
📦 theme_widget_v0.0.8 from commenttheme_widget_v0.0.8
@input
📦 theme_widget_v0.0.8 from commentSTATE.js
STATE.js
@output
📦 theme_widget_v0.0.9 from commenttheme_widget_v0.0.9
@input
📦 theme_widget_v0.0.9 from comment@output
📦 theme_widget_v0.0.10 from commenttheme_widget_v0.0.10
@input
📦 theme_widget_v0.0.10 from commentgraph_explorer
-4h
30min
2h
@output
📦 theme_widget_v0.0.11 from commenttheme_widget_v0.0.11
@input
📦 theme_widget_v0.0.11 from commentREADME.md
andGLOSSARY.md
in doc@output
📦 theme_widget_v0.0.12 from commenttheme_widget_v0.0.12
@input
📦 theme_widget_v0.0.12 from comment@output
📦 theme_widget_v0.0.13 from commentThe text was updated successfully, but these errors were encountered: