<template>
  <div>
    <div v-if="display == 'grid'" class="bg-white p-4 border-grey rounded border flex-1">
      <div class="flex h-full">
        <div class="flex-1 flex flex-col justify-between">
          <div>
            <div>
              <router-link :to="{name: 'environments', params: {id: id}}" class="text-blue-dark no-underline hover:underline focus:underline"><h2 class="mb-1">{{ application.name }}</h2></router-link>
            </div>

            <div class="overflow-hidden whitespace-no-wrap truncate">
              <a href="#0" class="text-blue-dark no-underline hover:underline focus:underline">{{ application.environments['prod'].url }}</a>
            </div>
          </div>

          <application-tags :type="application.type" :level="application.level" class="mt-6"></application-tags>
        </div>

        <div class="flex-none ml-2">
          <button type="button" @click="starred = !starred" class="focus:outline-none" :class="[starred ? 'text-orange hover:text-orange-light focus:text-orange-light' : 'text-grey focus:text-orange hover:text-orange']">
            <svg class="h-6 w-6 fill-current" role="presentation"><use :xlink:href="`/img/icons.symbol.svg#state__${starred ? 'starred' : 'unstarred'}`"></use></svg>
          </button>
        </div>
      </div>
    </div>

    <div v-if="display == 'list'" class="bg-white p-3 border-grey border-b">
      <div class="-mx-2">
        <div class="flex flex-row-reverse items-center justify-between">
          <div class="flex flex-1 justify-between items-center -mx-2">
            <div class="flex-1 px-2">
              <router-link :to="{name: 'environments', params: {id: id}}" class="text-blue-dark no-underline hover:underline focus:underline"><h2 class="text-base font-normal mb-1">{{ application.name }}</h2></router-link>
            </div>

            <application-tags :type="application.type" :level="application.level" class="w-1/4 px-2"></application-tags>

            <div class="w-2/5 px-2">
              <a href="#0" class="text-blue-dark no-underline hover:underline focus:underline">{{ application.environments['prod'].url }}</a>
            </div>
          </div>

          <div class="px-2">
            <button type="button" @click="starred = !starred" class="focus:outline-none" :class="[starred ? 'text-orange hover:text-orange-light focus:text-orange-light' : 'text-grey focus:text-orange hover:text-orange']">
              <svg class="h-6 w-6 fill-current" role="presentation"><use :xlink:href="`/img/icons.symbol.svg#state__${starred ? 'starred' : 'unstarred'}`"></use></svg>
            </button>
          </div>
        </div>
      </div>
    </div>
  </div>
</template>

<script>
import ApplicationTags from '@/components/Application/ApplicationTags'

export default {
  components: {
    ApplicationTags,
  },

  props: {
    application: Object,
    display: String,
    id: Number,
  },

  data() {
    return {
      starred: false,
    }
  }
}
</script>