@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 SearchAvatar 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('avatar', 'searchAvatar')}
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('avatar', 'searchAvatar')}>OK</button>
28
+ </Modal.Body>
29
+ </Modal>
30
+ </>
31
+ );
32
+ }
33
+ }
34
+
35
+ export default SearchAvatar;
@@ -0,0 +1,149 @@
1
+ 'use client';
2
+ import React from "react";
3
+ // import axios from "axios";
4
+ import { Modal } from "react-bootstrap";
5
+
6
+ // import { login, getUserById } from "../../../../functions";
7
+ // import ReactGrid from "../../../ReactGrid";
8
+ import { AgGridReact } from 'ag-grid-react'
9
+ import '../../../../assets/scss/avatar-popup.scss';
10
+ import oasisApi from "oasis-api";
11
+ import axios from "axios";
12
+ import { toast } from 'react-toastify';
13
+ import API_BASE_URL from "../../../../config/api";
14
+
15
+ class ViewAvatar extends React.Component {
16
+ state = {
17
+ columnDefs: [
18
+ {
19
+ field: 'avatar',
20
+ // filterParams: filterParams,
21
+ },
22
+ {
23
+ field: 'level',
24
+
25
+ },
26
+ {
27
+ field: 'karma'
28
+ },
29
+ {
30
+ field: 'sex',
31
+ },
32
+ {
33
+ field: 'created'
34
+ },
35
+
36
+ {
37
+ field: 'last'
38
+ },
39
+
40
+ {
41
+ field: 'online'
42
+ },
43
+ ],
44
+ defaultColDef: {
45
+ flex: 1,
46
+ minWidth: 150,
47
+ filter: true,
48
+ sortable: true,
49
+ floatingFilter: true,
50
+ resizable: true,
51
+ },
52
+ rowData: null,
53
+ loading: true,
54
+ loggedIn: true,
55
+ };
56
+
57
+ onGridReady = async (params) => {
58
+ this.gridApi = params.api;
59
+ this.gridColumnApi = params.columnApi;
60
+
61
+ const avatar = new oasisApi.Avatar()
62
+ const karma = new oasisApi.Karma()
63
+
64
+ const res = await avatar.getAll()
65
+ if(!res.error){
66
+ let avatars=[]
67
+ const users = res.data.result
68
+ for(let i=0; i<=users.length-1; i++){
69
+ let user = users[i]
70
+ console.log('user')
71
+ const karmaRes = await karma.getKarmaForAvatar(user.avatarId)
72
+ console.log(karmaRes)
73
+ let temp = {
74
+ avatar: user.username,
75
+ level: 1,
76
+ karma: karmaRes.data.result,
77
+ sex: user.title === 'Mr' ? 'Male':'Female',
78
+ created: 'Now',
79
+ last: 'Now ',
80
+ online: user.isBeamedIn
81
+ }
82
+ avatars.push(temp)
83
+ }
84
+ this.setState({rowData: avatars})
85
+ }
86
+ }
87
+
88
+ getApiData = () => {
89
+ this.setState({ loading: true })
90
+
91
+ axios({
92
+ method: 'get',
93
+ url: API_BASE_URL,
94
+ headers: {
95
+ 'Content-Type': 'application/json'
96
+ },
97
+ })
98
+ .then((response) => {
99
+ this.setState({loading: false})
100
+
101
+ if (response.data.result?.isError) {
102
+ toast.error(response.data.result.message);
103
+ return;
104
+ }
105
+
106
+ toast.success(response.data.result.message);
107
+ })
108
+ .catch((err) => {
109
+ toast.error('err');
110
+ this.setState({loading: false})
111
+ return { error: true, data: err };
112
+ });
113
+ }
114
+
115
+ render() {
116
+ const { show, hide } = this.props;
117
+
118
+ return (
119
+ <>
120
+ <Modal
121
+ centered
122
+ className="custom-modal custom-popup-component light-custom-popup"
123
+ show={show}
124
+ dialogClassName=""
125
+ onHide={() => hide('avatar', 'viewAvatar')}
126
+ >
127
+ <Modal.Body>
128
+ <span className="form-cross-icon" onClick={() => hide('avatar', 'viewAvatar')}>
129
+ <i className="fa fa-times"></i>
130
+ </span>
131
+
132
+ <h1 className="single-heading">View Avatar</h1>
133
+
134
+ <div className="ag-theme-alpine custom-ag-parent">
135
+ <AgGridReact
136
+ columnDefs={this.state.columnDefs}
137
+ defaultColDef={this.state.defaultColDef}
138
+ onGridReady={this.onGridReady}
139
+ rowData={this.state.rowData}
140
+ />
141
+ </div>
142
+ </Modal.Body>
143
+ </Modal>
144
+ </>
145
+ );
146
+ }
147
+ }
148
+
149
+ export default ViewAvatar
@@ -0,0 +1,40 @@
1
+ 'use client';
2
+ import React from 'react';
3
+
4
+ // import AvatarDetail from './components/AvatarDetail';
5
+ import AvatarWallet from './components/AvatarWallet';
6
+ import EditAvatar from './components/EditAvatar';
7
+ import SearchAvatar from './components/SearchAvatar';
8
+ import ViewAvatar from './components/ViewAvatar';
9
+
10
+ class Avatar extends React.Component {
11
+
12
+ render() {
13
+ const props=this.props;
14
+ return(
15
+ <>
16
+ <ViewAvatar
17
+ show={props.avatar.viewAvatar}
18
+ hide={props.toggleScreenPopup}
19
+ />
20
+
21
+ <EditAvatar
22
+ show={props.avatar.editAvatar}
23
+ hide={props.toggleScreenPopup}
24
+ />
25
+
26
+ <SearchAvatar
27
+ show={props.avatar.searchAvatar}
28
+ hide={props.toggleScreenPopup}
29
+ />
30
+
31
+ <AvatarWallet
32
+ show={props.avatar.avatarWallet}
33
+ hide={props.toggleScreenPopup}
34
+ />
35
+ </>
36
+ )
37
+ }
38
+ }
39
+
40
+ export default Avatar;
@@ -0,0 +1,29 @@
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
+ class ComingSoon extends React.Component {
7
+ render() {
8
+ return (
9
+ <Modal
10
+ size="sm"
11
+ show={this.props.show}
12
+ dialogClassName=""
13
+ onHide={this.props.toggleScreenPopup}
14
+ >
15
+ <Modal.Body className="text-center coming-soon">
16
+ <img
17
+ src={InfoIcon}
18
+ alt="icon"
19
+ />
20
+ <h2>Coming Soon</h2>
21
+ <p>This module is coming soon...</p>
22
+ <button onClick={this.props.toggleScreenPopup}>OK</button>
23
+ </Modal.Body>
24
+ </Modal>
25
+ );
26
+ }
27
+ }
28
+
29
+ export default ComingSoon;
@@ -0,0 +1,31 @@
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 Confirmation extends React.Component {
8
+ render() {
9
+ return (
10
+ <Modal
11
+ size="sm"
12
+ show={this.props.show}
13
+ onHide={this.props.hide}
14
+ >
15
+ <Modal.Body className="text-center coming-soon">
16
+ <img
17
+ src={InfoIcon}
18
+ alt="icon"
19
+ />
20
+ <h2>Are you Sure?</h2>
21
+ <p>Are you sure you want to Beam Out?</p>
22
+
23
+ <button onClick={this.props.hide}>Cancel</button>
24
+ <button onClick={this.props.logout}>Beam Out</button>
25
+ </Modal.Body>
26
+ </Modal>
27
+ );
28
+ }
29
+ }
30
+
31
+ export default Confirmation;
@@ -0,0 +1,101 @@
1
+ 'use client';
2
+ import React from 'react';
3
+ import '../../../assets/scss/contact-popup.scss';
4
+ import { Modal } from 'react-bootstrap';
5
+ import { AgGridReact } from 'ag-grid-react';
6
+
7
+ class ContactPopup extends React.Component {
8
+ state = {
9
+ columnDefs: [
10
+ {
11
+ fieldName: "avatar",
12
+ headerName: "Avatar",
13
+ },
14
+ {
15
+ fieldName: "levelKarma",
16
+ headerName: "Level Karma",
17
+ },
18
+ {
19
+ fieldName: "beamedIn",
20
+ headerName: "Beamed In",
21
+ },
22
+ {
23
+ fieldName: "lastBeamedIn",
24
+ headerName: "Last Beamed In",
25
+ },
26
+ {
27
+ fieldName: "addedToContacts",
28
+ }
29
+ ],
30
+ defaultColDef: {
31
+ flex: 1,
32
+ minWidth: 150,
33
+ filter: true,
34
+ sortable: true,
35
+ floatingFilter: true,
36
+ resizable: true,
37
+ },
38
+ rowData: null,
39
+ loading: true,
40
+ loggedIn: true,
41
+ };
42
+
43
+ onGridReady = async (params) => {
44
+ this.gridApi = params.api;
45
+ this.gridColumnApi = params.columnApi;
46
+ }
47
+
48
+ render() {
49
+ const { show, hide } = this.props;
50
+
51
+ console.log(this.props)
52
+
53
+ return (
54
+ <>
55
+ <Modal
56
+ size="xl"
57
+ centered
58
+ className="custom-modal custom-popup-component"
59
+ show={show}
60
+ onHide={() => hide()}
61
+ >
62
+ <Modal.Body>
63
+ <span className="form-cross-icon" onClick={() => hide()}>
64
+ <i className="fa fa-times"></i>
65
+ </span>
66
+
67
+ <div className="popup-container default-popup">
68
+ <div className="data-screen-container">
69
+ <h1 className="single-heading">Contact</h1>
70
+ <div className='contact-navbar'>
71
+ <ul>
72
+ <li>Friends</li>
73
+ <li>Friends</li>
74
+ <li>Colleagues</li>
75
+ <li>MyList</li>
76
+ </ul>
77
+ </div>
78
+
79
+ <div className="ag-theme-alpine custom-ag-parent">
80
+ <AgGridReact
81
+ columnDefs={this.state.columnDefs}
82
+ defaultColDef={this.state.defaultColDef}
83
+ onGridReady={this.onGridReady}
84
+ rowData={this.state.rowData}
85
+ />
86
+ </div>
87
+
88
+ <div className='contact-popup-button'>
89
+ <button>Send Message</button>
90
+ <button>Remove Friends</button>
91
+ </div>
92
+ </div>
93
+ </div>
94
+ </Modal.Body>
95
+ </Modal>
96
+ </>
97
+ );
98
+ }
99
+ }
100
+
101
+ export default ContactPopup;
@@ -0,0 +1,90 @@
1
+ 'use client';
2
+ import React from 'react';
3
+
4
+ import { Modal } from 'react-bootstrap';
5
+ import ProviderDropdown from '../../../common/ProviderDropdown';
6
+ import axios from "axios";
7
+ import { toast } from 'react-toastify';
8
+ import API_BASE_URL from "../../../../config/api";
9
+
10
+ class AddData extends React.Component {
11
+
12
+ getApiData = () => {
13
+ this.setState({ loading: true })
14
+
15
+ axios({
16
+ method: 'post',
17
+ url: API_BASE_URL,
18
+ headers: {
19
+ 'Content-Type': 'application/json'
20
+ },
21
+ })
22
+ .then((response) => {
23
+ this.setState({loading: false})
24
+
25
+ if (response.data.result?.isError) {
26
+ toast.error(response.data.result.message);
27
+ return;
28
+ }
29
+
30
+ toast.success(response.data.result.message);
31
+ })
32
+ .catch((err) => {
33
+ toast.error('err');
34
+ this.setState({loading: false})
35
+ return { error: true, data: err };
36
+ });
37
+ }
38
+
39
+ render() {
40
+ const { show, hide } = this.props;
41
+
42
+ return (
43
+ <>
44
+ <Modal
45
+ centered
46
+ className="custom-modal custom-popup-component"
47
+ show={show}
48
+ onHide={() => hide('data','sendData')}
49
+ >
50
+ <Modal.Body>
51
+ <span className="form-cross-icon" onClick={() => hide('data', 'sendData')}>
52
+ <i className="fa fa-times"></i>
53
+ </span>
54
+
55
+ <div className="popup-container default-popup">
56
+ <div className="data-screen-container">
57
+ <h1 className="single-heading">Data</h1>
58
+
59
+ <div className="form-container">
60
+ <form>
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
+ <p className="single-form-row">
74
+ <button
75
+ className="submit-button sm-button"
76
+ type="submit"
77
+ >Save</button>
78
+ </p>
79
+ </form>
80
+ </div>
81
+ </div>
82
+ </div>
83
+ </Modal.Body>
84
+ </Modal>
85
+ </>
86
+ );
87
+ }
88
+ }
89
+
90
+ export default AddData;
@@ -0,0 +1,88 @@
1
+ 'use client';
2
+ import React from 'react';
3
+
4
+ import { Modal } from 'react-bootstrap';
5
+ import ProviderDropdown from '../../../common/ProviderDropdown';
6
+ import axios from "axios";
7
+ import { toast } from 'react-toastify';
8
+ import API_BASE_URL from "../../../../config/api";
9
+
10
+ class CrossChainManagement extends React.Component {
11
+
12
+ getApiData = () => {
13
+ this.setState({ loading: true })
14
+
15
+ axios({
16
+ method: 'post',
17
+ url: API_BASE_URL,
18
+ headers: {
19
+ 'Content-Type': 'application/json'
20
+ },
21
+ })
22
+ .then((response) => {
23
+ this.setState({loading: false})
24
+
25
+ if (response.data.result?.isError) {
26
+ toast.error(response.data.result.message);
27
+ return;
28
+ }
29
+
30
+ toast.success(response.data.result.message);
31
+ })
32
+ .catch((err) => {
33
+ toast.error('err');
34
+ this.setState({loading: false})
35
+ return { error: true, data: err };
36
+ });
37
+ }
38
+
39
+ render() {
40
+ const { show, hide } = this.props;
41
+
42
+ return (
43
+ <>
44
+ <Modal
45
+ centered
46
+ className="custom-modal custom-popup-component"
47
+ show={show}
48
+ onHide={() => hide('data', 'crossChainManagement')}
49
+ >
50
+ <Modal.Body>
51
+ <span className="form-cross-icon" onClick={() => hide('data', 'crossChainManagement')}>
52
+ <i className="fa fa-times"></i>
53
+ </span>
54
+
55
+ <div className="popup-container default-popup">
56
+ <div className="data-screen-container">
57
+ <h1 className="single-heading">Cross Chain Management</h1>
58
+
59
+ <div className="form-container">
60
+ <form className="custom-form" style={{padding: 0}}>
61
+
62
+ <ProviderDropdown />
63
+
64
+ <p className="single-form-row">
65
+ <label>Json: </label>
66
+ <textarea></textarea>
67
+ </p>
68
+
69
+ <p className="single-form-row">
70
+ <label>File: </label>
71
+ <input type="file" />
72
+ </p>
73
+
74
+ <button type="submit" className="submit-button">
75
+ Save
76
+ </button>
77
+ </form>
78
+ </div>
79
+ </div>
80
+ </div>
81
+ </Modal.Body>
82
+ </Modal>
83
+ </>
84
+ );
85
+ }
86
+ }
87
+
88
+ export default CrossChainManagement;