diff --git a/assets/App.vue b/assets/App.vue
index 94d7c671..5430fa79 100644
--- a/assets/App.vue
+++ b/assets/App.vue
@@ -44,12 +44,13 @@
diff --git a/assets/components/LogEventSource.spec.ts b/assets/components/LogEventSource.spec.ts
index 42b361d8..b7901e0e 100644
--- a/assets/components/LogEventSource.spec.ts
+++ b/assets/components/LogEventSource.spec.ts
@@ -5,6 +5,7 @@ import EventSource, { sources } from "eventsourcemock";
import debounce from "lodash.debounce";
import LogEventSource from "./LogEventSource.vue";
import LogViewer from "./LogViewer.vue";
+import { settings } from "../composables/settings";
import { mocked } from "ts-jest/utils";
jest.mock("lodash.debounce", () =>
@@ -27,14 +28,17 @@ describe("", () => {
}));
mocked(debounce).mockClear();
+ jest.resetModules();
});
- function createLogEventSource({
- hourStyle = "auto",
- searchFilter = null,
- }: { hourStyle?: string; searchFilter?: string | null } = {}) {
+ function createLogEventSource(
+ { searchFilter = null, hourStyle = "auto" }: { searchFilter?: string | null; hourStyle?: "auto" | "24" | "12" } = {
+ hourStyle: "auto",
+ }
+ ) {
+ settings.value.hourStyle = hourStyle;
const store = createStore({
- state: { searchFilter, settings: { size: "medium", showTimestamp: true, hourStyle } },
+ state: { searchFilter },
getters: {
allContainersById() {
return {
diff --git a/assets/components/LogViewer.vue b/assets/components/LogViewer.vue
index dd56ab79..993d15c6 100644
--- a/assets/components/LogViewer.vue
+++ b/assets/components/LogViewer.vue
@@ -1,7 +1,7 @@
-
+
@@ -11,21 +11,23 @@
import { computed } from "vue";
import { useStore } from "vuex";
+import { size, showTimestamp } from "@/composables/settings";
import RelativeTime from "./RelativeTime.vue";
-
import AnsiConvertor from "ansi-to-html";
const props = defineProps({
- messages: Array,
+ messages: {
+ type: Array,
+ required: true,
+ },
});
const store = useStore();
const ansiConvertor = new AnsiConvertor({ escapeXML: true });
-function colorize(value) {
+function colorize(value: string) {
return ansiConvertor.toHtml(value).replace("<mark>", "").replace("</mark>", "");
}
-const settings = computed(() => store.state.settings);
const searchFilter = computed(() => store.state.searchFilter);
const filtered = computed(() => {
if (searchFilter && searchFilter.value) {
diff --git a/assets/components/RelativeTime.vue b/assets/components/RelativeTime.vue
index efdbd1a5..b76cc19c 100644
--- a/assets/components/RelativeTime.vue
+++ b/assets/components/RelativeTime.vue
@@ -3,8 +3,8 @@
+