51 lines
No EOL
1.4 KiB
Vue
51 lines
No EOL
1.4 KiB
Vue
<template>
|
|
<div class="p-8">
|
|
|
|
<section class="mb-8">
|
|
<details open>
|
|
<summary class="collapsible-header">
|
|
<h2 class="text-xl">Organisatorisches</h2>
|
|
</summary>
|
|
|
|
<div class="app-grid pt-4">
|
|
<AppCard title="Gantt" @click="openApp('gantt')" />
|
|
<AppCard title="Markdown viewer" @click="openApp('markdown')" />
|
|
</div>
|
|
</details>
|
|
</section>
|
|
|
|
<section>
|
|
<details open>
|
|
<summary class="collapsible-header">
|
|
<h2 class="text-xl">Notebook LM</h2>
|
|
</summary>
|
|
<div class="app-grid">
|
|
<AppCard title="Dienstreise" @click="openApp('ext-business-travel')" />
|
|
<AppCard title="Git" @click="openApp('ext-git')" />
|
|
</div>
|
|
</details>
|
|
</section>
|
|
|
|
<section>
|
|
<details open>
|
|
<summary class="collapsible-header">
|
|
<h2 class="text-xl">Google Looker Studio</h2>
|
|
</summary>
|
|
<div class="app-grid">
|
|
<AppCard title="IPT-Bericht" @click="openApp('ext-ipt')" />
|
|
</div>
|
|
</details>
|
|
</section>
|
|
</div>
|
|
</template>
|
|
<script setup lang="ts">
|
|
import AppCard from '@/components/appCard.vue'
|
|
import { onMounted } from 'vue';
|
|
import { useAppLauncher } from '@/central_functions/openApp.ts';
|
|
|
|
const { openApp, loadConfig } = useAppLauncher();
|
|
|
|
onMounted(() => {
|
|
loadConfig();
|
|
});
|
|
</script> |