This commit is contained in:
1 parent
daf2cacf75
commit
6674a6fa2a
6 files changed
+69
-30
No files matched your search
@@ -19,8 +19,13 @@ const menu = ref([
|
|||||||
props: { prependIcon: 'mdi-list-status', to: '/issues', requiresAuth: true },
|
props: { prependIcon: 'mdi-list-status', to: '/issues', requiresAuth: true },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'Games',
|
title: 'Calendar',
|
||||||
value: 3,
|
value: 3,
|
||||||
|
props: { prependIcon: 'mdi-calendar', to: '/calendar', requiresAuth: true },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Games',
|
||||||
|
value: 4,
|
||||||
props: { prependIcon: 'mdi-view-dashboard', to: '/games', requiresAuth: false },
|
props: { prependIcon: 'mdi-view-dashboard', to: '/games', requiresAuth: false },
|
||||||
},
|
},
|
||||||
])
|
])
|
||||||
|
|||||||
@@ -24,21 +24,13 @@ watch(
|
|||||||
<v-btn-toggle
|
<v-btn-toggle
|
||||||
v-model="selected"
|
v-model="selected"
|
||||||
divided
|
divided
|
||||||
|
border
|
||||||
size="default"
|
size="default"
|
||||||
density="comfortable"
|
density="comfortable"
|
||||||
variant="flat"
|
variant="text"
|
||||||
@update:model-value="onUpdate"
|
@update:model-value="onUpdate"
|
||||||
>
|
>
|
||||||
<v-btn
|
<v-btn slim v-for="el in statusStore.statuses" :color="el.color" :value="el.alias" :key="el.alias" rounded="0">
|
||||||
border
|
|
||||||
slim
|
|
||||||
v-for="el in statusStore.statuses"
|
|
||||||
:color="el.color"
|
|
||||||
:value="el.alias"
|
|
||||||
:key="el.alias"
|
|
||||||
rounded="0"
|
|
||||||
>
|
|
||||||
<!-- <v-icon :icon="icons.get(el.alias)" class="mr-1" />-->
|
|
||||||
<div class="text-default">{{ el.name }}</div>
|
<div class="text-default">{{ el.name }}</div>
|
||||||
</v-btn>
|
</v-btn>
|
||||||
</v-btn-toggle>
|
</v-btn-toggle>
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
import type { RouteRecordRaw } from 'vue-router'
|
||||||
|
import CalendarView from '@/views/calendar/CalendarView.vue'
|
||||||
|
|
||||||
|
export const calendarRoutes: RouteRecordRaw = {
|
||||||
|
path: '/calendar',
|
||||||
|
component: CalendarView,
|
||||||
|
meta: { requiresAuth: true },
|
||||||
|
}
|
||||||
@@ -8,6 +8,7 @@ import SignInView from '@/views/users/SignInView.vue'
|
|||||||
import { authClient } from '@/lib/auth-client.ts'
|
import { authClient } from '@/lib/auth-client.ts'
|
||||||
import { gamesRoutes } from '@/router/games.ts'
|
import { gamesRoutes } from '@/router/games.ts'
|
||||||
import { settingsRoutes } from '@/router/settings.ts'
|
import { settingsRoutes } from '@/router/settings.ts'
|
||||||
|
import { calendarRoutes } from '@/router/calendar.ts'
|
||||||
|
|
||||||
declare module 'vue-router' {
|
declare module 'vue-router' {
|
||||||
interface RouteMeta {
|
interface RouteMeta {
|
||||||
@@ -47,6 +48,7 @@ const router = createRouter({
|
|||||||
meta: { requiresAuth: true },
|
meta: { requiresAuth: true },
|
||||||
},
|
},
|
||||||
issuesRoutes,
|
issuesRoutes,
|
||||||
|
calendarRoutes,
|
||||||
gamesRoutes,
|
gamesRoutes,
|
||||||
settingsRoutes,
|
settingsRoutes,
|
||||||
],
|
],
|
||||||
|
|||||||
+18
-18
@@ -126,7 +126,7 @@ function onClickCard(status?: string) {
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<div v-if="session.data" class="d-flex flex-column ga-4">
|
<div v-if="session.data" class="d-flex flex-column ga-2">
|
||||||
<project-menu />
|
<project-menu />
|
||||||
|
|
||||||
<div class="dashboard_grid">
|
<div class="dashboard_grid">
|
||||||
@@ -142,6 +142,23 @@ function onClickCard(status?: string) {
|
|||||||
|
|
||||||
<v-divider />
|
<v-divider />
|
||||||
|
|
||||||
|
<v-row density="compact">
|
||||||
|
<v-col cols="12" md="6">
|
||||||
|
<v-card border>
|
||||||
|
<v-card-title>Issues by status</v-card-title>
|
||||||
|
<v-divider />
|
||||||
|
<v-card-text>
|
||||||
|
<issue-status-chart :stats="stats" @select="onClickCard" />
|
||||||
|
</v-card-text>
|
||||||
|
</v-card>
|
||||||
|
</v-col>
|
||||||
|
<v-col cols="12" md="6">
|
||||||
|
<!-- <v-card border>-->
|
||||||
|
<!-- <v-card-text>text</v-card-text>-->
|
||||||
|
<!-- </v-card>-->
|
||||||
|
</v-col>
|
||||||
|
</v-row>
|
||||||
|
|
||||||
<v-row density="compact">
|
<v-row density="compact">
|
||||||
<v-col cols="12" md="8">
|
<v-col cols="12" md="8">
|
||||||
<v-card border>
|
<v-card border>
|
||||||
@@ -207,23 +224,6 @@ function onClickCard(status?: string) {
|
|||||||
</v-card>
|
</v-card>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
|
|
||||||
<v-row density="compact">
|
|
||||||
<v-col cols="12" md="6">
|
|
||||||
<v-card border>
|
|
||||||
<v-card-title>Issues by status</v-card-title>
|
|
||||||
<v-divider />
|
|
||||||
<v-card-text>
|
|
||||||
<issue-status-chart :stats="stats" @select="onClickCard" />
|
|
||||||
</v-card-text>
|
|
||||||
</v-card>
|
|
||||||
</v-col>
|
|
||||||
<v-col cols="12" md="6">
|
|
||||||
<!-- <v-card border>-->
|
|
||||||
<!-- <v-card-text>text</v-card-text>-->
|
|
||||||
<!-- </v-card>-->
|
|
||||||
</v-col>
|
|
||||||
</v-row>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -0,0 +1,32 @@
|
|||||||
|
<script setup lang="ts">
|
||||||
|
import { ref } from 'vue'
|
||||||
|
|
||||||
|
const type = ref('month')
|
||||||
|
const types = ['month', 'week', 'day', '4day']
|
||||||
|
const mode = ref('stack')
|
||||||
|
const modes = ['stack', 'column']
|
||||||
|
const weekday = ref([0, 1, 2, 3, 4, 5, 6])
|
||||||
|
const weekdays = [
|
||||||
|
{ title: 'Sun - Sat', value: [0, 1, 2, 3, 4, 5, 6] },
|
||||||
|
{ title: 'Mon - Sun', value: [1, 2, 3, 4, 5, 6, 0] },
|
||||||
|
{ title: 'Mon - Fri', value: [1, 2, 3, 4, 5] },
|
||||||
|
{ title: 'Mon, Wed, Fri', value: [1, 3, 5] },
|
||||||
|
]
|
||||||
|
const value = ref('')
|
||||||
|
const events = ref([])
|
||||||
|
const colors = ['blue', 'indigo', 'deep-purple', 'cyan', 'green', 'orange', 'grey-darken-1']
|
||||||
|
const names = ['Meeting', 'Holiday', 'PTO', 'Travel', 'Event', 'Birthday', 'Conference', 'Party']
|
||||||
|
|
||||||
|
function rnd(a: number, b: number) {
|
||||||
|
return Math.floor((b - a + 1) * Math.random()) + a
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<v-sheet height="600">
|
||||||
|
<v-calendar></v-calendar>
|
||||||
|
</v-sheet>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<style scoped lang="scss"></style>
|
||||||
Reference in new issue
Block a user