Skip to content
Snippets Groups Projects
PageContainer.vue 864 B
Newer Older
Emmanuel Salomon's avatar
Emmanuel Salomon committed
<template>
  <div class="container mb-16">
Emmanuel Salomon's avatar
Emmanuel Salomon committed
    <slot name="header">
      <PageHeader :document="document" />
    </slot>

    <div class="block justify-between lg:flex">
Emmanuel Salomon's avatar
Emmanuel Salomon committed
      <nuxt-content :document="document" class="w-full prose dark:prose-dark" />

        class="
          sticky
          h-full
          top-12
          lg:w-1/4 lg:ml-12
          mt-8
          lg:mt-0
          border-t
          pt-8
          lg:pt-0 lg:border-none
        "
Emmanuel Salomon's avatar
Emmanuel Salomon committed
        <slot name="sidebar" />
        <AppShareModal :document="document" class="mb-2" />
        <PageEdit :document="document" class="w-full border-t mb-8 pt-2" />
Emmanuel Salomon's avatar
Emmanuel Salomon committed
      </div>
    </div>

    <slot name="footer" />
Emmanuel Salomon's avatar
Emmanuel Salomon committed
  </div>
</template>

<script>
export default {
  name: 'PageContainer',
  props: {
    document: {
      type: Object,
      required: true,
    },
  },
}
</script>