diff --git a/src/components/JournalView/JournalDispatchers.vue b/src/components/JournalView/JournalDispatchers.vue
index 14d0fb4..368c5c4 100644
--- a/src/components/JournalView/JournalDispatchers.vue
+++ b/src/components/JournalView/JournalDispatchers.vue
@@ -106,6 +106,7 @@ export default defineComponent({
const searchersValues = reactive({
'search-dispatcher': '',
'search-station': '',
+ 'search-date': '',
} as JournalDispatcherSearcher);
const countFromIndex = ref(0);
@@ -211,14 +212,15 @@ export default defineComponent({
const queries: string[] = [];
- // const dispatcher = props.searchers?.find((s) => s.id == 'search-dispatcher')?.value.trim();
- // const station = props.searchers?.find((s) => s.id == 'search-station')?.value.trim();
-
const dispatcher = props.searchers?.['search-dispatcher'].trim();
const station = props.searchers?.['search-station'].trim();
+ const dateString = props.searchers?.['search-date'].trim();
+ const timestampFrom = dateString ? Date.parse(new Date(dateString).toISOString()) - 120 * 60 * 1000 : undefined;
+ const timestampTo = timestampFrom ? timestampFrom + 86400000 : undefined;
if (dispatcher) queries.push(`dispatcherName=${dispatcher}`);
if (station) queries.push(`stationName=${station}`);
+ if (timestampFrom && timestampTo) queries.push(`timestampFrom=${timestampFrom}`, `timestampTo=${timestampTo}`);
// Z API: const SORT_TYPES = ['allStopsCount', 'endDate', 'beginDate', 'routeDistance'];
if (this.sorterActive.id == 'timestampFrom') queries.push('sortBy=timestampFrom');
diff --git a/src/components/JournalView/JournalDispatchersList.vue b/src/components/JournalView/JournalDispatchersList.vue
index 60f36f6..f701998 100644
--- a/src/components/JournalView/JournalDispatchersList.vue
+++ b/src/components/JournalView/JournalDispatchersList.vue
@@ -1,41 +1,42 @@
-
@@ -54,6 +55,17 @@ export default defineComponent({
mixins: [dateMixin],
+ computed: {
+ computedDispatcherHistory() {
+ return this.dispatcherHistory.reduce((acc, historyItem, i) => {
+ if (this.isAnotherDay(i - 1, i)) acc.push(new Date(historyItem.timestampFrom).toLocaleDateString('pl-PL'));
+ acc.push(historyItem);
+
+ return acc;
+ }, [] as (DispatcherHistory | string)[]);
+ },
+ },
+
methods: {
navigateToScenery(name: string, isOnline: boolean) {
if (!isOnline) return;
@@ -87,6 +99,11 @@ export default defineComponent({
}
}
+li.sticky {
+ position: sticky;
+ top: 0;
+}
+
.journal_item {
display: flex;
justify-content: space-between;
@@ -108,36 +125,19 @@ export default defineComponent({
}
.journal_day {
- position: relative;
- text-align: center;
- background-color: #4d4d4d;
-
margin: 1em 0;
+ padding: 0.5em;
+ font-weight: bold;
+
+ background-color: #333;
span {
position: relative;
- background-color: #4d4d4d;
+ background-color: inherit;
z-index: 10;
+ padding-right: 1em;
- padding: 0 0.5em;
- }
-
- &::after {
- position: absolute;
- content: '';
-
- z-index: 0;
-
- left: 50%;
- top: 50%;
-
- transform: translate(-50%, -50%);
-
- height: 3px;
- width: 60%;
- min-width: 200px;
-
- background-color: white;
+ font-weight: bold;
}
}
diff --git a/src/components/JournalView/JournalOptions.vue b/src/components/JournalView/JournalOptions.vue
index a02ce28..9ea25a6 100644
--- a/src/components/JournalView/JournalOptions.vue
+++ b/src/components/JournalView/JournalOptions.vue
@@ -75,10 +75,10 @@
-