Skip to content

Commit

Permalink
Merge pull request #283 from GDSC-PKNU-Official/refactor/#282
Browse files Browse the repository at this point in the history
Refactor/#282: 프로젝트 폴더 구조 개펀
  • Loading branch information
hwinkr authored Nov 17, 2023
2 parents dbdf111 + 82cd9c2 commit 4ac02d2
Show file tree
Hide file tree
Showing 51 changed files with 92 additions and 91 deletions.
12 changes: 6 additions & 6 deletions src/App.tsx
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
import BodyLayout from '@components/BodyLayout';
import FooterTab from '@components/FooterTab';
import Header from '@components/Header';
import Announcement from '@pages/Announcement';
import BodyLayout from '@pages/BodyLayout';
import Home from '@pages/Home';
import MajorDecision from '@pages/MajorDecision';
import Map from '@pages/Map';
import MapProvider from '@pages/Map/Provider';
import My from '@pages/My';
import Tip from '@pages/Tip';
import RouteChangeTracker from '@utils/routeChangeTracker';
import { Routes, Route, useLocation } from 'react-router-dom';
import { Routes, Route } from 'react-router-dom';

import { OverlayProvider } from './components/Providers';

const App = () => {
const location = useLocation();
RouteChangeTracker();

return (
<>
{location.pathname !== '/map' && <Header />}
<Header />
<Routes>
<Route element={<BodyLayout />}>
<Route path="/" element={<Home />} />
Expand All @@ -26,7 +26,7 @@ const App = () => {
<Route path="/my" element={<My />} />
<Route path="/tip" element={<Tip />} />
</Route>
<Route element={<MapProvider />}>
<Route element={<OverlayProvider />}>
<Route path="/map" element={<Map />} />
</Route>
</Routes>
Expand Down
File renamed without changes.
2 changes: 1 addition & 1 deletion src/components/Card/AnnounceCard/index.test.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import http from '@apis/http';
import MajorProvider from '@components/MajorProvider';
import MajorProvider from '@components/Providers/MajorProvider';
import { render, screen } from '@testing-library/react';
import userEvent from '@testing-library/user-event';
import { AnnounceItemList } from '@type/announcement';
Expand Down
6 changes: 3 additions & 3 deletions src/components/Card/InformCard/index.test.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import AlertModal from '@components/Modal/AlertModal';
import ModalsProvider from '@components/ModalsProvider';
import AlertModal from '@components/Common/Modal/AlertModal';
import ModalsProvider from '@components/Providers/ModalsProvider';
import { MODAL_MESSAGE } from '@constants/modal-messages';
import MajorContext from '@contexts/major';
import useModals from '@hooks/useModals';
Expand All @@ -9,8 +9,8 @@ import Major from '@type/major';
import { IconKind } from '@type/styles/icon';
import { act } from 'react-dom/test-utils';
import { MemoryRouter } from 'react-router-dom';

import '@testing-library/jest-dom';

import InformCard from './index';

type INFORM_CARD_TYPE = 'ANNOUNCEMENT' | 'GRADUATION';
Expand Down
3 changes: 1 addition & 2 deletions src/components/Card/InformCard/index.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import Icon from '@components/Icon';
import Icon from '@components/Common/Icon';
import { MODAL_BUTTON_MESSAGE, MODAL_MESSAGE } from '@constants/modal-messages';
import { css } from '@emotion/react';
import styled from '@emotion/styled';
import useMajor from '@hooks/useMajor';
import useModals, { modals } from '@hooks/useModals';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,6 @@ interface Props {
animation: boolean;
}

interface Circle {
isOn: boolean;
animation: boolean;
}

const ToggleButton = (props: Props) => {
const { isOn, changeState, animation } = props;

Expand All @@ -25,6 +20,11 @@ const ToggleButton = (props: Props) => {

export default ToggleButton;

// chore : Circle interface 위치 수정
interface Circle {
isOn: boolean;
animation: boolean;
}
const Button = styled.button<Circle>`
position: relative;
border: none;
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import Button from '@components/Button';
import Icon from '@components/Icon';
import Button from '@components/Common/Button';
import Icon from '@components/Common/Icon';
import { css } from '@emotion/react';
import { THEME } from '@styles/ThemeProvider/theme';
import { IconKind } from '@type/styles/icon';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import Button from '@components/Button';
import Button from '@components/Common/Button';
import { css } from '@emotion/react';
import { THEME } from '@styles/ThemeProvider/theme';
import React from 'react';
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import http from '@apis/http';
import Button from '@components/Button';
import Icon from '@components/Icon';
import Button from '@components/Common/Button';
import Icon from '@components/Common/Icon';
import { SERVER_URL } from '@config/index';
import { MODAL_BUTTON_MESSAGE, MODAL_MESSAGE } from '@constants/modal-messages';
import PLCACEHOLDER_MESSAGES from '@constants/placeholder-message';
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
6 changes: 3 additions & 3 deletions src/components/FooterTab/index.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import Icon from '@components/Icon';
import Icon from '@components/Common/Icon';
import styled from '@emotion/styled';
import useRouter from '@hooks/useRouter';
import { THEME } from '@styles/ThemeProvider/theme';

const footerTabs = [
const FOOTER_TABS = [
{ kind: 'map', label: '지도', path: '/map' },
{ kind: 'home', label: '홈', path: '/' },
{ kind: 'accountCircle', label: '마이', path: '/my' },
Expand All @@ -16,7 +16,7 @@ const FooterTab = () => {

return (
<Footer>
{footerTabs.map(({ kind, label, path }) => (
{FOOTER_TABS.map(({ kind, label, path }) => (
<TabButton
role="button"
key={kind}
Expand Down
7 changes: 6 additions & 1 deletion src/components/Header/index.tsx
Original file line number Diff line number Diff line change
@@ -1,14 +1,19 @@
import Icon from '@components/Icon';
import Icon from '@components/Common/Icon';
import SideBar from '@components/SideBar';
import SideBarContent from '@components/SideBar/Content';
import styled from '@emotion/styled';
import useRoter from '@hooks/useRouter';
import { THEME } from '@styles/ThemeProvider/theme';
import { useState } from 'react';
import { useLocation } from 'react-router-dom';

const Header = () => {
const { routerTo, goBack } = useRoter();
const [open, setOpen] = useState<boolean>(false);
const location = useLocation();

if (location.pathname === '/map') return <></>;

return (
<HeaderContainer>
<HeaderWrapper>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ import { css } from '@emotion/react';
import styled from '@emotion/styled';
import SkeletomItem from '@styles/Skeleton/SkeletonItem';

interface AnnounceCardSkeletonProps {
interface AnnounceListSkeletonProps {
length: number;
}

const AnnounceCardSkeleton = ({ length }: AnnounceCardSkeletonProps) => {
const AnnounceListSkeleton = ({ length }: AnnounceListSkeletonProps) => {
return (
<>
{Array.from({ length }, (_, idx) => (
Expand All @@ -28,7 +28,7 @@ const AnnounceCardSkeleton = ({ length }: AnnounceCardSkeletonProps) => {
);
};

export default AnnounceCardSkeleton;
export default AnnounceListSkeleton;

const Card = styled.div`
height: 28px;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { AnnounceItemList, AnnouncementType } from '@type/announcement';
import { AxiosError, AxiosResponse } from 'axios';
import { Fragment } from 'react';

import AnnounceCard from '..';
import AnnounceCard from '../../Card/AnnounceCard';

type Resource =
| AxiosResponse<AnnounceItemList>
Expand Down
6 changes: 1 addition & 5 deletions src/components/List/CollegeList/CollegeItem.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import Icon from '@components/Icon';
import Icon from '@components/Common/Icon';
import styled from '@emotion/styled';
import useRouter from '@hooks/useRouter';
import { THEME } from '@styles/ThemeProvider/theme';
Expand Down Expand Up @@ -54,8 +54,4 @@ const ListWrapper = styled.div`
transform: scale(0.95);
opacity: 0.6;
}
&: hover {
cursor: pointer;
}
`;
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ import SkeletomItem from '@styles/Skeleton/SkeletonItem';
import { THEME } from '@styles/ThemeProvider/theme';
import React from 'react';

interface CollegeSkeletonProps {
interface CollegeListSkeletonProps {
length: number;
}

const CollegeSkeleton = ({ length }: CollegeSkeletonProps) => {
const CollegeListSkeleton = ({ length }: CollegeListSkeletonProps) => {
return (
<>
{Array.from({ length }, (_, idx) => (
Expand All @@ -20,7 +20,7 @@ const CollegeSkeleton = ({ length }: CollegeSkeletonProps) => {
);
};

export default CollegeSkeleton;
export default CollegeListSkeleton;

const ListWrapper = styled.div`
display: flex;
Expand Down
2 changes: 1 addition & 1 deletion src/components/List/CollegeList/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { THEME } from '@styles/ThemeProvider/theme';
import React, { Suspense } from 'react';

import CollegeItem from './CollegeItem';
import CollegeSkeleton from '../Skeleton/college';
import CollegeSkeleton from './Skeleton';

const CollegeList = () => {
return (
Expand Down
8 changes: 2 additions & 6 deletions src/components/List/DepartmentList/DepartmentItem.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import http from '@apis/http';
import Button from '@components/Button';
import Icon from '@components/Icon';
import Button from '@components/Common/Button';
import Icon from '@components/Common/Icon';
import { SERVER_URL } from '@config/index';
import { MODAL_BUTTON_MESSAGE, MODAL_MESSAGE } from '@constants/modal-messages';
import { css } from '@emotion/react';
Expand Down Expand Up @@ -115,10 +115,6 @@ const ListWrapper = styled.div`
transform: scale(0.95);
opacity: 0.6;
}
&: hover {
cursor: pointer;
}
`;

const ButtonContainer = styled.div`
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
import Button from '@components/Button';
import Button from '@components/Common/Button';
import { css } from '@emotion/react';
import styled from '@emotion/styled';
import SkeletomItem from '@styles/Skeleton/SkeletonItem';
import { THEME } from '@styles/ThemeProvider/theme';
import React from 'react';

interface DepartmentSkeletonProps {
interface DepartmentListSkeletonProps {
length: number;
}

const DepartmentSkeleton = ({ length }: DepartmentSkeletonProps) => {
const DepartmentListSkeleton = ({ length }: DepartmentListSkeletonProps) => {
return (
<>
<div
Expand All @@ -31,7 +31,7 @@ const DepartmentSkeleton = ({ length }: DepartmentSkeletonProps) => {
);
};

export default DepartmentSkeleton;
export default DepartmentListSkeleton;

const ListWrapper = styled.div`
display: flex;
Expand Down
6 changes: 3 additions & 3 deletions src/components/List/DepartmentList/index.test.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import ConfirmModal from '@components/Common/Modal/ConfirmModal';
import DepartmentList from '@components/List/DepartmentList';
import MajorProvider from '@components/MajorProvider';
import ConfirmModal from '@components/Modal/ConfirmModal';
import ModalsProvider from '@components/ModalsProvider';
import MajorProvider from '@components/Providers/MajorProvider';
import ModalsProvider from '@components/Providers/ModalsProvider';
import { MODAL_MESSAGE } from '@constants/modal-messages';
import useMajor from '@hooks/useMajor';
import useModals from '@hooks/useModals';
Expand Down
2 changes: 1 addition & 1 deletion src/components/List/DepartmentList/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import React, { Suspense } from 'react';
import { useParams } from 'react-router-dom';

import DepartmentItem from './DepartmentItem';
import DepartmentSkeleton from '../Skeleton/department';
import DepartmentSkeleton from './Skeleton';

const DepartmentList = () => {
const { college } = useParams();
Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ import useUserLocation from '@hooks/useUserLocation';
import React from 'react';
import { Outlet } from 'react-router-dom';

import { CustomOverlay } from '../handlers';
import CustomOverlay from './overlay';

const MapProvider = () => {
const OverlayProvider = () => {
const { openModal, closeModal } = useModals();
const userLocation = useUserLocation();
const customOverlay = new CustomOverlay(openModal, closeModal, userLocation);
Expand All @@ -18,4 +18,4 @@ const MapProvider = () => {
);
};

export default MapProvider;
export default OverlayProvider;
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ interface ToastProviderProps {
children: React.ReactNode;
}

const ToastProvider = ({ children }: ToastProviderProps) => {
const ToastsProvider = ({ children }: ToastProviderProps) => {
const [toasts, setToasts] = useState<ToastState[]>([]);

return (
Expand All @@ -18,4 +18,4 @@ const ToastProvider = ({ children }: ToastProviderProps) => {
);
};

export default ToastProvider;
export default ToastsProvider;
4 changes: 4 additions & 0 deletions src/components/Providers/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
export { default as MajorProvider } from './MajorProvider/index';
export { default as ModalsProvider } from './ModalsProvider/index';
export { default as ToastsProvider } from './ToastsProvider/index';
export { default as OverlayProvider } from './OverlayProvider/index';
2 changes: 1 addition & 1 deletion src/components/SideBar/Content/index.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import Icon from '@components/Icon';
import Icon from '@components/Common/Icon';
import SIDEBAR_CONTENT from '@constants/sidebar';
import styled from '@emotion/styled';
import useRouter from '@hooks/useRouter';
Expand Down
4 changes: 2 additions & 2 deletions src/components/SideBar/index.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import Icon from '@components/Icon';
import Image from '@components/Image';
import Icon from '@components/Common/Icon';
import Image from '@components/Common/Image';
import ASSET_PATH from '@constants/assets-path';
import { css, keyframes } from '@emotion/react';
import styled from '@emotion/styled';
Expand Down
Empty file removed src/contexts/.gitkeep
Empty file.
6 changes: 3 additions & 3 deletions src/hooks/useModals.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import AlertModal from '@components/Modal/AlertModal';
import ConfirmModal from '@components/Modal/ConfirmModal';
import SuggestionModal from '@components/Modal/SuggestionModal';
import AlertModal from '@components/Common/Modal/AlertModal';
import ConfirmModal from '@components/Common/Modal/ConfirmModal';
import SuggestionModal from '@components/Common/Modal/SuggestionModal';
import ModalsContext from '@contexts/modals';
import {
ComponentProps,
Expand Down
16 changes: 9 additions & 7 deletions src/main.tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
import MajorProvider from '@components/MajorProvider';
import Modals from '@components/Modal/Modals';
import ModalsProvider from '@components/ModalsProvider';
import ToastProvider from '@components/Provider/Toast';
import Toasts from '@components/Toast/Toasts';
import Modals from '@components/Common/Modal/Modals';
import Toasts from '@components/Common/Toast/Toasts';
import {
MajorProvider,
ModalsProvider,
ToastsProvider,
} from '@components/Providers';
import ThemeProvider from '@styles/ThemeProvider';
import React from 'react';
import ReactDOM from 'react-dom/client';
Expand All @@ -29,11 +31,11 @@ ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render(
<ThemeProvider>
<MajorProvider>
<ModalsProvider>
<ToastProvider>
<ToastsProvider>
<Modals />
<Toasts />
<App />
</ToastProvider>
</ToastsProvider>
</ModalsProvider>
</MajorProvider>
</ThemeProvider>
Expand Down
Loading

0 comments on commit 4ac02d2

Please sign in to comment.