Fixed build issues
This commit is contained in:
@@ -190,8 +190,6 @@ pub enum QueryOrderField {
|
||||
Country,
|
||||
Region,
|
||||
Municipality,
|
||||
Iata,
|
||||
Local,
|
||||
}
|
||||
|
||||
impl FromStr for QueryOrderField {
|
||||
@@ -204,8 +202,6 @@ impl FromStr for QueryOrderField {
|
||||
"iso_country" => Ok(QueryOrderField::Country),
|
||||
"iso_region" => Ok(QueryOrderField::Region),
|
||||
"municipality" => Ok(QueryOrderField::Municipality),
|
||||
"iata_code" => Ok(QueryOrderField::Iata),
|
||||
"local_code" => Ok(QueryOrderField::Local),
|
||||
_ => Err(())
|
||||
}
|
||||
}
|
||||
@@ -229,8 +225,6 @@ impl QueryAirport {
|
||||
QueryOrderField::Country => format!("{}, iso_country ASC", query),
|
||||
QueryOrderField::Region => format!("{}, iso_region ASC", query),
|
||||
QueryOrderField::Municipality => format!("{}, municipality ASC", query),
|
||||
QueryOrderField::Iata => format!("{}, iata_code ASC", query),
|
||||
QueryOrderField::Local => format!("{}, local_code ASC", query),
|
||||
};
|
||||
};
|
||||
},
|
||||
@@ -243,8 +237,6 @@ impl QueryAirport {
|
||||
QueryOrderField::Country => format!("{}, iso_country DESC", query),
|
||||
QueryOrderField::Region => format!("{}, iso_region DESC", query),
|
||||
QueryOrderField::Municipality => format!("{}, municipality DESC", query),
|
||||
QueryOrderField::Iata => format!("{}, iata_code DESC", query),
|
||||
QueryOrderField::Local => format!("{}, local_code DESC", query),
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -41,8 +41,6 @@ export enum AirportOrderField {
|
||||
ISO_COUNTRY = 'iso_country',
|
||||
ISO_REGION = 'iso_region',
|
||||
MUNICIPALITY = 'municipality',
|
||||
IATA_CODE = 'iata_code',
|
||||
LOCAL_CODE = 'local_code',
|
||||
}
|
||||
|
||||
export interface Bounds {
|
||||
|
||||
@@ -6,20 +6,12 @@ import CreateAirportPanel from "@/components/Admin/CreateAirportPanel";
|
||||
import UpdateAirportModal from "@/components/Admin/UpdateAirportModal";
|
||||
import { isAdminState } from "@/state/auth";
|
||||
import { Container, Grid, SimpleGrid } from "@mantine/core";
|
||||
import { useRouter } from "next/navigation";
|
||||
import { useEffect, useState } from "react";
|
||||
import { useState } from "react";
|
||||
import { useRecoilValue } from "recoil";
|
||||
|
||||
export default function Page() {
|
||||
const [airport, setAirport] = useState<Airport | undefined>(undefined);
|
||||
const isAdmin = useRecoilValue(isAdminState);
|
||||
const router = useRouter();
|
||||
|
||||
useEffect(() => {
|
||||
if (!isAdmin) {
|
||||
router.push('/');
|
||||
}
|
||||
}, [airport]);
|
||||
|
||||
return (
|
||||
<>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import React from 'react';
|
||||
import RecoilRootWrapper from '@app/recoil-root-wrapper';
|
||||
import { MantineProvider } from '@mantine/core';
|
||||
import { MantineProvider, Skeleton } from '@mantine/core';
|
||||
import { ModalsProvider } from '@mantine/modals';
|
||||
import 'styles/globals.css';
|
||||
import 'styles/leaflet.css';
|
||||
@@ -24,9 +24,11 @@ export default function RootLayout({ children }: { children: React.ReactNode })
|
||||
<Notifications />
|
||||
<ModalsProvider>
|
||||
<RecoilRootWrapper>
|
||||
<Loader>
|
||||
{children}
|
||||
</Loader>
|
||||
<React.Suspense fallback={<Skeleton/>}>
|
||||
<Loader>
|
||||
{children}
|
||||
</Loader>
|
||||
</React.Suspense>
|
||||
</RecoilRootWrapper>
|
||||
</ModalsProvider>
|
||||
</MantineProvider>
|
||||
|
||||
@@ -16,13 +16,6 @@ import { userState } from "@/state/auth";
|
||||
|
||||
export default function Page() {
|
||||
const user = useRecoilValue(userState);
|
||||
const router = useRouter();
|
||||
|
||||
useEffect(() => {
|
||||
if (!user) {
|
||||
router.push('/');
|
||||
}
|
||||
}, []);
|
||||
|
||||
return (
|
||||
<Grid gutter={80}>
|
||||
|
||||
@@ -44,8 +44,8 @@ export default function AirportTablePanel({ setAirport }: { setAirport: (airport
|
||||
<Table.Td>{airport.iso_country}</Table.Td>
|
||||
<Table.Td>{airport.iso_region}</Table.Td>
|
||||
<Table.Td>{airport.municipality}</Table.Td>
|
||||
<Table.Td>{airport.iata_code}</Table.Td>
|
||||
<Table.Td>{airport.local_code}</Table.Td>
|
||||
<Table.Td>{airport.iata}</Table.Td>
|
||||
<Table.Td>{airport.local}</Table.Td>
|
||||
</Table.Tr>
|
||||
))
|
||||
|
||||
|
||||
@@ -13,10 +13,14 @@ export default function CreateAirportPanel() {
|
||||
iso_country: '',
|
||||
iso_region: '',
|
||||
municipality: '',
|
||||
iata_code: '',
|
||||
local_code: '',
|
||||
iata: '',
|
||||
local: '',
|
||||
latitude: 0,
|
||||
longitude: 0,
|
||||
has_tower: false,
|
||||
has_beacon: false,
|
||||
runways: [],
|
||||
frequencies: [],
|
||||
}
|
||||
});
|
||||
|
||||
@@ -86,12 +90,12 @@ export default function CreateAirportPanel() {
|
||||
<TextInput
|
||||
label='IATA Code'
|
||||
placeholder='MNZ'
|
||||
{...form.getInputProps('iata_code')}
|
||||
{...form.getInputProps('iata')}
|
||||
/>
|
||||
<TextInput
|
||||
label='Local Code'
|
||||
placeholder='HEF'
|
||||
{...form.getInputProps('local_code')}
|
||||
{...form.getInputProps('local')}
|
||||
/>
|
||||
</Group>
|
||||
<Group>
|
||||
|
||||
@@ -14,10 +14,14 @@ export default function UpdateAirportModal({ airport, setAirport }: { airport: A
|
||||
iso_country: airport?.iso_country || '',
|
||||
iso_region: airport?.iso_region || '',
|
||||
municipality: airport?.municipality || '',
|
||||
iata_code: airport?.iata_code || '',
|
||||
local_code: airport?.local_code || '',
|
||||
iata: airport?.iata || '',
|
||||
local: airport?.local || '',
|
||||
latitude: airport?.latitude || 0,
|
||||
longitude: airport?.longitude || 0,
|
||||
has_tower: airport?.has_tower || false,
|
||||
has_beacon: airport?.has_beacon || false,
|
||||
runways: airport?.runways || [],
|
||||
frequencies: airport?.frequencies || [],
|
||||
}
|
||||
});
|
||||
|
||||
@@ -97,13 +101,13 @@ export default function UpdateAirportModal({ airport, setAirport }: { airport: A
|
||||
required
|
||||
label='IATA Code'
|
||||
placeholder='HEF'
|
||||
{...form.getInputProps('iata_code')}
|
||||
{...form.getInputProps('iata')}
|
||||
/>
|
||||
<TextInput
|
||||
required
|
||||
label='Local Code'
|
||||
placeholder='HEF'
|
||||
{...form.getInputProps('local_code')}
|
||||
{...form.getInputProps('local')}
|
||||
/>
|
||||
</Group>
|
||||
<Group>
|
||||
|
||||
@@ -9,6 +9,7 @@ import { getFavorites, getPicture } from "@/api/users";
|
||||
import Cookies from "js-cookie";
|
||||
import { favoritesState, profilePictureState } from "@/state/user";
|
||||
import { notifications } from "@mantine/notifications";
|
||||
import { usePathname, useRouter } from "next/navigation";
|
||||
|
||||
export default function Loader({ children }: { children: any }) {
|
||||
const [loading, setLoading] = useState(true);
|
||||
@@ -16,6 +17,8 @@ export default function Loader({ children }: { children: any }) {
|
||||
const [refreshId, setRefreshId] = useRecoilState(refreshIdState);
|
||||
const [_, setFavorites] = useRecoilState(favoritesState);
|
||||
const [profilePicture, setProfilePicture] = useRecoilState(profilePictureState);
|
||||
const path = usePathname();
|
||||
const router = useRouter();
|
||||
|
||||
useEffect(() => {
|
||||
setLoading(true);
|
||||
@@ -25,6 +28,19 @@ export default function Loader({ children }: { children: any }) {
|
||||
setLoading(false);
|
||||
}, [user]);
|
||||
|
||||
useEffect(() => {
|
||||
const p = path.split('/');
|
||||
console.log(p[1], user);
|
||||
|
||||
if (p.length > 1) {
|
||||
if (p[1] == 'admin' && user?.role != 'admin') {
|
||||
router.push('/');
|
||||
} else if (p[1] == 'profile' && !user) {
|
||||
router.push('/');
|
||||
}
|
||||
}
|
||||
}, [path]);
|
||||
|
||||
function refreshUser() {
|
||||
refresh().then((response) => {
|
||||
if (response) {
|
||||
|
||||
Reference in New Issue
Block a user