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 = () => {
|
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