Yeah these are great suggestions. Not sure how I’d accomplish it via just a theme component, but it’s cool to think about.
Also, today I added an update to the component which adds some readability settings.
One issue I found though is that it is interacting poorly with our DiscoTOC component installed here on meta. I have some ideas on how to fix it and will try to get to that this week.
Thanks, this is actually just due to the discoTOC theme component we have installed here on dev. I will work this week on getting the two components playing nicely together.
It would be awesome if we could “store” my reader mode settings so they persist across topics. From a technical standpoint, there are many ways we could do this.
Chrome 124.0.6367.61, windows 11
I did try without any extensions and it’s the same.
I think it’s because the positioning (top) is being constantly updated when it should not (the top value seems to be influenced by the font size, the panel should be static here )
On Firefox, it does the same, however, sometimes (could not figure out reliably yet), the positioning doesn’t update, then it’s smooth:
I’m not exactly sure if this will help, but your post gave me an idea.
For the width slider, the step increment was super small, set to 1px, and it seemed smooth.
The font step was too large though, and I’ve decreased it tremendously. So font size changes should feel a bit more smooth now, at least in terms of actual text increase & decreasing in size.
The top positioning of the settings menu you mean?
Yes, the settings panel. It seems to be relative to the main outlet, seeing the big number.
I wonder if the settings panel could be relative to the timeline controls. I’m not sure if that’s feasible, though.
For example, If I move the panel there, you can see the positioning doesn’t change because, relative to the timeline, that doesn’t move. Do you see what I mean?
I think there is a way of telling DMenu in what container you want to insert your code, using this.menu.registerPortalOutletElement.
I did a test by creating a container in .timeline-controls and then passing that container element to registerPortalOutletElement, and it worked for me. I don’t know if this is the best way, but it did the job.
IIRC that’s only designed to be used once, when the app boots. Calling it later will move all future DMenu invocations to that element, so it’ll break a ton of other stuff
OH. My bad. I thought it was set whenever the component was inserted; I even tested it before posting. I probably got confused with the inline menu, then. Never read code when you’re tired ahah.
EDIT: I just checked again, and yes, it’s set once. I was lucky it didn’t break anything.
Thanks for this component, I am really enjoying using this component! I would love to see:
Color options in the reader mode options. I personally like to keep Meta in light mode, but it would be nice if I can switch to dark/sepia color scheme while in reader mode.
This is great, It’s actually the UI I would like to get to eventually. I stuck with simple browser defaults for now in terms of font size, selection, & content width.
I also really like The Arc Browsers UI for their boosts feature
I love this and expect most of our users will love it too. Unfortunately, the mismatch in opacity highlighted by Keegan is also the thing that’s holding me back from adding it to our instance:
I actually prefer it in the other direction, where the user profile and flair remain full colour, however I agree that the real issue is the mismatch between opacity of flairs and profile pictures.
The other three points from Keegan elegantly sum up everything else I was thinking.
Can’t wait to see more development on this
Edit:
Comment from a colleague:
I like it! So much that I would even be interested in being able to choose that having it active is the default"