♻️ Move from .vue files to Lucide for icons
This commit is contained in:
10
package-lock.json
generated
10
package-lock.json
generated
@ -7,8 +7,10 @@
|
|||||||
"": {
|
"": {
|
||||||
"name": "timetable-v2",
|
"name": "timetable-v2",
|
||||||
"version": "0.0.0",
|
"version": "0.0.0",
|
||||||
|
"license": "GPL-3.0-or-later",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"dayjs": "^1.11.3",
|
"dayjs": "^1.11.3",
|
||||||
|
"lucide-vue-next": "^0.233.0",
|
||||||
"swiper": "^9.3.2",
|
"swiper": "^9.3.2",
|
||||||
"vite-plugin-git-revision": "^0.1.9",
|
"vite-plugin-git-revision": "^0.1.9",
|
||||||
"vue": "^3.2.37",
|
"vue": "^3.2.37",
|
||||||
@ -4417,6 +4419,14 @@
|
|||||||
"node": ">=10"
|
"node": ">=10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/lucide-vue-next": {
|
||||||
|
"version": "0.233.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/lucide-vue-next/-/lucide-vue-next-0.233.0.tgz",
|
||||||
|
"integrity": "sha512-cZbLMXQLMLy5i9ax/6wc0IP9gknAhWfLNdlBzUaRmmG3pUCDvGhTy86pu2/G1mGo94S+wSc6ILcqgvo4Qys2aw==",
|
||||||
|
"peerDependencies": {
|
||||||
|
"vue": ">=3.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/magic-string": {
|
"node_modules/magic-string": {
|
||||||
"version": "0.30.0",
|
"version": "0.30.0",
|
||||||
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz",
|
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz",
|
||||||
|
@ -11,6 +11,7 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"dayjs": "^1.11.3",
|
"dayjs": "^1.11.3",
|
||||||
|
"lucide-vue-next": "^0.233.0",
|
||||||
"swiper": "^9.3.2",
|
"swiper": "^9.3.2",
|
||||||
"vite-plugin-git-revision": "^0.1.9",
|
"vite-plugin-git-revision": "^0.1.9",
|
||||||
"vue": "^3.2.37",
|
"vue": "^3.2.37",
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
<script setup>
|
<script setup>
|
||||||
import CalendarIcon from "./icons/calendar-icon.vue";
|
import { CalendarIcon, BellIcon, ClockIcon } from "lucide-vue-next";
|
||||||
import BellIcon from "./icons/bell-icon.vue";
|
|
||||||
import ClockIcon from "./icons/clock-icon.vue";
|
|
||||||
import { RouterLink } from "vue-router";
|
import { RouterLink } from "vue-router";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@ -9,19 +7,19 @@ import { RouterLink } from "vue-router";
|
|||||||
<div class="bottomnav">
|
<div class="bottomnav">
|
||||||
<div class="entry">
|
<div class="entry">
|
||||||
<RouterLink to="/timetable">
|
<RouterLink to="/timetable">
|
||||||
<CalendarIcon class="icon" />
|
<CalendarIcon size="30" class="icon" />
|
||||||
<span class="title">{{ $t("title.timetable") }}</span>
|
<span class="title">{{ $t("title.timetable") }}</span>
|
||||||
</RouterLink>
|
</RouterLink>
|
||||||
</div>
|
</div>
|
||||||
<div class="entry">
|
<div class="entry">
|
||||||
<RouterLink to="/substitutions">
|
<RouterLink to="/substitutions">
|
||||||
<BellIcon class="icon" />
|
<BellIcon size="30" class="icon" />
|
||||||
<span class="title">{{ $t("title.substitutions") }}</span>
|
<span class="title">{{ $t("title.substitutions") }}</span>
|
||||||
</RouterLink>
|
</RouterLink>
|
||||||
</div>
|
</div>
|
||||||
<div class="entry">
|
<div class="entry">
|
||||||
<RouterLink to="/history">
|
<RouterLink to="/history">
|
||||||
<ClockIcon class="icon" />
|
<ClockIcon size="30" class="icon" />
|
||||||
<span class="title">{{ $t("title.history") }}</span>
|
<span class="title">{{ $t("title.history") }}</span>
|
||||||
</RouterLink>
|
</RouterLink>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<script setup>
|
<script setup>
|
||||||
import { selectedDate, selectedDay, changeDay, changeDate } from "../store";
|
import { selectedDate, selectedDay, changeDay, changeDate } from "../store";
|
||||||
import ArrowIcon from "./icons/arrow-icon.vue";
|
import { ArrowLeftIcon, ArrowRightIcon } from "lucide-vue-next";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
import { getDateSkippingWeekend } from "../util";
|
import { getDateSkippingWeekend } from "../util";
|
||||||
|
|
||||||
@ -17,7 +17,7 @@ const dayNames = [
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="selector">
|
<div class="selector">
|
||||||
<ArrowIcon @click="changeDay--" />
|
<ArrowLeftIcon @click="changeDay--" />
|
||||||
<span
|
<span
|
||||||
class="day"
|
class="day"
|
||||||
@click="changeDate = getDateSkippingWeekend(dayjs().toDate(), true)"
|
@click="changeDate = getDateSkippingWeekend(dayjs().toDate(), true)"
|
||||||
@ -25,7 +25,7 @@ const dayNames = [
|
|||||||
{{ $t(dayNames[selectedDay + 1]) }},
|
{{ $t(dayNames[selectedDay + 1]) }},
|
||||||
{{ dayjs(selectedDate).format("DD.MM.YYYY") }}
|
{{ dayjs(selectedDate).format("DD.MM.YYYY") }}
|
||||||
</span>
|
</span>
|
||||||
<ArrowIcon style="transform: rotate(180deg)" @click="changeDay++" />
|
<ArrowRightIcon @click="changeDay++" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -4,8 +4,7 @@ import { getSubstitutionText } from "../util";
|
|||||||
import { computed } from "vue";
|
import { computed } from "vue";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
import InfoCard from "./info-card.vue";
|
import InfoCard from "./info-card.vue";
|
||||||
import ClockIconBig from "./icons/clock-icon-big.vue";
|
import { ClockIcon, AlarmClockOffIcon } from "lucide-vue-next";
|
||||||
import ClockOffIcon from "./icons/clock-off-icon.vue";
|
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
date: {
|
date: {
|
||||||
@ -27,13 +26,13 @@ const chars = {
|
|||||||
<template>
|
<template>
|
||||||
<InfoCard
|
<InfoCard
|
||||||
v-show="typeof historyOfDate == 'undefined'"
|
v-show="typeof historyOfDate == 'undefined'"
|
||||||
:icon="ClockIconBig"
|
:icon="ClockIcon"
|
||||||
:title="$t('infoCard.titles.loading')"
|
:title="$t('infoCard.titles.loading')"
|
||||||
:text="$t('infoCard.texts.loading')"
|
:text="$t('infoCard.texts.loading')"
|
||||||
/>
|
/>
|
||||||
<InfoCard
|
<InfoCard
|
||||||
v-show="typeof historyOfDate == 'object' && historyOfDate.length == 0"
|
v-show="typeof historyOfDate == 'object' && historyOfDate.length == 0"
|
||||||
:icon="ClockOffIcon"
|
:icon="AlarmClockOffIcon"
|
||||||
:title="$t('infoCard.titles.noHistory')"
|
:title="$t('infoCard.titles.noHistory')"
|
||||||
:text="$t('infoCard.texts.noHistory')"
|
:text="$t('infoCard.texts.noHistory')"
|
||||||
/>
|
/>
|
||||||
|
@ -1,19 +0,0 @@
|
|||||||
<!-- From https://github.com/feathericons/feather -->
|
|
||||||
|
|
||||||
<template>
|
|
||||||
<svg
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
width="24"
|
|
||||||
height="24"
|
|
||||||
viewBox="0 0 24 24"
|
|
||||||
fill="none"
|
|
||||||
stroke="currentColor"
|
|
||||||
stroke-width="2"
|
|
||||||
stroke-linecap="round"
|
|
||||||
stroke-linejoin="round"
|
|
||||||
class="feather feather-arrow-left"
|
|
||||||
>
|
|
||||||
<line x1="19" y1="12" x2="5" y2="12"></line>
|
|
||||||
<polyline points="12 19 5 12 12 5"></polyline>
|
|
||||||
</svg>
|
|
||||||
</template>
|
|
@ -1,19 +0,0 @@
|
|||||||
<!-- From https://github.com/feathericons/feather -->
|
|
||||||
|
|
||||||
<template>
|
|
||||||
<svg
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
width="30"
|
|
||||||
height="30"
|
|
||||||
viewBox="0 0 24 24"
|
|
||||||
fill="none"
|
|
||||||
stroke="currentColor"
|
|
||||||
stroke-width="2"
|
|
||||||
stroke-linecap="round"
|
|
||||||
stroke-linejoin="round"
|
|
||||||
class="feather feather-bell"
|
|
||||||
>
|
|
||||||
<path d="M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9"></path>
|
|
||||||
<path d="M13.73 21a2 2 0 0 1-3.46 0"></path>
|
|
||||||
</svg>
|
|
||||||
</template>
|
|
@ -1,22 +0,0 @@
|
|||||||
<!-- From https://github.com/feathericons/feather -->
|
|
||||||
|
|
||||||
<template>
|
|
||||||
<svg
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
width="30"
|
|
||||||
height="30"
|
|
||||||
viewBox="0 0 24 24"
|
|
||||||
fill="none"
|
|
||||||
stroke="currentColor"
|
|
||||||
stroke-width="1.8"
|
|
||||||
stroke-linecap="round"
|
|
||||||
stroke-linejoin="round"
|
|
||||||
class="feather feather-bell-off"
|
|
||||||
>
|
|
||||||
<path d="M13.73 21a2 2 0 0 1-3.46 0"></path>
|
|
||||||
<path d="M18.63 13A17.89 17.89 0 0 1 18 8"></path>
|
|
||||||
<path d="M6.26 6.26A5.86 5.86 0 0 0 6 8c0 7-3 9-3 9h14"></path>
|
|
||||||
<path d="M18 8a6 6 0 0 0-9.33-5"></path>
|
|
||||||
<line x1="1" y1="1" x2="23" y2="23"></line>
|
|
||||||
</svg>
|
|
||||||
</template>
|
|
@ -1,21 +0,0 @@
|
|||||||
<!-- From https://github.com/feathericons/feather -->
|
|
||||||
|
|
||||||
<template>
|
|
||||||
<svg
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
width="30"
|
|
||||||
height="30"
|
|
||||||
viewBox="0 0 24 24"
|
|
||||||
fill="none"
|
|
||||||
stroke="currentColor"
|
|
||||||
stroke-width="1.8"
|
|
||||||
stroke-linecap="round"
|
|
||||||
stroke-linejoin="round"
|
|
||||||
class="feather feather-calendar"
|
|
||||||
>
|
|
||||||
<rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect>
|
|
||||||
<line x1="16" y1="2" x2="16" y2="6"></line>
|
|
||||||
<line x1="8" y1="2" x2="8" y2="6"></line>
|
|
||||||
<line x1="3" y1="10" x2="21" y2="10"></line>
|
|
||||||
</svg>
|
|
||||||
</template>
|
|
@ -1,21 +0,0 @@
|
|||||||
<!-- From https://github.com/lucide-icons/lucide -->
|
|
||||||
|
|
||||||
<template>
|
|
||||||
<svg
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
width="24"
|
|
||||||
height="24"
|
|
||||||
viewBox="0 0 24 24"
|
|
||||||
fill="none"
|
|
||||||
stroke="currentColor"
|
|
||||||
stroke-width="2"
|
|
||||||
stroke-linecap="round"
|
|
||||||
stroke-linejoin="round"
|
|
||||||
>
|
|
||||||
<rect x="8" y="2" width="8" height="4" rx="1" ry="1"></rect>
|
|
||||||
<path d="M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2"></path>
|
|
||||||
<path d="M16 4h2a2 2 0 0 1 2 2v4"></path>
|
|
||||||
<path d="M21 14H11"></path>
|
|
||||||
<path d="m15 10-4 4 4 4"></path>
|
|
||||||
</svg>
|
|
||||||
</template>
|
|
@ -1,19 +0,0 @@
|
|||||||
<!-- From https://github.com/feathericons/feather -->
|
|
||||||
|
|
||||||
<template>
|
|
||||||
<svg
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
width="30"
|
|
||||||
height="30"
|
|
||||||
viewBox="0 0 24 24"
|
|
||||||
fill="none"
|
|
||||||
stroke="currentColor"
|
|
||||||
stroke-width="1.8"
|
|
||||||
stroke-linecap="round"
|
|
||||||
stroke-linejoin="round"
|
|
||||||
class="feather feather-clock"
|
|
||||||
>
|
|
||||||
<circle cx="12" cy="12" r="10"></circle>
|
|
||||||
<polyline points="12 6 12 12 16 14"></polyline>
|
|
||||||
</svg>
|
|
||||||
</template>
|
|
@ -1,19 +0,0 @@
|
|||||||
<!-- From https://github.com/feathericons/feather -->
|
|
||||||
|
|
||||||
<template>
|
|
||||||
<svg
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
width="30"
|
|
||||||
height="30"
|
|
||||||
viewBox="0 0 24 24"
|
|
||||||
fill="none"
|
|
||||||
stroke="currentColor"
|
|
||||||
stroke-width="2"
|
|
||||||
stroke-linecap="round"
|
|
||||||
stroke-linejoin="round"
|
|
||||||
class="feather feather-clock"
|
|
||||||
>
|
|
||||||
<circle cx="12" cy="12" r="10"></circle>
|
|
||||||
<polyline points="12 6 12 12 16 14"></polyline>
|
|
||||||
</svg>
|
|
||||||
</template>
|
|
@ -1,24 +0,0 @@
|
|||||||
<!-- From https://github.com/lucide-icons/lucide -->
|
|
||||||
|
|
||||||
<template>
|
|
||||||
<svg
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
width="30"
|
|
||||||
height="30"
|
|
||||||
viewBox="0 0 24 24"
|
|
||||||
fill="none"
|
|
||||||
stroke="currentColor"
|
|
||||||
stroke-width="1.8"
|
|
||||||
stroke-linecap="round"
|
|
||||||
stroke-linejoin="round"
|
|
||||||
>
|
|
||||||
<path d="M6.87 6.87a8 8 0 1 0 11.26 11.26"></path>
|
|
||||||
<path
|
|
||||||
d="M19.9 14.25A7.44 7.44 0 0 0 20 13a8 8 0 0 0-8-8 7.44 7.44 0 0 0-1.25.1"
|
|
||||||
></path>
|
|
||||||
<path d="m22 6-3-3"></path>
|
|
||||||
<path d="m6 19-2 2"></path>
|
|
||||||
<path d="m2 2 20 20"></path>
|
|
||||||
<path d="M4 4 2 6"></path>
|
|
||||||
</svg>
|
|
||||||
</template>
|
|
@ -1,20 +0,0 @@
|
|||||||
<!-- From https://github.com/feathericons/feather -->
|
|
||||||
|
|
||||||
<template>
|
|
||||||
<svg
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
width="26"
|
|
||||||
height="26"
|
|
||||||
viewBox="0 0 24 24"
|
|
||||||
fill="none"
|
|
||||||
stroke="currentColor"
|
|
||||||
stroke-width="2"
|
|
||||||
stroke-linecap="round"
|
|
||||||
stroke-linejoin="round"
|
|
||||||
class="feather feather-menu"
|
|
||||||
>
|
|
||||||
<line x1="3" y1="12" x2="21" y2="12"></line>
|
|
||||||
<line x1="3" y1="6" x2="21" y2="6"></line>
|
|
||||||
<line x1="3" y1="18" x2="21" y2="18"></line>
|
|
||||||
</svg>
|
|
||||||
</template>
|
|
@ -3,8 +3,7 @@ import { substitutions } from "../store";
|
|||||||
import { getSubstitutionText, getSubstitutionColor } from "../util";
|
import { getSubstitutionText, getSubstitutionColor } from "../util";
|
||||||
import { computed } from "vue";
|
import { computed } from "vue";
|
||||||
import InfoCard from "./info-card.vue";
|
import InfoCard from "./info-card.vue";
|
||||||
import BellOffIcon from "./icons/bell-off-icon.vue";
|
import { BellOffIcon, ClockIcon } from "lucide-vue-next";
|
||||||
import ClockIconBig from "./icons/clock-icon-big.vue";
|
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
date: {
|
date: {
|
||||||
@ -20,7 +19,7 @@ const substitutionsForDate = computed(() => {
|
|||||||
<template>
|
<template>
|
||||||
<InfoCard
|
<InfoCard
|
||||||
v-show="typeof substitutionsForDate == 'undefined'"
|
v-show="typeof substitutionsForDate == 'undefined'"
|
||||||
:icon="ClockIconBig"
|
:icon="ClockIcon"
|
||||||
:title="$t('infoCard.titles.loading')"
|
:title="$t('infoCard.titles.loading')"
|
||||||
:text="$t('infoCard.texts.loading')"
|
:text="$t('infoCard.texts.loading')"
|
||||||
/>
|
/>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<script setup>
|
<script setup>
|
||||||
import CalendarIcon from "./icons/calendar-icon.vue";
|
import { CalendarIcon } from "lucide-vue-next";
|
||||||
|
|
||||||
defineProps({
|
defineProps({
|
||||||
options: {
|
options: {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<script setup>
|
<script setup>
|
||||||
import MenuIcon from "./icons/menu-icon.vue";
|
import { MenuIcon } from "lucide-vue-next";
|
||||||
import { computed } from "vue";
|
import { computed } from "vue";
|
||||||
import { useRoute, useRouter, RouterLink } from "vue-router";
|
import { useRoute, useRouter, RouterLink } from "vue-router";
|
||||||
import { lastRoute } from "../store";
|
import { lastRoute } from "../store";
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<script setup>
|
<script setup>
|
||||||
import { ref } from "vue";
|
import { ref } from "vue";
|
||||||
import clipboardCopyIcon from "../components/icons/clipboard-copy-icon.vue";
|
import { ClipboardCopyIcon } from "lucide-vue-next";
|
||||||
|
|
||||||
const password = ref("");
|
const password = ref("");
|
||||||
const token = ref("");
|
const token = ref("");
|
||||||
@ -49,7 +49,7 @@ function copy() {
|
|||||||
ref="token_element"
|
ref="token_element"
|
||||||
v-bind:value="token.token"
|
v-bind:value="token.token"
|
||||||
/>
|
/>
|
||||||
<clipboardCopyIcon />
|
<ClipboardCopyIcon />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
Reference in New Issue
Block a user