+
this.changeTab(CourseListCode.SEARCH)}>
- {t('ui.tab.searchShort')}
+ {t('ui.tab.searchShort')}
this.changeTab(CourseListCode.BASIC)}>
- {t('ui.tab.basicShort')}
+ {t('ui.tab.basicShort')}
{!user
? null
: user.departments.map((d) => (
this.changeTab(d.code)}>
- {t('ui.tab.majorShort')}
+ {t('ui.tab.majorShort')}
))}
this.changeTab(CourseListCode.HUMANITY)}>
- {t('ui.tab.humanityShort')}
+ {t('ui.tab.humanityShort')}
this.changeTab(CourseListCode.TAKEN)}>
- {t('ui.tab.takenShort')}
+ {t('ui.tab.takenShort')}
diff --git a/src/components/sections/dictionary/courselist/CourseListTabs.module.scss b/src/components/sections/dictionary/courselist/CourseListTabs.module.scss
new file mode 100644
index 0000000..2ca19d7
--- /dev/null
+++ b/src/components/sections/dictionary/courselist/CourseListTabs.module.scss
@@ -0,0 +1,72 @@
+@use '@/sass/abstracts/color' as color;
+@use '@/sass/abstracts/font' as font;
+@use '@/sass/abstracts/mixins' as *;
+@use '@/sass/abstracts/variables' as *;
+
+.wrapper {
+ grid-area: course-list-tabs;
+
+ overflow: hidden;
+
+ font-size: font.$size-small;
+ line-height: font.$line-height-small;
+ color: color.$text-light;
+}
+
+.list {
+ @include mixin-media-portrait {
+ display: flex;
+ flex-direction: row;
+ }
+}
+
+.tab {
+ display: inline-block;
+
+ padding: $tab-padding;
+
+ background-color: color.$tab-background-dark;
+
+ text-align: center;
+ white-space: nowrap;
+
+ &[aria-selected='true'] {
+ background-color: color.$tab-background;
+
+ color: color.$text-normal;
+ }
+ &[aria-selected='false']:hover {
+ background-color: color.$tab-background-darker;
+ cursor: pointer;
+ }
+
+ @include mixin-media-landscape {
+ margin-bottom: $tab-margin;
+ margin-left: auto;
+ border-radius: $tab-border-radius 0 0 $tab-border-radius;
+
+ line-height: 0;
+
+ touch-action: pinch-zoom;
+ }
+ @include mixin-media-portrait {
+ flex: 1 1 0;
+
+ margin-right: $tab-margin;
+ border-radius: $tab-border-radius $tab-border-radius 0 0;
+
+ touch-action: pan-x pinch-zoom;
+
+ &:last-child {
+ margin-right: 0;
+ }
+ }
+}
+
+.title {
+ margin-left: 6px;
+
+ @include mixin-media-landscape {
+ display: none;
+ }
+}
diff --git a/src/components/sections/planner/courselist/CourseListTabs.jsx b/src/components/sections/planner/courselist/CourseListTabs.jsx
index 4f7a589..3064a79 100644
--- a/src/components/sections/planner/courselist/CourseListTabs.jsx
+++ b/src/components/sections/planner/courselist/CourseListTabs.jsx
@@ -17,6 +17,9 @@ import courseListsShape from '../../../../shapes/state/dictionary/CourseListsSha
import Scroller from '../../../Scroller';
+// FIXME: It uses the dictionary style as the structure is the same.
+import styles from '../../dictionary/courselist/CourseListTabs.module.scss';
+
class CourseListTabs extends Component {
componentDidUpdate(prevProps, prevState, snapshot) {
const { user, selectedListCode } = this.props;
@@ -176,58 +179,48 @@ class CourseListTabs extends Component {
const { user, selectedListCode } = this.props;
return (
-
+
-
+
this.changeTab(CourseListCode.SEARCH)}>
- {t('ui.tab.searchShort')}
+ {t('ui.tab.searchShort')}
this.changeTab(CourseListCode.BASIC)}>
- {t('ui.tab.basicShort')}
+ {t('ui.tab.basicShort')}
{!user
? null
: user.departments.map((d) => (
this.changeTab(d.code)}>
- {t('ui.tab.majorShort')}
+ {t('ui.tab.majorShort')}
))}
this.changeTab(CourseListCode.HUMANITY)}>
- {t('ui.tab.humanityShort')}
+ {t('ui.tab.humanityShort')}
this.changeTab(CourseListCode.TAKEN)}>
- {t('ui.tab.takenShort')}
+ {t('ui.tab.takenShort')}
{/* 장바구니로 바꾸기 */}
diff --git a/src/sass/App.module.scss b/src/sass/App.module.scss
index 754a1d8..c178dd2 100644
--- a/src/sass/App.module.scss
+++ b/src/sass/App.module.scss
@@ -332,7 +332,6 @@ a {
}
}
- &--course-list,
&--lecture-list {
& .tabs__flexbox {
@include mixin-media-portrait {
@@ -371,10 +370,6 @@ a {
grid-area: lecture-list-tabs;
}
- &--course-list {
- grid-area: course-list-tabs;
- }
-
&--timetable {
grid-area: timetable-tabs;