Fixed build issues

This commit is contained in:
2023-12-22 09:38:05 -05:00
parent bd6d5e03d3
commit 4441d99f25
9 changed files with 41 additions and 40 deletions

View File

@@ -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),
};
};
}

View File

@@ -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 {

View File

@@ -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 (
<>

View File

@@ -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>
<React.Suspense fallback={<Skeleton/>}>
<Loader>
{children}
</Loader>
</React.Suspense>
</RecoilRootWrapper>
</ModalsProvider>
</MantineProvider>

View File

@@ -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}>

View File

@@ -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>
))

View File

@@ -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>

View File

@@ -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>

View File

@@ -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) {