mirror of
https://github.com/stashapp/stash.git
synced 2025-12-06 08:26:00 +01:00
29 lines
801 B
TypeScript
29 lines
801 B
TypeScript
import { MessageDescriptor, useIntl } from "react-intl";
|
|
import { useConfigurationContext } from "./Config";
|
|
|
|
export const TITLE = "Stash";
|
|
export const TITLE_SEPARATOR = " | ";
|
|
|
|
export function useTitleProps(...messages: (string | MessageDescriptor)[]) {
|
|
const intl = useIntl();
|
|
const config = useConfigurationContext();
|
|
const title = config.configuration.ui.title || TITLE;
|
|
|
|
const parts = messages.map((msg) => {
|
|
if (typeof msg === "object") {
|
|
return intl.formatMessage(msg);
|
|
} else {
|
|
return msg;
|
|
}
|
|
});
|
|
|
|
return makeTitleProps(title, ...parts);
|
|
}
|
|
|
|
export function makeTitleProps(title: string, ...parts: string[]) {
|
|
const fullTitle = [...parts, title].join(TITLE_SEPARATOR);
|
|
return {
|
|
titleTemplate: `%s | ${fullTitle}`,
|
|
defaultTitle: fullTitle,
|
|
};
|
|
}
|