21 lines
489 B
TypeScript
21 lines
489 B
TypeScript
"use client";
|
|
|
|
import { createContext, useContext } from "react";
|
|
|
|
const PostLinkCtx = createContext(true);
|
|
|
|
/** 帖内 Markdown 外链是否新标签打开(来自公开站点设置) */
|
|
export default function PostLinkProvider({
|
|
openInNewTab,
|
|
children,
|
|
}: {
|
|
openInNewTab: boolean;
|
|
children: React.ReactNode;
|
|
}) {
|
|
return <PostLinkCtx.Provider value={openInNewTab}>{children}</PostLinkCtx.Provider>;
|
|
}
|
|
|
|
export function usePostLinkNewTab() {
|
|
return useContext(PostLinkCtx);
|
|
}
|