<template>
  <article
    class="notification | bg-white rounded-lg | p-16 | flow"
    data-type="content"
    @click="readNotification()"
    title="Aller au contenu"
  >
    <header>
      <p class="flex">
        <strong
          class="notification__type | font-medium text-primary"
          data-icon="content"
          >Contenu</strong
        >
        <span class="notification__client | text-grey-700">{{
          notification.project.title
        }}</span>
        <time
          datetime=""
          class="notification__date | text-grey-700 | ml-auto"
          >{{ formatDate(notification) }}</time
        >
      </p>
    </header>
    <p
      v-if="notification.type"
      class="notification__body | text-md font-medium | line-clamp"
    >
      {{ notification.text }}
    </p>
  </article>
</template>

<script setup>
import { useRouter } from "vue-router";
import { useNotificationsStore } from "../../stores/notifications";
import { useUserStore } from "../../stores/user";
import { useApiStore } from "../../stores/api";

const router = useRouter();
const { notification } = defineProps({ notification: Object });
const { formatDate } = useNotificationsStore();
const userStore = useUserStore();
const api = useApiStore();

function readNotification() {
  api.readNotification(notification.id, notification.project.uri);
  userStore.readNotification(notification.id, notification.project.slug);
}
</script>
