Build Nuxt 4 manager cabinet workflows

This commit is contained in:
Ruslan Bakiev
2026-03-30 21:41:28 +07:00
parent c0c0842427
commit 325e004aac
50 changed files with 15082 additions and 1 deletions

View File

@@ -0,0 +1,19 @@
import type { Meta, StoryObj } from '@storybook/vue3-vite';
import OrderStatusBadge from './OrderStatusBadge.vue';
const meta: Meta<typeof OrderStatusBadge> = {
title: 'Orders/OrderStatusBadge',
component: OrderStatusBadge,
};
export default meta;
type Story = StoryObj<typeof OrderStatusBadge>;
export const InProgress: Story = {
args: { status: 'IN_PROGRESS' },
};
export const Completed: Story = {
args: { status: 'COMPLETED' },
};

View File

@@ -0,0 +1,16 @@
<script setup lang="ts">
const props = defineProps<{
status: string;
}>();
const className = computed(() => {
if (props.status === 'COMPLETED') return 'badge badge-success';
if (props.status === 'CLIENT_REJECTED' || props.status === 'MANAGER_REJECTED') return 'badge badge-error';
if (props.status === 'MANAGER_BLOCKED') return 'badge badge-warning';
return 'badge badge-info';
});
</script>
<template>
<span :class="className">{{ status }}</span>
</template>

View File

@@ -0,0 +1,13 @@
import type { Meta, StoryObj } from '@storybook/vue3-vite';
import AppHeader from './AppHeader.vue';
const meta: Meta<typeof AppHeader> = {
title: 'UI/AppHeader',
component: AppHeader,
};
export default meta;
type Story = StoryObj<typeof AppHeader>;
export const Default: Story = {};

View File

@@ -0,0 +1,16 @@
<template>
<header class="navbar bg-base-100 border-b border-base-300 sticky top-0 z-10">
<div class="navbar-start">
<NuxtLink to="/" class="btn btn-ghost text-xl">Fregat Manager</NuxtLink>
</div>
<div class="navbar-center hidden md:flex">
<ul class="menu menu-horizontal px-1">
<li><NuxtLink to="/requests">Заявки</NuxtLink></li>
<li><NuxtLink to="/orders">Заказы</NuxtLink></li>
<li><NuxtLink to="/invitations">Инвайты</NuxtLink></li>
<li><NuxtLink to="/referrals">Рефералка</NuxtLink></li>
<li><NuxtLink to="/withdrawals">Выводы</NuxtLink></li>
</ul>
</div>
</header>
</template>