33 lines
691 B
Vue
33 lines
691 B
Vue
<script setup lang="ts">
|
|
interface Props {
|
|
isShowTopBtn: boolean
|
|
isShowSnsBtn: boolean
|
|
}
|
|
|
|
const props = withDefaults(defineProps<Props>(), {
|
|
isShowTopBtn: false,
|
|
isShowSnsBtn: false,
|
|
})
|
|
|
|
const pinToMain = inject('pinToMain')
|
|
</script>
|
|
|
|
<template>
|
|
<ClientOnly>
|
|
<div :class="['utile-container', { 'is-stop': pinToMain }]">
|
|
<AtomsButtonScrollTop v-if="props.isShowTopBtn" />
|
|
<AtomsButtonSns v-if="props.isShowSnsBtn" />
|
|
</div>
|
|
</ClientOnly>
|
|
</template>
|
|
|
|
<style scoped>
|
|
.utile-container {
|
|
@apply fixed flex flex-col z-[100]
|
|
bottom-[12px] right-[12px] gap-2 md:bottom-[40px] md:right-[40px] md:gap-3;
|
|
}
|
|
.utile-container.is-stop {
|
|
@apply absolute;
|
|
}
|
|
</style>
|