diff --git a/src/App.vue b/src/App.vue index 989fbc9..2c90c22 100644 --- a/src/App.vue +++ b/src/App.vue @@ -34,7 +34,7 @@ export default defineComponent({ color: $textColor; font-size: 1em; - padding: 1em 0.5em; + padding: 0; @media screen and (max-width: $breakpointMd) { font-size: calc(0.7rem + 0.75vw); diff --git a/src/components/app/MainContainer.vue b/src/components/app/MainContainer.vue index 7f27d10..4f91a26 100644 --- a/src/components/app/MainContainer.vue +++ b/src/components/app/MainContainer.vue @@ -8,11 +8,11 @@ diff --git a/src/components/tabs/StockGeneratorTab.vue b/src/components/tabs/StockGeneratorTab.vue index a843b9b..d544fee 100644 --- a/src/components/tabs/StockGeneratorTab.vue +++ b/src/components/tabs/StockGeneratorTab.vue @@ -28,6 +28,12 @@ + + + +
@@ -105,7 +111,6 @@ import warningsMixin from '../../mixins/warningsMixin'; export default defineComponent({ name: 'stock-generator', - mixins: [stockMixin, warningsMixin], data() { @@ -121,6 +126,8 @@ export default defineComponent({ maxLength: 650, maxCarCount: 50, + isCarGroupingEnabled: false, + store: useStore(), }; }, @@ -163,6 +170,15 @@ export default defineComponent({ this.excludedCarTypes.length = 0; }, + // WIP + groupStock(stockList: IStock[]) { + if (!this.isCarGroupingEnabled) return false; + + stockList.sort((s1, s2) => { + return (s1.constructionType + s1.cargo?.id).localeCompare(s2.constructionType + s2.cargo?.id); + }); + }, + generateStock(empty = false) { const generatedChosenStockList = this.chosenCargoTypes.reduce( (acc, type) => { @@ -237,6 +253,10 @@ export default defineComponent({ } } + const bestStockList = bestGeneration.stockList; + + this.groupStock(bestStockList); + this.store.stockList = bestGeneration.stockList; this.store.stockSectionMode = 'stock-list'; }, @@ -283,6 +303,11 @@ export default defineComponent({ @import '../../styles/global.scss'; @import '../../styles/tab.scss'; +h2 { + margin-top: 0; + margin-bottom: 0.5em; +} + .generator_cargo, .generator_vehicles { display: grid; @@ -323,6 +348,12 @@ export default defineComponent({ gap: 1em; } +.generator_options { + display: flex; + flex-direction: column; + gap: 0.5em; +} + .generator_warning { background-color: $accentColor; padding: 0.5em; diff --git a/src/components/tabs/StockListTab.vue b/src/components/tabs/StockListTab.vue index 56d32f0..dbe6ad9 100644 --- a/src/components/tabs/StockListTab.vue +++ b/src/components/tabs/StockListTab.vue @@ -33,27 +33,17 @@
- - {{ $t('stocklist.vehicle-no') }} - {{ store.chosenStockListIndex + 1 }} -   - - - - {{ $t('stocklist.no-vehicle-chosen') }} - - - - - @@ -80,15 +70,13 @@
- + - +
@@ -122,7 +110,7 @@
{{ $t('stocklist.list-empty') }}
- +
  • input { - position: absolute; - clip: rect(1px, 1px, 1px, 1px); - padding: 0; - border: 0; - height: 1px; - width: 1px; - overflow: hidden; - } - - label { - padding: 0.25em 0.5em; - border-radius: 0.25em; - background-color: #222; - color: #aaa; - cursor: pointer; - - text-transform: uppercase; - transition: color 200ms; - - &::before { - content: '\2716'; - } - } - - label[data-checked='true'] { - color: palegreen; - - &::before { - content: '\2714'; - } - } } .real-stock-info { diff --git a/src/styles/global.scss b/src/styles/global.scss index 89e1d67..4e42f56 100644 --- a/src/styles/global.scss +++ b/src/styles/global.scss @@ -3,7 +3,7 @@ $breakpointSm: 550px; $bgColor: #2b3552; $textColor: #fff; -$secondaryColor: #222; +$secondaryColor: #1b1b1b; $accentColor: #e4c428; @font-face { @@ -118,7 +118,7 @@ button { padding: 0.4em 0.75em; outline: none; - background-color: #222; + background-color: $secondaryColor; border-radius: 8px; font-weight: bold; @@ -227,6 +227,13 @@ ul { } } +hr { + height: 3px; + background-color: white; + outline: none; + margin: 0; +} + .g-card { position: fixed; top: 1em; diff --git a/src/styles/tab.scss b/src/styles/tab.scss index 2a3a296..ddbec16 100644 --- a/src/styles/tab.scss +++ b/src/styles/tab.scss @@ -1,4 +1,4 @@ -@import "./global.scss"; +@import './global.scss'; .tab { height: 100%; @@ -58,13 +58,6 @@ } } -hr { - height: 3px; - background-color: white; - outline: none; - margin: 0; -} - @media only screen and (max-width: 470px) { .tab_attributes { label { diff --git a/src/views/AppContainerView.vue b/src/views/AppContainerView.vue index af69fa6..c17bbb5 100644 --- a/src/views/AppContainerView.vue +++ b/src/views/AppContainerView.vue @@ -6,11 +6,11 @@