<template>
  <q-card
    class="justify-start content-center items-center rounded-borders border-primary shadow-5 q-mb-xs"
    bordered
  >
    <header class="text-primary q-px-xs">
      <div class="col text-weight-bolder">
        {{ event.type.name }}
      </div>
      <div v-if="event.description" class="col text-weight-medium" style="font-size: 10px">
        Info
        {{ event.description }}
      </div>
    </header>
    <div v-for="(job, index) in event.jobs" :key="index">
      <q-separator style="justify-start content-center" />
      <JobSlot v-model="event.jobs[index]" :event-id="event.id" />
    </div>
  </q-card>
</template>

<script lang="ts">
import { defineComponent, computed, PropType } from 'vue';
import JobSlot from './JobSlot.vue';

export default defineComponent({
  name: 'Eventslot',
  components: { JobSlot },
  props: {
    modelValue: {
      required: true,
      type: Object as PropType<FG.Event>,
    },
  },
  emits: { 'update:modelValue': (val: FG.Event) => !!val },
  setup(props, { emit }) {
    const event = computed({
      get: () => props.modelValue,
      set: (v) => emit('update:modelValue', v),
    });
    return {
      event,
    };
  },
});
</script>

<style scoped></style>