first overview page
This commit is contained in:
		| @@ -1,5 +1,98 @@ | ||||
| import React from 'react'; | ||||
| import React, { useContext, useState } from 'react'; | ||||
| import { Button } from 'primereact/button'; | ||||
| import { Card } from 'primereact/card'; | ||||
| import { DataTable } from 'primereact/datatable'; | ||||
| import { Password } from 'primereact/password'; | ||||
| import { AuthContext } from '../contexts'; | ||||
| import { Auth } from '../services'; | ||||
| import { BackendReturnStatus } from '../types'; | ||||
| import { Column } from 'primereact/column'; | ||||
|  | ||||
| export const Overview: React.FC = () => { | ||||
|   return <>OVERVIEW</>; | ||||
|   const [statusMessage, setStatusMessage] = useState<{ error: boolean; message: string }>({ | ||||
|     error: false, | ||||
|     message: '', | ||||
|   }); | ||||
|   const { auth, reloadAuth } = useContext(AuthContext); | ||||
|  | ||||
|   const regenerateKey = async () => { | ||||
|     Auth.refreshRadarScopeKey().then((status) => { | ||||
|       if (status === BackendReturnStatus.Unauthorized) { | ||||
|         Auth.triggerLoginFlow(); | ||||
|         // TODO reload user data in auth | ||||
|         // TODO store current URL and get back after login | ||||
|       } else if (status === BackendReturnStatus.Failure) { | ||||
|         setStatusMessage({ | ||||
|           error: true, | ||||
|           message: 'Unable to regenerate the key', | ||||
|         }); | ||||
|       } else { | ||||
|         reloadAuth(); | ||||
|         setStatusMessage({ | ||||
|           error: false, | ||||
|           message: 'Updated the key', | ||||
|         }); | ||||
|       } | ||||
|     }); | ||||
|   } | ||||
|  | ||||
|   const userInformation: any[] = [ | ||||
|     { vatsimId: auth.user.vatsimId, fullName: auth.user.fullName !== '' ? auth.user.fullName : 'Unknown' }, | ||||
|   ]; | ||||
|  | ||||
|   const userData = ( | ||||
|     <> | ||||
|       <div> | ||||
|         <DataTable value={userInformation} showGridlines> | ||||
|           <Column field='vatsimId' header='VATSIM ID'></Column> | ||||
|           <Column field='fullName' header='Name'></Column> | ||||
|         </DataTable> | ||||
|       </div> | ||||
|       <div> | ||||
|         <h4>RADAR scope key</h4> | ||||
|         <Password | ||||
|           value={auth.user.radarScopeKey} | ||||
|           className='mr-3' | ||||
|           feedback={false} | ||||
|           toggleMask | ||||
|         /> | ||||
|         <Button | ||||
|           label='Regenerate' | ||||
|           className='p-button-outlined p-button-secondary' | ||||
|           onClick={regenerateKey} | ||||
|         /> | ||||
|         <div className={statusMessage.error ? 'text-red-500' : 'text-secondary'}> | ||||
|           {statusMessage.message} | ||||
|         </div> | ||||
|       </div> | ||||
|     </> | ||||
|   ); | ||||
|  | ||||
|   const initialSteps = ( | ||||
|     <ul> | ||||
|       <li>Download current Euroscope plugin version</li> | ||||
|       <li>Add plugin to your Euroscope installation</li> | ||||
|       <li>Copy 'RADAR Scope key'</li> | ||||
|       <li>Paste the key into the amankey.txt file next to AMAN.dll of the Euroscope installation</li> | ||||
|       <li>Restart Euroscope</li> | ||||
|       <li>Activate AMAN plugin in Euroscpe</li> | ||||
|     </ul> | ||||
|   ) | ||||
|  | ||||
|   return ( | ||||
|     <> | ||||
|       <div className='card flex align-items-top justify-content-start p-3'> | ||||
|         <Card | ||||
|           title='Controller data' | ||||
|           className='text-left surface-100 w-18.5rem h-21rem flex mr-3' | ||||
|           footer={userData} | ||||
|         /> | ||||
|         <Card | ||||
|           title='Installation steps for Euroscope' | ||||
|           className='text-left surface-100 w-42.5rem h-17rem flex mr-3' | ||||
|           footer={initialSteps} | ||||
|         /> | ||||
|       </div> | ||||
|     </> | ||||
|   ); | ||||
| }; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user