<script setup lang="ts">

interface Props {
    foldseekPath: string
    title: string
}

const props = withDefaults(defineProps<Props>(), { title: "Result of Foldseek search" });
const { width, height } = useDisplay()
const dialog = ref(false)
const iframe = ref()
const layout = ref({
    scrollbarWidth: 15,
    paddingLeft: 24,
    paddingRight: 24,
    toolbarHeight: 48,
    containerPaddingTop: 16,
    containerPaddingBottom: 10


})

const xMargin = computed(() => {
    const toValLayout = toValue(layout)
    return toValLayout.scrollbarWidth + toValLayout.paddingLeft + toValLayout.paddingRight
})

const yMargin = computed(() => {
    const toValLayout = toValue(layout)
    return toValLayout.toolbarHeight + toValLayout.containerPaddingBottom + toValLayout.containerPaddingTop
})

const computedWidth = computed(() => {
    return toValue(width) - toValue(xMargin)
})
const computedHeight = computed(() => {
    return toValue(height) - toValue(yMargin)
})


function fullscreen() {
    console.log(iframe.value)
    iframe.value.requestFullscreen();
}



</script>
<template>
    <v-dialog v-model="dialog" fullscreen transition="dialog-bottom-transition">
        <template v-slot:activator="{ props }">
            <v-avatar>
                <v-img src="~/assets/foldseek.png" alt="Foldseek results" v-bind="props" class="cursor-pointer"></v-img>
                <!-- <v-btn color="primary" dark v-bind="props">
                <v-img src="~/assets/foldseek.png" alt="Foldseek results"></v-img>
            </v-btn> -->
            </v-avatar>
        </template>
        <v-card variant="flat">
            <v-toolbar flat color="transparent" density="compact">
                <v-btn variant="text" color="primary" prepend-icon="mdi-arrow-left" @click="dialog = false">
                    Return to structure list
                </v-btn>

                <v-divider vertical inset></v-divider>
                <v-toolbar-title> {{ props.title }}</v-toolbar-title>
                <v-spacer></v-spacer>
                <v-toolbar-items>
                    <v-btn @click="fullscreen()" icon="md:fullscreen"></v-btn>

                </v-toolbar-items>
            </v-toolbar>
            <v-card-text>
                <iframe ref="iframe" :width="computedWidth" :height="computedHeight" allow="fullscreen" loading="eager"
                    :src="props.foldseekPath"></iframe>
            </v-card-text>
        </v-card>
    </v-dialog>
</template>
<style scoped>
.cursor-pointer {
    cursor: pointer
}
</style>