diff --git a/package-lock.json b/package-lock.json
index a04d998..9260654 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -8,6 +8,7 @@
"name": "urban-couscous",
"version": "0.1.0",
"dependencies": {
+ "moment": "^2.29.4",
"vue": "^3.2.13",
"vue-router": "^4.1.5",
"vuex": "^4.0.2"
@@ -9154,6 +9155,14 @@
"integrity": "sha512-A/78XjoX2EmNvppVWEhM2oGk3x4lLxnkEA4jTbaK97QKSDjkIoOsKQlfylt/d3kKKi596Qy3NP5XrXJ6fZIC9Q==",
"dev": true
},
+ "node_modules/moment": {
+ "version": "2.29.4",
+ "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz",
+ "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==",
+ "engines": {
+ "node": "*"
+ }
+ },
"node_modules/mrmime": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz",
@@ -20965,6 +20974,11 @@
"integrity": "sha512-A/78XjoX2EmNvppVWEhM2oGk3x4lLxnkEA4jTbaK97QKSDjkIoOsKQlfylt/d3kKKi596Qy3NP5XrXJ6fZIC9Q==",
"dev": true
},
+ "moment": {
+ "version": "2.29.4",
+ "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz",
+ "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w=="
+ },
"mrmime": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz",
diff --git a/package.json b/package.json
index c9c4291..14c9cb5 100644
--- a/package.json
+++ b/package.json
@@ -8,6 +8,7 @@
"lint": "vue-cli-service lint"
},
"dependencies": {
+ "moment": "^2.29.4",
"vue": "^3.2.13",
"vue-router": "^4.1.5",
"vuex": "^4.0.2"
diff --git a/src/assets/css/iconfonts.css b/src/assets/css/iconfonts.css
index 7645504..08d3431 100644
--- a/src/assets/css/iconfonts.css
+++ b/src/assets/css/iconfonts.css
@@ -13,7 +13,6 @@
[class^="icon-"]::before, [class*=" icon-"]::before {
/* use !important to prevent issues with browser extensions that change fonts */
font-family: 'icomoon' !important;
- speak: never;
font-style: normal;
font-weight: normal;
font-variant: normal;
diff --git a/src/assets/sass/variables.sass b/src/assets/sass/variables.sass
index a2f56a6..8af2d15 100644
--- a/src/assets/sass/variables.sass
+++ b/src/assets/sass/variables.sass
@@ -1,10 +1,11 @@
\:root
- --bg-lavender-color: #E9E9F6
- --bg-white-color: #F8F8FF
- --bg-ligth-blue-color: #E6EAFC
+ --bg-lavender-color: #e9e9f6
+ --bg-white-color: #f8f8ff
+ --bg-ligth-blue-color: #e6eafc
--font-dark-blue-color: #252850
- --font-black-color: #090A15
- --btn-blue-color: #4772F2
- --font-grey-color: #9294A7
- --border-light-grey-color: #9294A7
+ --font-black-color: #090a15
+ --btn-blue-color: #4772f2
+ --btn-light-blue-color: #c6d2f6
+ --font-grey-color: #9294a7
+ --border-light-grey-color: #d3d4dc
--default-shadow: 4px 4px 8px rgba(9, 10, 21, 0.1), -4px -4px 8px rgba(9, 10, 21, 0.1)
diff --git a/src/components/base/buttons/BaseArrowButton.vue b/src/components/base/buttons/BaseArrowButton.vue
new file mode 100644
index 0000000..20da299
--- /dev/null
+++ b/src/components/base/buttons/BaseArrowButton.vue
@@ -0,0 +1,24 @@
+
+ button.arrow-button.flex.items-center.icon-down-arrow.px-2.pt-px
+
+
+
+
+
diff --git a/src/main.js b/src/main.js
index 2e8202b..63b247d 100644
--- a/src/main.js
+++ b/src/main.js
@@ -1,9 +1,10 @@
import { createApp } from "vue";
import App from "./App.vue";
import router from "./router";
+import moment from "moment";
import "./assets/sass/fonts.sass";
import "./assets/sass/tailwind.sass";
import "./assets/sass/variables.sass";
import "./assets/css/iconfonts.css";
-createApp(App).use(router).mount("#app");
+createApp(App).use(router, moment).mount("#app");
diff --git a/src/pages/calendar/TheCalendar.vue b/src/pages/calendar/TheCalendar.vue
index 99ae760..de38912 100644
--- a/src/pages/calendar/TheCalendar.vue
+++ b/src/pages/calendar/TheCalendar.vue
@@ -1,8 +1,29 @@
+ calendar-header(
+ :currentDay="currentDate"
+ @previous-date="switchPreviousDate"
+ @next-date="switchNextDate")
diff --git a/src/pages/calendar/components/CalendarHeader.vue b/src/pages/calendar/components/CalendarHeader.vue
new file mode 100644
index 0000000..96f7d25
--- /dev/null
+++ b/src/pages/calendar/components/CalendarHeader.vue
@@ -0,0 +1,78 @@
+
+ .calendar-header-wrapper.flex.items-center.justify-between.ml-2.py-3.pl-5.pr-6
+ .flex
+ base-arrow-button.left-arrow.mr-4(@click="previousHandler")
+ base-arrow-button.right-arrow.mr-6(@click="nextHandler")
+ .text.flex.items-center
+ span.font-medium.text-base {{ dateString }}
+ span.today.font-bold.text-xxs(v-if="isToday") Сегодня
+ calendar-layout-switch(@selected="changeSelectedLayout")
+
+
+
+
+
diff --git a/src/pages/calendar/components/CalendarLayoutSwitch.vue b/src/pages/calendar/components/CalendarLayoutSwitch.vue
new file mode 100644
index 0000000..196a6f5
--- /dev/null
+++ b/src/pages/calendar/components/CalendarLayoutSwitch.vue
@@ -0,0 +1,47 @@
+
+ .layout-switch-wrapper.inline-block
+ button#day.py-2.px-3(:class="dayLayoutState" @click="changeSelectedLayout") День
+ button#week.py-2.px-3(:class="weekLayoutState" @click="changeSelectedLayout") Неделя
+
+
+
+
+