mirror of
https://github.com/gosticks/plane.git
synced 2025-10-16 12:45:33 +00:00
27 lines
727 B
TypeScript
27 lines
727 B
TypeScript
import { useTheme } from "next-themes";
|
|
|
|
type AssetPathConfig = {
|
|
basePath: string;
|
|
additionalPath?: string;
|
|
extension?: string;
|
|
includeThemeInPath?: boolean;
|
|
};
|
|
|
|
export const useResolvedAssetPath = ({
|
|
basePath,
|
|
additionalPath = "",
|
|
extension = "webp",
|
|
includeThemeInPath = true,
|
|
}: AssetPathConfig) => {
|
|
// hooks
|
|
const { resolvedTheme } = useTheme();
|
|
// resolved theme
|
|
const theme = resolvedTheme === "light" ? "light" : "dark";
|
|
|
|
if (!includeThemeInPath) {
|
|
return `${additionalPath && additionalPath !== "" ? `${basePath}${additionalPath}` : basePath}.${extension}`;
|
|
}
|
|
|
|
return `${additionalPath && additionalPath !== "" ? `${basePath}${additionalPath}` : basePath}-${theme}.${extension}`;
|
|
};
|