Skip to content

Commit

Permalink
builds partially migrated
Browse files Browse the repository at this point in the history
  • Loading branch information
Admiralfeb committed Sep 25, 2024
1 parent ee973bc commit f213b4d
Show file tree
Hide file tree
Showing 63 changed files with 76 additions and 85 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { filterShipBuilds } from '@@/builds/functions';
import { IBuildInfov2, IQuery } from '@@/builds/models';
import { BuildContext, BuildContextProvider } from '@@/builds/providers/buildProvider';
'use client';
import { filterShipBuilds } from '@/app/builds/_functions';
import { IBuildInfov2, IQuery } from '@/app/builds/_models';
import { BuildContext, BuildContextProvider } from '@/app/builds/_providers/buildProvider';
import ArrowDownwardIcon from '@mui/icons-material/ArrowDownward';
import { Box, Container, Fab, Slide, Theme, Typography, useMediaQuery } from '@mui/material';
import { useSnackbar } from 'notistack';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { useShipIdfromMap } from '@@/builds/hooks/useShipMap';
import { IBuildInfov2, ShipSize } from '@@/builds/models';
import { useShipIdfromMap } from '@/app/builds/_hooks/useShipMap';
import { IBuildInfov2, ShipSize } from '@/app/builds/_models';
import {
Box,
Button,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import { USCMarkdown } from '@/components/uscmarkdown';
import { BoxwMB1, CenteredTypography } from '@/components/_common';
import { useLinks } from '@/hooks/useLinks';
import { IBuildInfov2, IShipInfo, ShipSize } from '@@/builds/models';
import { IBuildInfov2, IShipInfo, ShipSize } from '@/app/builds/_models';
import {
AddBuildFunction,
BuildContext,
BuildContextProvider,
} from '@@/builds/providers/buildProvider';
} from '@/app/builds/_providers/buildProvider';
import {
Box,
Button,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { CenteredTypography, PaperP2 } from '@/components/_common';
import { IBuildInfov2 } from '@@/builds/models';
import { IBuildInfov2 } from '@/app/builds/_models';
import { BuildCard } from './buildCard';

interface BuildListProps {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { getShipInfofromID, groupandSortBuilds, processJSONBuild } from '@@/builds/functions';
import { IBuildInfov2, IShipInfo } from '@@/builds/models';
import { getShipInfofromID, groupandSortBuilds, processJSONBuild } from '@/app/builds/_functions';
import { IBuildInfov2, IShipInfo } from '@/app/builds/_models';
import {
Autocomplete,
Button,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { useShipIdfromMap } from '@@/builds/hooks/useShipMap';
import { IBuildInfov2, IShipInfo, ShipSize } from '@@/builds/models';
import { useShipIdfromMap } from '@/app/builds/_hooks/useShipMap';
import { IBuildInfov2, IShipInfo, ShipSize } from '@/app/builds/_models';
import { Box, Card, CardContent, CardMedia, Divider, ListItem, Typography } from '@mui/material';
import { HTMLAttributes } from 'react';
import { EngIcons } from '../engIcons';
Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { IQuery, OtherFilters } from '@@/builds/models';
'use client';
import { IQuery, OtherFilters } from '@/app/builds/_models';
import { Box } from '@mui/material';
import { useRouter } from 'next/router';
import { useRouter, useSearchParams } from 'next/navigation';
import qs from 'query-string';
import { useEffect, useReducer } from 'react';
import { QueryActions } from './queryActions';
Expand All @@ -15,8 +16,8 @@ interface QueryProps {
}

export const Query = (props: QueryProps) => {
const queryParams = useSearchParams();
const router = useRouter();
const queryParams = router.asPath.substring(router.asPath.indexOf('?'));
const { updateQuery, addBuild } = props;

type action = {
Expand Down Expand Up @@ -91,9 +92,8 @@ export const Query = (props: QueryProps) => {
}

const queryString = qs.stringify(newQuery);
router.push({ pathname: '/builds', query: queryString }, undefined, {
shallow: true,
});
router.push(`/builds?${queryString}`);
router.refresh();

updateQuery(newQuery);

Expand All @@ -111,17 +111,16 @@ export const Query = (props: QueryProps) => {
});

useEffect(() => {
const params = qs.parse(queryParams);
const shipParam = params['ship'];
const shipParam = queryParams?.get('ship');
const ship = shipParam && !Array.isArray(shipParam) ? shipParam : null;

const sizeParam = params['size'];
const sizeParam = queryParams?.get('size');
const size = sizeParam && !Array.isArray(sizeParam) ? parseInt(sizeParam) : null;

const engParam = params['engLevel'];
const engParam = queryParams?.get('engLevel');
const engLevel = engParam && !Array.isArray(engParam) ? parseInt(engParam) : null;

const specialtiesParam = params['specialties'];
const specialtiesParam = queryParams?.get('specialties');
let specialties: string[] = [];
if (specialtiesParam) {
if (Array.isArray(specialtiesParam) && specialtiesParam.length > 0) {
Expand All @@ -131,13 +130,13 @@ export const Query = (props: QueryProps) => {
}
}

const guardianParam = params['guardian'];
const guardianParam = queryParams?.get('guardian');
const guardian = guardianParam === '1' ? 1 : guardianParam === '0' ? 0 : null;

const powerplayParam = params['powerplay'];
const powerplayParam = queryParams?.get('powerplay');
const powerplay = powerplayParam === '1' ? 1 : powerplayParam === '0' ? 0 : null;

const beginnerParam = params['beginner'];
const beginnerParam = queryParams?.get('beginner');
const beginner = beginnerParam === '1' ? 1 : beginnerParam === '0' ? 0 : null;

const query: IQuery = {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { OtherFilters } from '@@/builds/models/otherFilters';
import { OtherFilters } from '@/app/builds/_models/otherFilters';
import BlockIcon from '@mui/icons-material/Block';
import CheckIcon from '@mui/icons-material/Check';
import { styled, ToggleButton, ToggleButtonGroup, Tooltip } from '@mui/material';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { IShipInfo } from '@@/builds/models';
import { IShipInfo } from '@/app/builds/_models';
import { Box, ToggleButton, ToggleButtonGroup, Tooltip } from '@mui/material';
import { Dispatch, MouseEvent, SetStateAction } from 'react';
import { ShipAutocomplete } from '../shipAutocomplete';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ShipSpecialty } from '@@/builds/models/shipSpecialty';
import { ShipSpecialty } from '@/app/builds/_models/shipSpecialty';
import { styled, ToggleButton } from '@mui/material';
import { QueryExplanation, QuerySection, QuerySectionHeader } from './sharedComponents';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { TextFieldwM1 } from '@/components/_common';
import { genericSortArray } from '@/functions/sort';
import { useShipMap } from '@@/builds/hooks/useShipMap';
import { IShipInfo } from '@@/builds/models';
import { useShipMap } from '@/app/builds/_hooks/useShipMap';
import { IShipInfo } from '@/app/builds/_models';
import { Autocomplete } from '@mui/material';

const findShipName = (ships: IShipInfo[], shipID: string | null) => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { IBuildInfov2 } from '@@/builds/models';
import { IBuildInfov2 } from '@/app/builds/_models';
import { Box, Chip } from '@mui/material';

export const TagGroup = (props: { build: IBuildInfov2 }) => {
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { IBuildInfov2 } from '@@/builds/models';
import { IBuildInfov2 } from '@/app/builds/_models';

export const testBuildNoExtra: IBuildInfov2 = {
_id: '1234',
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { IBuildInfov2, IQuery } from '@@/builds/models';
import { IBuildInfov2, IQuery } from '@/app/builds/_models';
import { getShipInfofromID } from './getShipInfo';

export const filterShipBuilds = (
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import shipMap from '@@/builds/data/shipMap.json';
import { IShipInfo } from '@@/builds/models';
import shipMap from '../_data/shipMap.json';
import { IShipInfo } from '../_models';

export const getShipInfofromID = (shipID: string): IShipInfo | undefined => {
const ship: IShipInfo | undefined = shipMap.find((x) => x.shipId === shipID);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { genericSortArray } from '@/functions/sort';
import shipMap from '@@/builds/data/shipMap.json';
import { IBuildInfov2, IShipInfo } from '@@/builds/models';
import shipMap from '../_data/shipMap.json';
import { IBuildInfov2, IShipInfo } from '@/app/builds/_models';

export const groupandSortBuilds = (builds: IBuildInfov2[]) => {
const shipMapSorted: IShipInfo[] = genericSortArray(shipMap, { order: 'asc', orderBy: 'shipId' });
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import {
IShipCoreModules,
IShipHardpoints,
IShipInternalModules,
} from '@@/builds/models/coriolis';
} from '@/app/builds/_models/coriolis';

export const processJSONBuild = (
json: string
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { IBuildInfov2 } from '@@/builds/models';
import { IBuildInfov2 } from '@/app/builds/_models';
import axios from 'axios';
import useSWR from 'swr';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import Ships from '@@/builds/data/shipMap.json';
import { IShipInfo } from '@@/builds/models';
import Ships from '../_data/shipMap.json';
import { IShipInfo } from '@/app/builds/_models';

export const useShipMap = () => {
const ships: IShipInfo[] = Ships;
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { EDSpinner } from '@/components/_common/spinner';
import { ConfirmDialog } from '@/components/confirmDialog';
import { BuildDialog, BuildDialogProps } from '@@/builds/components/dialog/buildDialog';
import { getShipInfofromID } from '@@/builds/functions/getShipInfo';
import { useShipBuilds } from '@@/builds/hooks/useShipBuilds';
import { IBuildInfov2, IShipInfo } from '@@/builds/models';
import { BuildDialog, BuildDialogProps } from '@/app/builds/_components/dialog/buildDialog';
import { getShipInfofromID } from '@/app/builds/_functions/getShipInfo';
import { useShipBuilds } from '@/app/builds/_hooks/useShipBuilds';
import { IBuildInfov2, IShipInfo } from '@/app/builds/_models';
import { useSnackbar } from 'notistack';
import { createContext, ReactNode, useState } from 'react';

Expand All @@ -25,7 +25,7 @@ const findBuildandShipInfo: FindBuildandShipInfoFunc = (
const build = builds.find((x) => x._id === buildId);

if (build) {
return { build, shipInfo: getShipInfofromID(build.shipId) };
return { build, shipInfo: getShipInfofromID(build.shipId)! };
} else {
return null;
}
Expand Down Expand Up @@ -122,7 +122,7 @@ export const BuildContextProvider = ({
};

const wrapper: IBuildContext = {
builds: shipBuilds,
builds: shipBuilds ?? [],
areBuildsLoading: isLoading,
buildError: error,
addBuild: handleAddBuild,
Expand All @@ -139,7 +139,7 @@ export const BuildContextProvider = ({
<BuildContext.Provider value={wrapper}>
<>
{children}
<BuildDialog builds={shipBuilds} {...dialogProps} />
<BuildDialog builds={shipBuilds ?? []} {...dialogProps} />
<ConfirmDialog
title="Delete"
open={showDeleteDialog !== undefined}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { BuildDetail } from '@@/builds/components/builds/buildDetail';
import { IBuildInfov2 } from '@@/builds/models';
import { BuildDetail } from '../../_components/builds/buildDetail';
import { IBuildInfov2 } from '@/app/builds/_models';
import { GetStaticPaths, GetStaticProps, InferGetStaticPropsType } from 'next';
import Head from 'next/head';
import { getBuilds } from 'src/pages/api/builds.api';
Expand Down
16 changes: 16 additions & 0 deletions src/app/builds/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import { getBuilds } from '#/builds.api';
import { BuildSystem } from '@/app/builds/_components';
import Head from 'next/head';

export default async function BuildPage() {
const builds = await getBuilds();
return (
<>
<Head>
<title>USC Build Archive</title>
<meta name="description" content="Builds of the USC" />
</Head>
<BuildSystem init={builds} />
</>
);
}
2 changes: 1 addition & 1 deletion src/app/information/_hooks/useShipReviews.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { genericSortArray } from '@/functions/sort';
import reviews from '@@/builds/data/shipMap.json';
import reviews from '@/app/builds/_data/shipMap.json';
import { IShipReview } from '@@/information/models/shipReview';

export const useShipReviews = (): IShipReview[] => {
Expand Down
2 changes: 1 addition & 1 deletion src/app/information/_models/shipInfo.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ShipSize } from '@@/builds/models/shipSize';
import { ShipSize } from '@/app/builds/_models/shipSize';

export interface IShipInfo {
id: number;
Expand Down
10 changes: 5 additions & 5 deletions src/modules/admin/components/builds/buildDashboard.tsx
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { TitleBarwAdd } from '@/components/_common';
import { genericSortArray, Order } from '@/functions/sort';
import { EngIcons } from '@@/builds/components/engIcons';
import { TagGroup } from '@@/builds/components/tagGroup';
import { useShipMap } from '@@/builds/hooks/useShipMap';
import { IBuildInfov2, IShipInfo } from '@@/builds/models';
import { BuildContext, BuildContextProvider } from '@@/builds/providers/buildProvider';
import { EngIcons } from '@/app/builds/_components/engIcons';
import { TagGroup } from '@/app/builds/_components/tagGroup';
import { useShipMap } from '@/app/builds/_hooks/useShipMap';
import { IBuildInfov2, IShipInfo } from '@/app/builds/_models';
import { BuildContext, BuildContextProvider } from '@/app/builds/_providers/buildProvider';
import { Delete, Edit } from '@mui/icons-material';
import {
Box,
Expand Down
2 changes: 1 addition & 1 deletion src/pages/admin/builds.page.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { getBuilds } from '#/builds.api';
import { runAdminAuthCheck } from '@/utils/runAuthCheck';
import { BuildDashboard } from '@@/admin/components/builds/buildDashboard';
import { IBuildInfov2 } from '@@/builds/models';
import { IBuildInfov2 } from '@/app/builds/_models';
import { GetServerSideProps, InferGetServerSidePropsType } from 'next';
import Head from 'next/head';

Expand Down
2 changes: 1 addition & 1 deletion src/pages/api/builds.api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import {
} from '@/utils/db';
import { getIsHC } from '@/utils/get-isHC';
import { getUserId } from '@/utils/get-userId';
import { IBuildInfov2 } from '@@/builds/models';
import { IBuildInfov2 } from '@/app/builds/_models';
import { Filter, WithId } from 'mongodb';
import { NextApiRequest, NextApiResponse } from 'next';

Expand Down
25 changes: 0 additions & 25 deletions src/pages/builds/index.tsx

This file was deleted.

0 comments on commit f213b4d

Please sign in to comment.