Skip to content

Commit

Permalink
Merge pull request #161 from buggregator/improve/event-groups
Browse files Browse the repository at this point in the history
Improve/event groups
  • Loading branch information
butschster committed Jun 7, 2024
2 parents 772311d + c17d9c1 commit 7ad3127
Show file tree
Hide file tree
Showing 24 changed files with 397 additions and 122 deletions.
18 changes: 2 additions & 16 deletions pages/http-dumps/[id].vue
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import { computed, onMounted, ref } from "vue";
import { HttpDumpPage } from "~/src/screens/http-dump";
import { useFetch, useRoute, useRouter, useHead, useNuxtApp } from "#app"; // eslint-disable-line @conarti/feature-sliced/layers-slices
import { PageHeader } from "~/src/widgets/ui";
import { PageEventHeader } from "~/src/widgets/ui";
import { useHttpDump } from "~/src/entities/http-dump";
import type { HttpDump } from "~/src/entities/http-dump/types";
import { useEvents } from "~/src/shared/lib/use-events";
Expand Down Expand Up @@ -32,12 +32,6 @@ const event = computed(() =>
: null
);
const onDelete = () => {
events.removeById(eventId);
router.push("/");
};
const getEvent = async () => {
await useFetch(events.getUrl(eventId), {
headers: { "X-Auth-Token": $authToken.token || "" },
Expand All @@ -62,15 +56,7 @@ onMounted(getEvent);

<template>
<main class="http-dumps-event">
<PageHeader
class="http-dumps-event__head"
button-title="Delete event"
@delete="onDelete"
>
<NuxtLink to="/">Home</NuxtLink>&nbsp;/
<NuxtLink to="/http-dumps">Http dumps</NuxtLink>&nbsp;/
<NuxtLink :disabled="true">{{ eventId }}</NuxtLink>
</PageHeader>
<PageEventHeader title="Http dumps" :event-id="eventId" />

<div v-if="isLoading && !event" class="http-dumps-event__loading">
<div></div>
Expand Down
18 changes: 2 additions & 16 deletions pages/inspector/[id].vue
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import { onMounted, computed, ref } from "vue";
import { InspectorPage } from "~/src/screens/inspector";
import { useFetch, useHead, useRoute, useRouter, useNuxtApp } from "#app"; // eslint-disable-line @conarti/feature-sliced/layers-slices
import { PageHeader } from "~/src/widgets/ui";
import { PageEventHeader } from "~/src/widgets/ui";
import { useInspector } from "~/src/entities/inspector";
import type { Inspector } from "~/src/entities/inspector/types";
import { useEvents } from "~/src/shared/lib/use-events";
Expand Down Expand Up @@ -32,12 +32,6 @@ const event = computed(() =>
: null
);
const onDelete = () => {
events.removeById(eventId);
router.push("/");
};
const getEvent = async () => {
isLoading.value = true;
Expand All @@ -61,15 +55,7 @@ onMounted(getEvent);

<template>
<main class="inspector-event">
<PageHeader
class="inspector-event__head"
button-title="Delete event"
@delete="onDelete"
>
<NuxtLink to="/">Home</NuxtLink>&nbsp;/&nbsp;
<NuxtLink to="/inspector">Inspector</NuxtLink>&nbsp;/&nbsp;
<NuxtLink :disabled="true">{{ eventId }}</NuxtLink>
</PageHeader>
<PageEventHeader title="Inspector" :event-id="eventId" />

<div v-if="isLoading && !event" class="inspector-event__loading">
<div></div>
Expand Down
83 changes: 83 additions & 0 deletions pages/monolog/[id].vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
<script lang="ts" setup>
import { computed, onMounted, ref } from "vue";
import { MonologPage } from "~/src/screens/monolog";
import { useFetch, useHead, useNuxtApp, useRoute, useRouter } from "#app"; // eslint-disable-line @conarti/feature-sliced/layers-slices
import { PageEventHeader } from "~/src/widgets/ui";
import { useMonolog } from "~/src/entities/monolog";
import type { Monolog } from "~/src/entities/monolog/types";
import { useEvents } from "~/src/shared/lib/use-events";
import type { EventId, ServerEvent } from "~/src/shared/types";
const { normalizeMonologEvent } = useMonolog();
const { params } = useRoute();
const { $authToken } = useNuxtApp();
const router = useRouter();
const eventId = params.id as EventId;
useHead({
title: `Monolog > ${eventId} | Buggregator`,
});
const { events } = useEvents();
const isLoading = ref(false);
const serverEvent = ref<ServerEvent<Monolog> | null>(null);
const event = computed(() =>
serverEvent.value ? normalizeMonologEvent(serverEvent.value) : null
);
const getEvent = async () => {
isLoading.value = true;
await useFetch(events.getUrl(eventId), {
headers: { "X-Auth-Token": $authToken.token || "" },
onResponse({ response: { _data } }) {
serverEvent.value = _data;
isLoading.value = false;
},
onResponseError() {
router.push("/404");
},
onRequestError() {
router.push("/404");
},
});
};
onMounted(getEvent);
</script>

<template>
<main class="monolog">
<PageEventHeader title="Monolog" :event-id="eventId" />

<div v-if="isLoading && !event" class="monolog__loading">
<div></div>
<div></div>
<div></div>
</div>

<div v-if="event" class="monolog__body">
<MonologPage :event="event" />
</div>
</main>
</template>

<style lang="scss" scoped>
@import "src/assets/mixins";
.monolog {
@include layout;
}
.monolog__loading {
@include loading;
@include layout-body;
}
.monolog__body {
@include layout-body;
}
</style>
8 changes: 8 additions & 0 deletions pages/monolog/index.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<script lang="ts" setup>
import { PageLayout } from "~/src/widgets/ui/page-layout";
import { PAGE_TYPES } from "~/src/shared/constants";
</script>

<template>
<PageLayout :type="PAGE_TYPES.MONOLOG" title="Monolog" />
</template>
19 changes: 2 additions & 17 deletions pages/profiler/[id].vue
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import { computed, onMounted, ref } from "vue";
import { ProfilerPage } from "~/src/screens/profiler";
import { useFetch, useHead, useNuxtApp, useRoute, useRouter } from "#app"; // eslint-disable-line @conarti/feature-sliced/layers-slices
import { PageHeader } from "~/src/widgets/ui";
import { PageEventHeader } from "~/src/widgets/ui";
import { useProfiler } from "~/src/entities/profiler";
import type { Profiler } from "~/src/entities/profiler/types";
import { useEvents } from "~/src/shared/lib/use-events";
Expand Down Expand Up @@ -31,13 +31,6 @@ const event = computed(() =>
)
: null
);
const onDelete = () => {
events.removeById(eventId);
router.push("/");
};
const getEvent = async () => {
isLoading.value = true;
Expand All @@ -61,15 +54,7 @@ onMounted(getEvent);

<template>
<main class="profiler-event">
<PageHeader
class="profiler-event__head"
button-title="Delete event"
@delete="onDelete"
>
<NuxtLink to="/">Home</NuxtLink>&nbsp;/&nbsp;
<NuxtLink to="/profiler">Profiler</NuxtLink>&nbsp;/&nbsp;
<NuxtLink :disabled="true">{{ eventId }}</NuxtLink>
</PageHeader>
<PageEventHeader title="Profiler" :event-id="eventId" />

<div v-if="isLoading && !event" class="profiler-event__loading">
<div></div>
Expand Down
18 changes: 2 additions & 16 deletions pages/ray/[id].vue
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import { computed, onMounted, ref } from "vue";
import { RayPage } from "~/src/screens/ray";
import { useFetch, useHead, useNuxtApp, useRoute, useRouter } from "#app"; // eslint-disable-line @conarti/feature-sliced/layers-slices
import { PageHeader } from "~/src/widgets/ui";
import { PageEventHeader } from "~/src/widgets/ui";
import { useRay } from "~/src/entities/ray";
import type { RayDump } from "~/src/entities/ray/types";
import { useEvents } from "~/src/shared/lib/use-events";
Expand All @@ -28,12 +28,6 @@ const event = computed(() =>
serverEvent.value ? normalizeRayEvent(serverEvent.value) : null
);
const onDelete = () => {
events.removeById(eventId);
router.push("/");
};
const getEvent = async () => {
isLoading.value = true;
Expand All @@ -57,15 +51,7 @@ onMounted(getEvent);

<template>
<main class="ray-dump">
<PageHeader
class="ray-dump__head"
button-title="Delete event"
@delete="onDelete"
>
<NuxtLink to="/">Home</NuxtLink>&nbsp;/&nbsp;
<NuxtLink to="/ray">Ray Dump</NuxtLink>&nbsp;/&nbsp;
<NuxtLink :disabled="true">{{ eventId }}</NuxtLink>
</PageHeader>
<PageEventHeader title="Ray Dump" :event-id="eventId" />

<div v-if="isLoading && !event" class="ray-dump__loading">
<div></div>
Expand Down
18 changes: 2 additions & 16 deletions pages/sentry/[id].vue
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import { computed, onMounted, ref } from "vue";
import { SentryPage } from "~/src/screens/sentry";
import { useRoute, useRouter, useFetch, useHead, useNuxtApp } from "#app"; // eslint-disable-line @conarti/feature-sliced/layers-slices
import { PageHeader } from "~/src/widgets/ui";
import { PageEventHeader } from "~/src/widgets/ui";
import { useSentry } from "~/src/entities/sentry";
import type { Sentry } from "~/src/entities/sentry/types";
import { useEvents } from "~/src/shared/lib/use-events";
Expand All @@ -29,12 +29,6 @@ const event = computed(() =>
: null
);
const onDelete = () => {
events.removeById(eventId);
router.push("/");
};
const getEvent = async () => {
isLoading.value = true;
Expand All @@ -58,15 +52,7 @@ onMounted(getEvent);

<template>
<main class="sentry-event">
<PageHeader
class="sentry-event__head"
button-title="Delete event"
@delete="onDelete"
>
<NuxtLink to="/">Home</NuxtLink>&nbsp;/&nbsp;
<NuxtLink to="/sentry">Sentry</NuxtLink>&nbsp;/&nbsp;
<NuxtLink :disabled="true">{{ eventId }}</NuxtLink>
</PageHeader>
<PageEventHeader title="Sentry" :event-id="eventId" />

<div v-if="isLoading && !event" class="sentry-event__loading">
<div></div>
Expand Down
18 changes: 2 additions & 16 deletions pages/smtp/[id].vue
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import { computed, onMounted, ref } from "vue";
import { SmtpPage } from "~/src/screens/smtp";
import { useRoute, useRouter, useFetch, useHead, useNuxtApp } from "#app"; // eslint-disable-line @conarti/feature-sliced/layers-slices
import { PageHeader } from "~/src/widgets/ui";
import { PageEventHeader } from "~/src/widgets/ui";
import { useSmtp } from "~/src/entities/smtp";
import type { SMTP } from "~/src/entities/smtp/types";
import { htmlEncode } from "~/src/shared/lib/helpers";
Expand Down Expand Up @@ -38,12 +38,6 @@ const html = computed(
() => `<iframe srcdoc="${htmlEncode(serverEvent.value.payload.html)}"/>`
);
const onDelete = () => {
events.removeById(eventId);
router.push("/");
};
const getEvent = async () => {
isLoading.value = true;
Expand Down Expand Up @@ -71,15 +65,7 @@ onMounted(getEvent);

<template>
<main class="smtp-event">
<PageHeader
class="smtp-event__head"
button-title="Delete event"
@delete="onDelete"
>
<NuxtLink to="/">Home</NuxtLink>&nbsp;/&nbsp;
<NuxtLink to="/smtp">Smtp</NuxtLink>&nbsp;/&nbsp;
<NuxtLink :disabled="true">{{ eventId }}</NuxtLink>
</PageHeader>
<PageEventHeader title="Smtp" :event-id="eventId" />

<div v-if="isLoading && !event" class="smtp-event__loading">
<div></div>
Expand Down
18 changes: 2 additions & 16 deletions pages/var-dump/[id].vue
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import { computed, onMounted, ref } from "vue";
import { VarDumpPage } from "~/src/screens/var-dump";
import { useFetch, useHead, useNuxtApp, useRoute, useRouter } from "#app"; // eslint-disable-line @conarti/feature-sliced/layers-slices
import { PageHeader } from "~/src/widgets/ui";
import { PageEventHeader } from "~/src/widgets/ui";
import { useVarDump } from "~/src/entities/var-dump";
import type { VarDump } from "~/src/entities/var-dump/types";
import { useEvents } from "~/src/shared/lib/use-events";
Expand All @@ -28,12 +28,6 @@ const event = computed(() =>
serverEvent.value ? normalizeVarDumpEvent(serverEvent.value) : null
);
const onDelete = () => {
events.removeById(eventId);
router.push("/");
};
const getEvent = async () => {
isLoading.value = true;
Expand All @@ -57,15 +51,7 @@ onMounted(getEvent);

<template>
<main class="var-dump">
<PageHeader
class="var-dump__head"
button-title="Delete event"
@delete="onDelete"
>
<NuxtLink to="/">Home</NuxtLink>&nbsp;/&nbsp;
<NuxtLink to="/var-dump">Var Dump</NuxtLink>&nbsp;/&nbsp;
<NuxtLink :disabled="true">{{ eventId }}</NuxtLink>
</PageHeader>
<PageEventHeader title="Var Dump" :event-id="eventId" />

<div v-if="isLoading && !event" class="var-dump__loading">
<div></div>
Expand Down
2 changes: 1 addition & 1 deletion src/entities/monolog/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,6 @@ export interface Monolog {
level_name: string,
channel: string,
datetime: string,
extra: object,
extra: Record<string, unknown> | [],
}

1 change: 1 addition & 0 deletions src/screens/monolog/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export * from './ui'
1 change: 1 addition & 0 deletions src/screens/monolog/ui/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export * from './monolog-page'
1 change: 1 addition & 0 deletions src/screens/monolog/ui/monolog-page/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export { default as MonologPage } from './monolog-page.vue';
18 changes: 18 additions & 0 deletions src/screens/monolog/ui/monolog-page/monolog-page.stories.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import type { Meta, StoryObj } from "@storybook/vue3";
import { useMonolog } from "~/src/entities/monolog";
import { monologMock } from '~/src/entities/monolog/mocks';
import Monolog from './monolog-page.vue';

const { normalizeMonologEvent } = useMonolog();

export default {
title: "Screens/Monolog/MonologPage",
component: Monolog
} as Meta<typeof Monolog>;


export const Default: StoryObj<typeof Monolog> = {
args: {
event: normalizeMonologEvent(monologMock),
}
}
Loading

0 comments on commit 7ad3127

Please sign in to comment.