- Small changes to allow for keyboard input, not finished
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"dist/chat-client.js": "dist/chat-client.e8905ecb.js",
|
"dist/chat-client.js": "dist/chat-client.5b709f8c.js",
|
||||||
"dist/chat-client.css": "dist/chat-client.d344ebba.css",
|
"dist/chat-client.css": "dist/chat-client.cb306abb.css",
|
||||||
"dist/main.js": "dist/main.6a617099.js",
|
"dist/main.js": "dist/main.6a617099.js",
|
||||||
"dist/main.css": "dist/main.7182aac3.css"
|
"dist/main.css": "dist/main.7182aac3.css"
|
||||||
}
|
}
|
||||||
@@ -21,7 +21,9 @@
|
|||||||
/* App container layout */
|
/* App container layout */
|
||||||
.app-container {
|
.app-container {
|
||||||
display: flex;
|
display: flex;
|
||||||
/* Use visual viewport variable when available */
|
/* Op desktop gebruiken we de veilige viewporthoogte direct; op mobiel
|
||||||
|
laten we html/body de hoogte bepalen en neemt de app-container
|
||||||
|
eenvoudig 100% daarvan in via de media query verderop. */
|
||||||
min-height: 0;
|
min-height: 0;
|
||||||
height: calc(var(--safe-vh, var(--vvh, 1vh)) * 100);
|
height: calc(var(--safe-vh, var(--vvh, 1vh)) * 100);
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@@ -93,7 +95,7 @@
|
|||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
min-height: 0;
|
min-height: 0;
|
||||||
height: auto; /* prefer dynamic viewport on desktop */
|
height: auto; /* desktop: dynamische hoogte, op mobiel overschreven */
|
||||||
}
|
}
|
||||||
|
|
||||||
.chat-container {
|
.chat-container {
|
||||||
@@ -103,6 +105,26 @@
|
|||||||
min-height: 0; /* laat kinderen (ChatApp) krimpen */
|
min-height: 0; /* laat kinderen (ChatApp) krimpen */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Op mobiel sluiten we de volledige content-kolom strak aan op de veilige
|
||||||
|
viewporthoogte zodat alleen de chatcontent zelf kan scrollen en niet de
|
||||||
|
gehele pagina wanneer het toetsenbord opent. */
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
.app-container {
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-area {
|
||||||
|
height: 100%;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chat-container {
|
||||||
|
flex: 1 1 auto;
|
||||||
|
min-height: 0;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
html, body {
|
html, body {
|
||||||
height: calc(var(--safe-vh, var(--vvh, 1vh)) * 100);
|
height: calc(var(--safe-vh, var(--vvh, 1vh)) * 100);
|
||||||
min-height: 0;
|
min-height: 0;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
active_text_color<template>
|
active_text_color<template>
|
||||||
<div class="chat-app-container">
|
<div class="chat-app-container">
|
||||||
<!-- Desktop layout: huidige gedrag behouden -->
|
<!-- Desktop layout: huidige gedrag behouden -->
|
||||||
<div v-if="!isMobile" class="chat-desktop-layout">
|
<div v-if="!isMobileFallback" class="chat-desktop-layout">
|
||||||
<message-history
|
<message-history
|
||||||
:messages="displayMessages"
|
:messages="displayMessages"
|
||||||
:is-typing="isTyping"
|
:is-typing="isTyping"
|
||||||
@@ -137,7 +137,6 @@ import { createLanguageProvider, LANGUAGE_PROVIDER_KEY } from '../js/services/La
|
|||||||
// Import content modal composable
|
// Import content modal composable
|
||||||
import { provideContentModal } from '../js/composables/useContentModal.js';
|
import { provideContentModal } from '../js/composables/useContentModal.js';
|
||||||
import { provide } from 'vue';
|
import { provide } from 'vue';
|
||||||
import useChatViewport from '../js/composables/useChatViewport.js';
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'ChatApp',
|
name: 'ChatApp',
|
||||||
@@ -166,16 +165,12 @@ export default {
|
|||||||
// Creëer en provide content modal
|
// Creëer en provide content modal
|
||||||
const contentModal = provideContentModal();
|
const contentModal = provideContentModal();
|
||||||
|
|
||||||
// Initialiseer viewport-/device-informatie via useChatViewport (VueUse)
|
|
||||||
const { isMobile } = useChatViewport();
|
|
||||||
|
|
||||||
// Provide aan alle child components
|
// Provide aan alle child components
|
||||||
provide(LANGUAGE_PROVIDER_KEY, languageProvider);
|
provide(LANGUAGE_PROVIDER_KEY, languageProvider);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
languageProvider,
|
languageProvider,
|
||||||
contentModal,
|
contentModal
|
||||||
isMobile
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -706,8 +701,13 @@ export default {
|
|||||||
.chat-mobile-layout {
|
.chat-mobile-layout {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
/* Binnen SafeViewport vertrouwen we op de hoogte van de bovenliggende
|
||||||
|
containers (html/body/app-container). Deze layout moet zich daaraan
|
||||||
|
aanpassen en niet opnieuw zelf een safe-vh berekening doen, om
|
||||||
|
dubbele afrondingsfouten en extra scrollruimte te vermijden. */
|
||||||
|
flex: 1 1 auto;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
min-height: calc(var(--safe-vh, 1vh) * 100);
|
min-height: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.chat-mobile-content {
|
.chat-mobile-content {
|
||||||
@@ -761,6 +761,14 @@ export default {
|
|||||||
padding-bottom: calc(6px + var(--safe-bottom-inset, 0px));
|
padding-bottom: calc(6px + var(--safe-bottom-inset, 0px));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Wanneer het toetsenbord open is (gedetecteerd door useChatViewport via
|
||||||
|
de body-klasse chat-keyboard-open), willen we geen extra grote
|
||||||
|
safe-bottom-inset meer onder de input. Dan sluiten we zo veel mogelijk
|
||||||
|
aan tegen de visuele viewport en houden we alleen een kleine vaste marge. */
|
||||||
|
body.chat-keyboard-open .tab-chat-input {
|
||||||
|
padding-bottom: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
@media (max-width: 768px) {
|
@media (max-width: 768px) {
|
||||||
.chat-app-container {
|
.chat-app-container {
|
||||||
/* Minder padding op mobiel zodat de tabbar binnen de viewport valt */
|
/* Minder padding op mobiel zodat de tabbar binnen de viewport valt */
|
||||||
|
|||||||
@@ -24,5 +24,8 @@ useChatViewport();
|
|||||||
height: 100%;
|
height: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
flex: 1 1 auto;
|
||||||
|
min-height: 0;
|
||||||
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
Reference in New Issue
Block a user