aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/Card.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/Card.js')
-rw-r--r--src/components/Card.js56
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 @@
1import React from 'react';
2import QRCode from 'qrcode.react';
3import './style.css';
4
5class 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
56export default Card;