Files
ploi-core/resources/deprecated/Admin/Dashboard.vue
Dennis b63d4e753b Merge branch '120-move-mix-to-vite' into V3
# Conflicts:
#	composer.lock
#	package.json
#	public/css/app.css
#	public/js/app.js
#	resources/deprecated/Admin/Alerts/Create.vue
#	resources/deprecated/Admin/Alerts/Edit.vue
#	resources/deprecated/Admin/Alerts/Index.vue
#	resources/deprecated/Admin/Documentation/Articles/Create.vue
#	resources/deprecated/Admin/Documentation/Articles/Edit.vue
#	resources/deprecated/Admin/Documentation/Articles/Index.vue
#	resources/deprecated/Admin/Documentation/Create.vue
#	resources/deprecated/Admin/Documentation/Edit.vue
#	resources/deprecated/Admin/Documentation/Index.vue
#	resources/deprecated/Admin/Packages/Create.vue
#	resources/deprecated/Admin/Packages/Edit.vue
#	resources/deprecated/Admin/Packages/Index.vue
#	resources/deprecated/Admin/Servers/Index.vue
#	resources/deprecated/Admin/Services/Index.vue
#	resources/deprecated/Admin/Services/Provider/Edit.vue
#	resources/deprecated/Admin/Services/Providers.vue
#	resources/deprecated/Admin/Services/Server/Edit.vue
#	resources/deprecated/Admin/Services/Servers.vue
#	resources/deprecated/Admin/Services/Site/Edit.vue
#	resources/deprecated/Admin/Services/Sites.vue
#	resources/deprecated/Admin/Sites/Index.vue
#	resources/deprecated/Admin/Support/Index.vue
#	resources/deprecated/Admin/Support/Show.vue
#	resources/deprecated/Admin/Terms.vue
#	resources/deprecated/Admin/Users/Create.vue
#	resources/deprecated/Admin/Users/Edit.vue
#	resources/deprecated/Admin/Users/Index.vue
#	resources/deprecated/Admin/Users/Show.vue
#	resources/js/Pages/Sites/Dns.vue
2022-07-27 13:30:56 +02:00

149 lines
5.9 KiB
Vue

<template>
<Page>
<TopBar/>
<Content>
<Container>
<PageHeader>
<template #start>
<PageHeaderTitle>{{ __('Administration') }}</PageHeaderTitle>
</template>
</PageHeader>
<PageBody>
<SettingsLayout space="space-y-0">
<template #nav>
<Tabs class="mb-16" />
</template>
<template #segments>
<div class="mb-16">
<ul class="grid grid-cols-3 gap-4">
<li class="p-6 rounded shadow bg-surface-3">
<div class="flex space-x-4">
<div>
<IconHarddisk class="w-6 h-6"/>
</div>
<div>
<h3 class="font-semibold text-body" v-text="servers"></h3>
<p class="text-medium-emphasis text-small">{{ __('Servers') }}</p>
</div>
</div>
</li>
<li class="p-6 rounded shadow bg-surface-3">
<div class="flex space-x-4">
<div>
<IconGlobe class="w-6 h-6"/>
</div>
<div>
<h3 class="font-semibold text-body" v-text="sites"></h3>
<p class="text-medium-emphasis text-small">{{ __('Sites') }}</p>
</div>
</div>
</li>
<li class="p-6 rounded shadow bg-surface-3">
<div class="flex space-x-4">
<div>
<IconPerson class="w-6 h-6"/>
</div>
<div>
<h3 class="font-semibold text-body" v-text="users"></h3>
<p class="text-medium-emphasis text-small">{{ __('Users') }}</p>
</div>
</div>
</li>
</ul>
</div>
<div class="pb-4">
<h2>{{ __('Recent logs') }}</h2>
<List>
<ListItem v-for="log in logs.data" :key="log.id">
<template #title>
{{ log.title }}
</template>
<template #subtitle>{{ log.description }}</template>
<template #suffix>{{ log.created_at_human }}</template>
</ListItem>
</List>
</div>
<pagination :links="logs"/>
</template>
</SettingsLayout>
</PageBody>
</Container>
</Content>
</Page>
</template>
<script>
import TopBar from './components/TopBar.vue'
import Container from '@/components/Container.vue'
import Content from '@/components/Content.vue'
import Page from '@/components/Page.vue'
import Pagination from '@/components/Pagination.vue'
import PageHeader from '@/components/PageHeader.vue'
import PageHeaderTitle from '@/components/PageHeaderTitle.vue'
import PageBody from '@/components/PageBody.vue'
import Button from '@/components/Button.vue'
import List from '@/components/List.vue'
import ListItem from '@/components/ListItem.vue'
import StatusBubble from '@/components/StatusBubble.vue'
import NotificationBadge from '@/components/NotificationBadge.vue'
import MainLayout from '@/Layouts/MainLayout.vue'
import SettingsLayout from '@/components/layouts/SettingsLayout.vue'
import SettingsSegment from '@/components/SettingsSegment.vue'
import FormInput from '@/components/forms/FormInput.vue'
import Form from '@/components/Form.vue'
import FormActions from '@/components/FormActions.vue'
import Tabs from './Tabs.vue'
import IconPerson from '@/components/icons/IconPerson.vue'
import IconGlobe from '@/components/icons/IconGlobe.vue'
import IconStorage from '@/components/icons/IconStorage.vue'
import IconHarddisk from '@/components/icons/IconHarddisk.vue'
export default {
metaInfo() {
return {
title: `${this.__('Administration')}`,
}
},
layout: MainLayout,
components: {
TopBar,
Container,
Content,
Page,
Pagination,
PageHeader,
PageHeaderTitle,
PageBody,
Button,
List,
ListItem,
StatusBubble,
NotificationBadge,
FormInput,
SettingsLayout,
SettingsSegment,
Form,
FormActions,
Tabs,
IconPerson,
IconGlobe,
IconStorage,
IconHarddisk,
},
props: {
servers: Number,
sites: Number,
users: Number,
logs: [Array, Object],
}
}
</script>