feat: electron + nextjs

This commit is contained in:
Anoop M D
2022-03-05 23:07:48 +05:30
parent 7b3808f27b
commit 1f2b64c7cc
11 changed files with 2980 additions and 261 deletions

4
renderer/.babelrc Normal file
View File

@@ -0,0 +1,4 @@
{
"presets": ["next/babel"],
"plugins": [["styled-components", { "ssr": true }]]
}

3
renderer/next.config.js Normal file
View File

@@ -0,0 +1,3 @@
module.exports = {
reactStrictMode: true,
}

46
renderer/pages/index.js Normal file
View 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;