create-chrome-ext
Version:
Scaffolding your chrome extension, multiple boilerplates supported!
44 lines (35 loc) • 946 B
JSX
import { useState, useEffect } from 'preact/hooks'
import './Popup.css'
export const Popup = () => {
const [count, setCount] = useState(0)
const link = 'https://github.com/guocaoyi/create-chrome-ext'
const minus = () => {
if (count > 0) setCount(count - 1)
}
const add = () => setCount(count + 1)
useEffect(() => {
chrome.storage.sync.get(['count'], (result) => {
setCount(result.count || 0)
})
}, [])
useEffect(() => {
chrome.storage.sync.set({ count })
chrome.runtime.sendMessage({ type: 'COUNT', count })
}, [count])
return (
<main>
<h3>Popup Page</h3>
<div className="calc">
<button onClick={minus} disabled={count <= 0}>
-
</button>
<label>{count}</label>
<button onClick={add}>+</button>
</div>
<a href={link} target="_blank">
generated by create-chrome-ext
</a>
</main>
)
}
export default Popup