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