made userDataStore

This commit is contained in:
Daria Golova
2022-06-29 18:34:42 +03:00
parent bcfc018560
commit 1c539e5255
3 changed files with 56 additions and 7 deletions

View File

@@ -1,5 +1,8 @@
import React, { useState } from 'react'; import React, { useState, useEffect } from 'react';
import { userDataStore } from '../../store/userDataStore';
import { registrationStore } from '../../store/store';
import Sidebar from '../../partials/Sidebar'; import Sidebar from '../../partials/Sidebar';
import { observer } from 'mobx-react-lite';
import Header from '../../partials/Header'; import Header from '../../partials/Header';
import ProfileTable from '../../partials/digitalId/ProfileTable'; import ProfileTable from '../../partials/digitalId/ProfileTable';
import Image from '../../images/transactions-image-04.svg'; import Image from '../../images/transactions-image-04.svg';
@@ -8,7 +11,7 @@ import Avatar01 from '../../images/avatar-01.jpg';
import Avatar02 from '../../images/avatar-02.jpg'; import Avatar02 from '../../images/avatar-02.jpg';
import Avatar03 from '../../images/avatar-03.jpg'; import Avatar03 from '../../images/avatar-03.jpg';
function Profile () { const Profile = observer (() => {
const [sidebarOpen, setSidebarOpen] = useState(false); const [sidebarOpen, setSidebarOpen] = useState(false);
const [buttonPanelOpen, setButtonPanelOpen] = useState(true); const [buttonPanelOpen, setButtonPanelOpen] = useState(true);
const [removePanelOpen, setRemovePanelOpen] = useState(false); const [removePanelOpen, setRemovePanelOpen] = useState(false);
@@ -17,6 +20,10 @@ function Profile () {
const [addPanelOpen, setAddPanelOpen] = useState(false); const [addPanelOpen, setAddPanelOpen] = useState(false);
const [selectedItems, setSelectedItems] = useState([]); const [selectedItems, setSelectedItems] = useState([]);
/*useEffect(() => {
userDataStore.getUserData();
}, []);*/
const defaultValues = { const defaultValues = {
property: '', property: '',
value: '', value: '',
@@ -269,6 +276,15 @@ function Profile () {
</div> </div>
{/* Table */} {/* Table */}
<ProfileTable selectedItems={handleSelectedItems} userData={userData}/> <ProfileTable selectedItems={handleSelectedItems} userData={userData}/>
{/* Test user data */}
<div className='bg-slate-500'>
{userDataStore.userData.map((elem, index) => (
<div key={index} className='flex flex-col gap-y-2'>
<span>{elem.label}</span>
<span>{elem.value.split(':')[1]}</span>
</div>
)) }
</div>
</div> </div>
{/* Left sidebar */} {/* Left sidebar */}
<div> <div>
@@ -470,6 +486,6 @@ function Profile () {
</div> </div>
</div> </div>
) )
} })
export default Profile; export default Profile

View File

@@ -10,6 +10,8 @@ class Store {
_nodeInfo = {} _nodeInfo = {}
_userData = {}
constructor() { constructor() {
makeAutoObservable(this); makeAutoObservable(this);
@@ -18,15 +20,18 @@ class Store {
reaction(() => this.tokenKey, () => fetchWrapper.getAuth('http://3.125.47.101/api/data/account', { reaction(() => this.tokenKey, () => fetchWrapper.getAuth('http://3.125.47.101/api/data/account', {
networkIdentifier: this.nodeInfo.networkIdentifier, networkIdentifier: this.nodeInfo.networkIdentifier,
lastBlockID: this.nodeInfo.lastBlockID lastBlockID: this.nodeInfo.lastBlockID
})) }).then((res) => this.userInfoFetchChange(res)))
}; };
fetchCreateNewAccount() { fetchCreateNewAccount() {
fetchWrapper.postAuth('http://3.125.47.101/api/data/account', { fetchWrapper.postAuth('http://3.125.47.101/api/data/account', {
networkIdentifier: this.nodeInfo.networkIdentifier, networkIdentifier: this.nodeInfo.networkIdentifier,
lastBlockID: this.nodeInfo.lastBlockID lastBlockID: this.nodeInfo.lastBlockID
}, [...this.encryptAccountData]) }, [...this.encryptAccountData]).catch(()=>{})
.catch(()=>{}) };
userInfoFetchChange(res) {
this._userData = res;
} }
savePassPhrase(phrase) { savePassPhrase(phrase) {
@@ -51,6 +56,10 @@ class Store {
console.log(err) console.log(err)
} }
get userData() {
return this._userData;
}
get passPhrase() { get passPhrase() {
return 'rocket north inform swift improve fringe sweet crew client canyon bean autumn' return 'rocket north inform swift improve fringe sweet crew client canyon bean autumn'
} }

View File

@@ -0,0 +1,24 @@
import { cryptography } from "@liskhq/lisk-client";
import { makeAutoObservable, reaction } from "mobx";
import { registrationStore } from './store';
class UserDataStore{
_data = []
constructor() {
makeAutoObservable(this);
reaction(() => ({data: registrationStore.userData}), ({data}) => {
this._data = data.data;
})
}
get userData(){
return this._data.map((elem) => ({
...elem,
value: cryptography.decryptMessageWithPassphrase(elem.value, elem.value_nonce, registrationStore.passPhrase, registrationStore.pubKey)
}))
}
}
export const userDataStore = new UserDataStore();