From b8431abeebf55d19103ff9aacedf6263a3d9fe2a Mon Sep 17 00:00:00 2001 From: muerwre Date: Thu, 6 Dec 2018 13:19:22 +0700 Subject: [PATCH] (bugfixes) --- backend/routes/auth/social/vk.js | 8 +- src/components/dialogs/StickersDialog.jsx | 29 +- src/components/panels/UserPanel.jsx | 7 +- src/components/user/UserButton.jsx | 4 +- src/constants/stickers.js | 51 +- src/redux/user/actions.js | 3 + src/redux/user/constants.js | 2 + src/redux/user/sagas.js | 12 +- src/sprites/stickers/stickers-base.svg | 2131 +++++++++++---------- src/styles/colors.less | 2 +- src/styles/map.less | 4 + src/styles/stickers.less | 30 +- src/utils/renderer.js | 2 +- 13 files changed, 1228 insertions(+), 1057 deletions(-) diff --git a/backend/routes/auth/social/vk.js b/backend/routes/auth/social/vk.js index faad87b..2a518ba 100644 --- a/backend/routes/auth/social/vk.js +++ b/backend/routes/auth/social/vk.js @@ -19,9 +19,7 @@ const fetchUserData = async (req, res) => { redirect_uri: `${proto}://${host}/auth/social/vk`, } } - ).catch(err => { - console.log('[SOCIAL] error:', err); - + ).catch(() => { return res.render('social/vk_error', { title: STRINGS.OAUTH.ERROR_TITLE, heading: STRINGS.OAUTH.ERROR_HEADING, @@ -40,9 +38,7 @@ const fetchUserData = async (req, res) => { access_token, } } - ).catch(err => { - console.log('[SOCIAL] error:', err); - + ).catch(() => { return res.render('social/vk_error', { title: STRINGS.OAUTH.ERROR_TITLE, heading: STRINGS.OAUTH.ERROR_HEADING, diff --git a/src/components/dialogs/StickersDialog.jsx b/src/components/dialogs/StickersDialog.jsx index 5f4af87..792a56d 100644 --- a/src/components/dialogs/StickersDialog.jsx +++ b/src/components/dialogs/StickersDialog.jsx @@ -11,17 +11,24 @@ export const StickersDialog = ({ setActiveSticker }: Props) => (
{ Object.keys(STICKERS).map(set => ( - Object.keys(STICKERS[set].layers).map(sticker => ( -
setActiveSticker({ set, sticker })} - /> - )) +
+
{STICKERS[set].title || null}
+
+ { + Object.keys(STICKERS[set].layers).map(sticker => ( +
setActiveSticker({ set, sticker })} + /> + )) + } +
+
)) }
diff --git a/src/components/panels/UserPanel.jsx b/src/components/panels/UserPanel.jsx index 538f778..6b449a7 100644 --- a/src/components/panels/UserPanel.jsx +++ b/src/components/panels/UserPanel.jsx @@ -4,7 +4,7 @@ import { GuestButton } from '$components/user/GuestButton'; import { DEFAULT_USER, ROLES } from '$constants/auth'; import { UserButton } from '$components/user/UserButton'; import { UserMenu } from '$components/user/UserMenu'; -import { setUser, userLogout, takeAShot, setDialog } from '$redux/user/actions'; +import { setUser, userLogout, takeAShot, setDialog, gotVkUser } from '$redux/user/actions'; import { bindActionCreators } from 'redux'; import { connect } from 'react-redux'; import type { UserType } from '$constants/types'; @@ -19,7 +19,7 @@ type Props = { userLogout: Function, setUser: Function, setDialog: Function, - dialog: String, + gotVkUser: Function, }; export class Component extends React.PureComponent { @@ -51,7 +51,7 @@ export class Component extends React.PureComponent { }; this.setState({ menuOpened: false }); - this.props.setUser(user); + this.props.gotVkUser(user); }); } @@ -119,6 +119,7 @@ const mapDispatchToProps = dispatch => bindActionCreators({ userLogout, takeAShot, setDialog, + gotVkUser, }, dispatch); export const UserPanel = connect(mapStateToProps, mapDispatchToProps)(Component); diff --git a/src/components/user/UserButton.jsx b/src/components/user/UserButton.jsx index eddd353..db515eb 100644 --- a/src/components/user/UserButton.jsx +++ b/src/components/user/UserButton.jsx @@ -14,7 +14,9 @@ export const UserButton = ({ setMenuOpened, user: { id, - userdata: { name, photo } + // userdata: { name, photo }, + photo, + name, } }: Props) => (
diff --git a/src/constants/stickers.js b/src/constants/stickers.js index cbf429c..31e87a5 100644 --- a/src/constants/stickers.js +++ b/src/constants/stickers.js @@ -14,32 +14,49 @@ export const STICKERS = { ikea: { off: 7, title: 'Икея', title_long: 'Парковка ТЦ Мега' }, bugr: { off: 8, title: 'Бугринка', title_long: 'Та самая коса\n(культовое место Усталых Педалек)' }, monum: { off: 10, title: 'ГПНТБ', title_long: 'ГПНТБ' }, - opera: { off: 18, title: 'Оперный', title_long: 'Оперный театр' }, + opera: { off: 11, title: 'Оперный', title_long: 'Оперный театр' }, forest: { off: 1, title: 'Лес', title_long: 'Берёзовая роща' }, road: { off: 2, title: 'Трасса', title_long: 'Дорога' }, - empty1: { off: 19, title: 'Пусто', title_long: 'Пока что пусто 1' }, - empty2: { off: 19, title: 'Пусто', title_long: 'Пока что пусто 2' }, - chicken: { off: 3, title: 'Курочка', title_long: 'Курочка' }, + chicken1: { off: 3, title: 'Курочка', title_long: 'Курочка' }, camp: { off: 6, title: 'Палатка', title_long: 'Палаточный лагерь' }, - burger: { off: 11, title: 'Фастфуд', title_long: 'Двухколёсное ожирение' }, - beer: { off: 12, title: 'Пивко', title_long: 'В Питере - пить!' }, - shawarma: { off: 13, title: 'Шаварма', title_long: 'Вкусная шаурма' }, rocks: { off: 14, title: 'Камни', title_long: 'Кааааммммуушшшки' }, - swamp: { off: 15, title: 'Болото', title_long: 'Пошла ты,\nтрясина грёбаная!' }, - skull: { off: 16, title: 'Роджер', title_long: 'Может не надо?' }, - dump: { off: 17, title: 'Какашка', title_long: 'Нехорошее место' }, - empty3: { off: 19, title: 'Пусто', title_long: 'Пока что пусто 1' }, - empty4: { off: 19, title: 'Пусто', title_long: 'Пока что пусто 2' }, - start: { off: 21, title: 'Старт', title_long: 'Старт здесь' }, + crap: { off: 15, title: 'Щет', title_long: 'Полный щет' }, + pancake: { off: 13, title: 'Блинцы', title_long: 'Блинчики' }, + fastfood: { off: 16, title: 'Фастфуд', title_long: 'Быстрая еда' }, + beer: { off: 12, title: 'Пивко', title_long: 'Пивко' }, + } + }, + real: { + title: 'Реалистичные', + url: require('$sprites/stickers/stickers-base.svg'), + size: 72, + layers: { + chicken: { off: 31, title: 'Курочка', title_long: 'Курочка' }, + rocks: { off: 32, title: 'Камни', title_long: 'Кааааммммуушшшки' }, + shawarma: { off: 33, title: 'Шаварма', title_long: 'Вкусная шаурма' }, + dump: { off: 34, title: 'Какашка', title_long: 'Нехорошее место' }, + fastfood: { off: 35, title: 'Фастфуд', title_long: 'Быстрая еда' }, + swamp: { off: 36, title: 'Болото', title_long: 'Пошла ты,\nтрясина грёбаная!' }, + beer: { off: 37, title: 'Пивко', title_long: 'В Питере - пить!' }, + skull: { off: 38, title: 'Роджер', title_long: 'Может не надо?' }, + + }, + }, + pin: { + title: 'ПИН-микс', + url: require('$sprites/stickers/stickers-base.svg'), + size: 72, + layers: { + start: { off: 21, title: '1', title_long: 'Первая точка' }, p1: { off: 22, title: '1', title_long: 'Первая точка' }, p2: { off: 23, title: '2', title_long: 'Вторая точка' }, p3: { off: 24, title: '3', title_long: 'Третья точка' }, p4: { off: 25, title: '4', title_long: 'Четвёртая точка' }, p5: { off: 26, title: '5', title_long: 'Пятая точка' }, p6: { off: 27, title: '7', title_long: 'Шестая точка' }, - p7: { off: 28, title: 'Финиш', title_long: 'Финиш здесь' }, - p8: { off: 29, title: 'Осторожно!', title_long: 'Осторожно!' }, - p9: { off: 30, title: 'Вопрос', title_long: 'Что тут?' }, + finish: { off: 28, title: 'Финиш', title_long: 'Финиш здесь' }, + danger: { off: 29, title: 'Осторожно!', title_long: 'Осторожно!' }, + question: { off: 30, title: 'Вопрос', title_long: 'Что тут?' }, } - } + }, }; diff --git a/src/redux/user/actions.js b/src/redux/user/actions.js index e33b80a..bfe6f02 100644 --- a/src/redux/user/actions.js +++ b/src/redux/user/actions.js @@ -43,3 +43,6 @@ export const setProvider = provider => ({ type: ACTIONS.SET_PROVIDER, provider } export const setDialog = ({ dialog, dialog_active }) => ({ type: ACTIONS.SET_DIALOG, dialog }); export const locationChanged = location => ({ type: ACTIONS.LOCATION_CHANGED, location }); export const setReady = ready => ({ type: ACTIONS.SET_READY, ready }); + + +export const gotVkUser = user => ({ type: ACTIONS.GOT_VK_USER, user }); diff --git a/src/redux/user/constants.js b/src/redux/user/constants.js index ab38e09..0616175 100644 --- a/src/redux/user/constants.js +++ b/src/redux/user/constants.js @@ -44,4 +44,6 @@ export const ACTIONS = ({ SET_DIALOG: 'SET_DIALOG', LOCATION_CHANGED: 'LOCATION_CHANGED', SET_READY: 'SET_READY', + + GOT_VK_USER: 'GOT_VK_USER', }: { [key: String]: String }); diff --git a/src/redux/user/sagas.js b/src/redux/user/sagas.js index 021f215..f1773f5 100644 --- a/src/redux/user/sagas.js +++ b/src/redux/user/sagas.js @@ -137,7 +137,7 @@ function* mapInitSaga() { return true; } -function* authChechSaga() { +function* authCheckSaga() { const { id, token } = yield select(getUser); if (id && token) { @@ -351,8 +351,14 @@ function* locationChangeSaga({ location }) { } } +function* gotVkUserSaga({ user }) { + const data = yield call(checkUserToken, user); + + yield put(setUser(data)); +} + export function* userSaga() { - yield takeLatest(REHYDRATE, authChechSaga); + yield takeLatest(REHYDRATE, authCheckSaga); yield takeEvery(ACTIONS.SET_MODE, setModeSaga); yield takeEvery(ACTIONS.START_EDITING, startEditingSaga); @@ -378,4 +384,6 @@ export function* userSaga() { yield takeEvery(ACTIONS.SET_PROVIDER, setProviderSaga); yield takeLatest(ACTIONS.LOCATION_CHANGED, locationChangeSaga); + + yield takeLatest(ACTIONS.GOT_VK_USER, gotVkUserSaga); } diff --git a/src/sprites/stickers/stickers-base.svg b/src/sprites/stickers/stickers-base.svg index a699b6e..7562e7d 100644 --- a/src/sprites/stickers/stickers-base.svg +++ b/src/sprites/stickers/stickers-base.svg @@ -10,13 +10,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="2600" + width="4000" height="72" - viewBox="0 0 2600 72.000001" + viewBox="0 0 4000 72.000001" id="svg22003" version="1.1" inkscape:version="0.92.2 5c3e80d, 2017-08-06" - sodipodi:docname="stickers.svg"> + sodipodi:docname="stickers-base.svg"> - @@ -774,9 +765,9 @@ inkscape:collect="always" style="color-interpolation-filters:sRGB" id="filter6314" - x="-0.030612494" - width="1.061225" - y="-0.16411499" + x="-0.030612495" + width="1.0612251" + y="-0.164115" height="1.32823"> @@ -802,7 +793,7 @@ id="filter4571" x="-0.10205325" width="1.2041065" - y="-0.66850952" + y="-0.66850954" height="2.337019"> + image/svg+xml - + @@ -2061,63 +2061,249 @@ transform="matrix(1.0376927,-0.27815708,0.27804889,1.0380964,-486.8321,761.86265)" /> + transform="translate(1509.5251,2.1213379)" + id="g7233"> + + - + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:14.02277374px;line-height:125%;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue Bold';text-align:center;writing-mode:lr-tb;text-anchor:middle;opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="text6169-5" + transform="matrix(0.80191352,0,0,0.80191352,7.6213521,200.90741)"> + + + + + + + + + + - - - - - - - + cx="38.474873" /> + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:28.23572731px;line-height:125%;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue Bold';text-align:center;writing-mode:lr-tb;text-anchor:middle;opacity:1;fill:#ff7f2a;fill-opacity:1;stroke:none;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="text7409" + transform="translate(-0.22372041,8.1710937)"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + transform="matrix(0.68291849,0,0,0.47167761,10.867588,546.79338)" + id="g8232" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:24.77038002px;line-height:125%;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue Bold';text-align:center;writing-mode:lr-tb;text-anchor:middle;opacity:1;fill:#c83737;fill-opacity:1;stroke:#ff5555;stroke-width:3.52389479;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id="circle7896" + style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + + + + + + + + + + + + id="path7919" + style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-family:Raleway;-inkscape-font-specification:'Raleway Semi-Bold';fill:#ff5555" + d="m 44.373974,1011.3356 v 2.7954 H 33.587926 v -2.7954 h 4.009473 v -9.8542 q -0.254121,0.3388 -0.7906,0.7059 -0.536479,0.367 -1.185901,0.6776 -0.649421,0.3106 -1.355314,0.5365 -0.705894,0.1977 -1.242372,0.1977 v -2.9083 q 0.564714,0 1.298843,-0.3389 0.762365,-0.3388 1.440022,-0.79055 0.705893,-0.45178 1.214136,-0.90355 0.536479,-0.45177 0.621186,-0.64942 h 3.190638 v 13.32722 z" /> + id="g7921" + transform="translate(1044.5251,48.121293)"> + id="circle7925" + style="opacity:1;fill:url(#linearGradient11465);fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> - + + + + + + + + + + + + + + + id="path7952" + style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-family:Raleway;-inkscape-font-specification:'Raleway Semi-Bold';fill:#ff5555" + d="m 31.779075,1014.131 q 0,-1.1859 0.19765,-2.2024 0.19765,-1.0165 0.705893,-1.8918 0.508243,-0.9035 1.383551,-1.6941 0.875307,-0.8189 2.258858,-1.5812 0.98825,-0.5365 1.863558,-0.9883 0.875307,-0.4518 1.524729,-0.8753 0.677658,-0.4518 1.072958,-0.9318 0.3953,-0.5082 0.3953,-1.1576 0,-0.9036 -0.7906,-1.6095 -0.762365,-0.7341 -2.230623,-0.7341 -0.762364,0 -1.411786,0.2259 -0.621186,0.1976 -1.157665,0.5365 -0.508243,0.3105 -0.903543,0.7058 -0.3953,0.3953 -0.705893,0.7624 l -1.976501,-2.2871 q 0.282357,-0.3106 0.875307,-0.76235 0.621186,-0.48 1.468258,-0.90354 0.875308,-0.42354 1.976501,-0.70589 1.101193,-0.3106 2.400037,-0.3106 1.355315,0 2.428272,0.36707 1.101194,0.33883 1.835323,0.96001 0.762364,0.62119 1.157664,1.4965 0.395301,0.8471 0.395301,1.8353 0,1.0447 -0.423536,1.8636 -0.423536,0.8188 -1.044722,1.44 -0.621186,0.6212 -1.355315,1.073 -0.734129,0.4235 -1.355315,0.7341 -0.59295,0.2823 -1.355315,0.6776 -0.734129,0.3671 -1.440022,0.8754 -0.705893,0.48 -1.270608,1.0447 -0.564714,0.5647 -0.7906,1.2423 h 9.346026 v 2.7954 z" /> + transform="translate(1116.5251,48.121293)" + id="g7954"> + id="g7956"> + id="circle7958" + style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + + + + + + + + + + + + id="path7982" + style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-family:Raleway;-inkscape-font-specification:'Raleway Semi-Bold';fill:#ff5555" + d="m 39.942234,1006.3309 q 0.771693,0.1493 1.418919,0.5476 0.647226,0.3734 1.095305,0.946 0.44808,0.5725 0.697013,1.3193 0.248933,0.7468 0.248933,1.6181 0,1.17 -0.448079,2.091 -0.423187,0.946 -1.244666,1.6181 -0.796586,0.6721 -1.941678,1.0206 -1.145092,0.3734 -2.564011,0.3734 -1.891892,0 -3.335704,-0.6721 -1.443812,-0.6472 -2.315078,-1.8919 l 1.667852,-1.8919 q 0.59744,0.9211 1.543386,1.4438 0.945945,0.5228 2.389757,0.5228 1.642959,0 2.514225,-0.697 0.896159,-0.6971 0.896159,-2.0911 0,-1.4438 -0.995733,-2.2653 -0.995732,-0.8214 -2.93741,-0.8214 h -0.67212 v -2.1409 h 0.7468 q 1.667852,0 2.564011,-0.7717 0.896159,-0.7966 0.896159,-1.9914 0,-1.1949 -0.796586,-1.7426 -0.796586,-0.5725 -2.066145,-0.5725 -1.269559,0 -2.240398,0.5476 -0.970839,0.5477 -1.543385,1.5683 l -1.717638,-1.867 q 0.348506,-0.59741 0.945945,-1.07039 0.59744,-0.49786 1.344239,-0.84637 0.771693,-0.3734 1.642959,-0.54765 0.896159,-0.19915 1.842105,-0.19915 1.219772,0 2.215504,0.32361 1.020626,0.32362 1.742532,0.89616 0.746799,0.57255 1.145092,1.39399 0.398293,0.8215 0.398293,1.8173 0,0.7468 -0.22404,1.4189 -0.224039,0.6721 -0.647226,1.2197 -0.398293,0.5477 -0.970839,0.9211 -0.572546,0.3485 -1.294452,0.473 z" /> + transform="translate(1188.5251,48.121293)" + id="g7984"> + id="circle7988" + style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + + + + + + + + + + + + id="path8012" + style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-family:Raleway;-inkscape-font-specification:'Raleway Semi-Bold';fill:#ff5555" + d="m 38.654747,1015.2981 v -3.9385 H 31.05024 v -2.4275 l 8.47147,-10.9237 h 1.857779 v 10.8742 h 2.179793 v 2.477 h -2.179793 v 3.9385 z m -4.830224,-6.4155 h 5.127468 v -6.7128 z" /> + id="g8014" + transform="translate(1260.5251,48.121293)"> + id="g8016"> + id="circle8018" + style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + + + + + + + + + + + - + id="path8042" + style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-family:Raleway;-inkscape-font-specification:'Raleway Semi-Bold';fill:#ff5555" + d="m 37.734179,1004.3001 q 1.238519,0 2.278875,0.4211 1.065126,0.4211 1.833008,1.1642 0.792652,0.7431 1.213749,1.7834 0.445866,1.0404 0.445866,2.2789 0,1.3128 -0.495407,2.4027 -0.470637,1.0899 -1.337601,1.8578 -0.842193,0.7927 -2.006401,1.2138 -1.164207,0.4211 -2.501808,0.4211 -1.907319,0 -3.418312,-0.867 -1.510994,-0.8422 -2.303646,-2.3036 l 1.634845,-1.5606 q 0.693571,1.0404 1.783468,1.6844 1.089896,0.644 2.328415,0.644 1.535764,0 2.526579,-0.9412 0.990815,-0.9413 0.990815,-2.5018 0,-0.7432 -0.272474,-1.3376 -0.247704,-0.6193 -0.69357,-1.0404 -0.445867,-0.4459 -1.065127,-0.6936 -0.594489,-0.2477 -1.31283,-0.2477 -0.941274,0 -1.758697,0.4211 -0.817422,0.3964 -1.3376,1.189 h -2.402727 q 0.02477,-0.099 0.09908,-0.5945 0.09908,-0.4954 0.247704,-1.2385 0.148622,-0.7431 0.322015,-1.6596 0.173393,-0.9165 0.371556,-1.8578 0.445867,-2.2046 0.966045,-4.9293 h 8.595321 v 2.5018 h -6.613691 l -0.891734,4.8055 q 0.421097,-0.4707 1.114667,-0.7432 0.718341,-0.2724 1.659616,-0.2724 z" /> + transform="translate(1332.5251,48.121293)" + id="g11702"> - - - - - - - - - - - - - - - - - - - - - - - - - + id="g11704"> - - - - - - - - - + cx="38.474873" /> - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:8.55882835px;line-height:125%;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue Bold';text-align:center;writing-mode:lr-tb;text-anchor:middle;opacity:1;fill:#4d4d4d;fill-opacity:1;stroke:none;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="g11710"> + + + + + + + + + @@ -2991,7 +2959,7 @@ id="rect5321" style="opacity:1;fill:#536c67;fill-opacity:1;stroke:#374548;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + transform="translate(358.03961,-202.93965)"> @@ -3505,11 +3473,11 @@ sodipodi:nodetypes="ccccccccc" inkscape:connector-curvature="0" id="path5852" - d="m 11.59987,1007.8444 20.625,9 13.625,0 18.875,-9.25 0,4.375 -20.625,9 -10.75,0 -21.25,-8.625 z" + d="m 11.59987,1007.8444 20.625,9 h 13.625 l 18.875,-9.25 v 4.375 l -20.625,9 h -10.75 l -21.25,-8.625 z" style="opacity:1;fill:#b7c4c8;fill-opacity:1;stroke:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> @@ -3517,11 +3485,11 @@ sodipodi:nodetypes="ccccccccc" inkscape:connector-curvature="0" id="path5856" - d="m 11.59987,1018.9694 20.625,9 13.625,0 18.875,-9.25 0,4.375 -20.625,9 -10.75,0 -21.25,-8.625 z" + d="m 11.59987,1018.9694 20.625,9 h 13.625 l 18.875,-9.25 v 4.375 l -20.625,9 h -10.75 l -21.25,-8.625 z" style="opacity:1;fill:#b7c4c8;fill-opacity:1;stroke:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> @@ -3540,7 +3508,7 @@ sodipodi:nodetypes="cccccc" inkscape:connector-curvature="0" id="rect5871" - d="m 29.047026,1003.3047 19.361002,0 0,33.2994 -10.058157,-5.25 -9.302845,5.25 z" + d="m 29.047026,1003.3047 h 19.361002 v 33.2994 l -10.058157,-5.25 -9.302845,5.25 z" style="opacity:1;fill:#5fbcd3;fill-opacity:1;stroke:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> @@ -3569,12 +3537,12 @@   @@ -3620,7 +3588,7 @@ + d="m 16.915443,1013.5214 v -9.9561 h 2.73444 v 9.9561 z" /> + d="m 21.352336,1013.5214 v -9.9561 h 2.734441 v 3.7861 l 3.028919,-3.7861 h 3.08501 l -3.617875,4.4592 3.870285,5.4969 h -3.141101 l -2.468008,-3.6599 -0.75723,0.7853 v 2.8746 z" /> + d="m 38.115905,1011.1376 v 2.3838 h -7.095524 v -9.9561 H 37.9897 v 2.3838 h -4.234878 v 1.4023 h 3.617876 v 2.2156 h -3.617876 v 1.5706 z" /> + d="m 41.98137,1003.5653 h 2.496053 l 3.449603,9.9561 h -2.776509 l -0.60298,-1.9491 h -2.650304 l -0.588956,1.9491 h -2.790532 z m 2.131461,6.184 -0.883434,-3.085 -0.925503,3.085 z" /> @@ -3771,13 +3739,13 @@ sodipodi:nodetypes="cccscc" inkscape:connector-curvature="0" id="path6359" - d="m 57.67144,1010.9964 0,29.6985 -7.07106,0.3536 c 0,0 0.526639,-13.104 -0.618719,-18.6501 -1.866982,-9.0403 -1.069698,-10.6768 -1.325828,-10.1646 z" + d="m 57.67144,1010.9964 v 29.6985 l -7.07106,0.3536 c 0,0 0.526639,-13.104 -0.618719,-18.6501 -1.866982,-9.0403 -1.069698,-10.6768 -1.325828,-10.1646 z" style="opacity:1;fill:#ff5555;fill-opacity:1;stroke:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> @@ -3901,7 +3869,7 @@ @@ -4093,7 +4061,7 @@ sodipodi:nodetypes="ccccccc" inkscape:connector-curvature="0" id="path4914" - d="m 19.737464,1006.3119 18.473166,7.8665 20.003486,-8.8344 0,27.4887 -19.826716,11.8397 -18.826718,-10.6066 z" + d="m 19.737464,1006.3119 18.473166,7.8665 20.003486,-8.8344 v 27.4887 L 38.3874,1044.6724 19.560682,1034.0658 Z" style="opacity:1;fill:#b7c4c8;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> @@ -4254,18 +4222,18 @@ id="text4906">  @@ -4298,7 +4266,7 @@ @@ -4366,7 +4334,7 @@ id="text5060">  + transform="translate(-0.26516504)"> + transform="translate(-0.5)"> @@ -4799,7 +4767,7 @@ + transform="translate(213.52513,2.12132)">   + transform="translate(1800,-2.2590625e-5)"> + style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#4d4d4d;stroke-width:1.73725653;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + style="opacity:0.33600003;fill:#241c1c;fill-opacity:1;stroke:none;stroke-width:0.87642163;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + id="path6260" + inkscape:connector-curvature="0" /> + transform="translate(1005.5251,2.1213379)"> @@ -6363,7 +6332,7 @@ @@ -6388,7 +6357,7 @@ sodipodi:type="star" /> + transform="translate(502.03961,-202.93965)"> + transform="translate(2.1936419e-5)"> @@ -7199,7 +7168,7 @@ + transform="translate(1167.9099,-102.53048)"> + transform="translate(1077.5251,2.12132)"> @@ -7840,7 +7809,7 @@ @@ -7853,12 +7822,12 @@ y="1001.3729" /> + inkscape:connector-curvature="0" + style="clip-rule:evenodd;fill:#009444;fill-rule:evenodd" /> + style="clip-rule:evenodd;fill:#447821;fill-rule:evenodd" /> + inkscape:connector-curvature="0" + style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd" /> + inkscape:connector-curvature="0" + style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd" /> + inkscape:connector-curvature="0" + style="clip-rule:evenodd;fill-rule:evenodd" /> + inkscape:connector-curvature="0" + style="clip-rule:evenodd;fill-rule:evenodd" /> + inkscape:connector-curvature="0" + style="clip-rule:evenodd;fill-rule:evenodd" /> + inkscape:connector-curvature="0" + style="clip-rule:evenodd;fill-rule:evenodd" /> + inkscape:connector-curvature="0" + style="clip-rule:evenodd;fill-rule:evenodd" /> + inkscape:connector-curvature="0" + style="clip-rule:evenodd;fill-rule:evenodd" /> + inkscape:connector-curvature="0" + style="clip-rule:evenodd;fill:#8dc63f;fill-rule:evenodd" /> + inkscape:connector-curvature="0" + style="clip-rule:evenodd;fill:#8dc63f;fill-rule:evenodd" /> + inkscape:connector-curvature="0" + style="clip-rule:evenodd;fill:#8dc63f;fill-rule:evenodd" /> + inkscape:connector-curvature="0" + style="clip-rule:evenodd;fill:#8dc63f;fill-rule:evenodd" /> + inkscape:connector-curvature="0" + style="clip-rule:evenodd;fill:#8dc63f;fill-rule:evenodd" /> + inkscape:connector-curvature="0" + style="clip-rule:evenodd;fill:#8dc63f;fill-rule:evenodd" /> + inkscape:connector-curvature="0" + style="clip-rule:evenodd;fill:#8dc63f;fill-rule:evenodd" /> + inkscape:connector-curvature="0" + style="clip-rule:evenodd;fill:#8dc63f;fill-rule:evenodd" /> + inkscape:connector-curvature="0" + style="clip-rule:evenodd;fill:#8dc63f;fill-rule:evenodd" /> + inkscape:connector-curvature="0" + style="clip-rule:evenodd;fill:#8dc63f;fill-rule:evenodd" /> + inkscape:connector-curvature="0" + style="clip-rule:evenodd;fill:#8dc63f;fill-rule:evenodd" /> + inkscape:connector-curvature="0" + style="clip-rule:evenodd;fill:#8dc63f;fill-rule:evenodd" /> + inkscape:connector-curvature="0" + style="clip-rule:evenodd;fill:#8dc63f;fill-rule:evenodd" /> + inkscape:connector-curvature="0" + style="clip-rule:evenodd;fill:#8dc63f;fill-rule:evenodd" /> + inkscape:connector-curvature="0" + style="clip-rule:evenodd;fill:#8dc63f;fill-rule:evenodd" /> + inkscape:connector-curvature="0" + style="clip-rule:evenodd;fill:#8dc63f;fill-rule:evenodd" /> + transform="translate(2373.5251,2.1213379)"> + style="opacity:1;fill:#ffd07a;fill-opacity:1;stroke:#a66b00;stroke-width:3.04223585;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />   + transform="translate(144,-1.7890625e-5)">   @@ -9627,7 +9549,7 @@ style="opacity:1;fill:#917c6f;fill-opacity:1;stroke:#302925;stroke-width:0.91411448;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> @@ -9672,7 +9594,7 @@ id="path6502" inkscape:connector-curvature="0" /> @@ -9754,7 +9676,7 @@ rx="3.0090072" ry="2.9760938" /> + style="opacity:0.34470993;fill:#212121;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.98894167;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke;filter:url(#filter4571)" /> + transform="translate(646.03961,-202.93965)">   + transform="translate(430.03961,-202.93965)"> - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1111 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 + + diff --git a/src/styles/colors.less b/src/styles/colors.less index 6801a14..893826e 100644 --- a/src/styles/colors.less +++ b/src/styles/colors.less @@ -14,7 +14,7 @@ @red_primary: #ff7034; @red_secondary: #ff3344; -@panel_radius: 0; +@panel_radius: 4px; @button_radius: 0; @color_primary: #4597d0; diff --git a/src/styles/map.less b/src/styles/map.less index 4f3896c..d33e638 100644 --- a/src/styles/map.less +++ b/src/styles/map.less @@ -9,6 +9,10 @@ cursor: crosshair; } +.leaflet-control-zoom { + display: none; +} + .leaflet-touch .leaflet-bar a { border-radius: @panel_radius !important; } diff --git a/src/styles/stickers.less b/src/styles/stickers.less index 6badde5..9dc0ad0 100644 --- a/src/styles/stickers.less +++ b/src/styles/stickers.less @@ -103,7 +103,7 @@ &:after { content: ' '; - background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='38' height='38' viewBox='0 0 38 38' preserveAspectRatio='none'%3E%3Cpolygon points='0,0 38,20 38,38 20,38' style='fill:%23ff4433;' /%3E%3C/svg%3E") no-repeat; + background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='38' height='38' viewBox='0 0 38 38' preserveAspectRatio='none'%3E%3Cpolygon points='0,0 38,20 38,38 20,38' style='fill:%23ff3344;' /%3E%3C/svg%3E") no-repeat; width: 50px; height: 50px; transform-origin: 0 0; @@ -138,8 +138,32 @@ } .stickers-helper { - display: grid; - grid-template-columns: repeat( auto-fit , minmax(48px, 1fr) ); + flex-direction: column; + padding-top: 0; +} + +.stickers-grid { + // display: grid; + // grid-template-columns: repeat( auto-fit , minmax(48px, 1fr) ); + display: flex; + flex-wrap: wrap; +} + +.stickers-set-title { + opacity: 0.3; + font-size: 0.8em; + padding: 10px 0; + display: flex; + align-items: center; + text-transform: uppercase; + + &::after { + content: ' '; + height: 1px; + flex: 1; + background-color: #666666; + margin-left: 10px; + } } .sticker-preview { diff --git a/src/utils/renderer.js b/src/utils/renderer.js index 7e09f12..e45c706 100644 --- a/src/utils/renderer.js +++ b/src/utils/renderer.js @@ -167,7 +167,7 @@ const composeStickerArrow = (ctx, x, y, angle) => { ctx.translate(x, y); ctx.rotate(angle + (Math.PI * 0.75)); ctx.translate(-x, -y); - ctx.fillStyle = 'red'; + ctx.fillStyle = '#ff3344'; ctx.beginPath(); ctx.moveTo(x, y); ctx.lineTo(x + 38, y + 20);