feat(app): restyle v2 jump-to-latest button (#33809)
This commit is contained in:
@@ -1239,13 +1239,22 @@ export function MessageTimeline(props: {
|
|||||||
return (
|
return (
|
||||||
<div class="relative w-full h-full min-w-0">
|
<div class="relative w-full h-full min-w-0">
|
||||||
<div
|
<div
|
||||||
class="absolute left-1/2 -translate-x-1/2 bottom-6 z-[60] pointer-events-none transition-all duration-200 ease-out"
|
class="absolute left-1/2 -translate-x-1/2 z-[60] pointer-events-none transition-all duration-200 ease-out"
|
||||||
classList={{
|
classList={{
|
||||||
|
"bottom-8": settings.general.newLayoutDesigns(),
|
||||||
|
"bottom-6": !settings.general.newLayoutDesigns(),
|
||||||
"opacity-100 translate-y-0 scale-100": props.scroll.overflow && props.scroll.jump,
|
"opacity-100 translate-y-0 scale-100": props.scroll.overflow && props.scroll.jump,
|
||||||
"opacity-0 translate-y-2 scale-95 pointer-events-none": !props.scroll.overflow || !props.scroll.jump,
|
"opacity-0 translate-y-2 pointer-events-none": !props.scroll.overflow || !props.scroll.jump,
|
||||||
|
"scale-[0.8]": (!props.scroll.overflow || !props.scroll.jump) && settings.general.newLayoutDesigns(),
|
||||||
|
"scale-95": (!props.scroll.overflow || !props.scroll.jump) && !settings.general.newLayoutDesigns(),
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
|
<Show
|
||||||
|
when={settings.general.newLayoutDesigns()}
|
||||||
|
fallback={
|
||||||
<button
|
<button
|
||||||
|
type="button"
|
||||||
|
aria-label={language.t("session.messages.jumpToLatest")}
|
||||||
class="pointer-events-auto flex items-center justify-center w-10 h-8 bg-transparent border-none cursor-pointer p-0 group"
|
class="pointer-events-auto flex items-center justify-center w-10 h-8 bg-transparent border-none cursor-pointer p-0 group"
|
||||||
onClick={props.onResumeScroll}
|
onClick={props.onResumeScroll}
|
||||||
>
|
>
|
||||||
@@ -1259,6 +1268,27 @@ export function MessageTimeline(props: {
|
|||||||
<Icon name="arrow-down-to-line" size="small" />
|
<Icon name="arrow-down-to-line" size="small" />
|
||||||
</div>
|
</div>
|
||||||
</button>
|
</button>
|
||||||
|
}
|
||||||
|
>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
aria-label={language.t("session.messages.jumpToLatest")}
|
||||||
|
class="pointer-events-auto flex items-center justify-center w-8 h-7 px-2 py-1.5 rounded-lg border-none cursor-pointer text-v2-text-text-base backdrop-blur-[2px]"
|
||||||
|
style={{
|
||||||
|
background: "color-mix(in srgb, var(--v2-background-bg-base) 92%, transparent)",
|
||||||
|
"box-shadow": "var(--v2-elevation-raised), 0px 2px 8px var(--v2-background-bg-base)",
|
||||||
|
}}
|
||||||
|
onClick={props.onResumeScroll}
|
||||||
|
>
|
||||||
|
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true">
|
||||||
|
<path
|
||||||
|
d="M12.3333 8.66665L8 13L3.66667 8.66665M8 12.6667V2.83332"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-linecap="square"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
</button>
|
||||||
|
</Show>
|
||||||
</div>
|
</div>
|
||||||
<ScrollView
|
<ScrollView
|
||||||
viewportRef={bindListRoot}
|
viewportRef={bindListRoot}
|
||||||
|
|||||||
Reference in New Issue
Block a user