Compare commits
3 Commits
417689b725
...
ee7e03ce28
Author | SHA1 | Date |
---|---|---|
Tim Gröger | ee7e03ce28 | |
Tim Gröger | 2928c241ad | |
Tim Gröger | fe9ec96ce1 |
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"version": "1.0.0-alpha.8",
|
"version": "1.0.0",
|
||||||
"name": "@flaschengeist/api",
|
"name": "@flaschengeist/api",
|
||||||
"author": "Tim Gröger <flaschengeist@wu5.de>",
|
"author": "Tim Gröger <flaschengeist@wu5.de>",
|
||||||
"homepage": "https://flaschengeist.dev/Flaschengeist",
|
"homepage": "https://flaschengeist.dev/Flaschengeist",
|
||||||
|
@ -11,11 +11,11 @@
|
||||||
"main": "./src/index.ts",
|
"main": "./src/index.ts",
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@quasar/app-webpack": "^3.7.2",
|
"@quasar/app-webpack": "^3.7.2",
|
||||||
"flaschengeist": "^2.0.0-alpha.1",
|
"flaschengeist": "^2.0.0",
|
||||||
"pinia": "^2.0.8"
|
"pinia": "^2.0.8"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@flaschengeist/types": "^1.0.0-alpha.10",
|
"@flaschengeist/types": "^1.0.0",
|
||||||
"@types/node": "^14.18.0",
|
"@types/node": "^14.18.0",
|
||||||
"typescript": "^4.5.4"
|
"typescript": "^4.5.4"
|
||||||
},
|
},
|
||||||
|
|
14
package.json
14
package.json
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"private": true,
|
"private": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"version": "2.0.0-alpha.2",
|
"version": "2.0.0",
|
||||||
"productName": "flaschengeist-frontend",
|
"productName": "flaschengeist-frontend",
|
||||||
"name": "flaschengeist",
|
"name": "flaschengeist",
|
||||||
"author": "Tim Gröger <flaschengeist@wu5.de>",
|
"author": "Tim Gröger <flaschengeist@wu5.de>",
|
||||||
|
@ -15,11 +15,11 @@
|
||||||
"lint": "eslint --ext .js,.ts,.vue ./src ./api"
|
"lint": "eslint --ext .js,.ts,.vue ./src ./api"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@flaschengeist/api": "^1.0.0-alpha.8",
|
"@flaschengeist/api": "^1.0.0",
|
||||||
"@flaschengeist/balance": "^1.0.0-alpha.2",
|
"@flaschengeist/balance": "^1.0.0",
|
||||||
"@flaschengeist/pricelist-old": "^1.0.0-alpha.1",
|
"@flaschengeist/pricelist-old": "^1.0.0",
|
||||||
"@flaschengeist/schedule": "^1.0.0-alpha.8",
|
"@flaschengeist/schedule": "^1.0.0",
|
||||||
"@flaschengeist/users": "^1.0.0-alpha.4",
|
"@flaschengeist/users": "^1.0.0",
|
||||||
"axios": "^1.4.0",
|
"axios": "^1.4.0",
|
||||||
"pinia": "^2.0.8",
|
"pinia": "^2.0.8",
|
||||||
"quasar": "^2.11.10",
|
"quasar": "^2.11.10",
|
||||||
|
@ -29,7 +29,7 @@
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@capacitor/core": "^5.0.0",
|
"@capacitor/core": "^5.0.0",
|
||||||
"@capacitor/preferences": "^5.0.0",
|
"@capacitor/preferences": "^5.0.0",
|
||||||
"@flaschengeist/types": "^1.0.0-alpha.10",
|
"@flaschengeist/types": "^1.0.0",
|
||||||
"@quasar/app-webpack": "^3.7.2",
|
"@quasar/app-webpack": "^3.7.2",
|
||||||
"@quasar/extras": "^1.16.3",
|
"@quasar/extras": "^1.16.3",
|
||||||
"@types/node": "^14.18.0",
|
"@types/node": "^14.18.0",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "flaschengeist",
|
"name": "flaschengeist",
|
||||||
"version": "2.0.0-alpha.1",
|
"version": "2.0.0",
|
||||||
"description": "Modular student club administration system",
|
"description": "Modular student club administration system",
|
||||||
"author": "Tim Gröger <flaschengeist@wu5.de>",
|
"author": "Tim Gröger <flaschengeist@wu5.de>",
|
||||||
"private": true,
|
"private": true,
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
class="q-ma-xs"
|
class="q-ma-xs"
|
||||||
title="Löschen"
|
title="Löschen"
|
||||||
style="position: absolute; top: 0; right: 0; z-index: 999"
|
style="position: absolute; top: 0; right: 0; z-index: 999"
|
||||||
@click="dismiss"
|
@click.stop.prevent="dismiss"
|
||||||
/>
|
/>
|
||||||
<q-card-section class="q-pa-xs">
|
<q-card-section class="q-pa-xs">
|
||||||
<div class="text-overline">{{ dateString }}</div>
|
<div class="text-overline">{{ dateString }}</div>
|
||||||
|
@ -34,7 +34,7 @@
|
||||||
flat
|
flat
|
||||||
dense
|
dense
|
||||||
size="sm"
|
size="sm"
|
||||||
@click="accept"
|
@click.stop.prevent="accept"
|
||||||
/>
|
/>
|
||||||
<q-btn
|
<q-btn
|
||||||
v-if="modelValue.reject"
|
v-if="modelValue.reject"
|
||||||
|
@ -44,7 +44,7 @@
|
||||||
flat
|
flat
|
||||||
dense
|
dense
|
||||||
size="sm"
|
size="sm"
|
||||||
@click="reject"
|
@click.stop.prevent="reject"
|
||||||
/>
|
/>
|
||||||
</q-card-actions>
|
</q-card-actions>
|
||||||
</q-card>
|
</q-card>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<q-layout view="hHh Lpr lff">
|
<q-layout view="hHh Lpr lff">
|
||||||
<q-header elevated class="bg-primary text-white">
|
<q-header elevated class="bg-primary text-white">
|
||||||
<q-toolbar>
|
<q-toolbar>
|
||||||
<q-btn dense flat round icon="mdi-menu" @click="openMenu" />
|
<q-btn dense flat round icon="mdi-menu" @click="openMenu(true)" />
|
||||||
|
|
||||||
<q-toolbar-title>
|
<q-toolbar-title>
|
||||||
<router-link :to="{ name: 'dashboard' }" style="text-decoration: none; color: inherit">
|
<router-link :to="{ name: 'dashboard' }" style="text-decoration: none; color: inherit">
|
||||||
|
@ -56,32 +56,44 @@
|
||||||
side="left"
|
side="left"
|
||||||
bordered
|
bordered
|
||||||
:mini="leftDrawerMini"
|
:mini="leftDrawerMini"
|
||||||
@click.capture="openMenu"
|
@click.capture="openMenuMini"
|
||||||
>
|
>
|
||||||
<!-- Plugins -->
|
<!-- Plugins -->
|
||||||
<essential-expansion-link
|
<q-scroll-area class="fit">
|
||||||
v-for="(entry, index) in mainLinks"
|
<essential-expansion-link
|
||||||
:key="'plugin' + index"
|
v-for="(entry, index) in mainLinks"
|
||||||
:entry="entry"
|
:key="'plugin' + index"
|
||||||
@add-short-cut="addShortcut"
|
:entry="entry"
|
||||||
/>
|
@add-short-cut="addShortcut"
|
||||||
<q-separator />
|
/>
|
||||||
<essential-link
|
|
||||||
v-for="(entry, index) in essentials"
|
|
||||||
:key="'essential' + index"
|
|
||||||
:entry="entry"
|
|
||||||
/>
|
|
||||||
<div v-if="platform.is.capacitor">
|
|
||||||
<q-separator />
|
<q-separator />
|
||||||
<q-item clickable tag="a" target="self" @click="logout">
|
<essential-link
|
||||||
<q-item-section avatar>
|
v-for="(entry, index) in essentials"
|
||||||
<q-icon name="mdi-exit-to-app" />
|
:key="'essential' + index"
|
||||||
</q-item-section>
|
:entry="entry"
|
||||||
|
/>
|
||||||
|
<div v-if="platform.is.capacitor">
|
||||||
|
<q-separator />
|
||||||
|
<q-item clickable tag="a" target="self" @click="logout">
|
||||||
|
<q-item-section avatar>
|
||||||
|
<q-icon name="mdi-exit-to-app" />
|
||||||
|
</q-item-section>
|
||||||
|
|
||||||
<q-item-section>
|
<q-item-section>
|
||||||
<q-item-label>Logout</q-item-label>
|
<q-item-label>Logout</q-item-label>
|
||||||
</q-item-section>
|
</q-item-section>
|
||||||
</q-item>
|
</q-item>
|
||||||
|
</div>
|
||||||
|
</q-scroll-area>
|
||||||
|
<div class="q-mini-drawer-hide absolute" style="top: 15px; right: -17px">
|
||||||
|
<q-btn
|
||||||
|
dense
|
||||||
|
round
|
||||||
|
unelevated
|
||||||
|
color="accent"
|
||||||
|
icon="mdi-chevron-left"
|
||||||
|
@click="openMenuMini(true)"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</q-drawer>
|
</q-drawer>
|
||||||
<q-page-container>
|
<q-page-container>
|
||||||
|
@ -125,7 +137,7 @@ export default defineComponent({
|
||||||
const mainStore = useMainStore();
|
const mainStore = useMainStore();
|
||||||
const flaschengeist = inject<FG_Plugin.Flaschengeist>('flaschengeist');
|
const flaschengeist = inject<FG_Plugin.Flaschengeist>('flaschengeist');
|
||||||
const leftDrawer = ref(!Platform.is.mobile);
|
const leftDrawer = ref(!Platform.is.mobile);
|
||||||
const leftDrawerMini = ref(false);
|
const leftDrawerMini = ref(true);
|
||||||
const mainLinks = flaschengeist?.menuLinks || [];
|
const mainLinks = flaschengeist?.menuLinks || [];
|
||||||
const notifications = computed(() => mainStore.notifications.slice().reverse());
|
const notifications = computed(() => mainStore.notifications.slice().reverse());
|
||||||
const polling = ref(NaN);
|
const polling = ref(NaN);
|
||||||
|
@ -138,9 +150,11 @@ export default defineComponent({
|
||||||
void mainStore.getShortcuts();
|
void mainStore.getShortcuts();
|
||||||
});
|
});
|
||||||
onBeforeUnmount(() => window.clearInterval(polling.value));
|
onBeforeUnmount(() => window.clearInterval(polling.value));
|
||||||
|
/*
|
||||||
function openMenu(event: { target: HTMLInputElement }) {
|
function openMenu(event: { target: HTMLInputElement }) {
|
||||||
if (event.target.nodeName === 'DIV') leftDrawerMini.value = false;
|
console.log(event.target.nodeName);
|
||||||
|
if (event.target.nodeName === 'DIV' || event.target.nodeName === 'I')
|
||||||
|
leftDrawerMini.value = false;
|
||||||
else {
|
else {
|
||||||
if (!leftDrawer.value || leftDrawerMini.value) {
|
if (!leftDrawer.value || leftDrawerMini.value) {
|
||||||
leftDrawer.value = true;
|
leftDrawer.value = true;
|
||||||
|
@ -151,7 +165,13 @@ export default defineComponent({
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
function openMenu(value = !leftDrawer.value) {
|
||||||
|
leftDrawer.value = value;
|
||||||
|
}
|
||||||
|
function openMenuMini(value = !leftDrawerMini.value) {
|
||||||
|
leftDrawerMini.value = value;
|
||||||
|
}
|
||||||
function logout() {
|
function logout() {
|
||||||
void router.push({ name: 'login', params: { logout: 'logout' } });
|
void router.push({ name: 'login', params: { logout: 'logout' } });
|
||||||
void mainStore.logout();
|
void mainStore.logout();
|
||||||
|
@ -214,6 +234,7 @@ export default defineComponent({
|
||||||
notifications,
|
notifications,
|
||||||
noPermission,
|
noPermission,
|
||||||
openMenu,
|
openMenu,
|
||||||
|
openMenuMini,
|
||||||
remove,
|
remove,
|
||||||
requestPermission,
|
requestPermission,
|
||||||
useNative,
|
useNative,
|
||||||
|
|
Loading…
Reference in New Issue