IKHSAN
ENID Baca dalam Bahasa Indonesia

opendesk

Public
Branch
main
Latest commit
08d9f3328 October 2026

EmailAccountCard.vue

Open raw
<template>
  <div
    class="flex justify-between items-center border-outline-elevation-2 p-2 cursor-pointer hover:bg-surface-sidebar rounded-4 h-14"
  >
    <!-- avatar and name -->
    <div class="flex justify-between items-center gap-2">
      <EmailProviderIcon :logo="emailIcon[emailAccount.service]" />
      <div class="rtl:text-right">
        <p class="text-p-base-medium text-ink-gray-7">
          {{ __(emailAccount.email_account_name) }}
        </p>
        <div class="text-p-sm w-full text-ink-gray-5 mt-1">
          {{ __(emailAccount.email_id) }}
        </div>
      </div>
    </div>
    <div>
      <Badge
        variant="subtle"
        :label="badgeTitleColor[0]"
        :theme="badgeTitleColor[1]"
      />
    </div>
    <!-- email id -->
  </div>
</template>

<script setup lang="ts">
import { EmailAccount } from "@/types";
import { emailIcon } from "./emailConfig";
import EmailProviderIcon from "./EmailProviderIcon.vue";
import { computed } from "vue";
import { __ } from "@/translation";

interface P {
  emailAccount: EmailAccount;
}

const props = defineProps<P>();

const badgeTitleColor = computed(() => {
  if (
    props.emailAccount.default_incoming &&
    props.emailAccount.default_outgoing
  ) {
    const color =
      props.emailAccount.enable_incoming && props.emailAccount.enable_outgoing
        ? "blue"
        : "gray";
    return [__("Default Sending and Inbox"), color];
  } else if (props.emailAccount.default_incoming) {
    const color = props.emailAccount.enable_incoming ? "blue" : "gray";
    return [__("Default Inbox"), color];
  } else if (props.emailAccount.default_outgoing) {
    const color = props.emailAccount.enable_outgoing ? "blue" : "gray";
    return [__("Default Sending"), color];
  } else {
    const color = props.emailAccount.enable_incoming ? "blue" : "gray";
    return [__("Inbox"), color];
  }
});
</script>

<style scoped></style>
bytes
1,915
lines
65
Type
vue
Latest commit
28 October 2026