fix(stage-web): interactive area
This commit is contained in:
@@ -154,7 +154,7 @@ onAfterSend(async () => {
|
||||
bg="hover:primary-100 dark:hover:primary-900"
|
||||
text="primary-300 hover:primary-500 dark:primary-300/50 dark:hover:primary-500"
|
||||
transition="all duration-250 ease-in-out"
|
||||
cursor-pointer items-center gap-1 rounded-l-lg px-2
|
||||
cursor-pointer items-center gap-1 rounded-lg px-2
|
||||
>
|
||||
<input v-model="tab" type="radio" name="tab" value="chat" hidden>
|
||||
<div i-solar:dialog-2-bold-duotone text="2xl" transform="translate-y--2" />
|
||||
@@ -162,48 +162,6 @@ onAfterSend(async () => {
|
||||
<span min-w="3em">{{ t('stage.chat.tabs.chat') }}</span>
|
||||
</div>
|
||||
</label>
|
||||
<label
|
||||
:class="[
|
||||
tab === 'custom' ? 'bg-primary-100 dark:bg-primary-900' : 'bg-white dark:bg-primary-950',
|
||||
tab === 'custom' ? 'text-primary-500 dark:text-primary-500' : '',
|
||||
{ 'transition-colors-none ': themeColorsHueDynamic },
|
||||
]"
|
||||
flex="~ row"
|
||||
:checked="tab === 'custom'"
|
||||
:aria-checked="tab === 'custom'"
|
||||
border="solid t-2 b-2 primary-100 dark:primary-900"
|
||||
bg="hover:primary-100 dark:hover:primary-900"
|
||||
text="primary-300 hover:primary-500 dark:primary-300/50 dark:hover:primary-500"
|
||||
transition="all duration-250 ease-in-out"
|
||||
cursor-pointer items-center gap-1 px-2
|
||||
>
|
||||
<input v-model="tab" type="radio" name="tab" value="custom" hidden>
|
||||
<div i-solar:star-fall-2-bold-duotone text="2xl" transform="translate-y--2" />
|
||||
<div flex="~ row" items-center>
|
||||
<span>{{ t('stage.chat.tabs.custom') }}</span>
|
||||
</div>
|
||||
</label>
|
||||
<label
|
||||
:class="[
|
||||
tab === 'clothes' ? 'bg-primary-100 dark:bg-primary-900' : 'bg-white dark:bg-primary-950',
|
||||
tab === 'clothes' ? 'text-primary-500 dark:text-primary-500' : '',
|
||||
{ 'transition-colors-none ': themeColorsHueDynamic },
|
||||
]"
|
||||
flex="~ row"
|
||||
:checked="tab === 'clothes'"
|
||||
:aria-checked="tab === 'clothes'"
|
||||
border="solid r-2 t-2 b-2 primary-100 dark:primary-900"
|
||||
bg="hover:primary-100 dark:hover:primary-900"
|
||||
text="primary-300 hover:primary-500 dark:primary-300/50 dark:hover:primary-500"
|
||||
transition="all duration-250 ease-in-out"
|
||||
cursor-pointer items-center gap-1 rounded-r-lg px-2
|
||||
>
|
||||
<input v-model="tab" type="radio" name="tab" value="clothes" hidden>
|
||||
<div i-solar:magic-stick-3-bold-duotone text="2xl" transform="translate-y--2" />
|
||||
<div flex="~ row" items-center>
|
||||
<span>{{ t('stage.chat.tabs.clothes') }}</span>
|
||||
</div>
|
||||
</label>
|
||||
</fieldset>
|
||||
<div h-full max-h="[85vh]" w-full px="12 <md:0" py="4">
|
||||
<div
|
||||
|
||||
@@ -84,25 +84,23 @@ onMounted(() => {
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<div relative w-full flex gap-1>
|
||||
<MobileChatHistory absolute left-0 top-0 transform="translate-y-[-100%]" w-full />
|
||||
<div flex flex-1>
|
||||
<BasicTextarea
|
||||
v-model="messageInput"
|
||||
:placeholder="t('stage.message')"
|
||||
border="solid 2 primary-100 dark:primary-400/20"
|
||||
text="primary-300 hover:primary-500 dark:primary-300/50 dark:hover:primary-500 placeholder:primary-300 placeholder:hover:primary-500 placeholder:dark:primary-300/50 placeholder:dark:hover:primary-500"
|
||||
bg="primary-100 dark:primary-400/20"
|
||||
max-h="[10lh]" min-h="[1lh]"
|
||||
w-full resize-none overflow-y-scroll rounded-xl p-2 font-medium outline-none
|
||||
transition="all duration-250 ease-in-out placeholder:all placeholder:duration-250 placeholder:ease-in-out"
|
||||
:class="{ 'transition-colors-none placeholder:transition-colors-none': themeColorsHueDynamic }"
|
||||
@submit="handleSend"
|
||||
@compositionstart="isComposing = true"
|
||||
@compositionend="isComposing = false"
|
||||
/>
|
||||
</div>
|
||||
<div fixed bottom-0 w-full flex gap-1>
|
||||
<MobileChatHistory absolute left-0 top-0 transform="translate-y-[-100%]" w-full />
|
||||
<div flex flex-1>
|
||||
<BasicTextarea
|
||||
v-model="messageInput"
|
||||
:placeholder="t('stage.message')"
|
||||
border="solid 2 primary-100 dark:primary-400/20"
|
||||
text="primary-300 hover:primary-500 dark:primary-300/50 dark:hover:primary-500 placeholder:primary-300 placeholder:hover:primary-500 placeholder:dark:primary-300/50 placeholder:dark:hover:primary-500"
|
||||
bg="primary-100 dark:primary-400/20"
|
||||
max-h="[10lh]" min-h="[1lh]"
|
||||
w-full resize-none overflow-y-scroll rounded-xl p-2 font-medium outline-none
|
||||
transition="all duration-250 ease-in-out placeholder:all placeholder:duration-250 placeholder:ease-in-out"
|
||||
:class="{ 'transition-colors-none placeholder:transition-colors-none': themeColorsHueDynamic }"
|
||||
@submit="handleSend"
|
||||
@compositionstart="isComposing = true"
|
||||
@compositionend="isComposing = false"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -121,14 +121,14 @@ const routeHeaderMetadata = computed(() => routeHeaderMetadataMap.value[route.pa
|
||||
>
|
||||
<!-- Header -->
|
||||
<div
|
||||
class="px-0 py-1 md:px-3 md:py-3"
|
||||
class="px-0 py-1 hidden sm:block md:px-3 md:py-3"
|
||||
w-full gap-2
|
||||
bg="$bg-color"
|
||||
>
|
||||
<HeaderLink />
|
||||
</div>
|
||||
<!-- Content -->
|
||||
<div class="px-3 py-2 md:px-5 md:py-5" flex="~ col" mx-auto max-w-screen-xl>
|
||||
<div class="px-3 py-0 md:px-5 md:py-5" flex="~ col" mx-auto max-w-screen-xl>
|
||||
<PageHeader
|
||||
:title="routeHeaderMetadata?.title"
|
||||
:subtitle="routeHeaderMetadata?.subtitle"
|
||||
|
||||
Reference in New Issue
Block a user