diff options
| author | bndw <benjamindwoodward@gmail.com> | 2020-05-30 12:33:16 -0700 |
|---|---|---|
| committer | bndw <benjamindwoodward@gmail.com> | 2020-05-31 09:02:22 -0700 |
| commit | 6371e7794d2fa9ba5b79f267219e50e885057342 (patch) | |
| tree | 3441d6087befb8740d098c88385839ef20bb1b65 /src/components/Card.js | |
| parent | e177a74c9ea505284c8debf086f785a43d88f90b (diff) | |
Initial commit
Diffstat (limited to 'src/components/Card.js')
| -rw-r--r-- | src/components/Card.js | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/src/components/Card.js b/src/components/Card.js new file mode 100644 index 0000000..c555a25 --- /dev/null +++ b/src/components/Card.js | |||
| @@ -0,0 +1,56 @@ | |||
| 1 | import React from 'react'; | ||
| 2 | import QRCode from 'qrcode.react'; | ||
| 3 | import './style.css'; | ||
| 4 | |||
| 5 | class Card extends React.Component { | ||
| 6 | constructor(props) { | ||
| 7 | super(props); | ||
| 8 | this.state = {ssid: '', password: '', qrvalue: ''}; | ||
| 9 | this.handleSSIDChange = this.handleSSIDChange.bind(this); | ||
| 10 | this.handlePasswordChange= this.handlePasswordChange.bind(this); | ||
| 11 | } | ||
| 12 | |||
| 13 | handleSSIDChange(event) { | ||
| 14 | this.setState({ssid: event.target.value}, () => this.generateqr()); | ||
| 15 | } | ||
| 16 | |||
| 17 | handlePasswordChange(event) { | ||
| 18 | this.setState({password: event.target.value}, () => this.generateqr()); | ||
| 19 | } | ||
| 20 | |||
| 21 | generateqr() { | ||
| 22 | const qrcode = `WIFI:T:WPA;S:${this.state.ssid};P:${this.state.password};;` | ||
| 23 | this.setState({qrvalue: qrcode}); | ||
| 24 | } | ||
| 25 | |||
| 26 | render() { | ||
| 27 | return ( | ||
| 28 | <div> | ||
| 29 | <fieldset id="print-area"> | ||
| 30 | <legend></legend> | ||
| 31 | |||
| 32 | <h1>WiFi Login</h1> | ||
| 33 | <hr/> | ||
| 34 | |||
| 35 | <div className="details"> | ||
| 36 | <QRCode className="qrcode" value={this.state.qrvalue} size={175} /> | ||
| 37 | |||
| 38 | <div className="text"> | ||
| 39 | <label>Network name</label> | ||
| 40 | <input id="ssid" type="text" placeholder="Enter your WiFi Network" value={this.state.ssid} onChange={this.handleSSIDChange}/> | ||
| 41 | <label>Password</label> | ||
| 42 | <input id="password" type="text" placeholder="password" value={this.state.password} onChange={this.handlePasswordChange}/> | ||
| 43 | </div> | ||
| 44 | </div> | ||
| 45 | |||
| 46 | <p><span role="img" aria-label="mobile-phone">πΈπ±</span>Point your phone's camera at the QR Code to connect automatically</p> | ||
| 47 | </fieldset> | ||
| 48 | <div className="print-btn"> | ||
| 49 | <button onClick={window.print}>Print</button> | ||
| 50 | </div> | ||
| 51 | </div> | ||
| 52 | ) | ||
| 53 | } | ||
| 54 | } | ||
| 55 | |||
| 56 | export default Card; | ||
