Migracja projektu z ReactJS

This commit is contained in:
2020-07-04 14:26:53 +02:00
parent 6bbe0b9747
commit 539688c699
35 changed files with 2215 additions and 9 deletions
+193 -3
View File
@@ -1,9 +1,199 @@
<template>
<div id="app">
<router-view/>
<div class="app">
<div class="app-container">
<header class="app-header">
<div class="brand-name">
<span>Stacj</span>
<img src="@/assets/trainlogo.png" alt="trainlogo" />
<span>wnik</span>
</div>
</header>
<div class="app-info"></div>
<main class="app-main">
<Loading v-if="connectionState == 0" />
<Error v-else-if="connectionState == 1" :error="errorMessage" />
<router-view v-else />
</main>
<footer class="app-footer">&copy; Spythere 2020</footer>
</div>
</div>
</template>
<style lang="scss">
<script lang="ts">
import Vue from "vue";
import { mapGetters, mapActions } from "vuex";
import Error from "@/components/states/Error.vue";
import Loading from "@/components/states/Loading.vue";
export default Vue.extend({
name: "App",
components: { Error, Loading },
computed: mapGetters({ stations: "getStations" }),
methods: {
...mapActions(["fetchStations"])
},
data: () => ({
errorMessage: "",
connectionState: 0
}),
mounted() {
this.fetchStations()
.then(result => console.log(result))
.catch(err => {
this.connectionState = 1;
this.errorMessage = err.message;
});
}
});
</script>
<style lang="scss">
@import "./styles/responsive.scss";
@import "./styles/variables.scss";
html {
scroll-behavior: smooth;
}
body {
margin: 0;
font-family: "Lato", sans-serif;
background: $bgCol;
width: 100%;
min-height: 100vh;
}
*,
*::before,
*::after {
box-sizing: border-box;
}
a {
color: white;
text-decoration: none;
transition: color 0.3s;
&:hover,
&:focus {
color: $accentCol;
border: none;
outline: none;
}
&:focus {
text-decoration: underline;
}
}
ul {
list-style: none;
padding: 0;
}
.hour {
padding: 0.4em;
border-radius: 1rem;
&.ending {
background-color: $accentCol;
color: black;
font-size: 0.9em;
}
&.no-limit {
// background-color: #57ae00;
font-size: 0.85em;
}
&.not-signed {
background-color: $accent2Col;
font-size: 0.8em;
}
&.unavailable {
background-color: $accent2Col;
font-size: 0.9em;
}
}
.text {
&--title {
color: #fdc62f;
font-size: 1em;
}
&--content {
font-size: 0.8em;
}
}
.app {
&-container {
display: grid;
grid-template-rows: auto auto 1fr auto;
grid-template-columns: minmax(0, 1fr);
min-height: 100vh;
}
&-header {
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
background: #333;
color: white;
& > .brand-name {
font-size: calc(1rem + 3.5vw);
img {
width: calc(1rem + 2.3vw);
}
}
}
&-info {
display: flex;
justify-content: center;
align-items: center;
font-size: calc(0.8rem + 0.2vw);
background: #222;
padding: 0.4rem;
}
&-main {
display: flex;
justify-content: center;
align-items: center;
}
}
footer {
background: #111;
padding: 0.3rem;
color: white;
display: flex;
justify-content: center;
align-items: center;
max-width: 100%;
font-size: calc(0.5rem + 0.5vw);
}
</style>
+5
View File
@@ -0,0 +1,5 @@
<svg width="60" height="60" viewBox="0 0 60 60" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="60" height="60" fill="#009DCE"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.02083 6.51042V6H5.04167V6.51042H13.2083V6H14.2292V6.51042H15.25V8.55208H14.2292V11.1042H15.25V13.1458H14.2292V15.6979H15.25V17.7396H14.2292V20.2917H15.25V22.3333H14.2292V24.8854H15.25V26.9271H14.2292V29.4792H15.25V31.5208H14.2292V34.0729H15.25V36.1146H14.2292V38.6667H15.25V40.7083H14.2292V43.2604H15.25V45.3021H14.2292V47.8542H15.25V49.8958H14.2292V52.4479H15.25V54.4896H14.2292V55H13.2083V54.4896H5.04167V55H4.02083V54.4896H3V52.4479H4.02083V49.8958H3V47.8542H4.02083V45.3021H3V43.2604H4.02083V40.7083H3V38.6667H4.02083V36.1146H3V34.0729H4.02083V31.5208H3V29.4792H4.02083V26.9271H3V24.8854H4.02083V22.3333H3V20.2917H4.02083V17.7396H3V15.6979H4.02083V13.1458H3V11.1042H4.02083V8.55208H3V6.51042H4.02083ZM5.04167 52.4479H13.2083V49.8958H5.04167V52.4479ZM13.2083 45.3021V47.8542H5.04167V45.3021H13.2083ZM5.04167 43.2604H13.2083V40.7083H5.04167V43.2604ZM13.2083 36.1146V38.6667H5.04167V36.1146H13.2083ZM5.04167 34.0729H13.2083V31.5208H5.04167V34.0729ZM13.2083 26.9271V29.4792H5.04167V26.9271H13.2083ZM5.04167 24.8854H13.2083V22.3333H5.04167V24.8854ZM13.2083 17.7396V20.2917H5.04167V17.7396H13.2083ZM5.04167 15.6979H13.2083V13.1458H5.04167V15.6979ZM13.2083 8.55208V11.1042H5.04167V8.55208H13.2083Z" fill="black"/>
<path d="M25.1071 27.3731L30.4643 14L16 30.7164H22.9643L18.1429 46L31 27.3731H25.1071Z" fill="#FFF500"/>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

+6
View File
@@ -0,0 +1,6 @@
<svg width="60" height="60" viewBox="0 0 60 60" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="60" height="60" fill="#898989"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.02083 6.51042V6H5.04167V6.51042H13.2083V6H14.2292V6.51042H15.25V8.55208H14.2292V11.1042H15.25V13.1458H14.2292V15.6979H15.25V17.7396H14.2292V20.2917H15.25V22.3333H14.2292V24.8854H15.25V26.9271H14.2292V29.4792H15.25V31.5208H14.2292V34.0729H15.25V36.1146H14.2292V38.6667H15.25V40.7083H14.2292V43.2604H15.25V45.3021H14.2292V47.8542H15.25V49.8958H14.2292V52.4479H15.25V54.4896H14.2292V55H13.2083V54.4896H5.04167V55H4.02083V54.4896H3V52.4479H4.02083V49.8958H3V47.8542H4.02083V45.3021H3V43.2604H4.02083V40.7083H3V38.6667H4.02083V36.1146H3V34.0729H4.02083V31.5208H3V29.4792H4.02083V26.9271H3V24.8854H4.02083V22.3333H3V20.2917H4.02083V17.7396H3V15.6979H4.02083V13.1458H3V11.1042H4.02083V8.55208H3V6.51042H4.02083ZM5.04167 52.4479H13.2083V49.8958H5.04167V52.4479ZM13.2083 45.3021V47.8542H5.04167V45.3021H13.2083ZM5.04167 43.2604H13.2083V40.7083H5.04167V43.2604ZM13.2083 36.1146V38.6667H5.04167V36.1146H13.2083ZM5.04167 34.0729H13.2083V31.5208H5.04167V34.0729ZM13.2083 26.9271V29.4792H5.04167V26.9271H13.2083ZM5.04167 24.8854H13.2083V22.3333H5.04167V24.8854ZM13.2083 17.7396V20.2917H5.04167V17.7396H13.2083ZM5.04167 15.6979H13.2083V13.1458H5.04167V15.6979ZM13.2083 8.55208V11.1042H5.04167V8.55208H13.2083Z" fill="black"/>
<path d="M26.1071 27.3731L31.4643 14L17 30.7164H23.9643L19.1429 46L32 27.3731H26.1071Z" fill="#FFF500"/>
<path d="M17.8333 17.0476L31.1667 43.7143" stroke="#FF0000" stroke-width="2" stroke-linecap="round"/>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

+6
View File
@@ -0,0 +1,6 @@
<svg width="60" height="60" viewBox="0 0 60 60" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="60" height="60" fill="#009DCE"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.02083 6.51042V6H5.04167V6.51042H13.2083V6H14.2292V6.51042H15.25V8.55208H14.2292V11.1042H15.25V13.1458H14.2292V15.6979H15.25V17.7396H14.2292V20.2917H15.25V22.3333H14.2292V24.8854H15.25V26.9271H14.2292V29.4792H15.25V31.5208H14.2292V34.0729H15.25V36.1146H14.2292V38.6667H15.25V40.7083H14.2292V43.2604H15.25V45.3021H14.2292V47.8542H15.25V49.8958H14.2292V52.4479H15.25V54.4896H14.2292V55H13.2083V54.4896H5.04167V55H4.02083V54.4896H3V52.4479H4.02083V49.8958H3V47.8542H4.02083V45.3021H3V43.2604H4.02083V40.7083H3V38.6667H4.02083V36.1146H3V34.0729H4.02083V31.5208H3V29.4792H4.02083V26.9271H3V24.8854H4.02083V22.3333H3V20.2917H4.02083V17.7396H3V15.6979H4.02083V13.1458H3V11.1042H4.02083V8.55208H3V6.51042H4.02083ZM5.04167 52.4479H13.2083V49.8958H5.04167V52.4479ZM13.2083 45.3021V47.8542H5.04167V45.3021H13.2083ZM5.04167 43.2604H13.2083V40.7083H5.04167V43.2604ZM13.2083 36.1146V38.6667H5.04167V36.1146H13.2083ZM5.04167 34.0729H13.2083V31.5208H5.04167V34.0729ZM13.2083 26.9271V29.4792H5.04167V26.9271H13.2083ZM5.04167 24.8854H13.2083V22.3333H5.04167V24.8854ZM13.2083 17.7396V20.2917H5.04167V17.7396H13.2083ZM5.04167 15.6979H13.2083V13.1458H5.04167V15.6979ZM13.2083 8.55208V11.1042H5.04167V8.55208H13.2083Z" fill="black"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M19.0208 6.51042V6H20.0417V6.51042H28.2083V6H29.2292V6.51042H30.25V8.55208H29.2292V11.1042H30.25V13.1458H29.2292V15.6979H30.25V17.7396H29.2292V20.2917H30.25V22.3333H29.2292V24.8854H30.25V26.9271H29.2292V29.4792H30.25V31.5208H29.2292V34.0729H30.25V36.1146H29.2292V38.6667H30.25V40.7083H29.2292V43.2604H30.25V45.3021H29.2292V47.8542H30.25V49.8958H29.2292V52.4479H30.25V54.4896H29.2292V55H28.2083V54.4896H20.0417V55H19.0208V54.4896H18V52.4479H19.0208V49.8958H18V47.8542H19.0208V45.3021H18V43.2604H19.0208V40.7083H18V38.6667H19.0208V36.1146H18V34.0729H19.0208V31.5208H18V29.4792H19.0208V26.9271H18V24.8854H19.0208V22.3333H18V20.2917H19.0208V17.7396H18V15.6979H19.0208V13.1458H18V11.1042H19.0208V8.55208H18V6.51042H19.0208ZM20.0417 52.4479H28.2083V49.8958H20.0417V52.4479ZM28.2083 45.3021V47.8542H20.0417V45.3021H28.2083ZM20.0417 43.2604H28.2083V40.7083H20.0417V43.2604ZM28.2083 36.1146V38.6667H20.0417V36.1146H28.2083ZM20.0417 34.0729H28.2083V31.5208H20.0417V34.0729ZM28.2083 26.9271V29.4792H20.0417V26.9271H28.2083ZM20.0417 24.8854H28.2083V22.3333H20.0417V24.8854ZM28.2083 17.7396V20.2917H20.0417V17.7396H28.2083ZM20.0417 15.6979H28.2083V13.1458H20.0417V15.6979ZM28.2083 8.55208V11.1042H20.0417V8.55208H28.2083Z" fill="black"/>
<path d="M17.9286 26.5522L24.3571 9L7 30.9403H15.3571L9.57143 51L25 26.5522H17.9286Z" fill="#FFF500"/>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

+7
View File
@@ -0,0 +1,7 @@
<svg width="60" height="60" viewBox="0 0 60 60" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="60" height="60" fill="#898989"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.02083 6.51042V6H5.04167V6.51042H13.2083V6H14.2292V6.51042H15.25V8.55208H14.2292V11.1042H15.25V13.1458H14.2292V15.6979H15.25V17.7396H14.2292V20.2917H15.25V22.3333H14.2292V24.8854H15.25V26.9271H14.2292V29.4792H15.25V31.5208H14.2292V34.0729H15.25V36.1146H14.2292V38.6667H15.25V40.7083H14.2292V43.2604H15.25V45.3021H14.2292V47.8542H15.25V49.8958H14.2292V52.4479H15.25V54.4896H14.2292V55H13.2083V54.4896H5.04167V55H4.02083V54.4896H3V52.4479H4.02083V49.8958H3V47.8542H4.02083V45.3021H3V43.2604H4.02083V40.7083H3V38.6667H4.02083V36.1146H3V34.0729H4.02083V31.5208H3V29.4792H4.02083V26.9271H3V24.8854H4.02083V22.3333H3V20.2917H4.02083V17.7396H3V15.6979H4.02083V13.1458H3V11.1042H4.02083V8.55208H3V6.51042H4.02083ZM5.04167 52.4479H13.2083V49.8958H5.04167V52.4479ZM13.2083 45.3021V47.8542H5.04167V45.3021H13.2083ZM5.04167 43.2604H13.2083V40.7083H5.04167V43.2604ZM13.2083 36.1146V38.6667H5.04167V36.1146H13.2083ZM5.04167 34.0729H13.2083V31.5208H5.04167V34.0729ZM13.2083 26.9271V29.4792H5.04167V26.9271H13.2083ZM5.04167 24.8854H13.2083V22.3333H5.04167V24.8854ZM13.2083 17.7396V20.2917H5.04167V17.7396H13.2083ZM5.04167 15.6979H13.2083V13.1458H5.04167V15.6979ZM13.2083 8.55208V11.1042H5.04167V8.55208H13.2083Z" fill="black"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M19.0208 6.51042V6H20.0417V6.51042H28.2083V6H29.2292V6.51042H30.25V8.55208H29.2292V11.1042H30.25V13.1458H29.2292V15.6979H30.25V17.7396H29.2292V20.2917H30.25V22.3333H29.2292V24.8854H30.25V26.9271H29.2292V29.4792H30.25V31.5208H29.2292V34.0729H30.25V36.1146H29.2292V38.6667H30.25V40.7083H29.2292V43.2604H30.25V45.3021H29.2292V47.8542H30.25V49.8958H29.2292V52.4479H30.25V54.4896H29.2292V55H28.2083V54.4896H20.0417V55H19.0208V54.4896H18V52.4479H19.0208V49.8958H18V47.8542H19.0208V45.3021H18V43.2604H19.0208V40.7083H18V38.6667H19.0208V36.1146H18V34.0729H19.0208V31.5208H18V29.4792H19.0208V26.9271H18V24.8854H19.0208V22.3333H18V20.2917H19.0208V17.7396H18V15.6979H19.0208V13.1458H18V11.1042H19.0208V8.55208H18V6.51042H19.0208ZM20.0417 52.4479H28.2083V49.8958H20.0417V52.4479ZM28.2083 45.3021V47.8542H20.0417V45.3021H28.2083ZM20.0417 43.2604H28.2083V40.7083H20.0417V43.2604ZM28.2083 36.1146V38.6667H20.0417V36.1146H28.2083ZM20.0417 34.0729H28.2083V31.5208H20.0417V34.0729ZM28.2083 26.9271V29.4792H20.0417V26.9271H28.2083ZM20.0417 24.8854H28.2083V22.3333H20.0417V24.8854ZM28.2083 17.7396V20.2917H20.0417V17.7396H28.2083ZM20.0417 15.6979H28.2083V13.1458H20.0417V15.6979ZM28.2083 8.55208V11.1042H20.0417V8.55208H28.2083Z" fill="black"/>
<path d="M17.9286 26.5522L24.3571 9L7 30.9403H15.3571L9.57143 51L25 26.5522H17.9286Z" fill="#FFF500"/>
<path d="M8 13L24 48" stroke="#FF0000" stroke-width="2" stroke-linecap="round"/>
</svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

+6
View File
@@ -0,0 +1,6 @@
<svg width="60" height="60" viewBox="0 0 60 60" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="60" height="60" fill="#898989"/>
<rect x="25.6208" y="34.1208" width="13" height="20.4133" rx="5" transform="rotate(-30 25.6208 34.1208)" stroke="white" stroke-width="4"/>
<rect x="13.7321" y="14.2321" width="13" height="20.4133" rx="5" transform="rotate(-30 13.7321 14.2321)" stroke="white" stroke-width="4"/>
<path d="M28 25L33 34" stroke="white" stroke-width="3" stroke-linecap="round" stroke-linejoin="bevel"/>
</svg>

After

Width:  |  Height:  |  Size: 531 B

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 9.5 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.8 KiB

+4
View File
@@ -0,0 +1,4 @@
<svg width="60" height="60" viewBox="0 0 60 60" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="60" height="60" fill="#898989"/>
<path d="M18.992 25.492C18.92 25.612 18.84 25.704 18.752 25.768C18.672 25.824 18.572 25.852 18.452 25.852C18.316 25.852 18.156 25.784 17.972 25.648C17.788 25.512 17.556 25.364 17.276 25.204C17.004 25.036 16.672 24.884 16.28 24.748C15.896 24.612 15.428 24.544 14.876 24.544C14.356 24.544 13.896 24.616 13.496 24.76C13.104 24.896 12.772 25.084 12.5 25.324C12.236 25.564 12.036 25.848 11.9 26.176C11.764 26.496 11.696 26.844 11.696 27.22C11.696 27.7 11.812 28.1 12.044 28.42C12.284 28.732 12.596 29 12.98 29.224C13.372 29.448 13.812 29.644 14.3 29.812C14.796 29.972 15.3 30.14 15.812 30.316C16.332 30.492 16.836 30.692 17.324 30.916C17.82 31.132 18.26 31.408 18.644 31.744C19.036 32.08 19.348 32.492 19.58 32.98C19.82 33.468 19.94 34.068 19.94 34.78C19.94 35.532 19.812 36.24 19.556 36.904C19.3 37.56 18.924 38.132 18.428 38.62C17.94 39.108 17.336 39.492 16.616 39.772C15.904 40.052 15.092 40.192 14.18 40.192C13.06 40.192 12.044 39.992 11.132 39.592C10.22 39.184 9.44 38.636 8.792 37.948L9.464 36.844C9.528 36.756 9.604 36.684 9.692 36.628C9.788 36.564 9.892 36.532 10.004 36.532C10.108 36.532 10.224 36.576 10.352 36.664C10.488 36.744 10.64 36.848 10.808 36.976C10.976 37.104 11.168 37.244 11.384 37.396C11.6 37.548 11.844 37.688 12.116 37.816C12.396 37.944 12.712 38.052 13.064 38.14C13.416 38.22 13.812 38.26 14.252 38.26C14.804 38.26 15.296 38.184 15.728 38.032C16.16 37.88 16.524 37.668 16.82 37.396C17.124 37.116 17.356 36.784 17.516 36.4C17.676 36.016 17.756 35.588 17.756 35.116C17.756 34.596 17.636 34.172 17.396 33.844C17.164 33.508 16.856 33.228 16.472 33.004C16.088 32.78 15.648 32.592 15.152 32.44C14.656 32.28 14.152 32.12 13.64 31.96C13.128 31.792 12.624 31.6 12.128 31.384C11.632 31.168 11.192 30.888 10.808 30.544C10.424 30.2 10.112 29.772 9.872 29.26C9.64 28.74 9.524 28.1 9.524 27.34C9.524 26.732 9.64 26.144 9.872 25.576C10.112 25.008 10.456 24.504 10.904 24.064C11.36 23.624 11.916 23.272 12.572 23.008C13.236 22.744 13.996 22.612 14.852 22.612C15.812 22.612 16.684 22.764 17.468 23.068C18.26 23.372 18.956 23.812 19.556 24.388L18.992 25.492ZM28.3033 31.72C28.9673 31.72 29.5513 31.632 30.0553 31.456C30.5673 31.28 30.9953 31.036 31.3393 30.724C31.6913 30.404 31.9553 30.024 32.1313 29.584C32.3073 29.144 32.3953 28.66 32.3953 28.132C32.3953 27.036 32.0553 26.18 31.3753 25.564C30.7033 24.948 29.6793 24.64 28.3033 24.64H25.5433V31.72H28.3033ZM28.3033 22.804C29.3913 22.804 30.3353 22.932 31.1353 23.188C31.9433 23.436 32.6113 23.792 33.1393 24.256C33.6673 24.72 34.0593 25.28 34.3152 25.936C34.5793 26.592 34.7113 27.324 34.7113 28.132C34.7113 28.932 34.5713 29.664 34.2913 30.328C34.0113 30.992 33.5993 31.564 33.0553 32.044C32.5193 32.524 31.8513 32.9 31.0513 33.172C30.2593 33.436 29.3433 33.568 28.3033 33.568H25.5433V40H23.2273V22.804H28.3033ZM39.9573 30.34H40.8333C41.1373 30.34 41.3813 30.304 41.5653 30.232C41.7493 30.152 41.9173 30.02 42.0693 29.836L47.7933 23.356C47.9533 23.148 48.1213 23.004 48.2973 22.924C48.4733 22.844 48.6893 22.804 48.9453 22.804H50.9133L44.3613 30.208C44.2013 30.4 44.0453 30.56 43.8933 30.688C43.7493 30.808 43.5933 30.908 43.4253 30.988C43.6413 31.06 43.8373 31.168 44.0133 31.312C44.1893 31.448 44.3613 31.628 44.5293 31.852L51.3693 40H49.3533C49.2013 40 49.0693 39.992 48.9573 39.976C48.8533 39.952 48.7613 39.92 48.6813 39.88C48.6013 39.832 48.5293 39.78 48.4653 39.724C48.4093 39.66 48.3533 39.588 48.2973 39.508L42.3693 32.68C42.2093 32.48 42.0373 32.34 41.8533 32.26C41.6693 32.172 41.3893 32.128 41.0133 32.128H39.9573V40H37.6413V22.804H39.9573V30.34Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

+46
View File
@@ -0,0 +1,46 @@
<svg width="148" height="150" viewBox="0 0 148 150" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="warning-image">
<path id="bg" d="M0 150L74.5 0L148 150H74.2508H73.7492H0Z" fill="#F2E147"/>
<g id="signal">
<rect id="Rectangle 13" x="70" y="130" width="8" height="20" fill="#C4C4C4"/>
<rect id="Rectangle 12" x="59" y="47" width="31" height="90" rx="15.5" fill="#171616"/>
<circle id="Ellipse 8" cx="74" cy="63" r="7" fill="#393838"/>
<g id="Ellipse 9" filter="url(#filter0_d)">
<circle cx="74" cy="82" r="7" fill="#F40000"/>
</g>
<circle id="Ellipse 10" cx="74" cy="101" r="7" fill="#393838"/>
<circle id="Ellipse 13" cx="74" cy="120" r="7" fill="#393838"/>
<g id="anim-circle" filter="url(#filter1_d)">
<circle cx="74" cy="120" r="7" fill="#F40000"/>
<animate
attributeType="XML"
attributeName="opacity"
values="1;0;1"
dur="1.5s"
repeatCount="indefinite"
/>
</g>
</g>
</g>
<defs>
<filter id="filter0_d" x="62" y="70" width="24" height="24" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/>
<feOffset/>
<feGaussianBlur stdDeviation="2.5"/>
<feColorMatrix type="matrix" values="0 0 0 0 0.770833 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow" result="shape"/>
</filter>
<filter id="filter1_d" x="62" y="108" width="24" height="24" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/>
<feOffset/>
<feGaussianBlur stdDeviation="2.5"/>
<feColorMatrix type="matrix" values="0 0 0 0 0.770833 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow" result="shape"/>
</filter>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

+18
View File
@@ -0,0 +1,18 @@
<svg width="60" height="60" viewBox="0 0 60 60" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="60" height="60" fill="#898989"/>
<path d="M30.5 6.04878H35.2195" stroke="#BFBFBF"/>
<path d="M27.9024 4.00303C25.2115 4.10008 24.2403 6.24494 24 7.41767H32.0488C31.8486 6.16406 30.5934 3.90598 27.9024 4.00303Z" fill="black"/>
<path d="M33.0244 29.6688V5.47793V4.68292H34.4878V5.47793V56.5854H33.0244V32.5H27.5V28.5V28.0163L28.5 28V31.5L31.9268 31.5447H33.0244V29.6688Z" fill="#BFBFBF"/>
<path d="M28.1463 29.2683C30.8373 29.1712 31.8085 27.0264 32.0488 25.8537H24C24.2002 27.1073 25.4554 29.3654 28.1463 29.2683Z" fill="black"/>
<path d="M32.0488 25.8537V7.86993V7.41464H24V25.8537H32.0488Z" fill="black"/>
<path d="M25 26V29.5L33.8781 44.9756" stroke="black"/>
<rect x="33.0244" y="31.5447" width="1.46341" height="25.0407" fill="white"/>
<rect x="33.0244" y="31.5447" width="1.46341" height="5.69106" fill="#FF0000"/>
<rect x="33.0244" y="42.9268" width="1.46341" height="5.69106" fill="#FF0000"/>
<rect x="33.0244" y="54.3089" width="1.46341" height="5.69106" fill="#FF0000"/>
<ellipse cx="27.9024" cy="7.40022" rx="1.46341" ry="1.40022" fill="#212121"/>
<ellipse cx="27.9024" cy="11.8343" rx="1.46341" ry="1.40022" fill="#212121"/>
<ellipse cx="27.9024" cy="16.2683" rx="1.46341" ry="1.40022" fill="#FF0000"/>
<ellipse cx="27.9024" cy="20.7023" rx="1.46341" ry="1.40022" fill="#212121"/>
<ellipse cx="27.9024" cy="25.1364" rx="1.46341" ry="1.40022" fill="#212121"/>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

+10
View File
@@ -0,0 +1,10 @@
<svg width="60" height="60" viewBox="0 0 60 60" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="60" height="60" fill="#898989"/>
<path d="M12.4561 16.8624V11.525H41.0602V16.8624H12.4561Z" fill="#FF0000"/>
<path d="M13.9818 15.3374V13.05H40.6789V15.3374H13.9818Z" fill="white"/>
<ellipse cx="43.3485" cy="14.1937" rx="4.19527" ry="4.19367" fill="#FF0000"/>
<ellipse cx="43.3486" cy="14.1937" rx="2.66972" ry="2.6687" fill="white"/>
<rect x="18" y="16" width="3" height="44" fill="#FF0000"/>
<rect x="18" y="26" width="3" height="9" fill="white"/>
<rect x="18" y="44" width="3" height="9" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 622 B

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white" width="18px" height="18px"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M1 21h4V9H1v12zm22-11c0-1.1-.9-2-2-2h-6.31l.95-4.57.03-.32c0-.41-.17-.79-.44-1.06L14.17 1 7.59 7.59C7.22 7.95 7 8.45 7 9v10c0 1.1.9 2 2 2h9c.83 0 1.54-.5 1.84-1.22l3.02-7.05c.09-.23.14-.47.14-.73v-2z"/></svg>

After

Width:  |  Height:  |  Size: 356 B

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.9 KiB

+4
View File
@@ -0,0 +1,4 @@
<svg width="60" height="60" viewBox="0 0 60 60" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="60" height="60" fill="#898989"/>
<path d="M37.2076 8.103V21H35.6776V11.523C35.6776 11.397 35.6806 11.262 35.6866 11.118C35.6986 10.974 35.7106 10.827 35.7226 10.677L31.2946 18.741C31.1566 19.011 30.9466 19.146 30.6646 19.146H30.4126C30.1306 19.146 29.9206 19.011 29.7826 18.741L25.2646 10.641C25.3006 10.959 25.3186 11.253 25.3186 11.523V21H23.7886V8.103H25.0756C25.2316 8.103 25.3516 8.118 25.4356 8.148C25.5196 8.178 25.6006 8.262 25.6786 8.4L30.1336 16.338C30.2056 16.482 30.2746 16.632 30.3406 16.788C30.4126 16.944 30.4786 17.103 30.5386 17.265C30.5986 17.103 30.6616 16.944 30.7276 16.788C30.7936 16.626 30.8656 16.473 30.9436 16.329L35.3176 8.4C35.3896 8.262 35.4676 8.178 35.5516 8.148C35.6416 8.118 35.7646 8.103 35.9206 8.103H37.2076ZM34.8193 31.564H31.1473V35.434H29.8423V31.564H26.1883V30.349H29.8423V26.506H31.1473V30.349H34.8193V31.564ZM22.493 42.119C22.439 42.209 22.379 42.278 22.313 42.326C22.253 42.368 22.178 42.389 22.088 42.389C21.986 42.389 21.866 42.338 21.728 42.236C21.59 42.134 21.416 42.023 21.206 41.903C21.002 41.777 20.753 41.663 20.459 41.561C20.171 41.459 19.82 41.408 19.406 41.408C19.016 41.408 18.671 41.462 18.371 41.57C18.077 41.672 17.828 41.813 17.624 41.993C17.426 42.173 17.276 42.386 17.174 42.632C17.072 42.872 17.021 43.133 17.021 43.415C17.021 43.775 17.108 44.075 17.282 44.315C17.462 44.549 17.696 44.75 17.984 44.918C18.278 45.086 18.608 45.233 18.974 45.359C19.346 45.479 19.724 45.605 20.108 45.737C20.498 45.869 20.876 46.019 21.242 46.187C21.614 46.349 21.944 46.556 22.232 46.808C22.526 47.06 22.76 47.369 22.934 47.735C23.114 48.101 23.204 48.551 23.204 49.085C23.204 49.649 23.108 50.18 22.916 50.678C22.724 51.17 22.442 51.599 22.07 51.965C21.704 52.331 21.251 52.619 20.711 52.829C20.177 53.039 19.568 53.144 18.884 53.144C18.044 53.144 17.282 52.994 16.598 52.694C15.914 52.388 15.329 51.977 14.843 51.461L15.347 50.633C15.395 50.567 15.452 50.513 15.518 50.471C15.59 50.423 15.668 50.399 15.752 50.399C15.83 50.399 15.917 50.432 16.013 50.498C16.115 50.558 16.229 50.636 16.355 50.732C16.481 50.828 16.625 50.933 16.787 51.047C16.949 51.161 17.132 51.266 17.336 51.362C17.546 51.458 17.783 51.539 18.047 51.605C18.311 51.665 18.608 51.695 18.938 51.695C19.352 51.695 19.721 51.638 20.045 51.524C20.369 51.41 20.642 51.251 20.864 51.047C21.092 50.837 21.266 50.588 21.386 50.3C21.506 50.012 21.566 49.691 21.566 49.337C21.566 48.947 21.476 48.629 21.296 48.383C21.122 48.131 20.891 47.921 20.603 47.753C20.315 47.585 19.985 47.444 19.613 47.33C19.241 47.21 18.863 47.09 18.479 46.97C18.095 46.844 17.717 46.7 17.345 46.538C16.973 46.376 16.643 46.166 16.355 45.908C16.067 45.65 15.833 45.329 15.653 44.945C15.479 44.555 15.392 44.075 15.392 43.505C15.392 43.049 15.479 42.608 15.653 42.182C15.833 41.756 16.091 41.378 16.427 41.048C16.769 40.718 17.186 40.454 17.678 40.256C18.176 40.058 18.746 39.959 19.388 39.959C20.108 39.959 20.762 40.073 21.35 40.301C21.944 40.529 22.466 40.859 22.916 41.291L22.493 42.119ZM29.4765 46.79C29.9745 46.79 30.4125 46.724 30.7905 46.592C31.1745 46.46 31.4955 46.277 31.7535 46.043C32.0175 45.803 32.2155 45.518 32.3475 45.188C32.4795 44.858 32.5455 44.495 32.5455 44.099C32.5455 43.277 32.2905 42.635 31.7805 42.173C31.2765 41.711 30.5085 41.48 29.4765 41.48H27.4065V46.79H29.4765ZM29.4765 40.103C30.2925 40.103 31.0005 40.199 31.6005 40.391C32.2065 40.577 32.7075 40.844 33.1035 41.192C33.4995 41.54 33.7935 41.96 33.9855 42.452C34.1835 42.944 34.2825 43.493 34.2825 44.099C34.2825 44.699 34.1775 45.248 33.9675 45.746C33.7575 46.244 33.4485 46.673 33.0405 47.033C32.6385 47.393 32.1375 47.675 31.5375 47.879C30.9435 48.077 30.2565 48.176 29.4765 48.176H27.4065V53H25.6695V40.103H29.4765ZM38.217 45.755H38.874C39.102 45.755 39.285 45.728 39.423 45.674C39.561 45.614 39.687 45.515 39.801 45.377L44.094 40.517C44.214 40.361 44.34 40.253 44.472 40.193C44.604 40.133 44.766 40.103 44.958 40.103H46.434L41.52 45.656C41.4 45.8 41.283 45.92 41.169 46.016C41.061 46.106 40.944 46.181 40.818 46.241C40.98 46.295 41.127 46.376 41.259 46.484C41.391 46.586 41.52 46.721 41.646 46.889L46.776 53H45.264C45.15 53 45.051 52.994 44.967 52.982C44.889 52.964 44.82 52.94 44.76 52.91C44.7 52.874 44.646 52.835 44.598 52.793C44.556 52.745 44.514 52.691 44.472 52.631L40.026 47.51C39.906 47.36 39.777 47.255 39.639 47.195C39.501 47.129 39.291 47.096 39.009 47.096H38.217V53H36.48V40.103H38.217V45.755Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 4.4 KiB

+4
View File
@@ -0,0 +1,4 @@
<svg width="60" height="60" viewBox="0 0 60 60" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="60" height="60" fill="#898989"/>
<path d="M39.088 22.804V40H37.048V27.364C37.048 27.196 37.052 27.016 37.06 26.824C37.076 26.632 37.092 26.436 37.108 26.236L31.204 36.988C31.02 37.348 30.74 37.528 30.364 37.528H30.028C29.652 37.528 29.372 37.348 29.188 36.988L23.164 26.188C23.212 26.612 23.236 27.004 23.236 27.364V40H21.196V22.804H22.912C23.12 22.804 23.28 22.824 23.392 22.864C23.504 22.904 23.612 23.016 23.716 23.2L29.656 33.784C29.752 33.976 29.844 34.176 29.932 34.384C30.028 34.592 30.116 34.804 30.196 35.02C30.276 34.804 30.36 34.592 30.448 34.384C30.536 34.168 30.632 33.964 30.736 33.772L36.568 23.2C36.664 23.016 36.768 22.904 36.88 22.864C37 22.824 37.164 22.804 37.372 22.804H39.088Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 831 B

+26
View File
@@ -0,0 +1,26 @@
<svg width="60" height="60" viewBox="0 0 60 60" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="60" height="60" fill="#898989"/>
<path d="M14 13.2939V10.732H27.1007V13.2939H14Z" fill="#FF0000"/>
<path d="M14.6987 12.562V11.464H26.926V12.562H14.6987Z" fill="white"/>
<ellipse cx="28.1487" cy="12.013" rx="1.92143" ry="2.01296" fill="#FF0000"/>
<ellipse cx="28.1487" cy="12.013" rx="1.22273" ry="1.28098" fill="white"/>
<rect x="16.5391" y="12.88" width="1.374" height="21.12" fill="#FF0000"/>
<rect x="16.5391" y="17.68" width="1.374" height="4.32" fill="white"/>
<rect x="16.5391" y="26.32" width="1.374" height="4.32" fill="white"/>
<path d="M45.3661 27.061H47.8101" stroke="#BFBFBF"/>
<path d="M44.0209 26.0016C42.6274 26.0518 42.1244 27.1626 42 27.7699H46.1681C46.0644 27.1207 45.4144 25.9513 44.0209 26.0016Z" fill="black"/>
<path d="M46.6734 39.2928V26.7654V26.3537H47.4312V26.7654V53.2317H46.6734V40.7589H43.8125V38.6875V38.437L44.3304 38.4286V40.2411L46.105 40.2642H46.6734V39.2928Z" fill="#BFBFBF"/>
<path d="M44.1472 39.0854C45.5407 39.0351 46.0437 37.9244 46.1681 37.3171H42C42.1037 37.9663 42.7537 39.1356 44.1472 39.0854Z" fill="black"/>
<path d="M46.1681 37.3171V28.0041V27.7683H42V37.3171H46.1681Z" fill="black"/>
<path d="M42.5179 37.3929V39.2054L47.1154 47.2195" stroke="black"/>
<rect x="46.6733" y="40.2642" width="0.75784" height="12.9675" fill="white"/>
<rect x="46.6733" y="40.2642" width="0.75784" height="2.94715" fill="#FF0000"/>
<rect x="46.6733" y="46.1585" width="0.75784" height="2.94715" fill="#FF0000"/>
<rect x="46.6733" y="52.0529" width="0.75784" height="2.94715" fill="#FF0000"/>
<ellipse cx="44.0209" cy="27.7608" rx="0.75784" ry="0.725115" fill="#212121"/>
<ellipse cx="44.0209" cy="30.057" rx="0.75784" ry="0.725115" fill="#212121"/>
<ellipse cx="44.0209" cy="32.3532" rx="0.75784" ry="0.725115" fill="#FF0000"/>
<ellipse cx="44.0209" cy="34.6494" rx="0.75784" ry="0.725115" fill="#212121"/>
<ellipse cx="44.0209" cy="36.9456" rx="0.75784" ry="0.725115" fill="#212121"/>
<path d="M14.2883 47.7888L46.4617 15.6154" stroke="white"/>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

+4
View File
@@ -0,0 +1,4 @@
<svg width="60" height="60" viewBox="0 0 60 60" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="60" height="60" fill="#898989"/>
<path d="M30.0774 14.349C30.5814 14.349 31.0254 14.289 31.4094 14.169C31.7994 14.043 32.1234 13.869 32.3814 13.647C32.6454 13.419 32.8434 13.149 32.9754 12.837C33.1074 12.525 33.1734 12.18 33.1734 11.802C33.1734 11.034 32.9214 10.455 32.4174 10.065C31.9134 9.675 31.1574 9.48 30.1494 9.48H28.2414V14.349H30.0774ZM36.0354 21H34.4874C34.1694 21 33.9354 20.877 33.7854 20.631L30.4374 16.023C30.3354 15.879 30.2244 15.777 30.1044 15.717C29.9904 15.651 29.8104 15.618 29.5644 15.618H28.2414V21H26.5044V8.103H30.1494C30.9654 8.103 31.6704 8.187 32.2644 8.355C32.8584 8.517 33.3474 8.754 33.7314 9.066C34.1214 9.378 34.4094 9.756 34.5954 10.2C34.7814 10.638 34.8744 11.13 34.8744 11.676C34.8744 12.132 34.8024 12.558 34.6584 12.954C34.5144 13.35 34.3044 13.707 34.0284 14.025C33.7584 14.337 33.4254 14.604 33.0294 14.826C32.6394 15.048 32.1954 15.216 31.6974 15.33C31.9194 15.456 32.1114 15.639 32.2734 15.879L36.0354 21ZM34.8193 31.564H31.1473V35.434H29.8423V31.564H26.1883V30.349H29.8423V26.506H31.1473V30.349H34.8193V31.564ZM22.493 42.119C22.439 42.209 22.379 42.278 22.313 42.326C22.253 42.368 22.178 42.389 22.088 42.389C21.986 42.389 21.866 42.338 21.728 42.236C21.59 42.134 21.416 42.023 21.206 41.903C21.002 41.777 20.753 41.663 20.459 41.561C20.171 41.459 19.82 41.408 19.406 41.408C19.016 41.408 18.671 41.462 18.371 41.57C18.077 41.672 17.828 41.813 17.624 41.993C17.426 42.173 17.276 42.386 17.174 42.632C17.072 42.872 17.021 43.133 17.021 43.415C17.021 43.775 17.108 44.075 17.282 44.315C17.462 44.549 17.696 44.75 17.984 44.918C18.278 45.086 18.608 45.233 18.974 45.359C19.346 45.479 19.724 45.605 20.108 45.737C20.498 45.869 20.876 46.019 21.242 46.187C21.614 46.349 21.944 46.556 22.232 46.808C22.526 47.06 22.76 47.369 22.934 47.735C23.114 48.101 23.204 48.551 23.204 49.085C23.204 49.649 23.108 50.18 22.916 50.678C22.724 51.17 22.442 51.599 22.07 51.965C21.704 52.331 21.251 52.619 20.711 52.829C20.177 53.039 19.568 53.144 18.884 53.144C18.044 53.144 17.282 52.994 16.598 52.694C15.914 52.388 15.329 51.977 14.843 51.461L15.347 50.633C15.395 50.567 15.452 50.513 15.518 50.471C15.59 50.423 15.668 50.399 15.752 50.399C15.83 50.399 15.917 50.432 16.013 50.498C16.115 50.558 16.229 50.636 16.355 50.732C16.481 50.828 16.625 50.933 16.787 51.047C16.949 51.161 17.132 51.266 17.336 51.362C17.546 51.458 17.783 51.539 18.047 51.605C18.311 51.665 18.608 51.695 18.938 51.695C19.352 51.695 19.721 51.638 20.045 51.524C20.369 51.41 20.642 51.251 20.864 51.047C21.092 50.837 21.266 50.588 21.386 50.3C21.506 50.012 21.566 49.691 21.566 49.337C21.566 48.947 21.476 48.629 21.296 48.383C21.122 48.131 20.891 47.921 20.603 47.753C20.315 47.585 19.985 47.444 19.613 47.33C19.241 47.21 18.863 47.09 18.479 46.97C18.095 46.844 17.717 46.7 17.345 46.538C16.973 46.376 16.643 46.166 16.355 45.908C16.067 45.65 15.833 45.329 15.653 44.945C15.479 44.555 15.392 44.075 15.392 43.505C15.392 43.049 15.479 42.608 15.653 42.182C15.833 41.756 16.091 41.378 16.427 41.048C16.769 40.718 17.186 40.454 17.678 40.256C18.176 40.058 18.746 39.959 19.388 39.959C20.108 39.959 20.762 40.073 21.35 40.301C21.944 40.529 22.466 40.859 22.916 41.291L22.493 42.119ZM29.4765 46.79C29.9745 46.79 30.4125 46.724 30.7905 46.592C31.1745 46.46 31.4955 46.277 31.7535 46.043C32.0175 45.803 32.2155 45.518 32.3475 45.188C32.4795 44.858 32.5455 44.495 32.5455 44.099C32.5455 43.277 32.2905 42.635 31.7805 42.173C31.2765 41.711 30.5085 41.48 29.4765 41.48H27.4065V46.79H29.4765ZM29.4765 40.103C30.2925 40.103 31.0005 40.199 31.6005 40.391C32.2065 40.577 32.7075 40.844 33.1035 41.192C33.4995 41.54 33.7935 41.96 33.9855 42.452C34.1835 42.944 34.2825 43.493 34.2825 44.099C34.2825 44.699 34.1775 45.248 33.9675 45.746C33.7575 46.244 33.4485 46.673 33.0405 47.033C32.6385 47.393 32.1375 47.675 31.5375 47.879C30.9435 48.077 30.2565 48.176 29.4765 48.176H27.4065V53H25.6695V40.103H29.4765ZM38.217 45.755H38.874C39.102 45.755 39.285 45.728 39.423 45.674C39.561 45.614 39.687 45.515 39.801 45.377L44.094 40.517C44.214 40.361 44.34 40.253 44.472 40.193C44.604 40.133 44.766 40.103 44.958 40.103H46.434L41.52 45.656C41.4 45.8 41.283 45.92 41.169 46.016C41.061 46.106 40.944 46.181 40.818 46.241C40.98 46.295 41.127 46.376 41.259 46.484C41.391 46.586 41.52 46.721 41.646 46.889L46.776 53H45.264C45.15 53 45.051 52.994 44.967 52.982C44.889 52.964 44.82 52.94 44.76 52.91C44.7 52.874 44.646 52.835 44.598 52.793C44.556 52.745 44.514 52.691 44.472 52.631L40.026 47.51C39.906 47.36 39.777 47.255 39.639 47.195C39.501 47.129 39.291 47.096 39.009 47.096H38.217V53H36.48V40.103H38.217V45.755Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 4.6 KiB

+4
View File
@@ -0,0 +1,4 @@
<svg width="60" height="60" viewBox="0 0 60 60" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="60" height="60" fill="#898989"/>
<path d="M28.96 31.132C29.632 31.132 30.224 31.052 30.736 30.892C31.256 30.724 31.688 30.492 32.032 30.196C32.384 29.892 32.648 29.532 32.824 29.116C33 28.7 33.088 28.24 33.088 27.736C33.088 26.712 32.752 25.94 32.08 25.42C31.408 24.9 30.4 24.64 29.056 24.64H26.512V31.132H28.96ZM36.904 40H34.84C34.416 40 34.104 39.836 33.904 39.508L29.44 33.364C29.304 33.172 29.156 33.036 28.996 32.956C28.844 32.868 28.604 32.824 28.276 32.824H26.512V40H24.196V22.804H29.056C30.144 22.804 31.084 22.916 31.876 23.14C32.668 23.356 33.32 23.672 33.832 24.088C34.352 24.504 34.736 25.008 34.984 25.6C35.232 26.184 35.356 26.84 35.356 27.568C35.356 28.176 35.26 28.744 35.068 29.272C34.876 29.8 34.596 30.276 34.228 30.7C33.868 31.116 33.424 31.472 32.896 31.768C32.376 32.064 31.784 32.288 31.12 32.44C31.416 32.608 31.672 32.852 31.888 33.172L36.904 40Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 1004 B

+6
View File
@@ -0,0 +1,6 @@
<svg width="60" height="60" viewBox="0 0 60 60" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="60" height="60" fill="#898989"/>
<rect x="8" y="8" width="44" height="44" rx="7" fill="#C4C4C4"/>
<path d="M23.539 25.975H19.615V37H17.194V25.975H13.27V23.986H23.539V25.975ZM46.3153 34.93C46.5553 34.93 46.7443 34.999 46.8823 35.137C47.0263 35.269 47.0983 35.446 47.0983 35.668V37H38.1703V36.262C38.1703 36.112 38.2003 35.956 38.2603 35.794C38.3263 35.626 38.4283 35.476 38.5663 35.344L42.5173 31.384C42.8473 31.048 43.1413 30.727 43.3993 30.421C43.6633 30.115 43.8823 29.812 44.0563 29.512C44.2303 29.212 44.3623 28.909 44.4523 28.603C44.5483 28.291 44.5963 27.964 44.5963 27.622C44.5963 27.31 44.5513 27.037 44.4613 26.803C44.3713 26.563 44.2423 26.362 44.0743 26.2C43.9123 26.038 43.7143 25.918 43.4803 25.84C43.2523 25.756 42.9943 25.714 42.7063 25.714C42.4423 25.714 42.1963 25.753 41.9683 25.831C41.7463 25.903 41.5483 26.008 41.3743 26.146C41.2003 26.278 41.0533 26.434 40.9333 26.614C40.8133 26.794 40.7233 26.992 40.6633 27.208C40.5613 27.484 40.4293 27.667 40.2673 27.757C40.1053 27.847 39.8713 27.868 39.5653 27.82L38.3953 27.613C38.4853 26.989 38.6593 26.443 38.9173 25.975C39.1753 25.501 39.4963 25.108 39.8803 24.796C40.2703 24.478 40.7143 24.241 41.2123 24.085C41.7163 23.923 42.2563 23.842 42.8323 23.842C43.4323 23.842 43.9813 23.932 44.4793 24.112C44.9773 24.286 45.4033 24.535 45.7573 24.859C46.1113 25.183 46.3873 25.573 46.5853 26.029C46.7833 26.485 46.8823 26.992 46.8823 27.55C46.8823 28.03 46.8103 28.474 46.6663 28.882C46.5283 29.29 46.3393 29.68 46.0993 30.052C45.8653 30.424 45.5893 30.784 45.2713 31.132C44.9533 31.48 44.6203 31.834 44.2723 32.194L41.3383 35.191C41.6203 35.107 41.8993 35.044 42.1753 35.002C42.4573 34.954 42.7243 34.93 42.9763 34.93H46.3153Z" fill="black"/>
<path d="M36.798 30.493C36.798 31.447 36.639 32.323 36.321 33.121C36.003 33.919 35.556 34.606 34.98 35.182C34.404 35.758 33.711 36.205 32.901 36.523C32.091 36.841 31.191 37 30.201 37H25.242V23.986H30.201C31.191 23.986 32.091 24.148 32.901 24.472C33.711 24.79 34.404 25.237 34.98 25.813C35.556 26.383 36.003 27.067 36.321 27.865C36.639 28.663 36.798 29.539 36.798 30.493ZM34.314 30.493C34.314 29.779 34.218 29.14 34.026 28.576C33.84 28.006 33.567 27.526 33.207 27.136C32.853 26.74 32.421 26.437 31.911 26.227C31.407 26.017 30.837 25.912 30.201 25.912H27.672V35.074H30.201C30.837 35.074 31.407 34.969 31.911 34.759C32.421 34.549 32.853 34.249 33.207 33.859C33.567 33.463 33.84 32.983 34.026 32.419C34.218 31.849 34.314 31.207 34.314 30.493Z" fill="#FF0000"/>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

+18
View File
@@ -0,0 +1,18 @@
<svg width="60" height="60" viewBox="0 0 60 60" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="60" height="60" fill="#898989"/>
<path d="M30.5 6.04878H35.2195" stroke="#BFBFBF"/>
<path d="M27.9024 4.00303C25.2115 4.10008 24.2403 6.24494 24 7.41767H32.0488C31.8486 6.16406 30.5934 3.90598 27.9024 4.00303Z" fill="black"/>
<path d="M33.0244 29.6688V5.47793V4.68292H34.4878V5.47793V56.5854H33.0244V32.5H27.5V28.5V28.0163L28.5 28V31.5L31.9268 31.5447H33.0244V29.6688Z" fill="#BFBFBF"/>
<path d="M28.1463 29.2683C30.8373 29.1712 31.8085 27.0264 32.0488 25.8537H24C24.2002 27.1073 25.4554 29.3654 28.1463 29.2683Z" fill="black"/>
<path d="M32.0488 25.8537V7.86993V7.41464H24V25.8537H32.0488Z" fill="black"/>
<path d="M25 26V29.5L33.8781 44.9756" stroke="black"/>
<rect x="33.0244" y="31.5447" width="1.46341" height="25.0407" fill="white"/>
<rect x="33.0244" y="31.5447" width="1.46341" height="5.69106" fill="#FF0000"/>
<rect x="33.0244" y="42.9268" width="1.46341" height="5.69106" fill="#FF0000"/>
<rect x="33.0244" y="54.3089" width="1.46341" height="5.69106" fill="#FF0000"/>
<ellipse cx="27.9024" cy="7.40022" rx="1.46341" ry="1.40022" fill="#212121"/>
<ellipse cx="27.9024" cy="11.8343" rx="1.46341" ry="1.40022" fill="#212121"/>
<ellipse cx="27.9024" cy="16.2683" rx="1.46341" ry="1.40022" fill="#FF0000"/>
<ellipse cx="27.9024" cy="20.7023" rx="1.46341" ry="1.40022" fill="#212121"/>
<ellipse cx="27.9024" cy="25.1364" rx="1.46341" ry="1.40022" fill="#212121"/>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

+38
View File
@@ -0,0 +1,38 @@
<template>
<div class="error">
<img src="@/assets/icon-error.svg" alt="Error" />
<div>Mechaniku, brak przejazdu!</div>
<div class="error-message">{{ error }}</div>
</div>
</template>
<script>
export default {
props: ["error"]
};
</script>
<style lang="scss" scoped>
.error {
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
font-size: calc(1rem + 1.5vw);
font-weight: 550;
color: #ff1919;
img {
margin-bottom: 1rem;
width: 200px;
}
&-message {
font-size: 0.6em;
}
}
</style>
+20
View File
@@ -0,0 +1,20 @@
<template>
<div class="loading">Pobieranie danych o sceneriach...</div>
</template>
<script lang="ts">
import Vue from "vue";
export default Vue.extend({});
</script>
<style lang="scss" scoped>
.loading {
display: flex;
justify-content: center;
align-items: center;
font-size: calc(0.75rem + 1vw);
color: #fdc62f;
}
</style>
+11
View File
@@ -0,0 +1,11 @@
<template></template>
<script lang="ts">
import Vue from "vue";
export default Vue.extend({
name: "Card"
});
</script>
<style lang="scss" scoped>
</style>
+11
View File
@@ -0,0 +1,11 @@
<template></template>
<script lang="ts">
import Vue from "vue";
export default Vue.extend({
name: "List"
});
</script>
<style lang="scss" scoped>
</style>
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1,7 +1,7 @@
import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import store from './store/stations'
Vue.config.productionTip = false
+4
View File
@@ -5,11 +5,15 @@ Vue.use(Vuex)
export default new Vuex.Store({
state: {
},
mutations: {
},
actions: {
},
modules: {
}
})
+97
View File
@@ -0,0 +1,97 @@
import Vue from 'vue'
import Vuex from 'vuex'
import data from '@/data/stations.json';
Vue.use(Vuex)
export default new Vuex.Store({
state: {
stations: [],
trainCount: 0,
connectionState: 0,
errorMessage: ""
},
actions: {
fetchStations: async ({ commit }) => {
let onlineStations, statusList: any, onlineTrains: any
try {
onlineStations = (await (await fetch('https://api.td2.info.pl:9640/?method=getStationsOnline')).json()).message
statusList = (await (await fetch('https://api.td2.info.pl:9640/?method=readFromSWDR&value=getDispatcherStatusList%3B1')).json()).message
onlineTrains = (await (await fetch('https://api.td2.info.pl:9640/?method=getTrainsOnline')).json()).message
} catch (error) {
commit('setConnectionState', 1);
commit('setErrorMessage', error.message);
throw Error(error.message);
}
commit('setTrainCount', onlineTrains.filter((train: any) => train.isOnline && train.region === 'eu').length);
const mappedStations = onlineStations
.filter((station: any) => station.region === 'eu')
.filter((station: any) => station.isOnline)
.map((
{ stationName = '', stationHash = '', maxUsers = 0, currentUsers = 0, spawnString = '',
dispatcherRate = 0, dispatcherName = '', dispatcherExp = 0, dispatcherId = 0 }) => {
const status = statusList.find((s: any) => s[0] === stationHash && s[1] === 'eu')
let occupiedTo: string = "---"
let occupiedTimestamp: number = 0
if (!status)
occupiedTo = "NIEZALOGOWANY";
else {
let occupiedCode: number = status[2];
occupiedTimestamp = status[3];
occupiedTo = "NIEDOSTĘPNY";
if (occupiedCode === 0) {
if (occupiedTimestamp - Date.now() > 21000000)
occupiedTo = "BEZ LIMITU";
else
occupiedTo = new Date(status[3])
.toLocaleTimeString('en-US',
{ hour12: false, hour: '2-digit', minute: '2-digit' });
}
if (occupiedCode === 2 && occupiedTimestamp === 0)
occupiedTo = "KOŃCZY";
}
const trains: {} = onlineTrains.filter((train: any) =>
train.region === 'eu' && train.isOnline === 1 && train.station.stationName === stationName)
const stationData: {} = data.find((station: any) => station.stationName === stationName) || { stationName, stationURL: "" }
return {
...stationData,
stationHash,
maxUsers,
currentUsers,
spawnString: spawnString && spawnString.split(';').map(v => v.split(',')[6] ? v.split(',')[6] : v.split(',')[0]),
dispatcherName,
dispatcherRate,
dispatcherId,
dispatcherExp: dispatcherExp < 2 ? 'L' : dispatcherExp,
occupiedTo,
trains
}
})
commit('setStations', mappedStations);
commit('setConnectionState', 2);
}
},
mutations: {
setStations: (state, stations) => state.stations = stations,
setTrainCount: (state, count) => state.trainCount = count,
setConnectionState: (state, connState) => state.connectionState = connState,
setErrorMessage: (state, message) => state.errorMessage = message
},
getters: {
getStations: state => state.stations,
getTrainCount: state => state.trainCount
}
})
+11
View File
@@ -0,0 +1,11 @@
@mixin midScreen() {
@media only screen and (min-width: 850px) {
@content;
}
}
@mixin bigScreen() {
@media only screen and (min-width: 1600px) {
@content;
}
}
+10
View File
@@ -0,0 +1,10 @@
$primaryCol: #333;
$secondaryCol: #fdad17;
$bgCol: #525252;
$errorCol: #ff1919;
$warningCol: #ff975b;
$accentCol: #ffbb00;
$accent2Col: #ff3d5d;
+10 -4
View File
@@ -2,8 +2,14 @@
<div class="home">Hello Vue!</div>
</template>
<script>
export default {
name: "Home"
};
<script lang="ts">
import { Vue, Component } from "vue-property-decorator";
@Component
export default class Home extends Vue {
mounted() {}
}
</script>
<style lang="scss" scoped>
</style>