Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve/event groups #161

Merged
merged 5 commits into from
Jun 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading