IKHSAN
ENID Baca dalam Bahasa Indonesia

opendesk

Public
Branch
main
Latest commit
08d9f3328 October 2026

ContactFeedback.vue

Open raw
<template>
  <div>
    <!-- Loading -->
    <div v-if="loading" class="flex items-center justify-center py-16">
      <LoadingIndicator class="size-10" />
    </div>

    <!-- Empty -->
    <div
      v-else-if="!feedbackCount.data"
      class="flex flex-col items-center justify-center gap-3 py-16 text-center"
    >
      <LucideStar class="h-7.5 w-7.5 text-ink-gray-4" />
      <div class="flex flex-col gap-1 max-w-[282px] m-auto">
        <p class="text-base-medium text-ink-gray-7">
          {{ __("No feedback yet") }}
        </p>
        <p class="text-ink-gray-6 text-base">
          {{
            __("Feedback from this contact will appear here once available.")
          }}
        </p>
      </div>
    </div>

    <!-- Content -->
    <section v-else>
      <FeedbackList :name="name" />
    </section>
  </div>
</template>

<script setup lang="ts">
import { useContactFeedback } from "@/composables/contact";
import { __ } from "@/translation";
import { LoadingIndicator } from "frappe-ui";
import LucideStar from "~icons/lucide/star";
import FeedbackList from "./FeedbackList.vue";

const props = defineProps<{
  name: string;
}>();

const { feedbackCount, loading } = useContactFeedback(props.name);
</script>
bytes
1,232
lines
46
Type
vue
Latest commit
28 October 2026