diff --git a/src/assets/README.md b/src/assets/README.md
new file mode 100644
index 0000000..3a6d110
--- /dev/null
+++ b/src/assets/README.md
@@ -0,0 +1,13 @@
+# Sources
+
+## `/no_parking`
+* All signs from StreetComplete, see https://github.com/zlant/parking-lanes/issues/69
+
+## `/no_stopping`
+* All signs from StreetComplete, see https://github.com/zlant/parking-lanes/issues/69
+
+## `/free_parking`
+* `free_parking_russia.svg` https://upload.wikimedia.org/wikipedia/commons/e/eb/6.4_Russian_road_sign.svg
+
+## `/paid_parking`
+* `paid_parking_russia.svg` https://upload.wikimedia.org/wikipedia/commons/f/f3/8.8_Russian_road_sign.svg
diff --git a/src/assets/free_parking/free_parking_russia.svg b/src/assets/free_parking/free_parking_russia.svg
new file mode 100644
index 0000000..40a5a61
--- /dev/null
+++ b/src/assets/free_parking/free_parking_russia.svg
@@ -0,0 +1,111 @@
+
+
+
+
diff --git a/src/assets/no_parking/no_parking.svg b/src/assets/no_parking/no_parking.svg
new file mode 100644
index 0000000..444aa14
--- /dev/null
+++ b/src/assets/no_parking/no_parking.svg
@@ -0,0 +1,5 @@
+
+
diff --git a/src/assets/no_parking/no_parking_australia.svg b/src/assets/no_parking/no_parking_australia.svg
new file mode 100644
index 0000000..6990a11
--- /dev/null
+++ b/src/assets/no_parking/no_parking_australia.svg
@@ -0,0 +1,7 @@
+
+
diff --git a/src/assets/no_parking/no_parking_on_even_days.svg b/src/assets/no_parking/no_parking_on_even_days.svg
new file mode 100644
index 0000000..3c69182
--- /dev/null
+++ b/src/assets/no_parking/no_parking_on_even_days.svg
@@ -0,0 +1,7 @@
+
+
diff --git a/src/assets/no_parking/no_parking_on_odd_days.svg b/src/assets/no_parking/no_parking_on_odd_days.svg
new file mode 100644
index 0000000..ae731c9
--- /dev/null
+++ b/src/assets/no_parking/no_parking_on_odd_days.svg
@@ -0,0 +1,6 @@
+
+
diff --git a/src/assets/no_stopping/no_stopping.svg b/src/assets/no_stopping/no_stopping.svg
new file mode 100644
index 0000000..38cbece
--- /dev/null
+++ b/src/assets/no_stopping/no_stopping.svg
@@ -0,0 +1,5 @@
+
+
diff --git a/src/assets/no_stopping/no_stopping_australia.svg b/src/assets/no_stopping/no_stopping_australia.svg
new file mode 100644
index 0000000..e63f9d7
--- /dev/null
+++ b/src/assets/no_stopping/no_stopping_australia.svg
@@ -0,0 +1,7 @@
+
+
diff --git a/src/assets/paid_parking/paid_parking_russia.svg b/src/assets/paid_parking/paid_parking_russia.svg
new file mode 100644
index 0000000..ba2b737
--- /dev/null
+++ b/src/assets/paid_parking/paid_parking_russia.svg
@@ -0,0 +1,196 @@
+
+
+
+
diff --git a/src/parking/controls/editor/presets.ts b/src/parking/controls/editor/presets.ts
index 04007dd..61c193b 100644
--- a/src/parking/controls/editor/presets.ts
+++ b/src/parking/controls/editor/presets.ts
@@ -11,7 +11,7 @@ export const presets: Preset[] = [
{ k: 'parking:condition:{side}:maxstay', v: '' },
],
img: {
- src: 'https://upload.wikimedia.org/wikipedia/commons/9/98/3.27_Russian_road_sign.svg',
+ src: './assets/no_stopping/no_stopping.svg',
height: 20,
width: 20,
alt: 'No Stopping Sign',
@@ -28,7 +28,7 @@ export const presets: Preset[] = [
{ k: 'parking:condition:{side}:maxstay', v: '' },
],
img: {
- src: 'https://upload.wikimedia.org/wikipedia/commons/8/81/3.28_Russian_road_sign.svg',
+ src: './assets/no_parking/no_parking.svg',
height: 20,
width: 20,
alt: 'No Parking Sign',
@@ -45,7 +45,7 @@ export const presets: Preset[] = [
{ k: 'parking:condition:{side}:maxstay', v: '' },
],
img: {
- src: 'https://upload.wikimedia.org/wikipedia/commons/f/f4/3.29_Russian_road_sign.svg',
+ src: './assets/no_parking/no_parking_on_odd_days.svg',
height: 20,
width: 20,
alt: 'No Parking on Odd Days Sign',
@@ -62,7 +62,7 @@ export const presets: Preset[] = [
{ k: 'parking:condition:{side}:maxstay', v: '' },
],
img: {
- src: 'https://upload.wikimedia.org/wikipedia/commons/7/76/3.30_Russian_road_sign.svg',
+ src: './assets/no_parking/no_parking_on_even_days.svg',
height: 20,
width: 20,
alt: 'No Parking on Even Days Sign',
@@ -79,7 +79,7 @@ export const presets: Preset[] = [
{ k: 'parking:condition:{side}:maxstay', v: '' },
],
img: {
- src: 'https://upload.wikimedia.org/wikipedia/commons/e/eb/6.4_Russian_road_sign.svg',
+ src: './assets/free_parking/free_parking_russia.svg',
height: 20,
width: 20,
alt: 'Free Parking Sign',
@@ -96,7 +96,7 @@ export const presets: Preset[] = [
{ k: 'parking:condition:{side}:maxstay', v: '' },
],
img: {
- src: 'https://upload.wikimedia.org/wikipedia/commons/f/f3/8.8_Russian_road_sign.svg',
+ src: './assets/paid_parking/paid_parking_russia.svg',
height: 20,
width: 40,
alt: 'Paid Parking Sign',
diff --git a/webpack.config.js b/webpack.config.js
index 26ed8e5..debe80b 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -3,7 +3,7 @@ const HtmlWebpackPlugin = require('html-webpack-plugin')
const MiniCssExtractPlugin = require('mini-css-extract-plugin')
const CssMinimizerPlugin = require('css-minimizer-webpack-plugin')
const { CleanWebpackPlugin } = require('clean-webpack-plugin')
-const CopyPlugin = require('copy-webpack-plugin')
+const CopyWebpackPlugin = require('copy-webpack-plugin')
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
const webpack = require('webpack')
@@ -38,9 +38,10 @@ module.exports = {
new MiniCssExtractPlugin({
filename: '[name].[contenthash].css',
}),
- new CopyPlugin({
+ new CopyWebpackPlugin({
patterns: [
{ from: path.resolve(__dirname, './src/land.html') },
+ { from: path.resolve(__dirname, './src/assets'), to: './assets' },
],
}),
new CleanWebpackPlugin(),