diff --git a/src/App.jsx b/src/App.jsx index e23a783..8a3406a 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -55,6 +55,9 @@ const store = createStore( writeReviews: writeReviewsReducer, planner: plannerReducer, }), + process.env.NODE_ENV === 'development' + ? window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__() + : null, ); class App extends Component { diff --git a/src/shapes/model/planner/arbitraryPlannerItem.tsx b/src/shapes/model/planner/arbitraryPlannerItem.tsx new file mode 100644 index 0000000..efa3c9c --- /dev/null +++ b/src/shapes/model/planner/arbitraryPlannerItem.tsx @@ -0,0 +1,14 @@ +import department from '../subject/department'; + +export default interface arbitraryPlannerItem { + id: number; + item_type: 'ARBITRARY'; + is_excluded: boolean; + year: number; + semester: 1 | 2 | 3 | 4; + department?: department; + type: string; + type_en: string; + credit: number; + credit_au: number; +} diff --git a/src/shapes/model/planner/futurePlannerItem.tsx b/src/shapes/model/planner/futurePlannerItem.tsx new file mode 100644 index 0000000..4bb15a7 --- /dev/null +++ b/src/shapes/model/planner/futurePlannerItem.tsx @@ -0,0 +1,10 @@ +import course from '../subject/course'; + +export default interface futurePlannerItem { + id: number; + item_type: 'FUTURE'; + is_excluded: boolean; + year: number; + semester: 1 | 2 | 3 | 4; + course: course; +} diff --git a/src/shapes/model/planner/planner.tsx b/src/shapes/model/planner/planner.tsx new file mode 100644 index 0000000..7a69467 --- /dev/null +++ b/src/shapes/model/planner/planner.tsx @@ -0,0 +1,19 @@ +import takenPlannerItem from './takenPlannerItem'; +import futurePlannerItem from './futurePlannerItem'; +import arbitraryPlannerItem from './arbitraryPlannerItem'; +import generalTrack from '../graduation/generalTrack'; +import majorTrack from '../graduation/majorTrack'; +import additionalTrack from '../graduation/additionalTrack'; + +export default interface planner { + id: number; + start_year: number; + end_year: number; + general_track: generalTrack; + major_track: majorTrack; + additional_tracks: additionalTrack[]; + taken_items: takenPlannerItem[]; + future_items: futurePlannerItem[]; + arbitrary_items: arbitraryPlannerItem[]; + arrange_order: number; +} diff --git a/src/shapes/model/planner/takenPlannerItem.tsx b/src/shapes/model/planner/takenPlannerItem.tsx new file mode 100644 index 0000000..930f46a --- /dev/null +++ b/src/shapes/model/planner/takenPlannerItem.tsx @@ -0,0 +1,10 @@ +import course from '../subject/course'; +import lecture from '../subject/lecture'; + +export default interface takenPlannerItem { + id: number; + item_type: 'TAKEN'; + is_excluded: boolean; + lecture: lecture; + course: course; +}