@oasisomniverse/react 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 (139) hide show
  1. package/README.md +69 -0
  2. package/package.json +72 -0
  3. package/src/components/App.js +504 -0
  4. package/src/components/ForgetPassword.js +126 -0
  5. package/src/components/Login.js +222 -0
  6. package/src/components/ResetPassword.js +176 -0
  7. package/src/components/Signup.js +285 -0
  8. package/src/components/VerifyEmail.js +68 -0
  9. package/src/components/common/AvatarConnect.jsx +89 -0
  10. package/src/components/common/Contact.jsx +60 -0
  11. package/src/components/common/Eggs.jsx +50 -0
  12. package/src/components/common/Game.jsx +36 -0
  13. package/src/components/common/HyperDrive.jsx +50 -0
  14. package/src/components/common/KarmaToast.jsx +38 -0
  15. package/src/components/common/Map.jsx +42 -0
  16. package/src/components/common/MenuMessage.jsx +70 -0
  17. package/src/components/common/Messaging.jsx +74 -0
  18. package/src/components/common/Mission.jsx +40 -0
  19. package/src/components/common/NFT.jsx +42 -0
  20. package/src/components/common/NavBar.jsx +52 -0
  21. package/src/components/common/Navbar.js +137 -0
  22. package/src/components/common/OApp.jsx +41 -0
  23. package/src/components/common/ONET.jsx +50 -0
  24. package/src/components/common/ONODE.jsx +49 -0
  25. package/src/components/common/OasisModal.css +9 -0
  26. package/src/components/common/OasisModal.jsx +29 -0
  27. package/src/components/common/ProviderDropdown.js +25 -0
  28. package/src/components/common/ProviderDropdown.jsx +61 -0
  29. package/src/components/common/Providers.jsx +38 -0
  30. package/src/components/common/Quest.jsx +40 -0
  31. package/src/components/common/SearchAvatars.jsx +49 -0
  32. package/src/components/common/Seeds.jsx +39 -0
  33. package/src/components/common/Settings.jsx +70 -0
  34. package/src/components/common/StarField.jsx +56 -0
  35. package/src/components/common/Wallet.jsx +45 -0
  36. package/src/components/common/message/MessageContacts.jsx +66 -0
  37. package/src/components/common/message/Messages.jsx +75 -0
  38. package/src/components/common/sidebar/Sidebar.jsx +27 -0
  39. package/src/components/common/sidebar/SidebarData.js +615 -0
  40. package/src/components/common/sidebar/SidebarMenuItem.jsx +79 -0
  41. package/src/components/index.js +26 -0
  42. package/src/components/pages/forgotPassword.js +47 -0
  43. package/src/components/popups/avatar/components/AvatarWallet.jsx +169 -0
  44. package/src/components/popups/avatar/components/EditAvatar.jsx +34 -0
  45. package/src/components/popups/avatar/components/SearchAvatar.jsx +34 -0
  46. package/src/components/popups/avatar/components/ViewAvatar.jsx +148 -0
  47. package/src/components/popups/avatar/index.jsx +39 -0
  48. package/src/components/popups/comingsoon/ComingSoon.jsx +28 -0
  49. package/src/components/popups/confirmation/Confirmation.js +30 -0
  50. package/src/components/popups/contact/index.js +100 -0
  51. package/src/components/popups/data-screen/components/AddData.jsx +89 -0
  52. package/src/components/popups/data-screen/components/CrossChainManagement.jsx +87 -0
  53. package/src/components/popups/data-screen/components/LoadData.jsx +157 -0
  54. package/src/components/popups/data-screen/components/ManageData.jsx +34 -0
  55. package/src/components/popups/data-screen/components/OffChainManagement.jsx +177 -0
  56. package/src/components/popups/data-screen/components/SearchData.jsx +34 -0
  57. package/src/components/popups/data-screen/index.jsx +52 -0
  58. package/src/components/popups/eggs/components/ManageEggs.jsx +34 -0
  59. package/src/components/popups/eggs/components/SearchEggs.jsx +34 -0
  60. package/src/components/popups/eggs/components/ViewEggs.jsx +34 -0
  61. package/src/components/popups/eggs/index.jsx +31 -0
  62. package/src/components/popups/game/components/SearchProfiles.jsx +34 -0
  63. package/src/components/popups/game/components/ViewAchievements.jsx +34 -0
  64. package/src/components/popups/game/components/ViewLeagues.jsx +34 -0
  65. package/src/components/popups/game/components/ViewTournaments.jsx +34 -0
  66. package/src/components/popups/game/index.jsx +38 -0
  67. package/src/components/popups/karma/components/SearchKarma.jsx +34 -0
  68. package/src/components/popups/karma/components/ViewAvatarKarma.jsx +139 -0
  69. package/src/components/popups/karma/components/ViewKarma.jsx +103 -0
  70. package/src/components/popups/karma/components/VoteKarma.jsx +34 -0
  71. package/src/components/popups/karma/index.jsx +34 -0
  72. package/src/components/popups/map/components/Add2dObjectMap.jsx +34 -0
  73. package/src/components/popups/map/components/Add3dObjectMap.jsx +34 -0
  74. package/src/components/popups/map/components/AddQuestToMap.jsx +34 -0
  75. package/src/components/popups/map/components/DownloadOurWorld.jsx +34 -0
  76. package/src/components/popups/map/components/ManageMap.jsx +34 -0
  77. package/src/components/popups/map/components/PlotRouteOnMap.jsx +34 -0
  78. package/src/components/popups/map/components/SearchMap.jsx +34 -0
  79. package/src/components/popups/map/components/ViewGlobal3dMap.jsx +34 -0
  80. package/src/components/popups/map/components/ViewHalonsOnMap.jsx +34 -0
  81. package/src/components/popups/map/components/ViewOappOnMap.jsx +34 -0
  82. package/src/components/popups/map/components/ViewQuestOnMap.jsx +34 -0
  83. package/src/components/popups/map/index.jsx +79 -0
  84. package/src/components/popups/messages/Message.jsx +86 -0
  85. package/src/components/popups/mission/components/ManageMission.jsx +34 -0
  86. package/src/components/popups/mission/components/SearchMission.jsx +34 -0
  87. package/src/components/popups/mission/components/ViewMission.jsx +34 -0
  88. package/src/components/popups/mission/index.jsx +32 -0
  89. package/src/components/popups/nft/ContactPopup.jsx +146 -0
  90. package/src/components/popups/nft/Solana.jsx +70 -0
  91. package/src/components/popups/nft/components/ManageOasisNft.jsx +34 -0
  92. package/src/components/popups/nft/components/PurchaseOasisNft.jsx +34 -0
  93. package/src/components/popups/nft/components/PurchaseOasisVirtualLandNft.jsx +34 -0
  94. package/src/components/popups/nft/components/SearchOasisNft.jsx +34 -0
  95. package/src/components/popups/nft/components/ViewOasisNft.jsx +34 -0
  96. package/src/components/popups/nft/index.jsx +45 -0
  97. package/src/components/popups/oapp/components/CreateOAPP.jsx +34 -0
  98. package/src/components/popups/oapp/components/DeployOAPP.jsx +34 -0
  99. package/src/components/popups/oapp/components/DownloadOurWorld.jsx +34 -0
  100. package/src/components/popups/oapp/components/EditOAPP.jsx +34 -0
  101. package/src/components/popups/oapp/components/InstallOAPP.jsx +34 -0
  102. package/src/components/popups/oapp/components/LaunchOAPP.jsx +34 -0
  103. package/src/components/popups/oapp/components/ManageOAPP.jsx +68 -0
  104. package/src/components/popups/oapp/components/SearchOAPP.jsx +34 -0
  105. package/src/components/popups/oapp/index.jsx +62 -0
  106. package/src/components/popups/provider/components/ActivityPub.jsx +34 -0
  107. package/src/components/popups/provider/components/CompareProviderSpeeds.jsx +123 -0
  108. package/src/components/popups/provider/components/Eosio.jsx +34 -0
  109. package/src/components/popups/provider/components/Ethereum.jsx +34 -0
  110. package/src/components/popups/provider/components/Holochain.jsx +34 -0
  111. package/src/components/popups/provider/components/Ipfs.jsx +35 -0
  112. package/src/components/popups/provider/components/ManageAutoFailOver.jsx +34 -0
  113. package/src/components/popups/provider/components/ManageAutoReplicaton.jsx +34 -0
  114. package/src/components/popups/provider/components/ManageLoadBalancing.jsx +34 -0
  115. package/src/components/popups/provider/components/ManageProviders.jsx +34 -0
  116. package/src/components/popups/provider/components/MongoDb.jsx +34 -0
  117. package/src/components/popups/provider/components/Neo4j.jsx +34 -0
  118. package/src/components/popups/provider/components/SearchProviders.jsx +122 -0
  119. package/src/components/popups/provider/components/Seeds.jsx +34 -0
  120. package/src/components/popups/provider/components/Solid.jsx +34 -0
  121. package/src/components/popups/provider/components/SqlLite.jsx +34 -0
  122. package/src/components/popups/provider/components/ThreeFold.jsx +34 -0
  123. package/src/components/popups/provider/components/ViewProviderStats.jsx +123 -0
  124. package/src/components/popups/provider/components/ViewProviders.jsx +121 -0
  125. package/src/components/popups/provider/index.jsx +113 -0
  126. package/src/components/popups/quest/components/ManageQuest.jsx +34 -0
  127. package/src/components/popups/quest/components/SearchQuest.jsx +34 -0
  128. package/src/components/popups/quest/components/ViewQuest.jsx +34 -0
  129. package/src/components/popups/quest/index.jsx +32 -0
  130. package/src/components/popups/seeds/components/AcceptInvite.jsx +61 -0
  131. package/src/components/popups/seeds/components/DonateSeeds.jsx +178 -0
  132. package/src/components/popups/seeds/components/ManageSeeds.jsx +34 -0
  133. package/src/components/popups/seeds/components/PayWithSeeds.jsx +233 -0
  134. package/src/components/popups/seeds/components/RewardSeeds.jsx +178 -0
  135. package/src/components/popups/seeds/components/SearchSeeds.jsx +91 -0
  136. package/src/components/popups/seeds/components/SendInvite.jsx +178 -0
  137. package/src/components/popups/seeds/components/ViewOrganizations.jsx +178 -0
  138. package/src/components/popups/seeds/components/ViewSeeds.jsx +221 -0
  139. package/src/components/popups/seeds/index.jsx +70 -0
@@ -0,0 +1,100 @@
1
+ import React from 'react';
2
+ import '../../../assets/scss/contact-popup.scss';
3
+ import { Modal } from 'react-bootstrap';
4
+ import { AgGridReact } from 'ag-grid-react';
5
+
6
+ class ContactPopup extends React.Component {
7
+ state = {
8
+ columnDefs: [
9
+ {
10
+ fieldName: "avatar",
11
+ headerName: "Avatar",
12
+ },
13
+ {
14
+ fieldName: "levelKarma",
15
+ headerName: "Level Karma",
16
+ },
17
+ {
18
+ fieldName: "beamedIn",
19
+ headerName: "Beamed In",
20
+ },
21
+ {
22
+ fieldName: "lastBeamedIn",
23
+ headerName: "Last Beamed In",
24
+ },
25
+ {
26
+ fieldName: "addedToContacts",
27
+ }
28
+ ],
29
+ defaultColDef: {
30
+ flex: 1,
31
+ minWidth: 150,
32
+ filter: true,
33
+ sortable: true,
34
+ floatingFilter: true,
35
+ resizable: true,
36
+ },
37
+ rowData: null,
38
+ loading: true,
39
+ loggedIn: true,
40
+ };
41
+
42
+ onGridReady = async (params) => {
43
+ this.gridApi = params.api;
44
+ this.gridColumnApi = params.columnApi;
45
+ }
46
+
47
+ render() {
48
+ const { show, hide } = this.props;
49
+
50
+ console.log(this.props)
51
+
52
+ return (
53
+ <>
54
+ <Modal
55
+ size="xl"
56
+ centered
57
+ className="custom-modal custom-popup-component"
58
+ show={show}
59
+ onHide={() => hide()}
60
+ >
61
+ <Modal.Body>
62
+ <span className="form-cross-icon" onClick={() => hide()}>
63
+ <i className="fa fa-times"></i>
64
+ </span>
65
+
66
+ <div className="popup-container default-popup">
67
+ <div className="data-screen-container">
68
+ <h1 className="single-heading">Contact</h1>
69
+ <div className='contact-navbar'>
70
+ <ul>
71
+ <li>Friends</li>
72
+ <li>Friends</li>
73
+ <li>Colleagues</li>
74
+ <li>MyList</li>
75
+ </ul>
76
+ </div>
77
+
78
+ <div className="ag-theme-alpine custom-ag-parent">
79
+ <AgGridReact
80
+ columnDefs={this.state.columnDefs}
81
+ defaultColDef={this.state.defaultColDef}
82
+ onGridReady={this.onGridReady}
83
+ rowData={this.state.rowData}
84
+ />
85
+ </div>
86
+
87
+ <div className='contact-popup-button'>
88
+ <button>Send Message</button>
89
+ <button>Remove Friends</button>
90
+ </div>
91
+ </div>
92
+ </div>
93
+ </Modal.Body>
94
+ </Modal>
95
+ </>
96
+ );
97
+ }
98
+ }
99
+
100
+ export default ContactPopup;
@@ -0,0 +1,89 @@
1
+ import React from 'react';
2
+
3
+ import { Modal } from 'react-bootstrap';
4
+ import ProviderDropdown from '../../../common/ProviderDropdown';
5
+ import axios from "axios";
6
+ import { toast } from 'react-toastify';
7
+ import API_BASE_URL from "../../../../config/api";
8
+
9
+ class AddData extends React.Component {
10
+
11
+ getApiData = () => {
12
+ this.setState({ loading: true })
13
+
14
+ axios({
15
+ method: 'post',
16
+ url: API_BASE_URL,
17
+ headers: {
18
+ 'Content-Type': 'application/json'
19
+ },
20
+ })
21
+ .then((response) => {
22
+ this.setState({loading: false})
23
+
24
+ if (response.data.result?.isError) {
25
+ toast.error(response.data.result.message);
26
+ return;
27
+ }
28
+
29
+ toast.success(response.data.result.message);
30
+ })
31
+ .catch((err) => {
32
+ toast.error('err');
33
+ this.setState({loading: false})
34
+ return { error: true, data: err };
35
+ });
36
+ }
37
+
38
+ render() {
39
+ const { show, hide } = this.props;
40
+
41
+ return (
42
+ <>
43
+ <Modal
44
+ centered
45
+ className="custom-modal custom-popup-component"
46
+ show={show}
47
+ onHide={() => hide('data','sendData')}
48
+ >
49
+ <Modal.Body>
50
+ <span className="form-cross-icon" onClick={() => hide('data', 'sendData')}>
51
+ <i className="fa fa-times"></i>
52
+ </span>
53
+
54
+ <div className="popup-container default-popup">
55
+ <div className="data-screen-container">
56
+ <h1 className="single-heading">Data</h1>
57
+
58
+ <div className="form-container">
59
+ <form>
60
+ <ProviderDropdown />
61
+
62
+ <p className="single-form-row">
63
+ <label>Json: </label>
64
+ <textarea></textarea>
65
+ </p>
66
+
67
+ <p className="single-form-row">
68
+ <label>File: </label>
69
+ <input type="file" />
70
+ </p>
71
+
72
+ <p className="single-form-row">
73
+ <button
74
+ className="submit-button sm-button"
75
+ type="submit"
76
+ >Save</button>
77
+ </p>
78
+ </form>
79
+ </div>
80
+ </div>
81
+ </div>
82
+ </Modal.Body>
83
+ </Modal>
84
+ </>
85
+ );
86
+ }
87
+ }
88
+
89
+ export default AddData;
@@ -0,0 +1,87 @@
1
+ import React from 'react';
2
+
3
+ import { Modal } from 'react-bootstrap';
4
+ import ProviderDropdown from '../../../common/ProviderDropdown';
5
+ import axios from "axios";
6
+ import { toast } from 'react-toastify';
7
+ import API_BASE_URL from "../../../../config/api";
8
+
9
+ class CrossChainManagement extends React.Component {
10
+
11
+ getApiData = () => {
12
+ this.setState({ loading: true })
13
+
14
+ axios({
15
+ method: 'post',
16
+ url: API_BASE_URL,
17
+ headers: {
18
+ 'Content-Type': 'application/json'
19
+ },
20
+ })
21
+ .then((response) => {
22
+ this.setState({loading: false})
23
+
24
+ if (response.data.result?.isError) {
25
+ toast.error(response.data.result.message);
26
+ return;
27
+ }
28
+
29
+ toast.success(response.data.result.message);
30
+ })
31
+ .catch((err) => {
32
+ toast.error('err');
33
+ this.setState({loading: false})
34
+ return { error: true, data: err };
35
+ });
36
+ }
37
+
38
+ render() {
39
+ const { show, hide } = this.props;
40
+
41
+ return (
42
+ <>
43
+ <Modal
44
+ centered
45
+ className="custom-modal custom-popup-component"
46
+ show={show}
47
+ onHide={() => hide('data', 'crossChainManagement')}
48
+ >
49
+ <Modal.Body>
50
+ <span className="form-cross-icon" onClick={() => hide('data', 'crossChainManagement')}>
51
+ <i className="fa fa-times"></i>
52
+ </span>
53
+
54
+ <div className="popup-container default-popup">
55
+ <div className="data-screen-container">
56
+ <h1 className="single-heading">Cross Chain Management</h1>
57
+
58
+ <div className="form-container">
59
+ <form className="custom-form" style={{padding: 0}}>
60
+
61
+ <ProviderDropdown />
62
+
63
+ <p className="single-form-row">
64
+ <label>Json: </label>
65
+ <textarea></textarea>
66
+ </p>
67
+
68
+ <p className="single-form-row">
69
+ <label>File: </label>
70
+ <input type="file" />
71
+ </p>
72
+
73
+ <button type="submit" className="submit-button">
74
+ Save
75
+ </button>
76
+ </form>
77
+ </div>
78
+ </div>
79
+ </div>
80
+ </Modal.Body>
81
+ </Modal>
82
+ </>
83
+ );
84
+ }
85
+ }
86
+
87
+ export default CrossChainManagement;
@@ -0,0 +1,157 @@
1
+ import React from 'react';
2
+
3
+ import { Modal } from 'react-bootstrap';
4
+ import axios from "axios";
5
+ import { toast } from 'react-toastify';
6
+ import { AgGridReact } from 'ag-grid-react';
7
+ import API_BASE_URL from "../../../../config/api";
8
+
9
+ var filterParams = {
10
+ comparator: function (filterLocalDateAtMidnight, cellValue) {
11
+ var dateAsString = cellValue;
12
+ if (dateAsString === null) return -1;
13
+ var dateParts = dateAsString.split('/');
14
+ var cellDate = new Date(
15
+ Number(dateParts[2]),
16
+ Number(dateParts[1]) - 1,
17
+ Number(dateParts[0])
18
+ );
19
+ if (filterLocalDateAtMidnight.getTime() === cellDate.getTime()) {
20
+ return 0;
21
+ }
22
+ if (cellDate < filterLocalDateAtMidnight) {
23
+ return -1;
24
+ }
25
+ if (cellDate > filterLocalDateAtMidnight) {
26
+ return 1;
27
+ }
28
+ },
29
+ browserDatePicker: true,
30
+ };
31
+
32
+ class LoadData extends React.Component {
33
+
34
+ state = {
35
+ columnDefs: [
36
+ {
37
+ field: 'athlete'
38
+ },
39
+ {
40
+ field: 'age',
41
+ filter: 'agNumberColumnFilter',
42
+ maxWidth: 100,
43
+ },
44
+ { field: 'country' },
45
+ {
46
+ field: 'year',
47
+ maxWidth: 100,
48
+ },
49
+ {
50
+ field: 'date',
51
+ filter: 'agDateColumnFilter',
52
+ filterParams: filterParams,
53
+ },
54
+ { field: 'sport' },
55
+ {
56
+ field: 'gold',
57
+ filter: 'agNumberColumnFilter',
58
+ },
59
+ {
60
+ field: 'silver',
61
+ filter: 'agNumberColumnFilter',
62
+ },
63
+ {
64
+ field: 'bronze',
65
+ filter: 'agNumberColumnFilter',
66
+ },
67
+ {
68
+ field: 'total',
69
+ filter: false,
70
+ },
71
+ ],
72
+ defaultColDef: {
73
+ flex: 1,
74
+ minWidth: 150,
75
+ filter: true,
76
+ sortable: true,
77
+ floatingFilter: true,
78
+ resizable: true,
79
+ // overflow:true
80
+ },
81
+ rowData: null,
82
+ };
83
+
84
+ onGridReady = (params) => {
85
+ this.gridApi = params.api;
86
+ this.gridColumnApi = params.columnApi;
87
+
88
+ const updateData = (data) => {
89
+ this.setState({ rowData: data });
90
+ };
91
+
92
+ fetch('https://www.ag-grid.com/example-assets/olympic-winners.json')
93
+ .then((resp) => resp.json())
94
+ .then((data) => updateData(data));
95
+ };
96
+ getApiData = () => {
97
+ this.setState({ loading: true })
98
+
99
+ axios({
100
+ method: 'get',
101
+ url: API_BASE_URL,
102
+ headers: {
103
+ 'Content-Type': 'application/json'
104
+ },
105
+ })
106
+ .then((response) => {
107
+ this.setState({loading: false})
108
+
109
+ if (response.data.result?.isError) {
110
+ toast.error(response.data.result.message);
111
+ return;
112
+ }
113
+
114
+ toast.success(response.data.result.message);
115
+ })
116
+ .catch((err) => {
117
+ toast.error('err');
118
+ this.setState({loading: false})
119
+ return { error: true, data: err };
120
+ });
121
+ }
122
+
123
+ render() {
124
+ const { show, hide } = this.props;
125
+
126
+ return (
127
+ <>
128
+ <Modal
129
+ centered
130
+ className="custom-modal custom-popup-component light-custom-popup"
131
+ show={show}
132
+ dialogClassName=""
133
+ onHide={() => hide('data', 'loadData')}
134
+ >
135
+ <Modal.Body>
136
+ <span className="form-cross-icon" onClick={() => hide('data', 'loadData')}>
137
+ <i className="fa fa-times"></i>
138
+ </span>
139
+
140
+ <h1 className="single-heading">Data</h1>
141
+
142
+ <div className="ag-theme-alpine custom-ag-parent">
143
+ <AgGridReact
144
+ columnDefs={this.state.columnDefs}
145
+ defaultColDef={this.state.defaultColDef}
146
+ onGridReady={this.onGridReady}
147
+ rowData={this.state.rowData}
148
+ />
149
+ </div>
150
+ </Modal.Body>
151
+ </Modal>
152
+ </>
153
+ );
154
+ }
155
+ }
156
+
157
+ export default LoadData;
@@ -0,0 +1,34 @@
1
+ import React from 'react';
2
+ import { Modal } from "react-bootstrap";
3
+ import '../../../../assets/scss/coming-soon.scss';
4
+ import InfoIcon from '../../../../assets/images/icon-info.svg'
5
+
6
+ class SearchData extends React.Component {
7
+ state = { }
8
+ render() {
9
+ const { show, hide } = this.props;
10
+
11
+ return (
12
+ <>
13
+ <Modal
14
+ size="sm"
15
+ show={show}
16
+ dialogClassName=""
17
+ onHide={() => hide('data', 'manageData')}
18
+ >
19
+ <Modal.Body className="text-center coming-soon">
20
+ <img
21
+ src={InfoIcon}
22
+ alt="icon"
23
+ />
24
+ <h2>Coming Soon</h2>
25
+ <p>This module is coming soon...</p>
26
+ <button onClick={() => hide('data', 'manageData')}>OK</button>
27
+ </Modal.Body>
28
+ </Modal>
29
+ </>
30
+ );
31
+ }
32
+ }
33
+
34
+ export default SearchData;
@@ -0,0 +1,177 @@
1
+ import React from "react";
2
+
3
+ import { Modal } from "react-bootstrap";
4
+ import axios from "axios";
5
+ import { toast } from "react-toastify";
6
+ import API_BASE_URL from "../../../../config/api";
7
+
8
+ class OffChainManagement extends React.Component {
9
+ state = {
10
+ tagsList: [
11
+ { id: 1, name: "Item 01", status: false },
12
+ { id: 2, name: "Item 02", status: false },
13
+ { id: 3, name: "Item 03", status: false },
14
+ { id: 4, name: "Item 04", status: false },
15
+ { id: 5, name: "Item 05", status: false },
16
+ { id: 6, name: "Item 06", status: false },
17
+ { id: 7, name: "Item 07", status: false },
18
+ { id: 8, name: "Item 08", status: false },
19
+ ],
20
+ };
21
+
22
+ handleInputTagChange = (item) => {
23
+ let tags = [...this.state.tagsList];
24
+
25
+ const index = tags.indexOf(item);
26
+ tags[index].status = !tags[index].status;
27
+
28
+ this.setState({
29
+ tagsList: tags,
30
+ });
31
+ };
32
+
33
+ toggleAllTags = (action) => {
34
+ let tags = [...this.state.tagsList];
35
+ tags.map((tag) => {
36
+ tag.status = action === "add" ? true : false;
37
+ });
38
+
39
+ this.setState({
40
+ tagsList: tags,
41
+ });
42
+ };
43
+
44
+ toggleSelectedTags = (action) => {
45
+ let tags = [...this.state.tagsList];
46
+
47
+ tags.map((tag) => {
48
+ tag.status = action === "add" ? true : false;
49
+ });
50
+ };
51
+
52
+ saveData = () => {
53
+ toast.success(" Your Data is Saved!");
54
+ };
55
+
56
+ getApiData = () => {
57
+ this.setState({ loading: true })
58
+
59
+ axios({
60
+ method: 'get',
61
+ url: API_BASE_URL,
62
+ headers: {
63
+ 'Content-Type': 'application/json'
64
+ },
65
+ })
66
+ .then((response) => {
67
+ this.setState({loading: false})
68
+
69
+ if (response.data.result?.isError) {
70
+ toast.error(response.data.result.message);
71
+ return;
72
+ }
73
+
74
+ toast.success(response.data.result.message);
75
+ })
76
+ .catch((err) => {
77
+ toast.error('err');
78
+ this.setState({loading: false})
79
+ return { error: true, data: err };
80
+ });
81
+ }
82
+
83
+ render() {
84
+ const { show, hide } = this.props;
85
+
86
+ return (
87
+ <>
88
+ <Modal
89
+ centered
90
+ className="custom-modal custom-popup-component"
91
+ show={show}
92
+ onHide={() => hide("data", "offChainManagement")}
93
+ >
94
+ <Modal.Body>
95
+ <span
96
+ className="form-cross-icon"
97
+ onClick={() => hide("data", "offChainManagement")}
98
+ >
99
+ <i className="fa fa-times"></i>
100
+ </span>
101
+
102
+ <div className="popup-container default-popup">
103
+ <div className="data-screen-container off-chain-management">
104
+ <h1 className="single-heading">Off Chain Management</h1>
105
+
106
+ <form className="custom-form" style={{padding: 0}}>
107
+ <div className="off-chain-container">
108
+ <div className="All-provider">
109
+ <h3>All Providers</h3>
110
+ <ul className="list-item list-box">
111
+ {this.state.tagsList.map((tag) =>
112
+ tag.status ? null : (
113
+ <li key={tag.id}>
114
+ <label>
115
+ <input
116
+ type="checkbox"
117
+ name="checkbox"
118
+ checked={tag.status}
119
+ onChange={() => this.handleInputTagChange(tag)}
120
+ />
121
+ <span>{tag.name}</span>
122
+ </label>
123
+ </li>
124
+ )
125
+ )}
126
+ </ul>
127
+ </div>
128
+
129
+ <div className="buttons-list">
130
+ {/* <button>ADD</button> */}
131
+
132
+ {/* <button className=" sm-button" onClick={() => this.toggleAllTags("add")}>
133
+ ADD ALL
134
+ </button> */}
135
+
136
+ {/* <button>REMOVE</button> */}
137
+
138
+ {/* <button className=" sm-button" onClick={() => this.toggleAllTags("remove")}>
139
+ REMOVE ALL
140
+ </button> */}
141
+ </div>
142
+ <div className="off-chain-provider">
143
+ <h3>Off Chain Providers</h3>
144
+ <ul className="list-item list-box">
145
+ {this.state.tagsList.map((tag) =>
146
+ tag.status ? (
147
+ <li key={tag.id}>
148
+ <label>
149
+ <input
150
+ type="checkbox"
151
+ name="checkbox"
152
+ checked={tag.status}
153
+ onChange={() => this.handleInputTagChange(tag)}
154
+ />
155
+ <span>{tag.name}</span>
156
+ </label>
157
+ </li>
158
+ ) : null
159
+ )}
160
+ </ul>
161
+ </div>
162
+ </div>
163
+
164
+ <button className="submit-button" onClick={this.saveData} type="submit">
165
+ Save
166
+ </button>
167
+ </form>
168
+ </div>
169
+ </div>
170
+ </Modal.Body>
171
+ </Modal>
172
+ </>
173
+ );
174
+ }
175
+ }
176
+
177
+ export default OffChainManagement;
@@ -0,0 +1,34 @@
1
+ import React from 'react';
2
+ import { Modal } from "react-bootstrap";
3
+ import '../../../../assets/scss/coming-soon.scss';
4
+ import InfoIcon from '../../../../assets/images/icon-info.svg'
5
+
6
+ class SearchData extends React.Component {
7
+ state = { }
8
+ render() {
9
+ const { show, hide } = this.props;
10
+
11
+ return (
12
+ <>
13
+ <Modal
14
+ size="sm"
15
+ show={show}
16
+ dialogClassName=""
17
+ onHide={() => hide('data', 'searchData')}
18
+ >
19
+ <Modal.Body className="text-center coming-soon">
20
+ <img
21
+ src={InfoIcon}
22
+ alt="icon"
23
+ />
24
+ <h2>Coming Soon</h2>
25
+ <p>This module is coming soon...</p>
26
+ <button onClick={() => hide('data', 'searchData')}>OK</button>
27
+ </Modal.Body>
28
+ </Modal>
29
+ </>
30
+ );
31
+ }
32
+ }
33
+
34
+ export default SearchData;