- Wrap client in @vueuse/core to abstract mobile client dimensions

This commit is contained in:
Josako
2025-11-26 08:01:33 +01:00
parent 73125887a3
commit 0d3c3949de
9 changed files with 298 additions and 30 deletions

View File

@@ -0,0 +1,13 @@
<template>
<SafeViewport>
<ChatApp />
</SafeViewport>
</template>
<script setup>
// ChatRoot.vue
// Kleine root-component die de ChatApp binnen de SafeViewport wrapper rendert.
import ChatApp from './ChatApp.vue';
import SafeViewport from './SafeViewport.vue';
</script>

View File

@@ -0,0 +1,28 @@
<template>
<div class="safe-viewport-wrapper">
<slot />
</div>
</template>
<script setup>
// SafeViewport.vue
// Wrapper-component die de chatapplicatie omhult en de viewport-/keyboard-logica
// initialiseert via de useChatViewport composable.
// Belangrijk: de composable zelf leeft onder nginx/frontend_src/js zodat hij
// binnen dezelfde npm-package valt als de bundel (en zo @vueuse/core kan resolven).
// Daarom gebruiken we hier een relatieve pad vanuit de Vue-component naar die map.
import useChatViewport from '../js/composables/useChatViewport.js';
// Initialiseer de viewport-logica zodra deze wrapper instantiëert.
useChatViewport();
</script>
<style scoped>
.safe-viewport-wrapper {
height: 100%;
display: flex;
flex-direction: column;
}
</style>