TootBottomSheet: set document title
This commit is contained in:
parent
8bf133c1cf
commit
eb461d3708
2 changed files with 18 additions and 6 deletions
|
@ -24,6 +24,7 @@ import { css } from "solid-styled";
|
|||
import { vibrate } from "../platform/hardware";
|
||||
import { createTimeSource, TimeSourceProvider } from "../platform/timesrc";
|
||||
import TootComposer from "./TootComposer";
|
||||
import { useDocumentTitle } from "../utils";
|
||||
|
||||
let cachedEntry: [string, mastodon.v1.Status] | undefined;
|
||||
|
||||
|
@ -106,8 +107,14 @@ const TootBottomSheet: Component = (props) => {
|
|||
}
|
||||
});
|
||||
|
||||
useDocumentTitle(() => {
|
||||
const t = toot()?.reblog ?? toot()
|
||||
const name = t?.account.displayName ?? "Someone"
|
||||
return `${name}'s toot`
|
||||
})
|
||||
|
||||
const tootDisplayName = () => {
|
||||
const t = toot();
|
||||
const t = toot()?.reblog ?? toot();
|
||||
if (t) {
|
||||
return resolveCustomEmoji(t.account.displayName, t.account.emojis);
|
||||
}
|
||||
|
|
|
@ -1,18 +1,23 @@
|
|||
import { createRenderEffect, createSignal, onCleanup } from "solid-js";
|
||||
import {
|
||||
createRenderEffect,
|
||||
onCleanup,
|
||||
type Accessor,
|
||||
} from "solid-js";
|
||||
|
||||
export function useDocumentTitle(newTitle?: string) {
|
||||
export function useDocumentTitle(newTitle?: string | Accessor<string>) {
|
||||
const capturedTitle = document.title;
|
||||
const [title, setTitle] = createSignal(newTitle ?? capturedTitle);
|
||||
|
||||
createRenderEffect(() => {
|
||||
document.title = title();
|
||||
if (newTitle)
|
||||
document.title = typeof newTitle === "string" ? newTitle : newTitle();
|
||||
});
|
||||
|
||||
onCleanup(() => {
|
||||
document.title = capturedTitle;
|
||||
});
|
||||
|
||||
return setTitle;
|
||||
return (x: ((x: string) => string) | string) =>
|
||||
(document.title = typeof x === "string" ? x : x(document.title));
|
||||
}
|
||||
|
||||
export function mergeClass(c1: string | undefined, c2: string | undefined) {
|
||||
|
|
Loading…
Reference in a new issue