(props)
| 114 | } |
| 115 | |
| 116 | export default function ValidModal(props) { |
| 117 | const [validTime, setValidTime] = useStorage("app-validTime", "1730390400") |
| 118 | const [inputCode, setInputCode] = useState<string>("") |
| 119 | const [isValid, setIsValid] = useState(true) |
| 120 | |
| 121 | useEffect(() => { |
| 122 | if (Number(validTime) > dayjs().unix()) { |
| 123 | setTimeout(() => { |
| 124 | handleSubmit() |
| 125 | }, 1000) |
| 126 | } |
| 127 | }, [validTime]) |
| 128 | |
| 129 | function handleSubmit() { |
| 130 | if (Number(validTime) > dayjs().unix()) { |
| 131 | props.onConfirm() |
| 132 | } else if (process.env.PLASMO_PUBLIC_CODEBOX_SECRET3 == inputCode) { |
| 133 | let time = dayjs().add(3, "day").unix() |
| 134 | setValidTime(String(time)) |
| 135 | setIsValid(true) |
| 136 | props.onConfirm() |
| 137 | } else { |
| 138 | setIsValid(false) |
| 139 | } |
| 140 | } |
| 141 | |
| 142 | function handleCancel() { |
| 143 | props.onClose() |
| 144 | } |
| 145 | |
| 146 | function help() { |
| 147 | sendToBackground({ |
| 148 | name: "tab", |
| 149 | body: { |
| 150 | url: "feed.html" |
| 151 | } |
| 152 | }) |
| 153 | } |
| 154 | |
| 155 | const typeMap = { |
| 156 | downloadHtml: "下载HTML", |
| 157 | downloadMarkdown: "下载markdown", |
| 158 | editMarkdown: "编辑markdown", |
| 159 | parseMarkdown: "解析markdown", |
| 160 | downloadPdf: "下载PDF" |
| 161 | } |
| 162 | |
| 163 | return ( |
| 164 | <div style={styles.overlay} className="codebox-modal"> |
| 165 | <div style={styles.container}> |
| 166 | <button |
| 167 | style={styles.closeButton} |
| 168 | onClick={handleCancel} |
| 169 | aria-label="Close"> |
| 170 | × |
| 171 | </button> |
| 172 | {Number(validTime) > dayjs().unix() ? ( |
| 173 | <> |
nothing calls this directly
no test coverage detected