Wenn Sie darauf klicken, wird das Thema in den „Lesemodus“ versetzt, wobei der Großteil der Benutzeroberfläche mit einer leicht undurchsichtigen Abdeckung versehen wird, um Ablenkungen zu minimieren.
Einige andere Dinge, die passieren, sind ein Filter, der auf alle Avatare und Bilder angewendet wird und diese in Graustufen umwandelt.
Hier ist eine Bildschirmaufnahme davon in Aktion.
Die Komponente ist in den folgenden hier auf Meta installierten Themes verfügbar:
Air Theme
Default
Default (Full Width)
Fully
Meta Branded
Redditish
Sam’s Simple Theme
Dies ist noch in Arbeit und ich würde mich über Fehlerberichte oder Feedback freuen, die hier gepostet werden
Mir ist aufgefallen, dass einige der Styling-Änderungen dazu führen, dass das Layout beim Klicken auf die Schaltfläche “springt”. Ich nehme an, einige Elemente werden auf display: none; gesetzt? Oder ändern sich einige Schriftgrößen?
Wäre es machbar, die Schaltfläche rein “grau zu machen” (oder unnötige Elemente auf visibility: hidden; zu setzen), ohne dass es zu einer Layoutverschiebung kommt?
Wie wäre es mit visibility: hidden;? Oder opacity: 0;? Damit es noch da ist und im Layout enthalten ist, aber unsichtbar? Ich schätze, wir bräuchten auch etwas, um Klicks/Fokus darauf zu verhindern? Oder vielleicht machen wir es beim Hover/Fokus wieder sichtbar?
Eine relativ sichere Methode wäre, die Benutzerinteraktion zu imitieren:
if(document.body.classList.contains("has-sidebar-page")){ // Sidebar ist sichtbar
document.querySelector(".btn-sidebar-toggle").click()
}
Okay, ja, Entschuldigung für die Verwirrung. Ich verstehe Sie jetzt. Da der Lesemodus nicht als Umschalter für die Seitenleiste bekannt ist, könnte es verwirrend sein, dass er umgeschaltet wird, was die Verschiebung verursacht, obwohl Sie das nicht wollten.
Ich nehme an, ich ging davon aus, dass es keine Rolle spielt, wenn der Seitenleisten-Umschalter eine Verschiebung verursacht, wenn der Lesemodus dasselbe tut.
Ich kann versuchen, die Seitenleiste nicht umzuschalten und hier ein Video zu posten, um es Ihnen zu zeigen.
Wenn die Seitenleiste geschlossen ist, bevor Sie die Lesemodus-Schaltfläche verwenden, öffnet sich die Seitenleiste, und danach tut die Schaltfläche nichts mehr.
Ich bin mir nicht sicher, wie schwierig das wäre, aber ich dachte, es wäre schön, wenn der Benutzer die Taste ESC drücken könnte, um den Lesermodus zu verlassen. Da die Schaltfläche Teil der Zeitleiste ist, kann sie aus dem Bild verschwinden, wenn Sie ganz nach unten zum Thema scrollen.
Es ist eine sehr coole Funktion. Ausgezeichnete Arbeit, Jordan!
Wie David sagte, frage ich mich, ob es möglich ist, den Inhalt nicht zu verschieben.
Gibt es auch einen bestimmten Grund, die ursprüngliche Breite zu reduzieren? Möglicherweise bin ich mir einiger Einschränkungen nicht bewusst.
Funktionalität, all dies scheint nur die Zeitleiste und die Benachrichtigungsleiste auszublenden, da die Seitenleiste bereits einklappbar ist. Ich sehe nicht wirklich, dass sich die Erfahrung ausreichend verändert oder verbessert, um in jedem Thema eine weitere Schaltfläche zu haben.
Es wäre sinnvoller, wenn es das Leseerlebnis auf sinnvolle Weise verändern würde, z. B. indem es im Lesemodus auf die volle Breite erweitert wird. So wie es jetzt ist, würde ich diese Funktion wahrscheinlich nie nutzen, sodass sie ironischerweise nur mehr visuelles Rauschen in der Zeitleiste verursacht.
Ich habe einige längerfristige Ziele, um Optionen für Schriftart, Textgröße, Breite des Inhalts usw. hinzuzufügen. Aber im Moment ist dies nur ein kleines Experiment und ein WIP (Work in Progress).
Die neuesten Änderungen zur Begrenzung der Bewegung und für einen besseren Übergang wurden in diese Komponente integriert. Danke für das bisherige Feedback
Das Ausblenden der Themenübersicht erzeugt eine große Lücke zwischen dem OP und der ersten Antwort. Ich frage mich, wie eine Graustufen-Themenübersicht aussehen würde.
Ich kann auf den OP antworten oder direkt in der Reader-Ansicht auf Beiträge antworten. Vielleicht sollte es auch möglich sein, vom Ende des Themas aus zu antworten?
Ja, vielleicht kann ich sie auch ein wenig transparent machen. Ich habe versucht, sie mit einem sanften Übergang auszublenden, aber aufgrund der Art und Weise, wie wir Elemente in unserer Liste rendern, ist dies manchmal nicht sichtbar, und der Versuch, sie auszublenden, wird zu einer Qual.
Das Gleiche gilt für alle kleinen Beitragsbenachrichtigungen und Zeitlücken. Die einzige Möglichkeit, die mir einfiel, war die Verwendung einer Element-Observer-API, aber selbst dann ist die Bewegung leicht unvorhersehbar und ich bemerkte zufällige Ruckler.
Schöne Verbesserung, Jordan! Es ist eine viel bessere Erfahrung, keine Bewegungsverschiebungen mehr zu sehen und einige Animationen, um den Übergang zu glätten.
Ich stimme Sams Vorschlägen zu; wenn wir nicht wesentliche Informationen ausblenden, wäre die Rückkehr der Farbe ein guter Kompromiss. Das könnte jedoch eine Option sein.
Sobald Sie sich im Lesemodus befinden, müssen Sie klicken, um zu einer anderen Seite zu gelangen, und dann, wenn Sie den Lesemodus wünschen, müssen Sie erneut klicken, um ihn wieder einzuschalten. Machen Sie die anderen Navigationslinks vielleicht ein klein wenig weniger versteckt und lassen Sie sie funktionieren und eingeschaltet, wenn wir zum nächsten Thema gelangen.
Eine andere Idee: Schalten Sie ihn automatisch aus, wenn Sie das Ende des Themas erreichen.
Oder navigieren Sie automatisch zum nächsten Thema in der zuletzt besuchten Themenliste!