mirror of
https://github.com/usebruno/bruno.git
synced 2026-07-08 06:28:33 +00:00
feat: electron + nextjs
This commit is contained in:
4
renderer/.babelrc
Normal file
4
renderer/.babelrc
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"presets": ["next/babel"],
|
||||
"plugins": [["styled-components", { "ssr": true }]]
|
||||
}
|
||||
3
renderer/next.config.js
Normal file
3
renderer/next.config.js
Normal file
@@ -0,0 +1,3 @@
|
||||
module.exports = {
|
||||
reactStrictMode: true,
|
||||
}
|
||||
46
renderer/pages/index.js
Normal file
46
renderer/pages/index.js
Normal file
@@ -0,0 +1,46 @@
|
||||
import { useState, useEffect } from 'react'
|
||||
|
||||
const Home = () => {
|
||||
const [input, setInput] = useState('')
|
||||
const [message, setMessage] = useState(null)
|
||||
|
||||
useEffect(() => {
|
||||
const handleMessage = (event, message) => setMessage(message)
|
||||
window.electron.message.on(handleMessage)
|
||||
|
||||
return () => {
|
||||
window.electron.message.off(handleMessage)
|
||||
}
|
||||
}, [])
|
||||
|
||||
const handleSubmit = (event) => {
|
||||
event.preventDefault()
|
||||
window.electron.message.send(input)
|
||||
setMessage(null)
|
||||
}
|
||||
|
||||
return (
|
||||
<div>
|
||||
<h1>Hello Electron!</h1>
|
||||
|
||||
{message && <p>{message}</p>}
|
||||
|
||||
<form onSubmit={handleSubmit}>
|
||||
<input
|
||||
type="text"
|
||||
value={input}
|
||||
onChange={(e) => setInput(e.target.value)}
|
||||
/>
|
||||
</form>
|
||||
|
||||
<style jsx>{`
|
||||
h1 {
|
||||
color: red;
|
||||
font-size: 50px;
|
||||
}
|
||||
`}</style>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
export default Home;
|
||||
Reference in New Issue
Block a user