@@ -6,149 +6,149 @@ import useLoadingDone from "../hooks/useLoadingDone";
66import UserInviteModal from "../components/UserInviteModal" ;
77import { cryptoUtils } from "../App" ;
88import {
9- getUserKeyStoreFromServerAndInitKeyStore ,
10- sendGroupKeyToServer ,
9+ getUserKeyStoreFromServerAndInitKeyStore ,
10+ sendGroupKeyToServer ,
1111} from "../utils/networkUtils" ;
1212import useAuth from "../hooks/useAuth" ;
1313import { _genRandomBuffer , genEncryptedMasterKey } from "easy-web-crypto" ;
1414
1515interface User {
16- userName : string ;
17- email : string ;
18- userId : string ;
16+ userName : string ;
17+ email : string ;
18+ userId : string ;
1919}
2020
2121type userInvites = {
22- documentName : string ;
23- documentID : string ;
24- participantID : string ;
25- leaderID : string ;
26- preKeyBundle : string ;
27- entityID : string ;
28- entityKeyName : string ;
22+ documentName : string ;
23+ documentID : string ;
24+ participantID : string ;
25+ leaderID : string ;
26+ preKeyBundle : string ;
27+ entityID : string ;
28+ entityKeyName : string ;
2929} ;
3030
3131export default function DashBoard ( ) {
32- const [ documentInvites , setDocumentInvites ] = useState < any [ ] > ( [ ] ) ;
33- const [ existingdocuments , setExistingDocuments ] = useState < any [ ] > ( [ ] ) ;
34- const protectedAxios = useAxios ( ) ;
35- const navigate = useNavigate ( ) ;
36- const axios = useAxios ( ) ;
37- const auth = useAuth ( ) ;
38- // useEffect(() => {
39- // console.log(auth.userData);
40- // });
41- useLoadingDone ( ) ;
32+ const [ documentInvites , setDocumentInvites ] = useState < any [ ] > ( [ ] ) ;
33+ const [ existingdocuments , setExistingDocuments ] = useState < any [ ] > ( [ ] ) ;
34+ const protectedAxios = useAxios ( ) ;
35+ const navigate = useNavigate ( ) ;
36+ const axios = useAxios ( ) ;
37+ const auth = useAuth ( ) ;
38+ // useEffect(() => {
39+ // console.log(auth.userData);
40+ // });
41+ useLoadingDone ( ) ;
4242
43- const handleDocumentCreation : React . FormEventHandler < HTMLFormElement > = async ( event ) => {
44- event . preventDefault ( ) ;
45- const documentName = event . target [ "documentName" ] . value ;
46- console . log ( documentName ) ;
47- const data = await protectedAxios . post ( "/api/document" , {
48- documentName,
49- } ) ;
50- console . log ( "Document Created" ) ;
51- const documentID : string = data . data ;
52- const groupKeys = await cryptoUtils . generateGroupKeys ( ) ;
53- await cryptoUtils . saveGroupKeysToIDB ( groupKeys , documentID ) ;
54- await sendGroupKeyToServer ( documentID , protectedAxios ) ;
55- navigate ( "/document/" + documentID , {
56- replace : true ,
57- state : {
58- documentName,
59- newDocumentCreation : true ,
60- documentID,
61- } ,
62- } ) ;
63- } ;
43+ const handleDocumentCreation : React . FormEventHandler < HTMLFormElement > = async ( event ) => {
44+ event . preventDefault ( ) ;
45+ const documentName = event . target [ "documentName" ] . value ;
46+ console . log ( documentName ) ;
47+ const data = await protectedAxios . post ( "/api/document" , {
48+ documentName,
49+ } ) ;
50+ console . log ( "Document Created" ) ;
51+ const documentID : string = data . data ;
52+ const groupKeys = await cryptoUtils . generateGroupKeys ( ) ;
53+ await cryptoUtils . saveGroupKeysToIDB ( groupKeys , documentID ) ;
54+ await sendGroupKeyToServer ( documentID , protectedAxios ) ;
55+ navigate ( "/document/" + documentID , {
56+ replace : true ,
57+ state : {
58+ documentName,
59+ newDocumentCreation : true ,
60+ documentID,
61+ } ,
62+ } ) ;
63+ } ;
6464
65- const handleNewDocumentJoining = async ( documentInvite : userInvites ) => {
66- navigate ( "/document/" + documentInvite . documentID , {
67- replace : true ,
68- state : {
69- documentID : documentInvite . documentID ,
70- newDocumentJoin : true ,
71- existingDocumentJoin : false ,
72- documentInvite,
73- } ,
74- } ) ;
75- } ;
76-
77- const handleExistingDocumentJoining = async ( documentID : string , documentName : string ) => {
78- navigate ( "/document/" + documentID , {
79- replace : true ,
80- state : {
81- documentName,
82- documentID,
83- newDocumentJoin : false ,
84- existingDocumentJoin : true ,
85- } ,
86- } ) ;
87- } ;
88- const getExistingDocuments = async ( ) => {
89- const data = await protectedAxios . get ( "/api/document/existingdocuments" ) ;
90- return data . data ;
91- } ;
65+ const handleNewDocumentJoining = async ( documentInvite : userInvites ) => {
66+ navigate ( "/document/" + documentInvite . documentID , {
67+ replace : true ,
68+ state : {
69+ documentID : documentInvite . documentID ,
70+ newDocumentJoin : true ,
71+ existingDocumentJoin : false ,
72+ documentInvite,
73+ } ,
74+ } ) ;
75+ } ;
9276
93- const getDocumentInvites = async ( ) => {
94- const data = await protectedAxios . get ( "/api/document/invites" ) ;
95- return data . data ;
96- } ;
77+ const handleExistingDocumentJoining = async ( documentID : string , documentName : string ) => {
78+ navigate ( "/document/" + documentID , {
79+ replace : true ,
80+ state : {
81+ documentName,
82+ documentID,
83+ newDocumentJoin : false ,
84+ existingDocumentJoin : true ,
85+ } ,
86+ } ) ;
87+ } ;
88+ const getExistingDocuments = async ( ) => {
89+ const data = await protectedAxios . get ( "/api/document/existingdocuments" ) ;
90+ return data . data ;
91+ } ;
9792
98- useEffect ( ( ) => {
99- getDocumentInvites ( ) . then ( ( data ) => {
100- setDocumentInvites ( data ) ;
101- } ) ;
102- getExistingDocuments ( ) . then ( ( data ) => {
103- setExistingDocuments ( data ) ;
104- } ) ;
93+ const getDocumentInvites = async ( ) => {
94+ const data = await protectedAxios . get ( "/api/document/invites" ) ;
95+ return data . data ;
96+ } ;
10597
106- getUserKeyStoreFromServerAndInitKeyStore (
107- auth . userData ?. userID as string ,
108- axios
109- ) ;
110- } , [ ] ) ;
98+ useEffect ( ( ) => {
99+ getDocumentInvites ( ) . then ( ( data ) => {
100+ setDocumentInvites ( data ) ;
101+ } ) ;
102+ getExistingDocuments ( ) . then ( ( data ) => {
103+ setExistingDocuments ( data ) ;
104+ } ) ;
111105
112- return (
113- < >
114- < div > DashBoard</ div >
115- < form onSubmit = { handleDocumentCreation } >
116- < label >
117- Document Name:
118- < input type = "text" name = "documentName" />
119- </ label >
120- < button type = "submit" > Create Document</ button >
121- </ form >
122- < br />
123- < h1 > Document Invites</ h1 >
124- { documentInvites . map ( ( invite : userInvites ) => (
125- < ul key = { invite . entityID } >
126- < li >
127- { invite . documentName }
128- < Button
129- variant = "primary"
130- onClick = { ( ) => handleNewDocumentJoining ( invite ) }
131- >
132- Open
133- </ Button >
134- </ li >
135- </ ul >
136- ) ) }
137- < br />
138- < h1 > Documents you have worked on: </ h1 >
139- { existingdocuments . map ( ( documentInfo : any ) => (
140- < ul key = { documentInfo . documentID } >
141- < li >
142- { documentInfo . documentName }
143- < Button
144- variant = "primary"
145- onClick = { ( ) => handleExistingDocumentJoining ( documentInfo . documentID , documentInfo . documentName ) }
146- >
147- Open
148- </ Button >
149- </ li >
150- </ ul >
151- ) ) }
152- </ >
153- ) ;
106+ getUserKeyStoreFromServerAndInitKeyStore (
107+ auth . userData ?. userID as string ,
108+ axios
109+ ) ;
110+ } , [ ] ) ;
111+
112+ return (
113+ < >
114+ < div > DashBoard</ div >
115+ < form onSubmit = { handleDocumentCreation } >
116+ < label >
117+ Document Name:
118+ < input type = "text" name = "documentName" />
119+ </ label >
120+ < button type = "submit" > Create Document</ button >
121+ </ form >
122+ < br />
123+ < h1 > Document Invites</ h1 >
124+ { documentInvites . map ( ( invite : userInvites ) => (
125+ < ul key = { invite . entityID } >
126+ < li >
127+ { invite . documentName }
128+ < Button
129+ variant = "primary"
130+ onClick = { ( ) => handleNewDocumentJoining ( invite ) }
131+ >
132+ Open
133+ </ Button >
134+ </ li >
135+ </ ul >
136+ ) ) }
137+ < br />
138+ < h1 > Documents you have worked on: </ h1 >
139+ { existingdocuments . map ( ( documentInfo : any ) => (
140+ < ul key = { documentInfo . documentID } >
141+ < li >
142+ { documentInfo . documentName }
143+ < Button
144+ variant = "primary"
145+ onClick = { ( ) => handleExistingDocumentJoining ( documentInfo . documentID , documentInfo . documentName ) }
146+ >
147+ Open
148+ </ Button >
149+ </ li >
150+ </ ul >
151+ ) ) }
152+ </ >
153+ ) ;
154154}
0 commit comments