Experiment showing small title when nav/tab bars collapsed

pull/1258/head
Lim Chee Aun 2025-09-03 14:15:53 +08:00
rodzic 1cb0d7da52
commit 26c9fb5aee
4 zmienionych plików z 89 dodań i 17 usunięć

Wyświetl plik

@ -147,11 +147,71 @@ a[href^='http'][rel*='nofollow']:visited:not(:has(div)) {
} }
} }
} }
.deck > header {
.header-side {
height: auto;
transition: all 0.3s;
}
h1 {
transition: all 0.3s;
}
}
.deck > header[hidden] { .deck > header[hidden] {
display: block; display: block;
transform: translateY(-100%); /* transform: translateY(-100%);
pointer-events: none; pointer-events: none; */
user-select: none; user-select: none;
[data-shortcuts-view-mode='tab-menu-bar'] & {
@media (max-width: 40em) {
top: 100vh;
}
}
&.loading:after {
display: none;
}
.header-grid {
min-height: 1em;
background-color: transparent !important;
backdrop-filter: none;
border: 0;
padding-block: 8px;
[data-shortcuts-view-mode='tab-menu-bar'] & {
@media (max-width: 40em) {
transform: translateY(-100%);
}
}
> * {
pointer-events: none;
}
}
.header-side {
opacity: 0;
height: calc(14px + 4px + 4px);
overflow: clip;
transform: translateY(-32px);
}
h1 {
display: inline-block;
font-size: 14px !important;
padding: 4px 8px !important;
background-color: var(--bg-color);
border: 1px solid var(--outline-color);
border-radius: 9999px;
color: var(--text-insignificant-color);
font-weight: 500;
box-shadow: 0 4px 32px var(--drop-shadow-color);
b {
font-weight: 500;
}
}
} }
.deck > header .header-grid { .deck > header .header-grid {
background-color: var(--bg-color); background-color: var(--bg-color);
@ -3059,7 +3119,8 @@ ul.link-list li a .icon {
min-height: 4em; min-height: 4em;
} }
.timeline-deck > header[hidden] { .timeline-deck > header[hidden] {
transform: translate3d(0, calc((100% + var(--margin-top)) * -1), 0); /* transform: translate3d(0, calc((100% + var(--margin-top)) * -1), 0); */
transform: translate3d(0, calc(var(--margin-top) * -1), 0);
} }
.deck > header { .deck > header {
text-shadow: 0 1px var(--bg-color); text-shadow: 0 1px var(--bg-color);

Wyświetl plik

@ -285,7 +285,7 @@ function Timeline({
const headerRef = useRef(); const headerRef = useRef();
// const [hiddenUI, setHiddenUI] = useState(false); // const [hiddenUI, setHiddenUI] = useState(false);
const [nearReachStart, setNearReachStart] = useState(false); const [nearReachStart, setNearReachStart] = useState(false);
useScrollFn( const { resetScrollDirection } = useScrollFn(
{ {
scrollableRef, scrollableRef,
distanceFromEnd: 2, distanceFromEnd: 2,
@ -436,6 +436,7 @@ function Timeline({
e.target.closest('.timeline-item, .timeline-item-alt') e.target.closest('.timeline-item, .timeline-item-alt')
) { ) {
setTimeout(() => { setTimeout(() => {
resetScrollDirection();
headerRef.current.hidden = false; headerRef.current.hidden = false;
}, 250); }, 250);
} }
@ -446,7 +447,11 @@ function Timeline({
ref={headerRef} ref={headerRef}
// hidden={hiddenUI} // hidden={hiddenUI}
onClick={(e) => { onClick={(e) => {
if (!e.target.closest('a, button')) { // If hidden set not hidden
if (headerRef.current.hidden) {
resetScrollDirection();
headerRef.current.hidden = false;
} else if (!e.target.closest('a, button')) {
scrollableRef.current?.scrollTo({ scrollableRef.current?.scrollTo({
top: 0, top: 0,
behavior: 'smooth', behavior: 'smooth',

24
src/locales/en.po wygenerowano
Wyświetl plik

@ -330,7 +330,7 @@ msgstr "More from <0/>"
#: src/components/columns.jsx:27 #: src/components/columns.jsx:27
#: src/components/nav-menu.jsx:181 #: src/components/nav-menu.jsx:181
#: src/components/shortcuts-settings.jsx:139 #: src/components/shortcuts-settings.jsx:139
#: src/components/timeline.jsx:470 #: src/components/timeline.jsx:475
#: src/pages/catchup.jsx:883 #: src/pages/catchup.jsx:883
#: src/pages/filters.jsx:90 #: src/pages/filters.jsx:90
#: src/pages/followed-hashtags.jsx:41 #: src/pages/followed-hashtags.jsx:41
@ -492,7 +492,7 @@ msgstr "Attachment #{i} failed"
#: src/components/compose.jsx:1256 #: src/components/compose.jsx:1256
#: src/components/status.jsx:2096 #: src/components/status.jsx:2096
#: src/components/timeline.jsx:1015 #: src/components/timeline.jsx:1020
msgid "Content warning" msgid "Content warning"
msgstr "" msgstr ""
@ -743,7 +743,7 @@ msgid "Accounts"
msgstr "" msgstr ""
#: src/components/generic-accounts.jsx:214 #: src/components/generic-accounts.jsx:214
#: src/components/timeline.jsx:552 #: src/components/timeline.jsx:557
#: src/pages/list.jsx:321 #: src/pages/list.jsx:321
#: src/pages/notifications.jsx:923 #: src/pages/notifications.jsx:923
#: src/pages/search.jsx:562 #: src/pages/search.jsx:562
@ -752,7 +752,7 @@ msgid "Show more…"
msgstr "" msgstr ""
#: src/components/generic-accounts.jsx:219 #: src/components/generic-accounts.jsx:219
#: src/components/timeline.jsx:557 #: src/components/timeline.jsx:562
#: src/pages/search.jsx:567 #: src/pages/search.jsx:567
msgid "The end." msgid "The end."
msgstr "" msgstr ""
@ -780,13 +780,13 @@ msgstr ""
#: src/components/gif-picker-modal.jsx:207 #: src/components/gif-picker-modal.jsx:207
#: src/components/media-modal.jsx:469 #: src/components/media-modal.jsx:469
#: src/components/timeline.jsx:928 #: src/components/timeline.jsx:933
msgid "Previous" msgid "Previous"
msgstr "" msgstr ""
#: src/components/gif-picker-modal.jsx:225 #: src/components/gif-picker-modal.jsx:225
#: src/components/media-modal.jsx:488 #: src/components/media-modal.jsx:488
#: src/components/timeline.jsx:945 #: src/components/timeline.jsx:950
msgid "Next" msgid "Next"
msgstr "" msgstr ""
@ -1151,7 +1151,7 @@ msgstr ""
#: src/components/status-compact.jsx:70 #: src/components/status-compact.jsx:70
#: src/components/status.jsx:2873 #: src/components/status.jsx:2873
#: src/components/status.jsx:2951 #: src/components/status.jsx:2951
#: src/components/timeline.jsx:1004 #: src/components/timeline.jsx:1009
#: src/pages/catchup.jsx:75 #: src/pages/catchup.jsx:75
#: src/pages/catchup.jsx:1880 #: src/pages/catchup.jsx:1880
msgid "Filtered" msgid "Filtered"
@ -2604,12 +2604,12 @@ msgstr "{index}/{total}"
msgid "{index}/X" msgid "{index}/X"
msgstr "{index}/X" msgstr "{index}/X"
#: src/components/timeline.jsx:486 #: src/components/timeline.jsx:491
#: src/pages/settings.jsx:1218 #: src/pages/settings.jsx:1218
msgid "New posts" msgid "New posts"
msgstr "" msgstr ""
#: src/components/timeline.jsx:587 #: src/components/timeline.jsx:592
#: src/pages/home.jsx:228 #: src/pages/home.jsx:228
#: src/pages/notifications.jsx:899 #: src/pages/notifications.jsx:899
#: src/pages/status.jsx:1099 #: src/pages/status.jsx:1099
@ -2618,16 +2618,16 @@ msgid "Try again"
msgstr "" msgstr ""
#. placeholder {0}: fItems.length #. placeholder {0}: fItems.length
#: src/components/timeline.jsx:622 #: src/components/timeline.jsx:627
msgid "{0, plural, one {# Boost} other {# Boosts}}" msgid "{0, plural, one {# Boost} other {# Boosts}}"
msgstr "{0, plural, one {# Boost} other {# Boosts}}" msgstr "{0, plural, one {# Boost} other {# Boosts}}"
#: src/components/timeline.jsx:627 #: src/components/timeline.jsx:632
msgid "Pinned posts" msgid "Pinned posts"
msgstr "Pinned posts" msgstr "Pinned posts"
#. placeholder {0}: filterInfo.titlesStr #. placeholder {0}: filterInfo.titlesStr
#: src/components/timeline.jsx:999 #: src/components/timeline.jsx:1004
msgid "<0>Filtered</0>: <1>{0}</1>" msgid "<0>Filtered</0>: <1>{0}</1>"
msgstr "" msgstr ""

Wyświetl plik

@ -138,6 +138,12 @@ export default function useScrollFn(
} }
}, [init]); }, [init]);
return {
resetScrollDirection: () => {
scrollDirection.current = null;
},
};
// return { // return {
// scrollDirection, // scrollDirection,
// reachStart, // reachStart,