@oasisomniverse/nextjs 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/package.json +29 -0
  2. package/src/components/ForgetPassword.tsx +127 -0
  3. package/src/components/Login.tsx +223 -0
  4. package/src/components/ResetPassword.tsx +177 -0
  5. package/src/components/Signup.tsx +286 -0
  6. package/src/components/VerifyEmail.tsx +69 -0
  7. package/src/components/common/AvatarConnect.tsx +90 -0
  8. package/src/components/common/Contact.tsx +61 -0
  9. package/src/components/common/Eggs.tsx +51 -0
  10. package/src/components/common/Game.tsx +37 -0
  11. package/src/components/common/HyperDrive.tsx +51 -0
  12. package/src/components/common/KarmaToast.tsx +39 -0
  13. package/src/components/common/Map.tsx +43 -0
  14. package/src/components/common/MenuMessage.tsx +71 -0
  15. package/src/components/common/Messaging.tsx +75 -0
  16. package/src/components/common/Mission.tsx +41 -0
  17. package/src/components/common/NFT.tsx +43 -0
  18. package/src/components/common/NavBar.tsx +138 -0
  19. package/src/components/common/OApp.tsx +42 -0
  20. package/src/components/common/ONET.tsx +51 -0
  21. package/src/components/common/ONODE.tsx +50 -0
  22. package/src/components/common/OasisModal.tsx +30 -0
  23. package/src/components/common/ProviderDropdown.tsx +26 -0
  24. package/src/components/common/Providers.tsx +39 -0
  25. package/src/components/common/Quest.tsx +41 -0
  26. package/src/components/common/SearchAvatars.tsx +50 -0
  27. package/src/components/common/Seeds.tsx +40 -0
  28. package/src/components/common/Settings.tsx +71 -0
  29. package/src/components/common/StarField.tsx +57 -0
  30. package/src/components/common/Wallet.tsx +46 -0
  31. package/src/components/popups/avatar/components/AvatarWallet.tsx +170 -0
  32. package/src/components/popups/avatar/components/EditAvatar.tsx +35 -0
  33. package/src/components/popups/avatar/components/SearchAvatar.tsx +35 -0
  34. package/src/components/popups/avatar/components/ViewAvatar.tsx +149 -0
  35. package/src/components/popups/avatar/index.tsx +40 -0
  36. package/src/components/popups/comingsoon/ComingSoon.tsx +29 -0
  37. package/src/components/popups/confirmation/Confirmation.tsx +31 -0
  38. package/src/components/popups/contact/index.tsx +101 -0
  39. package/src/components/popups/data-screen/components/AddData.tsx +90 -0
  40. package/src/components/popups/data-screen/components/CrossChainManagement.tsx +88 -0
  41. package/src/components/popups/data-screen/components/LoadData.tsx +158 -0
  42. package/src/components/popups/data-screen/components/ManageData.tsx +35 -0
  43. package/src/components/popups/data-screen/components/OffChainManagement.tsx +178 -0
  44. package/src/components/popups/data-screen/components/SearchData.tsx +35 -0
  45. package/src/components/popups/data-screen/index.tsx +53 -0
  46. package/src/components/popups/eggs/components/ManageEggs.tsx +35 -0
  47. package/src/components/popups/eggs/components/SearchEggs.tsx +35 -0
  48. package/src/components/popups/eggs/components/ViewEggs.tsx +35 -0
  49. package/src/components/popups/eggs/index.tsx +32 -0
  50. package/src/components/popups/game/components/SearchProfiles.tsx +35 -0
  51. package/src/components/popups/game/components/ViewAchievements.tsx +35 -0
  52. package/src/components/popups/game/components/ViewLeagues.tsx +35 -0
  53. package/src/components/popups/game/components/ViewTournaments.tsx +35 -0
  54. package/src/components/popups/game/index.tsx +39 -0
  55. package/src/components/popups/karma/components/SearchKarma.tsx +35 -0
  56. package/src/components/popups/karma/components/ViewAvatarKarma.tsx +140 -0
  57. package/src/components/popups/karma/components/ViewKarma.tsx +104 -0
  58. package/src/components/popups/karma/components/VoteKarma.tsx +35 -0
  59. package/src/components/popups/karma/index.tsx +35 -0
  60. package/src/components/popups/map/components/Add2dObjectMap.tsx +35 -0
  61. package/src/components/popups/map/components/Add3dObjectMap.tsx +35 -0
  62. package/src/components/popups/map/components/AddQuestToMap.tsx +35 -0
  63. package/src/components/popups/map/components/DownloadOurWorld.tsx +35 -0
  64. package/src/components/popups/map/components/ManageMap.tsx +35 -0
  65. package/src/components/popups/map/components/PlotRouteOnMap.tsx +35 -0
  66. package/src/components/popups/map/components/SearchMap.tsx +35 -0
  67. package/src/components/popups/map/components/ViewGlobal3dMap.tsx +35 -0
  68. package/src/components/popups/map/components/ViewHalonsOnMap.tsx +35 -0
  69. package/src/components/popups/map/components/ViewOappOnMap.tsx +35 -0
  70. package/src/components/popups/map/components/ViewQuestOnMap.tsx +35 -0
  71. package/src/components/popups/map/index.tsx +80 -0
  72. package/src/components/popups/messages/Message.tsx +87 -0
  73. package/src/components/popups/mission/components/ManageMission.tsx +35 -0
  74. package/src/components/popups/mission/components/SearchMission.tsx +35 -0
  75. package/src/components/popups/mission/components/ViewMission.tsx +35 -0
  76. package/src/components/popups/mission/index.tsx +33 -0
  77. package/src/components/popups/nft/ContactPopup.tsx +147 -0
  78. package/src/components/popups/nft/Solana.tsx +71 -0
  79. package/src/components/popups/nft/components/ManageOasisNft.tsx +35 -0
  80. package/src/components/popups/nft/components/PurchaseOasisNft.tsx +35 -0
  81. package/src/components/popups/nft/components/PurchaseOasisVirtualLandNft.tsx +35 -0
  82. package/src/components/popups/nft/components/SearchOasisNft.tsx +35 -0
  83. package/src/components/popups/nft/components/ViewOasisNft.tsx +35 -0
  84. package/src/components/popups/nft/index.tsx +46 -0
  85. package/src/components/popups/oapp/components/CreateOAPP.tsx +35 -0
  86. package/src/components/popups/oapp/components/DeployOAPP.tsx +35 -0
  87. package/src/components/popups/oapp/components/DownloadOurWorld.tsx +35 -0
  88. package/src/components/popups/oapp/components/EditOAPP.tsx +35 -0
  89. package/src/components/popups/oapp/components/InstallOAPP.tsx +35 -0
  90. package/src/components/popups/oapp/components/LaunchOAPP.tsx +35 -0
  91. package/src/components/popups/oapp/components/ManageOAPP.tsx +69 -0
  92. package/src/components/popups/oapp/components/SearchOAPP.tsx +35 -0
  93. package/src/components/popups/oapp/index.tsx +63 -0
  94. package/src/components/popups/provider/components/ActivityPub.tsx +35 -0
  95. package/src/components/popups/provider/components/CompareProviderSpeeds.tsx +124 -0
  96. package/src/components/popups/provider/components/Eosio.tsx +35 -0
  97. package/src/components/popups/provider/components/Ethereum.tsx +35 -0
  98. package/src/components/popups/provider/components/Holochain.tsx +35 -0
  99. package/src/components/popups/provider/components/Ipfs.tsx +36 -0
  100. package/src/components/popups/provider/components/ManageAutoFailOver.tsx +35 -0
  101. package/src/components/popups/provider/components/ManageAutoReplicaton.tsx +35 -0
  102. package/src/components/popups/provider/components/ManageLoadBalancing.tsx +35 -0
  103. package/src/components/popups/provider/components/ManageProviders.tsx +35 -0
  104. package/src/components/popups/provider/components/MongoDb.tsx +35 -0
  105. package/src/components/popups/provider/components/Neo4j.tsx +35 -0
  106. package/src/components/popups/provider/components/SearchProviders.tsx +123 -0
  107. package/src/components/popups/provider/components/Seeds.tsx +35 -0
  108. package/src/components/popups/provider/components/Solid.tsx +35 -0
  109. package/src/components/popups/provider/components/SqlLite.tsx +35 -0
  110. package/src/components/popups/provider/components/ThreeFold.tsx +35 -0
  111. package/src/components/popups/provider/components/ViewProviderStats.tsx +124 -0
  112. package/src/components/popups/provider/components/ViewProviders.tsx +122 -0
  113. package/src/components/popups/provider/index.tsx +114 -0
  114. package/src/components/popups/quest/components/ManageQuest.tsx +35 -0
  115. package/src/components/popups/quest/components/SearchQuest.tsx +35 -0
  116. package/src/components/popups/quest/components/ViewQuest.tsx +35 -0
  117. package/src/components/popups/quest/index.tsx +33 -0
  118. package/src/components/popups/seeds/components/AcceptInvite.tsx +62 -0
  119. package/src/components/popups/seeds/components/DonateSeeds.tsx +179 -0
  120. package/src/components/popups/seeds/components/ManageSeeds.tsx +35 -0
  121. package/src/components/popups/seeds/components/PayWithSeeds.tsx +234 -0
  122. package/src/components/popups/seeds/components/RewardSeeds.tsx +179 -0
  123. package/src/components/popups/seeds/components/SearchSeeds.tsx +92 -0
  124. package/src/components/popups/seeds/components/SendInvite.tsx +179 -0
  125. package/src/components/popups/seeds/components/ViewOrganizations.tsx +179 -0
  126. package/src/components/popups/seeds/components/ViewSeeds.tsx +222 -0
  127. package/src/components/popups/seeds/index.tsx +71 -0
  128. package/src/index.ts +129 -0
@@ -0,0 +1,35 @@
1
+ 'use client';
2
+ import React from 'react';
3
+ import { Modal } from "react-bootstrap";
4
+ import '../../../../assets/scss/coming-soon.scss';
5
+ import InfoIcon from '../../../../assets/images/icon-info.svg'
6
+
7
+ class SearchQuest extends React.Component {
8
+ state = { }
9
+ render() {
10
+ const { show, hide } = this.props;
11
+
12
+ return (
13
+ <>
14
+ <Modal
15
+ size="sm"
16
+ show={show}
17
+ dialogClassName=""
18
+ onHide={() => hide('quest', 'searchQuest')}
19
+ >
20
+ <Modal.Body className="text-center coming-soon">
21
+ <img
22
+ src={InfoIcon}
23
+ alt="icon"
24
+ />
25
+ <h2>Coming Soon</h2>
26
+ <p>This module is coming soon...</p>
27
+ <button onClick={() => hide('quest', 'searchQuest')}>OK</button>
28
+ </Modal.Body>
29
+ </Modal>
30
+ </>
31
+ );
32
+ }
33
+ }
34
+
35
+ export default SearchQuest;
@@ -0,0 +1,35 @@
1
+ 'use client';
2
+ import React from 'react';
3
+ import { Modal } from "react-bootstrap";
4
+ import '../../../../assets/scss/coming-soon.scss';
5
+ import InfoIcon from '../../../../assets/images/icon-info.svg'
6
+
7
+ class ViewQuest extends React.Component {
8
+ state = { }
9
+ render() {
10
+ const { show, hide } = this.props;
11
+
12
+ return (
13
+ <>
14
+ <Modal
15
+ size="sm"
16
+ show={show}
17
+ dialogClassName=""
18
+ onHide={() => hide('quest', 'viewQuest')}
19
+ >
20
+ <Modal.Body className="text-center coming-soon">
21
+ <img
22
+ src={InfoIcon}
23
+ alt="icon"
24
+ />
25
+ <h2>Coming Soon</h2>
26
+ <p>This module is coming soon...</p>
27
+ <button onClick={() => hide('quest', 'viewQuest')}>OK</button>
28
+ </Modal.Body>
29
+ </Modal>
30
+ </>
31
+ );
32
+ }
33
+ }
34
+
35
+ export default ViewQuest;
@@ -0,0 +1,33 @@
1
+ 'use client';
2
+ import React from 'react';
3
+
4
+ import ManageQuest from './components/ManageQuest';
5
+ import SearchQuest from './components/SearchQuest';
6
+ import ViewQuest from './components/ViewQuest';
7
+
8
+ class Quest extends React.Component {
9
+
10
+ render() {
11
+ const props=this.props;
12
+ return(
13
+ <>
14
+ <ViewQuest
15
+ show={props.quest.viewQuest}
16
+ hide={props.toggleScreenPopup}
17
+ />
18
+
19
+ <ManageQuest
20
+ show={props.quest.manageQuest}
21
+ hide={props.toggleScreenPopup}
22
+ />
23
+
24
+ <SearchQuest
25
+ show={props.quest.searchQuest}
26
+ hide={props.toggleScreenPopup}
27
+ />
28
+ </>
29
+ )
30
+ }
31
+ }
32
+
33
+ export default Quest;
@@ -0,0 +1,62 @@
1
+ 'use client';
2
+ import React from 'react';
3
+
4
+ import { Modal } from 'react-bootstrap';
5
+
6
+ class AcceptInvite extends React.Component {
7
+ render() {
8
+ const { show, hide } = this.props;
9
+
10
+ return (
11
+ <>
12
+ <Modal
13
+ centered
14
+ className="custom-modal custom-popup-component"
15
+ show={show}
16
+ onHide={() => hide('seeds', 'acceptInvite')}
17
+ >
18
+ <Modal.Body>
19
+ <span className="form-cross-icon" onClick={() => hide('seeds', 'acceptInvite')}>
20
+ <i className="fa fa-times"></i>
21
+ </span>
22
+
23
+ <div className="popup-container default-popup">
24
+ <div className="seed-container paywith-seeds">
25
+ <h1 className="single-heading">
26
+ Accept Invite to Join Seeds
27
+ </h1>
28
+ <div className="form-container">
29
+ <form>
30
+ <p className="single-form-row">
31
+ <label className="radio-btn">
32
+ <input type="radio" id="html" name="fav_language" value="HTML" />
33
+ Avatar
34
+ <input type="radio" id="html" name="fav_language" value="HTML" />
35
+ Seed Username
36
+ </label>
37
+ <input type="text" placeholder="username" />
38
+ </p>
39
+
40
+ <p className="single-form-row mb-30">
41
+ <label>Invite Secret</label>
42
+ <input type="text" />
43
+ </p>
44
+
45
+ <p className="single-form-row btn-right">
46
+ <button
47
+ className=" btn-width sm-button"
48
+ type="submit"
49
+ >Accept Invitation</button>
50
+ </p>
51
+ </form>
52
+ </div>
53
+ </div>
54
+ </div>
55
+ </Modal.Body>
56
+ </Modal>
57
+ </>
58
+ );
59
+ }
60
+ }
61
+
62
+ export default AcceptInvite;
@@ -0,0 +1,179 @@
1
+ 'use client';
2
+ import React from 'react';
3
+
4
+ import { Modal } from 'react-bootstrap';
5
+ import axios from "axios";
6
+ import { toast } from "react-toastify";
7
+ import API_BASE_URL from "../../../../config/api";
8
+
9
+ class DonateSeeds extends React.Component {
10
+ constructor(){
11
+ super()
12
+ this.state = {
13
+ // avatar: {
14
+ // selected: false,
15
+ // avatar: ''
16
+ // },
17
+ // username: {
18
+ // selected: false,
19
+ // username: '',
20
+ // amount: '',
21
+ // note: ''
22
+ // },
23
+ group: '',
24
+ avatar: '',
25
+ seedUser: '',
26
+ amount: '',
27
+ note: ''
28
+ }
29
+ }
30
+
31
+ handleChange = (e) => {
32
+ console.log(e.target.value)
33
+
34
+ if(e.target.value === "avatar_section" || e.target.value === "username_section") {
35
+ this.setState({
36
+ group: e.target.value
37
+ })
38
+ } else {
39
+ this.setState({[e.target.name]: e.target.value})
40
+ }
41
+ }
42
+
43
+ handleSubmit=(e) => {
44
+ e.preventDefault()
45
+ }
46
+
47
+ getApiData = () => {
48
+ this.setState({ loading: true })
49
+
50
+ axios({
51
+ method: 'post',
52
+ url: API_BASE_URL,
53
+ headers: {
54
+ 'Content-Type': 'application/json'
55
+ },
56
+ })
57
+ .then((response) => {
58
+ this.setState({loading: false})
59
+
60
+ if (response.data.result?.isError) {
61
+ toast.error(response.data.result.message);
62
+ return;
63
+ }
64
+
65
+ toast.success(response.data.result.message);
66
+ })
67
+ .catch((err) => {
68
+ toast.error('err');
69
+ this.setState({loading: false})
70
+ return { error: true, data: err };
71
+ });
72
+ }
73
+
74
+ render() {
75
+ const { show, hide } = this.props;
76
+
77
+ return (
78
+ <>
79
+ <Modal
80
+ centered
81
+ className="custom-modal custom-popup-component"
82
+ show={show}
83
+ onHide={() => hide('seeds', 'donateSeeds')}
84
+ >
85
+ <Modal.Body>
86
+ <span className="form-cross-icon" onClick={() => hide('seeds', 'donateSeeds')}>
87
+ <i className="fa fa-times"></i>
88
+ </span>
89
+
90
+ <div className="popup-container default-popup">
91
+ <div className="seed-container paywith-seeds">
92
+ <h1 className="single-heading">
93
+ Pay with Seeds
94
+ </h1>
95
+ <div className="form-container">
96
+ <form onSubmit={this.handleSubmit}>
97
+ <p className="single-form-row">
98
+ <label className="single-radio-btn">
99
+ <input
100
+ type="radio"
101
+ value="avatar_section"
102
+ checked={this.state.group === "avatar_section"}
103
+ onChange={this.handleChange}
104
+ />
105
+ Avatar
106
+ </label>
107
+ <input
108
+ type="text"
109
+ placeholder="username"
110
+ name="avatar"
111
+ value={this.state.avatar}
112
+ onChange={this.handleChange}
113
+ disabled={this.state.group === "username_section"}
114
+ />
115
+ </p>
116
+
117
+ <h3>OR</h3>
118
+
119
+ <p className="single-form-row">
120
+ <label className="single-radio-btn">
121
+ <input
122
+ type="radio"
123
+ value="username_section"
124
+ checked={this.state.group === "username_section"}
125
+ onChange={this.handleChange}
126
+ />
127
+ Seed Username
128
+ </label>
129
+
130
+ <input
131
+ type="text"
132
+ name="seedUser"
133
+ value={this.state.username}
134
+ onChange={this.handleChange}
135
+ placeholder="username"
136
+ disabled={this.state.group === "avatar_section"}
137
+ />
138
+ </p>
139
+
140
+ <p className="single-form-row">
141
+ <label>Amount</label>
142
+ <input
143
+ type="text"
144
+ name="amount"
145
+ value={this.state.amount}
146
+ onChange={this.handleChange}
147
+ disabled={this.state.group === "avatar_section"}
148
+ />
149
+ </p>
150
+
151
+ <p className="single-form-row mb-30">
152
+ <label>Note</label>
153
+ <input
154
+ type="text"
155
+ name="note"
156
+ value={this.state.note}
157
+ onChange={this.handleChange}
158
+ disabled={this.state.group === "avatar_section"}
159
+ />
160
+ </p>
161
+
162
+ <p className="single-form-row btn-right">
163
+ <button
164
+ className="sm-button"
165
+ type="submit"
166
+ >Pay</button>
167
+ </p>
168
+ </form>
169
+ </div>
170
+ </div>
171
+ </div>
172
+ </Modal.Body>
173
+ </Modal>
174
+ </>
175
+ );
176
+ }
177
+ }
178
+
179
+ export default DonateSeeds;
@@ -0,0 +1,35 @@
1
+ 'use client';
2
+ import React from 'react';
3
+ import { Modal } from "react-bootstrap";
4
+ import '../../../../assets/scss/coming-soon.scss';
5
+ import InfoIcon from '../../../../assets/images/icon-info.svg'
6
+
7
+ class ManageSeeds extends React.Component {
8
+ state = { }
9
+ render() {
10
+ const { show, hide } = this.props;
11
+
12
+ return (
13
+ <>
14
+ <Modal
15
+ size="sm"
16
+ show={show}
17
+ dialogClassName=""
18
+ onHide={() => hide('seeds', 'manageSeeds')}
19
+ >
20
+ <Modal.Body className="text-center coming-soon">
21
+ <img
22
+ src={InfoIcon}
23
+ alt="icon"
24
+ />
25
+ <h2>UI Coming Soon</h2>
26
+ <p>You can use this functionality directly by accessing the OASIS API from the Developer menu.</p>
27
+ <button onClick={() => hide('seeds', 'manageSeeds')}>OK</button>
28
+ </Modal.Body>
29
+ </Modal>
30
+ </>
31
+ );
32
+ }
33
+ }
34
+
35
+ export default ManageSeeds;
@@ -0,0 +1,234 @@
1
+ 'use client';
2
+ import React from 'react';
3
+
4
+ import { Modal } from 'react-bootstrap';
5
+ import axios from "axios";
6
+ import { toast } from "react-toastify";
7
+ import API_BASE_URL from "../../../../config/api";
8
+
9
+ class PayWithSeeds extends React.Component {
10
+
11
+ constructor() {
12
+ console.log('Going to show Pay with Seeds');
13
+ super()
14
+ this.state = {
15
+ group: '',
16
+ seedUser: '',
17
+ amount: '',
18
+
19
+ avatar: {
20
+ enabled: true,
21
+ name: ''
22
+ },
23
+ seed: {
24
+ enabled: false,
25
+ username: '',
26
+ amount: 0
27
+ },
28
+ note: ''
29
+ }
30
+ }
31
+
32
+ componentDidMount = () => {
33
+ // this.loadAllAvatarData();
34
+ }
35
+
36
+ loadAllAvatarData = () => {
37
+ const jwtToken = localStorage.getItem('jwtToken');
38
+
39
+ const headers = {
40
+ 'Authorization': `Bearer ${jwtToken}`,
41
+ 'Content-Type': 'application/json'
42
+ };
43
+
44
+ console.log('going to load all avatars ')
45
+ axios.get(`${API_BASE_URL}/avatar/get-all-avatars`, { headers })
46
+ .then(response => {
47
+ console.log(response)
48
+ if(response.data.isError) {
49
+ toast.error(response.data.message)
50
+ } else {
51
+ toast.success(response.data.result.message)
52
+ }
53
+ // this.props.history.goBack()
54
+ // console.log(this.props)
55
+ })
56
+ .catch(error => {
57
+ console.log(error)
58
+ })
59
+ }
60
+
61
+ handleChange = (e) => {
62
+ console.log(e.target.value)
63
+
64
+ if(e.target.value === "avatar_section") {
65
+ this.setState({
66
+ avatar: {
67
+ enabled: true
68
+ },
69
+ seed: {
70
+ enabled: false
71
+ }
72
+ })
73
+ } else if(e.target.value === "seed_section") {
74
+ this.setState({
75
+ avatar: {
76
+ enabled: false
77
+ },
78
+ seed: {
79
+ enabled: true
80
+ }
81
+ })
82
+ }
83
+
84
+ // if(e.target.value === "avatar_section" || e.target.value === "seed_section") {
85
+ // this.setState({
86
+ // group: e.target.value
87
+ // })
88
+ // } else {
89
+ // this.setState({[e.target.name]: e.target.value})
90
+ // }
91
+ }
92
+
93
+ handleSubmit=(e) => {
94
+ e.preventDefault()
95
+ }
96
+
97
+ getApiData = () => {
98
+ this.setState({ loading: true })
99
+
100
+ axios({
101
+ method: 'post',
102
+ url: API_BASE_URL,
103
+ headers: {
104
+ 'Content-Type': 'application/json'
105
+ },
106
+ })
107
+ .then((response) => {
108
+ this.setState({loading: false})
109
+
110
+ if (response.data.result?.isError) {
111
+ toast.error(response.data.result.message);
112
+ return;
113
+ }
114
+
115
+ toast.success(response.data.result.message);
116
+ })
117
+ .catch((err) => {
118
+ toast.error('err');
119
+ this.setState({loading: false})
120
+ return { error: true, data: err };
121
+ });
122
+ }
123
+
124
+ render() {
125
+ const { show, hide } = this.props;
126
+ if(show) {
127
+ this.loadAllAvatarData();
128
+ }
129
+ return (
130
+ <>
131
+ <Modal
132
+ centered
133
+ className="custom-modal custom-popup-component"
134
+ show={show}
135
+ onHide={() => hide('seeds', 'payWithSeeds')}
136
+ >
137
+ <Modal.Body>
138
+ <span className="form-cross-icon" onClick={() => hide('seeds', 'payWithSeeds')}>
139
+ <i className="fa fa-times"></i>
140
+ </span>
141
+
142
+ <div className="popup-container default-popup">
143
+ <div className="seed-container paywith-seeds">
144
+ <h1 className="single-heading">
145
+ Pay with Seeds
146
+ </h1>
147
+
148
+ <div className="form-container">
149
+ <form onSubmit={this.handleSubmit}>
150
+ <p className="single-form-row">
151
+ <label className="single-radio-btn">
152
+ <input
153
+ type="radio"
154
+ value="avatar_section"
155
+ checked={this.state.avatar.enabled}
156
+ onChange={this.handleChange}
157
+ />
158
+ Avatar
159
+ </label>
160
+
161
+ <input
162
+ type="text"
163
+ placeholder="Avatar"
164
+ name="avatar"
165
+ value={this.state.avatar.name}
166
+ onChange={this.handleChange}
167
+ disabled={!this.state.avatar.enabled}
168
+ />
169
+ </p>
170
+
171
+ <h3>OR</h3>
172
+
173
+ <p className="single-form-row">
174
+ <label className="single-radio-btn">
175
+ <input
176
+ type="radio"
177
+ value="seed_section"
178
+ checked={this.state.seed.enabled}
179
+ onChange={this.handleChange}
180
+ />
181
+ Seed Username
182
+ </label>
183
+
184
+ <input
185
+ type="text"
186
+ name="username"
187
+ value={this.state.seed.username}
188
+ onChange={this.handleChange}
189
+ placeholder="Seed Username"
190
+ disabled={!this.state.seed.enabled}
191
+ />
192
+ </p>
193
+
194
+ <p className="single-form-row">
195
+ <label>Amount</label>
196
+ <input
197
+ type="number"
198
+ name="amount"
199
+ value={this.state.seed.amount}
200
+ onChange={this.handleChange}
201
+ placeholder="Amount"
202
+ disabled={!this.state.seed.enabled}
203
+ />
204
+ </p>
205
+
206
+ <p className="single-form-row mb-30">
207
+ <label>Note</label>
208
+ <input
209
+ type="text"
210
+ name="note"
211
+ value={this.state.note}
212
+ onChange={this.handleChange}
213
+ placeholder="Note"
214
+ />
215
+ </p>
216
+
217
+ <p className="single-form-row btn-right">
218
+ <button
219
+ className="sm-button"
220
+ type="submit"
221
+ >Pay</button>
222
+ </p>
223
+ </form>
224
+ </div>
225
+ </div>
226
+ </div>
227
+ </Modal.Body>
228
+ </Modal>
229
+ </>
230
+ );
231
+ }
232
+ }
233
+
234
+ export default PayWithSeeds;