mirror of
https://github.com/Spythere/stacjownik.git
synced 2026-05-03 13:28:11 +00:00
restruct: updated sass version and rules
This commit is contained in:
@@ -36,6 +36,4 @@ export default defineComponent({
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<style scoped></style>
|
||||
</script>
|
||||
@@ -116,9 +116,9 @@ export default defineComponent({
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '../../styles/variables.scss';
|
||||
@import '../../styles/responsive.scss';
|
||||
@use '../../styles/responsive';
|
||||
|
||||
// HEADER
|
||||
.app_header {
|
||||
@@ -126,7 +126,7 @@ export default defineComponent({
|
||||
justify-content: center;
|
||||
|
||||
position: relative;
|
||||
background-color: $primaryCol;
|
||||
background-color: #2c2c2c;
|
||||
}
|
||||
|
||||
.header {
|
||||
@@ -141,7 +141,7 @@ export default defineComponent({
|
||||
|
||||
border-radius: 0 0 1em 1em;
|
||||
|
||||
@include smallScreen {
|
||||
@include responsive.smallScreen{
|
||||
position: relative;
|
||||
margin-top: 0.5em;
|
||||
}
|
||||
@@ -180,7 +180,7 @@ export default defineComponent({
|
||||
|
||||
padding: 0.5em;
|
||||
|
||||
@include smallScreen {
|
||||
@include responsive.smallScreen{
|
||||
transform: translateX(85%);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,9 +6,7 @@
|
||||
import { computed, defineComponent, ref } from 'vue';
|
||||
export default defineComponent({
|
||||
name: 'VueClock',
|
||||
data: () => ({
|
||||
timestamp: Date.now()
|
||||
}),
|
||||
data: () => ({ timestamp: Date.now() }),
|
||||
setup() {
|
||||
let timestamp = ref(Date.now());
|
||||
|
||||
@@ -28,8 +26,6 @@ export default defineComponent({
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '../../styles/responsive.scss';
|
||||
|
||||
.clock {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
@@ -310,7 +310,7 @@ export default defineComponent({
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '../../styles/responsive.scss';
|
||||
@use '../../styles/responsive';
|
||||
|
||||
// INDICATOR TOOLTIP ANIMATION
|
||||
.tooltip-anim {
|
||||
@@ -379,7 +379,7 @@ export default defineComponent({
|
||||
content: '';
|
||||
}
|
||||
|
||||
@include midScreen() {
|
||||
@include responsive.midScreen() {
|
||||
left: auto;
|
||||
right: 200%;
|
||||
|
||||
@@ -393,7 +393,7 @@ export default defineComponent({
|
||||
}
|
||||
}
|
||||
|
||||
@include smallScreen() {
|
||||
@include responsive.smallScreen{
|
||||
min-width: 8em;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -73,11 +73,9 @@ export default defineComponent({
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '../../styles/variables';
|
||||
|
||||
::v-deep(h1) {
|
||||
text-align: center;
|
||||
color: $accentCol;
|
||||
color: var(--clr-primary);
|
||||
}
|
||||
|
||||
::v-deep(h2) {
|
||||
|
||||
@@ -13,8 +13,7 @@ export default defineComponent({});
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
@import '../../styles/variables';
|
||||
@import '../../styles/responsive';
|
||||
@use '../../styles/responsive';
|
||||
|
||||
.button_content {
|
||||
display: flex;
|
||||
|
||||
@@ -38,5 +38,3 @@ export default defineComponent({
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<style scoped></style>
|
||||
|
||||
@@ -43,7 +43,7 @@ export default defineComponent({
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '../../styles/responsive.scss';
|
||||
@use '../../styles/responsive';
|
||||
|
||||
.card {
|
||||
position: fixed;
|
||||
@@ -85,7 +85,7 @@ export default defineComponent({
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
@include smallScreen {
|
||||
@include responsive.smallScreen{
|
||||
.card {
|
||||
align-items: flex-start;
|
||||
}
|
||||
|
||||
@@ -150,8 +150,6 @@ export default defineComponent({
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '../../styles/responsive.scss';
|
||||
|
||||
.body {
|
||||
display: grid;
|
||||
grid-template-rows: 1fr auto;
|
||||
|
||||
@@ -120,8 +120,6 @@ export default defineComponent({
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '../../styles/variables.scss';
|
||||
|
||||
.region-dropdown {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@@ -182,7 +180,7 @@ li.option {
|
||||
background: none;
|
||||
|
||||
&:focus + span {
|
||||
color: $accentCol;
|
||||
color: var(--clr-primary);
|
||||
font-weight: 800;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,7 +7,12 @@
|
||||
@keypress="updateValue"
|
||||
/>
|
||||
|
||||
<img class="search-exit" src="/images/icon-exit.svg" alt="exit-icon" @click="clearSearchValue" />
|
||||
<img
|
||||
class="search-exit"
|
||||
src="/images/icon-exit.svg"
|
||||
alt="exit-icon"
|
||||
@click="clearSearchValue"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -17,21 +22,10 @@ import { defineComponent, ref, watch } from 'vue';
|
||||
export default defineComponent({
|
||||
emits: ['update:searchedValue', 'clearValue'],
|
||||
props: {
|
||||
searchedValue: {
|
||||
type: String,
|
||||
required: true
|
||||
},
|
||||
updateOnInput: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
},
|
||||
titleToTranslate: {
|
||||
type: String,
|
||||
required: true
|
||||
},
|
||||
clearValue: {
|
||||
type: Function
|
||||
}
|
||||
searchedValue: { type: String, required: true },
|
||||
updateOnInput: { type: Boolean, default: true },
|
||||
titleToTranslate: { type: String, required: true },
|
||||
clearValue: { type: Function }
|
||||
},
|
||||
|
||||
setup(props, { emit }) {
|
||||
@@ -56,17 +50,13 @@ export default defineComponent({
|
||||
emit('update:searchedValue', compSearchedValue.value);
|
||||
};
|
||||
|
||||
return {
|
||||
compSearchedValue,
|
||||
updateValue,
|
||||
clearSearchValue
|
||||
};
|
||||
return { compSearchedValue, updateValue, clearSearchValue };
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '../../styles/responsive';
|
||||
@use '../../styles/responsive';
|
||||
|
||||
.search {
|
||||
&-box {
|
||||
@@ -78,7 +68,7 @@ export default defineComponent({
|
||||
|
||||
margin: 0.5em 0 0.5em 0.5em;
|
||||
|
||||
@include smallScreen() {
|
||||
@include responsive.smallScreen{
|
||||
width: 85%;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,15 +20,9 @@ import { Status } from '../../typings/common';
|
||||
|
||||
export default defineComponent({
|
||||
props: {
|
||||
dispatcherStatus: {
|
||||
type: Number as PropType<Status.ActiveDispatcher | number>
|
||||
},
|
||||
dispatcherTimestamp: {
|
||||
type: Number as PropType<number | null>
|
||||
},
|
||||
isOnline: {
|
||||
type: Boolean
|
||||
}
|
||||
dispatcherStatus: { type: Number as PropType<Status.ActiveDispatcher | number> },
|
||||
dispatcherTimestamp: { type: Number as PropType<number | null> },
|
||||
isOnline: { type: Boolean }
|
||||
},
|
||||
mixins: [dateMixin],
|
||||
|
||||
|
||||
@@ -22,20 +22,12 @@ export default defineComponent({
|
||||
components: { VehicleThumbnail },
|
||||
|
||||
props: {
|
||||
trainStockList: {
|
||||
type: Array as PropType<string[]>,
|
||||
required: true
|
||||
},
|
||||
tractionOnly: {
|
||||
type: Boolean,
|
||||
required: false
|
||||
}
|
||||
trainStockList: { type: Array as PropType<string[]>, required: true },
|
||||
tractionOnly: { type: Boolean, required: false }
|
||||
},
|
||||
|
||||
data() {
|
||||
return {
|
||||
apiStore: useApiStore()
|
||||
};
|
||||
return { apiStore: useApiStore() };
|
||||
},
|
||||
|
||||
computed: {
|
||||
@@ -151,7 +143,6 @@ export default defineComponent({
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
.list-wrapper {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
|
||||
@@ -51,7 +51,6 @@ function onImageLoad() {
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.vehicle-thumbnail {
|
||||
|
||||
position: relative;
|
||||
opacity: 0;
|
||||
transition: opacity 100ms ease-in-out;
|
||||
|
||||
@@ -234,9 +234,9 @@ export default defineComponent({
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '../../styles/responsive.scss';
|
||||
@import '../../styles/JournalStats.scss';
|
||||
@import '../../styles/badge.scss';
|
||||
@use '../../styles/animations';
|
||||
@use '../../styles/journal-stats';
|
||||
@use '../../styles/responsive';
|
||||
|
||||
.daily-stats {
|
||||
text-align: left;
|
||||
@@ -265,7 +265,7 @@ ul.stats-list {
|
||||
gap: 0.5em;
|
||||
}
|
||||
|
||||
@include smallScreen {
|
||||
@include responsive.smallScreen{
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
@@ -121,14 +121,8 @@ import StationStatusBadge from '../../Global/StationStatusBadge.vue';
|
||||
|
||||
export default defineComponent({
|
||||
props: {
|
||||
entry: {
|
||||
type: Object as PropType<API.DispatcherHistory.Data>,
|
||||
required: true
|
||||
},
|
||||
showExtraInfo: {
|
||||
type: Boolean,
|
||||
required: true
|
||||
}
|
||||
entry: { type: Object as PropType<API.DispatcherHistory.Data>, required: true },
|
||||
showExtraInfo: { type: Boolean, required: true }
|
||||
},
|
||||
|
||||
components: { StationStatusBadge },
|
||||
@@ -136,10 +130,7 @@ export default defineComponent({
|
||||
emits: ['toggleShowExtraInfo'],
|
||||
|
||||
data() {
|
||||
return {
|
||||
regions,
|
||||
apiStore: useApiStore()
|
||||
};
|
||||
return { regions, apiStore: useApiStore() };
|
||||
},
|
||||
|
||||
methods: {
|
||||
@@ -151,8 +142,8 @@ export default defineComponent({
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '../../../styles/responsive.scss';
|
||||
@import '../../../styles/badge.scss';
|
||||
@use '../../../styles/responsive';
|
||||
@use '../../../styles/badge';
|
||||
|
||||
.region-badge {
|
||||
padding: 0 0.25em;
|
||||
@@ -207,7 +198,7 @@ export default defineComponent({
|
||||
border-radius: 1em;
|
||||
}
|
||||
|
||||
@include smallScreen {
|
||||
@include responsive.smallScreen{
|
||||
.entry-info {
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
|
||||
@@ -81,5 +81,5 @@ export default defineComponent({
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '../../../styles/JournalStats.scss';
|
||||
@use '../../../styles/journal-stats';
|
||||
</style>
|
||||
|
||||
@@ -104,6 +104,5 @@ export default defineComponent({
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '../../../styles/variables.scss';
|
||||
@import '../../../styles/JournalSection.scss';
|
||||
@use '../../../styles/journal-section';
|
||||
</style>
|
||||
|
||||
@@ -300,6 +300,6 @@ export default defineComponent({
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '../../styles/dropdown';
|
||||
@import '../../styles/dropdown_filters';
|
||||
@use '../../styles/dropdown';
|
||||
@use '../../styles/dropdown-filters';
|
||||
</style>
|
||||
|
||||
@@ -79,14 +79,12 @@ export default defineComponent({
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '../../styles/dropdown.scss';
|
||||
@import '../../styles/dropdown_filters.scss';
|
||||
@import '../../styles/variables.scss';
|
||||
@use '../../styles/dropdown';
|
||||
@use '../../styles/dropdown-filters';
|
||||
|
||||
.dropdown_wrapper.dropdown-align-right {
|
||||
left: auto;
|
||||
right: 0;
|
||||
max-width: 700px;
|
||||
// max-width: 100%;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -225,9 +225,8 @@ export default defineComponent({
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '../../../styles/variables.scss';
|
||||
@import '../../../styles/responsive.scss';
|
||||
@import '../../../styles/badge.scss';
|
||||
@use '../../../styles/responsive';
|
||||
@use '../../../styles/badge';
|
||||
|
||||
.details-body {
|
||||
margin-top: 0.5em;
|
||||
@@ -250,7 +249,7 @@ export default defineComponent({
|
||||
margin-top: 1em;
|
||||
|
||||
button[data-checked='true'] {
|
||||
color: $accentCol;
|
||||
color: var(--clr-primary);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -272,7 +271,7 @@ export default defineComponent({
|
||||
|
||||
span:last-child {
|
||||
color: black;
|
||||
background-color: $accentCol;
|
||||
background-color: var(--clr-primary);
|
||||
border-radius: 0 0.25em 0.25em 0;
|
||||
}
|
||||
}
|
||||
@@ -300,7 +299,7 @@ hr {
|
||||
}
|
||||
}
|
||||
|
||||
@include smallScreen() {
|
||||
@include responsive.smallScreen{
|
||||
.timetable-specs {
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
@@ -130,8 +130,8 @@ export default defineComponent({
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '../../../styles/responsive';
|
||||
@import '../../../styles/badge';
|
||||
@use '../../../styles/responsive';
|
||||
@use '../../../styles/badge';
|
||||
|
||||
.item-general {
|
||||
display: flex;
|
||||
@@ -191,7 +191,7 @@ export default defineComponent({
|
||||
}
|
||||
}
|
||||
|
||||
@include smallScreen {
|
||||
@include responsive.smallScreen{
|
||||
.item-general {
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
|
||||
@@ -59,7 +59,7 @@ export default defineComponent({
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '../../../styles/responsive.scss';
|
||||
@use '../../../styles/responsive';
|
||||
|
||||
.entry-status {
|
||||
display: flex;
|
||||
@@ -67,7 +67,7 @@ export default defineComponent({
|
||||
flex-wrap: wrap;
|
||||
gap: 0.5em;
|
||||
|
||||
@include smallScreen() {
|
||||
@include responsive.smallScreen{
|
||||
justify-content: center;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -187,7 +187,7 @@ export default defineComponent({
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '../../../styles/badge.scss';
|
||||
@use '../../../styles/badge';
|
||||
|
||||
.entry-stops {
|
||||
word-wrap: break-word;
|
||||
|
||||
@@ -68,5 +68,5 @@ export default defineComponent({
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '../../../styles/JournalStats.scss';
|
||||
@use '../../../styles/journal-stats';
|
||||
</style>
|
||||
|
||||
@@ -3,14 +3,14 @@
|
||||
<!-- General -->
|
||||
<EntryGeneral :timetable="timetableEntry" />
|
||||
|
||||
<!-- Route -->
|
||||
<div class="entry-route">
|
||||
<b>{{ timetableEntry.route.replace('|', ' - ') }}</b>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
|
||||
<div @click="toggleExtraInfo" style="cursor: pointer">
|
||||
<!-- Route -->
|
||||
<div class="entry-route">
|
||||
<b>{{ timetableEntry.route.replace('|', ' - ') }}</b>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
|
||||
<!-- Status -->
|
||||
<EntryStatus :timetable="timetableEntry" />
|
||||
</div>
|
||||
@@ -134,15 +134,20 @@ export default defineComponent({
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '../../../styles/responsive.scss';
|
||||
@use '../../../styles/responsive';
|
||||
|
||||
.timetable-history-entry {
|
||||
background-color: #1a1a1a;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
@include smallScreen {
|
||||
.entry-route {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
@include responsive.smallScreen{
|
||||
.entry-route {
|
||||
justify-content: center;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,10 +107,11 @@ export default defineComponent({
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '../../../styles/JournalSection.scss';
|
||||
@import '../../../styles/animations.scss';
|
||||
@use '../../../styles/animations';
|
||||
@use '../../../styles/journal-section';
|
||||
@use '../../../styles/responsive';
|
||||
|
||||
@include smallScreen {
|
||||
@include responsive.smallScreen{
|
||||
.journal_item-info {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
@@ -148,8 +148,8 @@ export default defineComponent({
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '../../styles/responsive.scss';
|
||||
@import '../../styles/sceneryViewTables.scss';
|
||||
@use '../../styles/responsive';
|
||||
@use '../../styles/scenery-history-table';
|
||||
|
||||
.scenery-dispatchers-history {
|
||||
height: 100%;
|
||||
@@ -194,7 +194,7 @@ export default defineComponent({
|
||||
color: springgreen;
|
||||
}
|
||||
|
||||
@include smallScreen {
|
||||
@include responsive.smallScreen{
|
||||
.journal-list > div {
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
|
||||
@@ -35,8 +35,7 @@ export default defineComponent({
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '../../styles/variables.scss';
|
||||
@import '../../styles/responsive.scss';
|
||||
@use '../../styles/responsive';
|
||||
|
||||
.info-header {
|
||||
margin-top: 1em;
|
||||
|
||||
@@ -59,8 +59,8 @@ export default defineComponent({
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
@import '../../styles/responsive.scss';
|
||||
@import '../../styles/badge.scss';
|
||||
@use '../../styles/responsive';
|
||||
@use '../../styles/badge';
|
||||
|
||||
h3.section-header {
|
||||
margin: 0.5em 0;
|
||||
|
||||
@@ -27,6 +27,4 @@ export default defineComponent({
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<style scoped></style>
|
||||
</script>
|
||||
@@ -102,7 +102,7 @@ export default defineComponent({
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '../../../styles/icons.scss';
|
||||
@use '../../../styles/icons';
|
||||
|
||||
.info-icons {
|
||||
display: flex;
|
||||
|
||||
@@ -53,8 +53,6 @@ export default defineComponent({
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '../../../styles/variables.scss';
|
||||
|
||||
ul {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
:key="train.id"
|
||||
:data-status="status"
|
||||
>
|
||||
<router-link :to="train.driverRouteLocation" class="a-block">
|
||||
<router-link :to="train.driverRouteLocation">
|
||||
<span class="user_train"> {{ train.trainNo }}</span>
|
||||
<span class="user_name">
|
||||
{{ train.driverName }}
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
</div>
|
||||
|
||||
<router-link
|
||||
class="timetable-item a-block"
|
||||
class="timetable-item"
|
||||
v-else
|
||||
v-for="(row, i) in sceneryTimetables"
|
||||
:key="row.train.id + i"
|
||||
@@ -327,9 +327,8 @@ export default defineComponent({
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '../../styles/responsive.scss';
|
||||
@import '../../styles/variables.scss';
|
||||
@import '../../styles/animations.scss';
|
||||
@use '../../styles/responsive';
|
||||
@use '../../styles/animations';
|
||||
|
||||
.scenery-timetable {
|
||||
height: 100%;
|
||||
@@ -436,7 +435,7 @@ export default defineComponent({
|
||||
|
||||
&.current {
|
||||
font-weight: bold;
|
||||
color: $accentCol;
|
||||
color: var(--clr-primary);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -449,7 +448,7 @@ export default defineComponent({
|
||||
flex-wrap: wrap;
|
||||
|
||||
.info-number {
|
||||
color: $accentCol;
|
||||
color: var(--clr-primary);
|
||||
}
|
||||
|
||||
.info-route {
|
||||
@@ -485,7 +484,7 @@ export default defineComponent({
|
||||
align-self: center;
|
||||
font-size: 0.9em;
|
||||
|
||||
color: $accentCol;
|
||||
color: var(--clr-primary);
|
||||
|
||||
&::after {
|
||||
content: '\027F6';
|
||||
@@ -502,7 +501,7 @@ export default defineComponent({
|
||||
font-size: 0.85em;
|
||||
}
|
||||
|
||||
@include smallScreen {
|
||||
@include responsive.smallScreen {
|
||||
.timetable-item {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
@@ -188,8 +188,8 @@ export default defineComponent({
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '../../styles/responsive.scss';
|
||||
@import '../../styles/sceneryViewTables.scss';
|
||||
@use '../../styles/responsive';
|
||||
@use '../../styles/scenery-history-table';
|
||||
|
||||
.scenery-timetables-history {
|
||||
height: 100%;
|
||||
|
||||
@@ -66,8 +66,6 @@ export default defineComponent({
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '../../styles/variables.scss';
|
||||
|
||||
label {
|
||||
position: relative;
|
||||
user-select: none;
|
||||
@@ -98,7 +96,7 @@ label {
|
||||
}
|
||||
|
||||
&:focus-visible + span {
|
||||
outline: 1px solid $accentCol;
|
||||
outline: 1px solid var(--clr-primary);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -379,10 +379,9 @@ export default defineComponent({
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '../../styles/responsive';
|
||||
@import '../../styles/card';
|
||||
@import '../../styles/animations';
|
||||
@import '../../styles/variables';
|
||||
@use '../../styles/responsive';
|
||||
@use '../../styles/card';
|
||||
@use '../../styles/animations';
|
||||
|
||||
h3.section-header {
|
||||
text-align: center;
|
||||
@@ -432,7 +431,7 @@ h3.section-header {
|
||||
.card_title {
|
||||
font-size: 2em;
|
||||
font-weight: 700;
|
||||
color: $accentCol;
|
||||
color: var(--clr-primary);
|
||||
|
||||
text-align: center;
|
||||
}
|
||||
@@ -453,7 +452,7 @@ h3.section-header {
|
||||
span {
|
||||
min-width: 120px;
|
||||
font-weight: bold;
|
||||
color: $accentCol;
|
||||
color: var(--clr-primary);
|
||||
}
|
||||
|
||||
button {
|
||||
@@ -527,7 +526,7 @@ h3.section-header {
|
||||
}
|
||||
|
||||
&:focus-visible + span {
|
||||
outline: 1px solid $accentCol;
|
||||
outline: 1px solid var(--clr-primary);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -575,7 +574,7 @@ h3.section-header {
|
||||
margin-bottom: 1em;
|
||||
|
||||
&-value {
|
||||
color: $accentCol;
|
||||
color: var(--clr-primary);
|
||||
padding: 0.1em 0.2em;
|
||||
text-align: center;
|
||||
}
|
||||
@@ -604,14 +603,14 @@ h3.section-header {
|
||||
border-radius: 50%;
|
||||
|
||||
background: white;
|
||||
border: 3px solid $accentCol;
|
||||
border: 3px solid var(--clr-primary);
|
||||
background-color: #333;
|
||||
|
||||
@include smallScreen() {
|
||||
@include responsive.smallScreen{
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
margin-top: -5px;
|
||||
border: 3px solid $accentCol;
|
||||
border: 3px solid var(--clr-primary);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -622,14 +621,14 @@ h3.section-header {
|
||||
border-radius: 50%;
|
||||
|
||||
background: white;
|
||||
border: 4px solid $accentCol;
|
||||
border: 4px solid var(--clr-primary);
|
||||
|
||||
cursor: pointer;
|
||||
|
||||
@include smallScreen() {
|
||||
@include responsive.smallScreen{
|
||||
width: 1em;
|
||||
height: 1em;
|
||||
border: 3px solid $accentCol;
|
||||
border: 3px solid var(--clr-primary);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -659,7 +658,7 @@ h3.section-header {
|
||||
}
|
||||
}
|
||||
|
||||
@include smallScreen {
|
||||
@include responsive.smallScreen{
|
||||
.slider {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
|
||||
@@ -190,8 +190,9 @@ export default defineComponent({
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '../../styles/dropdown.scss';
|
||||
@import '../../styles/badge.scss';
|
||||
@use '../../styles/dropdown';
|
||||
@use '../../styles/badge';
|
||||
@use '../../styles/responsive';
|
||||
|
||||
h1 img {
|
||||
vertical-align: text-bottom;
|
||||
@@ -229,7 +230,7 @@ ul.stats-list {
|
||||
}
|
||||
}
|
||||
|
||||
@include smallScreen {
|
||||
@include responsive.smallScreen{
|
||||
.filter-button span {
|
||||
display: none;
|
||||
}
|
||||
|
||||
@@ -400,9 +400,8 @@ export default defineComponent({
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '../../styles/responsive.scss';
|
||||
@import '../../styles/variables.scss';
|
||||
@import '../../styles/icons.scss';
|
||||
@use '../../styles/responsive';
|
||||
@use '../../styles/icons';
|
||||
|
||||
$rowCol: #424242;
|
||||
|
||||
@@ -435,7 +434,7 @@ table {
|
||||
}
|
||||
|
||||
thead tr {
|
||||
background-color: $bgCol;
|
||||
background-color: var(--clr-bg3);
|
||||
}
|
||||
|
||||
thead th {
|
||||
@@ -477,7 +476,7 @@ table {
|
||||
}
|
||||
|
||||
padding: 0.5em 0.25em;
|
||||
background-color: $bgCol;
|
||||
background-color: var(--clr-bg3);
|
||||
white-space: pre-wrap;
|
||||
|
||||
cursor: pointer;
|
||||
@@ -524,7 +523,7 @@ tr,
|
||||
opacity: 0.2;
|
||||
}
|
||||
|
||||
@include smallScreen() {
|
||||
@include responsive.smallScreen{
|
||||
margin: 0;
|
||||
padding: 0.3em 0.5em;
|
||||
font-size: 1em;
|
||||
@@ -537,7 +536,7 @@ tr,
|
||||
max-width: 200px;
|
||||
|
||||
&.default {
|
||||
color: $accentCol;
|
||||
color: var(--clr-primary);
|
||||
}
|
||||
|
||||
&.nonPublic {
|
||||
|
||||
@@ -264,7 +264,7 @@ export default defineComponent({
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '../../styles/badge.scss';
|
||||
@use '../../styles/badge';
|
||||
|
||||
.image-warning {
|
||||
height: 1em;
|
||||
@@ -297,6 +297,7 @@ export default defineComponent({
|
||||
.train-info {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
font-size: 1em;
|
||||
gap: 0.25em;
|
||||
|
||||
background-color: #1a1a1a;
|
||||
|
||||
@@ -195,8 +195,8 @@ export default defineComponent({
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '../../styles/dropdown.scss';
|
||||
@import '../../styles/dropdown_filters.scss';
|
||||
@use '../../styles/dropdown';
|
||||
@use '../../styles/dropdown-filters';
|
||||
|
||||
.search_content > div {
|
||||
margin: 0.5em auto;
|
||||
|
||||
@@ -367,7 +367,7 @@ export default defineComponent({
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '../../styles/responsive.scss';
|
||||
@use '../../styles/responsive';
|
||||
|
||||
$barClr: #b1b1b1;
|
||||
$confirmedClr: #4ae24a;
|
||||
|
||||
@@ -80,7 +80,11 @@
|
||||
<h3>{{ $t('train-stats.top-units') }}</h3>
|
||||
|
||||
<transition-group tag="ul" name="stats-anim">
|
||||
<li class="badge stat-badge" v-for="top in stats.topUnits.slice(0, 7)" :key="top.name">
|
||||
<li
|
||||
class="badge stat-badge"
|
||||
v-for="top in stats.topUnits.slice(0, 7)"
|
||||
:key="top.name"
|
||||
>
|
||||
<span>{{ top.name }}</span>
|
||||
<span>{{ top.count }}</span>
|
||||
</li>
|
||||
@@ -221,9 +225,9 @@ export default defineComponent({
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '../../styles/dropdown.scss';
|
||||
@import '../../styles/badge.scss';
|
||||
@import '../../styles/responsive.scss';
|
||||
@use '../../styles/dropdown';
|
||||
@use '../../styles/badge';
|
||||
@use '../../styles/responsive';
|
||||
|
||||
h1 img {
|
||||
vertical-align: text-bottom;
|
||||
@@ -248,7 +252,7 @@ h3 {
|
||||
max-width: 600px;
|
||||
}
|
||||
|
||||
@include smallScreen {
|
||||
@include responsive.smallScreen{
|
||||
.no-data {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
>)
|
||||
</div>
|
||||
|
||||
<transition-group name="list-anim" tag="ul">
|
||||
<transition-group name="list-anim" tag="div" class="list_wrapper">
|
||||
<TrainTableItem v-for="train in trains" :key="train.id" :train="train" />
|
||||
</transition-group>
|
||||
</div>
|
||||
@@ -93,8 +93,8 @@ export default defineComponent({
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '../../styles/responsive.scss';
|
||||
@import '../../styles/animations.scss';
|
||||
@use '../../styles/responsive';
|
||||
@use '../../styles/animations';
|
||||
|
||||
.train-table {
|
||||
height: calc(100vh - 11em);
|
||||
@@ -105,6 +105,10 @@ export default defineComponent({
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
.list_wrapper {
|
||||
padding: 2px; // ensures focused items outline visibility
|
||||
}
|
||||
|
||||
.table-warning {
|
||||
text-align: center;
|
||||
|
||||
|
||||
@@ -1,29 +1,27 @@
|
||||
<template>
|
||||
<li class="train-item">
|
||||
<router-link class="a-block" :to="train.driverRouteLocation">
|
||||
<div class="item-wrapper">
|
||||
<TrainInfo :train="train" />
|
||||
<router-link :to="train.driverRouteLocation" class="train-item">
|
||||
<div class="item-wrapper">
|
||||
<TrainInfo :train="train" />
|
||||
|
||||
<div class="train-stats">
|
||||
<StockList :trainStockList="train.stockList" :tractionOnly="true" />
|
||||
<div class="train-stats">
|
||||
<StockList :trainStockList="train.stockList" :tractionOnly="true" />
|
||||
|
||||
<div>
|
||||
<span>{{ train.speed }}km/h</span>
|
||||
|
||||
<div>
|
||||
<span>{{ train.speed }}km/h</span>
|
||||
|
||||
<div>
|
||||
<span> {{ train.length }}m</span>
|
||||
<span> {{ train.length }}m</span>
|
||||
•
|
||||
<span> {{ (train.mass / 1000).toFixed(1) }}t</span>
|
||||
<span v-if="train.stockList.length > 1">
|
||||
•
|
||||
<span> {{ (train.mass / 1000).toFixed(1) }}t</span>
|
||||
<span v-if="train.stockList.length > 1">
|
||||
•
|
||||
{{ $t('trains.cars') }}: {{ train.stockList.length - 1 }}
|
||||
</span>
|
||||
</div>
|
||||
{{ $t('trains.cars') }}: {{ train.stockList.length - 1 }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</router-link>
|
||||
</li>
|
||||
</div>
|
||||
</router-link>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
@@ -41,9 +39,10 @@ defineProps({
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '../../styles/responsive.scss';
|
||||
@use '../../styles/responsive';
|
||||
|
||||
.train-item {
|
||||
display: block;
|
||||
background-color: #1a1a1a;
|
||||
margin-bottom: 1em;
|
||||
width: 100%;
|
||||
@@ -67,7 +66,7 @@ defineProps({
|
||||
line-height: 1.5em;
|
||||
}
|
||||
|
||||
@include smallScreen() {
|
||||
@include responsive.smallScreen {
|
||||
.item-wrapper {
|
||||
grid-template-columns: 1fr;
|
||||
gap: 1em 0;
|
||||
|
||||
Reference in New Issue
Block a user