mejoras UI/UX v7
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<div class="app-credits" :class="[variantClass, positionClass]" aria-label="Créditos y contacto" ref="rootEl">
|
||||
<div class="app-credits" :class="[variantClass, positionClass, (collapsed ? 'is-collapsed' : 'is-expanded')]" aria-label="Créditos y contacto" ref="rootEl">
|
||||
<div class="credits-card" :class="{ collapsed }">
|
||||
<button v-if="!collapsed" class="btn-toggle close" @click="collapse" title="Ocultar">×</button>
|
||||
|
||||
@@ -27,6 +27,7 @@ import { computed, ref, onMounted, onUnmounted, nextTick } from 'vue';
|
||||
interface Props {
|
||||
position?: 'bottom-right'|'bottom-center';
|
||||
variant?: 'overlay'|'inline';
|
||||
defaultCollapsed?: boolean;
|
||||
}
|
||||
const props = defineProps<Props>();
|
||||
const positionClass = computed(() => (props.variant === 'inline') ? '' : (props.position || 'bottom-right'));
|
||||
@@ -48,6 +49,9 @@ function collapse() { collapsed.value = true; setTimeout(setBottomGap, 0); }
|
||||
function expand() { collapsed.value = false; setTimeout(setBottomGap, 0); }
|
||||
|
||||
onMounted(async () => {
|
||||
// Set initial collapsed state (default true for inline uses)
|
||||
if (typeof props.defaultCollapsed === 'boolean') collapsed.value = props.defaultCollapsed;
|
||||
else collapsed.value = props.variant === 'inline' ? true : false;
|
||||
await nextTick();
|
||||
setBottomGap();
|
||||
window.addEventListener('resize', setBottomGap);
|
||||
|
||||
Reference in New Issue
Block a user