-
+
Развитие креативного мышления
-
-
сочная и живая акварельная живопись
+
diff --git a/project/templates/lilcity/index.html b/project/templates/lilcity/index.html
index 89b21c88..3e5e5a94 100644
--- a/project/templates/lilcity/index.html
+++ b/project/templates/lilcity/index.html
@@ -30,7 +30,7 @@
{% comment %}
{% endcomment %}
-
+
diff --git a/web/src/img/art01.png b/web/src/img/art01.png
new file mode 100644
index 00000000..6aea69d5
Binary files /dev/null and b/web/src/img/art01.png differ
diff --git a/web/src/img/art02.png b/web/src/img/art02.png
new file mode 100644
index 00000000..0ef2f91b
Binary files /dev/null and b/web/src/img/art02.png differ
diff --git a/web/src/img/art03.png b/web/src/img/art03.png
new file mode 100644
index 00000000..f41cb6a0
Binary files /dev/null and b/web/src/img/art03.png differ
diff --git a/web/src/img/art04.png b/web/src/img/art04.png
new file mode 100644
index 00000000..9d971935
Binary files /dev/null and b/web/src/img/art04.png differ
diff --git a/web/src/img/art05.png b/web/src/img/art05.png
new file mode 100644
index 00000000..11bec4b2
Binary files /dev/null and b/web/src/img/art05.png differ
diff --git a/web/src/img/art06.png b/web/src/img/art06.png
new file mode 100644
index 00000000..373a1397
Binary files /dev/null and b/web/src/img/art06.png differ
diff --git a/web/src/img/art1.png b/web/src/img/art1.png
deleted file mode 100644
index 5010916d..00000000
Binary files a/web/src/img/art1.png and /dev/null differ
diff --git a/web/src/img/art2.png b/web/src/img/art2.png
deleted file mode 100644
index 05806a72..00000000
Binary files a/web/src/img/art2.png and /dev/null differ
diff --git a/web/src/img/art3.png b/web/src/img/art3.png
deleted file mode 100644
index 24448b9d..00000000
Binary files a/web/src/img/art3.png and /dev/null differ
diff --git a/web/src/img/art4.png b/web/src/img/art4.png
deleted file mode 100644
index f2cd1386..00000000
Binary files a/web/src/img/art4.png and /dev/null differ
diff --git a/web/src/img/art5.png b/web/src/img/art5.png
deleted file mode 100644
index 92bc16c9..00000000
Binary files a/web/src/img/art5.png and /dev/null differ
diff --git a/web/src/js/modules/api.js b/web/src/js/modules/api.js
index 112ea9b7..59c98939 100644
--- a/web/src/js/modules/api.js
+++ b/web/src/js/modules/api.js
@@ -1,19 +1,51 @@
import axios from 'axios';
import moment from 'moment';
+import {showNotification} from "../../js/modules/notification";
axios.defaults.headers.post['Content-Type'] = 'application/json';
axios.defaults.headers.post['Accept'] = 'application/json';
export const api = {
+ get: (url, params) => {
+ let request = axios.get(url, params);
+ request.catch(api.errorHandler);
+ return request;
+ },
+ post: (url, data, params) => {
+ let request = axios.post(url, data, params);
+ request.catch(api.errorHandler);
+ return request;
+ },
+ put: (url, data, params) => {
+ let request = axios.put(url, data, params);
+ request.catch(api.errorHandler);
+ return request;
+ },
+ patch: (url, data, params) => {
+ let request = axios.patch(url, data, params);
+ request.catch(api.errorHandler);
+ return request;
+ },
+ delete: (url, params) => {
+ let request = axios.delete(url, params);
+ request.catch(api.errorHandler);
+ return request;
+ },
+ errorHandler: (error) => {
+ console.log('всё очень плохо', error, error.response);
+ if(error.response.status >= 500) {
+ showNotification("error", "Ошибка сервера "+error.toString());
+ }
+ },
getCurrentUser: (accessToken) => {
- return axios.get('/api/v1/users/me/', {
+ return api.get('/api/v1/users/me/', {
headers: {
'Authorization': `Token ${accessToken}`,
}
});
},
getUsers: (params, accessToken) => {
- return axios.get('/api/v1/users/', {
+ return api.get('/api/v1/users/', {
params: params,
headers: {
'Authorization': `Token ${accessToken}`,
@@ -21,14 +53,14 @@ export const api = {
});
},
getCategories: (accessToken) => {
- return axios.get('/api/v1/categories/', {
+ return api.get('/api/v1/categories/', {
headers: {
'Authorization': `Token ${accessToken}`,
}
});
},
uploadImage: (imageData, accessToken) => {
- return axios.post('/api/v1/image-objects/', {
+ return api.post('/api/v1/image-objects/', {
image: imageData,
}, {
headers: {
@@ -37,21 +69,21 @@ export const api = {
});
},
removeImage: (imageId, accessToken) => {
- return axios.delete(`/api/v1/image-objects/${imageId}/`, {
+ return api.delete(`/api/v1/image-objects/${imageId}/`, {
headers: {
'Authorization': `Token ${accessToken}`,
}
});
},
loadCourse: (courseId, accessToken) => {
- return axios.get(`/api/v1/courses/${courseId}/`, {
+ return api.get(`/api/v1/courses/${courseId}/`, {
headers: {
'Authorization': `Token ${accessToken}`,
}
});
},
loadLive: (courseId, accessToken) => {
- return axios.get(`/api/v1/live-lesson/${courseId}/`, {
+ return api.get(`/api/v1/live-lesson/${courseId}/`, {
headers: {
'Authorization': `Token ${accessToken}`,
}
@@ -360,56 +392,56 @@ export const api = {
});
},
addCourse: (courseJson, accessToken) => {
- return axios.post('/api/v1/courses/', courseJson, {
+ return api.post('/api/v1/courses/', courseJson, {
headers: {
'Authorization': `Token ${accessToken}`,
}
});
},
updateCourse: (courseId, courseJson, accessToken) => {
- return axios.put(`/api/v1/courses/${courseId}/`, courseJson, {
+ return api.put(`/api/v1/courses/${courseId}/`, courseJson, {
headers: {
'Authorization': `Token ${accessToken}`,
}
});
},
addLive: (courseJson, accessToken) => {
- return axios.post('/api/v1/live-lesson/', courseJson, {
+ return api.post('/api/v1/live-lesson/', courseJson, {
headers: {
'Authorization': `Token ${accessToken}`,
}
});
},
updateLive: (courseId, courseJson, accessToken) => {
- return axios.put(`/api/v1/live-lesson/${courseId}/`, courseJson, {
+ return api.put(`/api/v1/live-lesson/${courseId}/`, courseJson, {
headers: {
'Authorization': `Token ${accessToken}`,
}
});
},
getCourseLessons: (courseId, accessToken) => {
- return axios.get(`/api/v1/lessons/?course=${courseId}`, {
+ return api.get(`/api/v1/lessons/?course=${courseId}`, {
headers: {
'Authorization': `Token ${accessToken}`,
}
});
},
removeCourseLesson: (lessonId, accessToken) => {
- return axios.delete(`/api/v1/lessons/${lessonId}/`, {
+ return api.delete(`/api/v1/lessons/${lessonId}/`, {
headers: {
'Authorization': `Token ${accessToken}`,
}
});
},
addLesson: (lessonJson, accessToken) => {
- return axios.post('/api/v1/lessons/', lessonJson, {
+ return api.post('/api/v1/lessons/', lessonJson, {
headers: {
'Authorization': `Token ${accessToken}`,
}
});
},
updateLesson: (lessonId, lessonJson, accessToken) => {
- return axios.put(`/api/v1/lessons/${lessonId}/`, lessonJson, {
+ return api.put(`/api/v1/lessons/${lessonId}/`, lessonJson, {
headers: {
'Authorization': `Token ${accessToken}`,
}
@@ -437,28 +469,28 @@ export const api = {
if (!removeUrl) {
return;
}
- return axios.delete(removeUrl, {
+ return api.delete(removeUrl, {
headers: {
'Authorization': `Token ${accessToken}`,
}
});
},
getCourseDraft: (accessToken) => {
- return axios.get('/api/v1/courses/draft/', {
+ return api.get('/api/v1/courses/draft/', {
headers: {
'Authorization': `Token ${accessToken}`,
}
});
},
publishCourse: (courseId, accessToken) => {
- return axios.patch(`/api/v1/courses/${courseId}/`, {status: 1}, {
+ return api.patch(`/api/v1/courses/${courseId}/`, {status: 1}, {
headers: {
'Authorization': `Token ${accessToken}`,
}
});
},
getSchedule: (accessToken, params) => {
- return axios.get('/api/v1/school-schedules/', {
+ return api.get('/api/v1/school-schedules/', {
params: params,
headers: {
'Authorization': `Token ${accessToken}`,
diff --git a/web/src/sass/_common.sass b/web/src/sass/_common.sass
index f6c2dc66..d9ee2862 100755
--- a/web/src/sass/_common.sass
+++ b/web/src/sass/_common.sass
@@ -920,7 +920,7 @@ a[name]
&_confirm
padding: 30px 0 50px
&_school
- padding: 85px 0 95px
+ padding: 85px 0 20px
+t
padding: 65px 0 55px
+m
@@ -933,7 +933,7 @@ a[name]
+m
padding: 45px 0
&_arts
- padding: 95px 0 70px
+ padding: 70px 0 70px
+t
padding: 80px 0 70px
+m
@@ -3648,18 +3648,26 @@ a.grey-link
margin-bottom: -24px
&__col
padding: 0 12px
- flex: 0 0 20%
+ flex: 0 0 16%
+t
- flex: 0 0 33.33%
+ flex: 0 0 28%
+ margin-bottom: 15px
+m
margin-bottom: 24px
flex: 0 0 50%
+ &:hover
+ .arts__title
+ display: none
+ .arts__item:before
+ background: rgba(255,255,255,0)
+ transition: all .1s ease-out 0.1s
&__item
position: relative
border-radius: 50%
background-position: 50% 50%
background-size: cover
&:before
+ background: rgba(255,255,255,0.8)
content: ''
display: block
padding-bottom: 100%