mirror of
https://github.com/Maks1mS/free-ozon-dpr.git
synced 2024-12-23 18:42:59 +03:00
parent
9215bc9522
commit
d1085dfcba
9
package-lock.json
generated
9
package-lock.json
generated
@ -9,6 +9,7 @@
|
|||||||
"version": "0.0.0",
|
"version": "0.0.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"fastest-levenshtein": "^1.0.16",
|
"fastest-levenshtein": "^1.0.16",
|
||||||
|
"js-cookie": "^3.0.5",
|
||||||
"jsdom": "^24.1.0",
|
"jsdom": "^24.1.0",
|
||||||
"modern-async": "^2.0.0",
|
"modern-async": "^2.0.0",
|
||||||
"node-fetch": "^3.3.2",
|
"node-fetch": "^3.3.2",
|
||||||
@ -1887,6 +1888,14 @@
|
|||||||
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
|
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/js-cookie": {
|
||||||
|
"version": "3.0.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz",
|
||||||
|
"integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=14"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/js-yaml": {
|
"node_modules/js-yaml": {
|
||||||
"version": "4.1.0",
|
"version": "4.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"fastest-levenshtein": "^1.0.16",
|
"fastest-levenshtein": "^1.0.16",
|
||||||
|
"js-cookie": "^3.0.5",
|
||||||
"jsdom": "^24.1.0",
|
"jsdom": "^24.1.0",
|
||||||
"modern-async": "^2.0.0",
|
"modern-async": "^2.0.0",
|
||||||
"node-fetch": "^3.3.2",
|
"node-fetch": "^3.3.2",
|
||||||
|
@ -31,9 +31,66 @@
|
|||||||
.ol-overlay-container > #popup {
|
.ol-overlay-container > #popup {
|
||||||
display: unset;
|
display: unset;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.info-popup {
|
||||||
|
display: none;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
z-index: 999;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
background: white;
|
||||||
|
padding: 5rem;
|
||||||
|
font-size: 14pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
.info-popup > footer {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 1rem;
|
||||||
|
border-top: 1px solid black;
|
||||||
|
padding: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.info-popup > footer > button {
|
||||||
|
font-size: 14pt;
|
||||||
|
padding: 10px;
|
||||||
|
max-width: 300px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
<div class="info-popup">
|
||||||
|
<h1>Важная информация перед использованием сайта</h1>
|
||||||
|
<h2>Пожалуйста, прочитайте внимательно</h2>
|
||||||
|
<p>
|
||||||
|
На сайте собраны данные о пунктах выдачи заказов (ПВЗ) от разных служб доставок, чтобы вам было удобнее выбирать. <b>Создатели сайта не несут ответственности за точность информации о пунктах выдачи.</b> Информация собирается из открытых источников. Для каждого ПВЗ указан источник, откуда была взята информация, чтобы вы смогли сами проверить.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<b>Как пользоваться?</b>
|
||||||
|
<ol>
|
||||||
|
<li>Найдите удобный для вас пункт выдачи заказов на карте.</li>
|
||||||
|
<li>Сканируйте QR-код или переходите по ссылке, чтобы добавить адрес пункта выдачи.</li>
|
||||||
|
<li>В приложении новый пункт выдачи отобразится как "обл. Ростовская, Пункт Партнёра XXXXXX". Не переживайте – это нормально. Просто сделайте заказ на этот адрес.</li>
|
||||||
|
<li>Когда получите уведомление о готовности заказа, приходите в выбранный вами пункт выдачи. Чтобы забрать заказ необходимо будет показать штрих-код из приложения.</li>
|
||||||
|
</ol>
|
||||||
|
</p>
|
||||||
|
<p>Сайт не является коммерческим и не связан ни с одной из служб доставки или с OZON.</p>
|
||||||
|
<p>Все товарные знаки, логотипы и обозначения, упомянутые на сайте, являются собственностью их соответствующих владельцев.</p>
|
||||||
|
<p>Проект является проектом с открытым исходным кодом. Если хотите посмотреть исходный код или поучаствовать в проекте - <a href="https://github.com/Maks1mS/free-ozon-dpr">вот ссылка</a>.</p>
|
||||||
|
<p>Нашли ошибку? Знаете как улучшить сайт? Хотите добавить пункт, который отсутствует? <a href="https://forms.yandex.ru/u/6654bafa90fa7b1b58c67eff/">Напишите нам</a> или создайте Issue на GitHub.</p>
|
||||||
|
<p>Для улучшения работы сайта и анализа трафика мы используем Яндекс Метрику.</p>
|
||||||
|
<p>Мы используем cookie-файлы. Вы можете прочитать подробнее о cookie-файлах или изменить настройки браузера. Продолжая пользоваться сайтом без изменения настроек, вы даёте согласие на использование ваших cookie-файлов.</p>
|
||||||
|
<footer>
|
||||||
|
<label>
|
||||||
|
<input type="checkbox" name="no-show">
|
||||||
|
Больше не показывать
|
||||||
|
</label>
|
||||||
|
<button>Я прочитал и понял прочитанное</button>
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div id="map" class="map"></div>
|
<div id="map" class="map"></div>
|
||||||
<div id="popup" class="ol-popup">
|
<div id="popup" class="ol-popup">
|
||||||
<a href="#" id="popup-closer" class="ol-popup-closer">✖</a>
|
<a href="#" id="popup-closer" class="ol-popup-closer">✖</a>
|
||||||
|
22
src/info-popup.js
Normal file
22
src/info-popup.js
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
import Cookies from "js-cookie";
|
||||||
|
|
||||||
|
const HIDE_INFO_POPUP = "hideInfoPopup";
|
||||||
|
|
||||||
|
document.addEventListener("DOMContentLoaded", function () {
|
||||||
|
const infoPopup = document.querySelector(".info-popup");
|
||||||
|
const noShowCheckbox = document.querySelector('input[name="no-show"]');
|
||||||
|
const confirmButton = document.querySelector('.info-popup footer button');
|
||||||
|
|
||||||
|
const hidePopupCookie = Cookies.get(HIDE_INFO_POPUP);
|
||||||
|
if (!hidePopupCookie) {
|
||||||
|
infoPopup.style.display = "block";
|
||||||
|
}
|
||||||
|
|
||||||
|
confirmButton.addEventListener("click", function () {
|
||||||
|
if (noShowCheckbox.checked) {
|
||||||
|
Cookies.set(HIDE_INFO_POPUP, "true", { expires: 400 });
|
||||||
|
}
|
||||||
|
|
||||||
|
infoPopup.style.display = "none";
|
||||||
|
});
|
||||||
|
});
|
@ -2,6 +2,7 @@ import "./style.css";
|
|||||||
|
|
||||||
import map from "./map";
|
import map from "./map";
|
||||||
|
|
||||||
|
import "./info-popup";
|
||||||
import "./popup";
|
import "./popup";
|
||||||
|
|
||||||
import mergedData from "../merged-data.json";
|
import mergedData from "../merged-data.json";
|
||||||
|
@ -12,8 +12,10 @@ const MAP_ZOOM = 8.5;
|
|||||||
|
|
||||||
const customTileSource = new TileLayer({
|
const customTileSource = new TileLayer({
|
||||||
source: new XYZ({
|
source: new XYZ({
|
||||||
// url: 'https://tile-server.ozon.ru/tile/default/{z}/{x}/{y}.png'
|
attributionsCollapsible: false,
|
||||||
|
attributions: [
|
||||||
|
'© <a href="https://wikimapia.org/">Wikimapia</a>'
|
||||||
|
],
|
||||||
tileUrlFunction: ([z, x, y]) => {
|
tileUrlFunction: ([z, x, y]) => {
|
||||||
const s = x % 4 + (y % 4) * 4
|
const s = x % 4 + (y % 4) * 4
|
||||||
return `https://i${s}.wikimapia.org/?x=${x}&y=${y}&zoom=${z}&type=map&lng=1`
|
return `https://i${s}.wikimapia.org/?x=${x}&y=${y}&zoom=${z}&type=map&lng=1`
|
||||||
|
@ -69,5 +69,10 @@ body {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#popup-operation-time {
|
#popup-operation-time {
|
||||||
white-space: pre-line
|
white-space: pre-line;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ol-attribution a:hover {
|
||||||
|
color: var(--ol-brand-color);
|
||||||
|
text-decoration: underline;
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user