MCPcopy
hub / github.com/027xiguapi/code-box / PlasmoOverlay

Function PlasmoOverlay

contents/51cto.tsx:40–264  ·  view source on GitHub ↗
({ anchor })

Source from the content-addressed store, hash-verified

38export const getStyle: PlasmoGetStyle = () => TagBtnStyle()
39
40const PlasmoOverlay: FC<PlasmoCSUIProps> = ({ anchor }) => {
41 const [parseContent, setParseContent] = useParseMarkdown()
42 const [showTag, setShowTag] = useStorage<boolean>("51cto-showTag", true)
43 const [allShowTag, setAllShowTag] = useStorage("config-allShowTag", true)
44 const [cssCode, runCss] = useCssCodeHook("51cto")
45 const [copyCode] = useStorage<boolean>("51cto-copyCode")
46 const [closeLoginModal] = useStorage<boolean>("51cto-closeLoginModal")
47 const [history, setHistory] = useStorage<any[]>("codebox-history")
48 const [closeLog] = useStorage("config-closeLog", true)
49 const [content, setContent] = useEditMarkdown()
50
51 useEffect(() => {
52 closeLog || console.log("51CTO status", { closeLoginModal, copyCode })
53 setTimeout(() => {
54 copyCode && copyCodeFunc()
55 }, 500)
56 closeLoginModal && closeLoginModalFunc()
57 }, [copyCode, closeLoginModal])
58
59 useMessage(async (req, res) => {
60 if (req.name == "51cto-isShow") {
61 res.send({ isShow: true })
62 }
63 if (req.name == "51cto-editMarkdown") {
64 editMarkdown()
65 }
66 if (req.name == "51cto-downloadMarkdown") {
67 downloadMarkdown()
68 }
69 if (req.name == "51cto-downloadHtml") {
70 downloadHtml()
71 }
72 if (req.name == "51cto-downloadPdf") {
73 downloadPdf()
74 }
75 })
76
77 /* 未登录复制代码 */
78 function copyCodeCssFunc() {
79 addCss(`
80 article .hljs-cto,
81 article{
82 -webkit-touch-callout: auto !important;
83 -webkit-user-select: auto !important;
84 -khtml-user-select: auto !important;
85 -moz-user-select: auto !important;
86 -ms-user-select: auto !important;
87 user-select: auto !important;
88 }`)
89 }
90
91 function copyCodeFunc() {
92 copyCodeCssFunc()
93 // 内容区开启复制
94 const content_views = document.querySelector("article")
95 content_views && content_views.replaceWith(content_views.cloneNode(true))
96
97 // 功能一: 修改复制按钮,支持一键复制

Callers

nothing calls this directly

Calls 10

useParseMarkdownFunction · 0.90
useEditMarkdownFunction · 0.90
useCssCodeHookFunction · 0.85
sendMethod · 0.80
copyCodeFuncFunction · 0.70
closeLoginModalFuncFunction · 0.70
editMarkdownFunction · 0.70
downloadMarkdownFunction · 0.70
downloadHtmlFunction · 0.70
downloadPdfFunction · 0.70

Tested by

no test coverage detected