chore(wiki): design improvements

This commit is contained in:
2024-04-14 22:08:32 +02:00
parent b840a6cd46
commit 35f2a5ca09
+38 -23
View File
@@ -7,7 +7,7 @@
<div class="tab_content"> <div class="tab_content">
<div class="actions"> <div class="actions">
<label> <label>
<span>Pojazdy</span> <span>{{ $t('wiki.labels.vehicles') }}</span>
<select name="filter-type" id="filter-type" v-model="filterType"> <select name="filter-type" id="filter-type" v-model="filterType">
<option v-for="filter in filters" :key="filter" :value="filter"> <option v-for="filter in filters" :key="filter" :value="filter">
{{ $t(`wiki.filters.${filter}`) }} {{ $t(`wiki.filters.${filter}`) }}
@@ -16,7 +16,7 @@
</label> </label>
<label> <label>
<span>Sortuj wg</span> <span>{{ $t('wiki.labels.sort-by') }}</span>
<select name="sorter-type" id="sorter-type" v-model="sorterType"> <select name="sorter-type" id="sorter-type" v-model="sorterType">
<option v-for="sorter in sorters" :key="sorter" :value="sorter"> <option v-for="sorter in sorters" :key="sorter" :value="sorter">
{{ $t(`wiki.sort-by.${sorter}`) }} {{ $t(`wiki.sort-by.${sorter}`) }}
@@ -25,7 +25,8 @@
</label> </label>
<label> <label>
<span>Kierunek sortowania</span> <span>{{ $t('wiki.labels.sort-direction') }}</span>
<select name="sorter-direction" id="sorter-direction" v-model="sorterDirection"> <select name="sorter-direction" id="sorter-direction" v-model="sorterDirection">
<option value="asc">{{ $t('wiki.sort-direction.asc') }}</option> <option value="asc">{{ $t('wiki.sort-direction.asc') }}</option>
<option value="desc">{{ $t('wiki.sort-direction.desc') }}</option> <option value="desc">{{ $t('wiki.sort-direction.desc') }}</option>
@@ -49,18 +50,25 @@
:data-preview="vehicle.type === store.chosenVehicle?.type" :data-preview="vehicle.type === store.chosenVehicle?.type"
:data-sponsor-only="vehicle.restrictions.sponsorOnly > 0" :data-sponsor-only="vehicle.restrictions.sponsorOnly > 0"
:data-team-only="vehicle.restrictions.teamOnly" :data-team-only="vehicle.restrictions.teamOnly"
@click.prevent="onItemSelect(vehicle)" @click="previewVehicle(vehicle)"
@keydown.enter="onItemSelect(vehicle)" @dblclick="addVehicle(vehicle)"
@keydown.enter="previewVehicle(vehicle)"
tabindex="0" tabindex="0"
> >
<img loading="lazy" width="120" :src="getThumbnailURL(vehicle.type, 'small')" /> <img loading="lazy" width="120" :src="getThumbnailURL(vehicle.type, 'small')" />
<span> <span>
<b> {{ vehicle.type.replace(/_/g, ' ') }} </b><br /> <b class="vehicle-name"> {{ vehicle.type.replace(/_/g, ' ') }} </b>
{{ $t(`wiki.${vehicle.group}`) }} |
{{ isTractionUnit(vehicle) ? vehicle.cabinType : vehicle.constructionType }} <br /> <div class="vehicle-group">
{{ vehicle.length }}m | {{ (vehicle.weight / 1000).toFixed(1) }}t | {{ $t(`wiki.${vehicle.group}`) }} |
{{ vehicle.maxSpeed }}km/h {{ isTractionUnit(vehicle) ? vehicle.cabinType : vehicle.constructionType }}
</div>
<div class="vehicle-props">
{{ vehicle.length }}m | {{ (vehicle.weight / 1000).toFixed(1) }}t |
{{ vehicle.maxSpeed }}km/h
</div>
</span> </span>
</li> </li>
</ul> </ul>
@@ -119,8 +127,6 @@ export default defineComponent({
isTractionUnit, isTractionUnit,
onItemSelect(vehicle: IVehicle) { onItemSelect(vehicle: IVehicle) {
if (this.store.chosenVehicle?.type === vehicle.type) this.addVehicle(vehicle);
this.previewVehicle(vehicle); this.previewVehicle(vehicle);
}, },
@@ -181,14 +187,6 @@ export default defineComponent({
computedVehicles() { computedVehicles() {
return this.store.vehicleDataList.filter(this.filterVehicles).sort(this.sortVehicles); return this.store.vehicleDataList.filter(this.filterVehicles).sort(this.sortVehicles);
}, },
areTractionVehiclesShown() {
return this.filterType == 'vehicles-all' || this.filterType == 'vehicles-traction';
},
areCarriagesShown() {
return this.filterType == 'vehicles-all' || this.filterType == 'vehicles-wagon';
},
}, },
}); });
</script> </script>
@@ -216,11 +214,11 @@ export default defineComponent({
.vehicles { .vehicles {
display: grid; display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
gap: 0.5em; gap: 0.5em;
overflow: auto; overflow: auto;
max-height: 750px; max-height: 730px;
margin-top: 0.75em; margin-top: 0.75em;
padding: 0.25em; padding: 0.25em;
@@ -237,7 +235,7 @@ export default defineComponent({
cursor: pointer; cursor: pointer;
&[data-preview='true'] { &[data-preview='true'] {
background-color: #303a58; background-color: #435288;
} }
&[data-sponsor-only='true'] { &[data-sponsor-only='true'] {
@@ -247,6 +245,23 @@ export default defineComponent({
&[data-team-only='true'] { &[data-team-only='true'] {
box-shadow: 0 0 5px 0 $teamColor; box-shadow: 0 0 5px 0 $teamColor;
} }
& > span {
display: flex;
flex-direction: column;
justify-content: space-between;
overflow: hidden;
}
}
.vehicle-name {
overflow: hidden;
text-wrap: nowrap;
text-overflow: ellipsis;
}
.vehicle-props {
color: #ccc;
} }
@media screen and (max-width: $breakpointSm) { @media screen and (max-width: $breakpointSm) {