From 548ec6c82d114f96c431a4e0f162e8360bfd22f4 Mon Sep 17 00:00:00 2001 From: Eric Bailey Date: Tue, 22 Aug 2023 13:04:17 -0500 Subject: add title attr to text text links (#1228) * add title attr to text text links * Revert "add title attr to text text links" This reverts commit c028cd184efd3b2788d8f46134eecf521e5d7b07. * use css tooltips * add to expanded post state * handle theming * add to bskyweb --- src/state/models/ui/shell.ts | 9 ++++++++- src/view/com/post-thread/PostThreadItem.tsx | 19 ++++++++++++------- src/view/com/util/Link.tsx | 7 ++++++- src/view/com/util/PostMeta.tsx | 2 ++ src/view/com/util/text/Text.tsx | 10 +++++++++- 5 files changed, 37 insertions(+), 10 deletions(-) (limited to 'src') diff --git a/src/state/models/ui/shell.ts b/src/state/models/ui/shell.ts index d1ea4ddf1..0c0bb01d7 100644 --- a/src/state/models/ui/shell.ts +++ b/src/state/models/ui/shell.ts @@ -267,13 +267,20 @@ export class ShellUiModel { hydrate(v: unknown) { if (isObj(v)) { if (hasProp(v, 'colorMode') && isColorMode(v.colorMode)) { - this.colorMode = v.colorMode + this.setColorMode(v.colorMode) } } } setColorMode(mode: ColorMode) { this.colorMode = mode + + if (typeof window !== 'undefined') { + const html = window.document.documentElement + // remove any other color mode classes + html.className = html.className.replace(/colorMode--\w+/g, '') + html.classList.add(`colorMode--${mode}`) + } } setMinimalShellMode(v: boolean) { diff --git a/src/view/com/post-thread/PostThreadItem.tsx b/src/view/com/post-thread/PostThreadItem.tsx index e44151ac5..088be6a90 100644 --- a/src/view/com/post-thread/PostThreadItem.tsx +++ b/src/view/com/post-thread/PostThreadItem.tsx @@ -193,7 +193,8 @@ export const PostThreadItem = observer(function PostThreadItem({ /> - + - - ·  - - {({timeElapsed}) => <>{timeElapsed}} - - + + {({timeElapsed}) => ( + + · {timeElapsed} + + )} + diff --git a/src/view/com/util/Link.tsx b/src/view/com/util/Link.tsx index e428960fe..fd886fda4 100644 --- a/src/view/com/util/Link.tsx +++ b/src/view/com/util/Link.tsx @@ -135,6 +135,7 @@ export const TextLink = observer(function TextLink({ numberOfLines, lineHeight, dataSet, + title, }: { testID?: string type?: TypographyVariant @@ -144,6 +145,7 @@ export const TextLink = observer(function TextLink({ numberOfLines?: number lineHeight?: number dataSet?: any + title?: string } & TextProps) { const {...props} = useLinkProps({to: sanitizeUrl(href)}) const store = useStores() @@ -173,8 +175,8 @@ export const TextLink = observer(function TextLink({ style={style} numberOfLines={numberOfLines} lineHeight={lineHeight} - // @ts-ignore web only -prf dataSet={dataSet} + title={title} // @ts-ignore web only -prf hrefAttrs={hrefAttrs} // hack to get open in new tab to work on safari. without this, safari will open in a new window {...props}> @@ -197,6 +199,7 @@ interface DesktopWebTextLinkProps extends TextProps { accessible?: boolean accessibilityLabel?: string accessibilityHint?: string + title?: string } export const DesktopWebTextLink = observer(function DesktopWebTextLink({ testID, @@ -218,6 +221,7 @@ export const DesktopWebTextLink = observer(function DesktopWebTextLink({ text={text} numberOfLines={numberOfLines} lineHeight={lineHeight} + title={props.title} {...props} /> ) @@ -229,6 +233,7 @@ export const DesktopWebTextLink = observer(function DesktopWebTextLink({ style={style} numberOfLines={numberOfLines} lineHeight={lineHeight} + title={props.title} {...props}> {text} diff --git a/src/view/com/util/PostMeta.tsx b/src/view/com/util/PostMeta.tsx index bf21ff0d1..b0ad01754 100644 --- a/src/view/com/util/PostMeta.tsx +++ b/src/view/com/util/PostMeta.tsx @@ -79,6 +79,7 @@ export const PostMeta = observer(function (opts: PostMetaOpts) { lineHeight={1.2} text={timeElapsed} accessibilityLabel={niceDate(opts.timestamp)} + title={niceDate(opts.timestamp)} accessibilityHint="" href={opts.postHref} /> @@ -94,6 +95,7 @@ const styles = StyleSheet.create({ alignItems: isAndroid ? 'center' : 'baseline', paddingBottom: 2, gap: 4, + zIndex: 1, }, avatar: { alignSelf: 'center', diff --git a/src/view/com/util/text/Text.tsx b/src/view/com/util/text/Text.tsx index 2825390cb..ea97d59fe 100644 --- a/src/view/com/util/text/Text.tsx +++ b/src/view/com/util/text/Text.tsx @@ -6,6 +6,8 @@ import {useTheme, TypographyVariant} from 'lib/ThemeContext' export type CustomTextProps = TextProps & { type?: TypographyVariant lineHeight?: number + title?: string + dataSet?: Record } export function Text({ @@ -13,13 +15,19 @@ export function Text({ children, lineHeight, style, + title, + dataSet, ...props }: React.PropsWithChildren) { const theme = useTheme() const typography = theme.typography[type] const lineHeightStyle = lineHeight ? lh(theme, type, lineHeight) : undefined return ( - + {children} ) -- cgit 1.4.1