Update engaged profile status indicators (#12)

* Add partial prayer coverage status icon

* Update engaged profile status indicators

* fix engagement strings

---------

Co-authored-by: corsacca <corsacca@gmail.com>
This commit is contained in:
ahillbilly 2026-06-10 13:36:16 +01:00 committed by GitHub
parent 53d0ea606e
commit f2edcdd518
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 50 additions and 22 deletions

View file

@ -455,4 +455,4 @@
.info__content, .info__content:after {
background-color: var(--color-surface-brand-light);
position: absolute;
}
}

View file

@ -77,6 +77,10 @@ const infoOpen = ref(false)
const FULL_PRAYER_COVERAGE_COUNT = 144
type StatusIcon = 'done' | 'partial' | 'not-done'
type StatusItem = {
label: string
icon: StatusIcon
}
function getPrayerStatusIcon(peopleCommitted: number | null | undefined): StatusIcon {
const committed = Number(peopleCommitted ?? 0)
@ -89,11 +93,27 @@ function getBinaryStatusIcon(done: boolean): StatusIcon {
return done ? 'done' : 'not-done'
}
const isEngaged = computed(() => {
const status = (uupg.value as UupgDetail | null)?.engagement_status?.value
return String(status || '').toLowerCase() === 'engaged'
})
const statusItems = computed(() => {
const u = uupg.value as UupgDetail
return [
const leadingItems: StatusItem[] = [
{ label: t('Prayer Status'), icon: getPrayerStatusIcon(u.people_committed) },
{ label: t('Adoption Status'), icon: getBinaryStatusIcon((u.adopted_by_churches ?? 0) > 0) },
{ label: t('Adoption Status'), icon: getBinaryStatusIcon((u.adopted_by_churches ?? 0) > 0) }
]
if (isEngaged.value) {
return [
...leadingItems,
{ label: t('Engaged!'), icon: 'done' }
]
}
return [
...leadingItems,
{ label: t('Cross-cultural workers present'), icon: getBinaryStatusIcon(!!u.workers_long_term) },
{ label: t('Work in local language & culture'), icon: getBinaryStatusIcon(!!u.work_in_local_language) },
{ label: t('Disciple & church multiplication'), icon: getBinaryStatusIcon(!!u.disciple_and_church_multiplication) }
@ -177,9 +197,9 @@ const mapSrc = computed(() => {
</div>
<div
class="engaged-stamp"
:data-engaged="uupg.engagement_status?.value === 'engaged' ? 'true' : 'false'"
:data-engaged="isEngaged ? 'true' : 'false'"
>
<span v-if="uupg.engagement_status?.value === 'engaged'">{{ t('Engaged') }}</span>
<span v-if="isEngaged">{{ t('Engaged') }}</span>
<span v-else>{{ t('Not Engaged') }}</span>
</div>
</div>

View file

@ -65,8 +65,9 @@
"Email Templates": "نماذج البريد الإلكتروني",
"Engage": "إلتزم",
"Engage every people by 2033": "التفاعل والإلتزام مع الجميع بحلول عام 2033",
"Engaged": "ملتزم",
"Engagement Status": "حالة الإلتزام",
"Engaged": "مُنخرَط",
"Engaged!": "مُنخرَط!",
"Engagement Status": "حالة الانخراط",
"Engagement starts with prayer": "الإلتزام يبدأ من الصلاة",
"Enter Church/Group Name": "أدخل إسم الكنيسة/المجموعة",
"Enter your email": "الرجاء إدخال بريدك الإلكتروني",
@ -135,7 +136,7 @@
"No unengaged people groups by 2033": "الهدف هو القضاء على جميع الشعوب الغير مخدومة روحيا بحلول عام 2033",
"Not Adopted": "لم يتم انتماؤه",
"Not Done": "لم ينجز",
"Not Engaged": "غير ملتزم",
"Not Engaged": "غير مُنخرَط",
"Our gift to Jesus": "هديتنا إلى الرب يسوع",
"Our hope is to see each of them covered in 24-hour prayer, and your church can be part of it.": "آمالنا أن نرى صلواتنا تغطي الجميع على مدار 24 ساعة ويمكن لكنيستك أن تكون جزءا من ذلك.",
"Overview": "نظرة عامة",

View file

@ -65,8 +65,9 @@
"Email Templates": "E-Mail-Vorlagen",
"Engage": "Bring dich ein",
"Engage every people by 2033": "Bis 2033 in allen Volksgruppen eine Gemeindegründungsarbeit",
"Engaged": "Verlobt",
"Engagement Status": "Status",
"Engaged": "Engagiert",
"Engaged!": "Engagiert!",
"Engagement Status": "Engagement-Status",
"Engagement starts with prayer": "Dein Engagement beginnt mit Gebet.",
"Enter Church/Group Name": "Name der Kirche/Gruppe eingeben",
"Enter your email": "Gib deine Email Adresse ein",
@ -135,7 +136,7 @@
"No unengaged people groups by 2033": "Dass es bis 2033 keine völlig unerreichte Volksgruppe mehr gibt",
"Not Adopted": "noch nicht adoptiert",
"Not Done": "Nicht fertig",
"Not Engaged": "Völlig Unerreicht",
"Not Engaged": "Nicht-engagiert",
"Our gift to Jesus": "Unser Geschenk an Jesus",
"Our hope is to see each of them covered in 24-hour prayer, and your church can be part of it.": "Unsere Hoffnung ist es, mit der Hilfe deiner Gemeinde jede dieser Volksgruppen rund um die Uhr im Gebet abzudecken.",
"Overview": "Übersicht",

View file

@ -67,6 +67,7 @@
"Engage": "Engage",
"Engage every people by 2033": "Engage every people by 2033",
"Engaged": "Engaged",
"Engaged!": "Engaged!",
"Engagement Status": "Engagement Status",
"Engagement starts with prayer": "Engagement starts with prayer",
"Enter Church/Group Name": "Enter Church/Group Name",

View file

@ -66,6 +66,7 @@
"Engage": "Participar",
"Engage every people by 2033": "Involucrar a todos los pueblos para el 2033",
"Engaged": "Comprometido",
"Engaged!": "Comprometido!",
"Engagement Status": "Estado del compromiso",
"Engagement starts with prayer": "El compromiso comienza con la oración",
"Enter Church/Group Name": "Introduzca el nombre de la iglesia/grupo",

View file

@ -65,7 +65,8 @@
"Email Templates": "Modèles d'e-mails",
"Engage": "Engager",
"Engage every people by 2033": "Mobiliser tous les peuples d'ici 2033",
"Engaged": "Fiancé",
"Engaged": "Engagé",
"Engaged!": "Engagé!",
"Engagement Status": "Statut de l'engagement",
"Engagement starts with prayer": "L'engagement commence par la prière",
"Enter Church/Group Name": "Saisir le nom de l'église/du groupe",
@ -135,7 +136,7 @@
"No unengaged people groups by 2033": "Aucun groupe ethnique non ciblé d'ici 2033",
"Not Adopted": "Non adopté",
"Not Done": "Non terminé",
"Not Engaged": "Non ciblés",
"Not Engaged": "Non-engagé",
"Our gift to Jesus": "Notre cadeau à Jésus",
"Our hope is to see each of them covered in 24-hour prayer, and your church can be part of it.": "Notre espoir est de voir chacun d'entre eux couvert par une prière 24 heures sur 24, et votre église peut y participer.",
"Overview": "Aperçu",

View file

@ -65,8 +65,9 @@
"Email Templates": "ईमेल टेम्पलेट्स",
"Engage": "संलग्न हों",
"Engage every people by 2033": "2033 तक सभी लोगों को शामिल करें",
"Engaged": "सगाई हुई",
"Engagement Status": "सगाई की स्थिति",
"Engaged": "प्रवेशित",
"Engaged!": "प्रवेशित!",
"Engagement Status": "प्रवेश की स्थिति",
"Engagement starts with prayer": "संलग्नता प्रार्थना से शुरू होती है।",
"Enter Church/Group Name": "चर्च/समूह का नाम दर्ज करें",
"Enter your email": "अपना ईमेल दर्ज करें",
@ -135,7 +136,7 @@
"No unengaged people groups by 2033": "2033 तक कोई भी संलग्न न किया गया जनसमूह नहीं रहेगा।",
"Not Adopted": "दत्तक नहीं लिया गया",
"Not Done": "पूरा नहीं हुआ",
"Not Engaged": "सगाई नहीं हुई",
"Not Engaged": "अप्रवेशित",
"Our gift to Jesus": "यीशु को हमारा उपहार",
"Our hope is to see each of them covered in 24-hour prayer, and your church can be part of it.": "हमारी आशा है कि हम उनमें से प्रत्येक को 24 घंटे की प्रार्थना में ढका हुआ देखें, और आपका चर्च इसका हिस्सा बन सकता है।",
"Overview": "अवलोकन",

View file

@ -65,8 +65,9 @@
"Email Templates": "Modelos de e-mail",
"Engage": "Engaje-se",
"Engage every people by 2033": "Engajar todos os povos até 2033",
"Engaged": "Noivo",
"Engagement Status": "Estado do noivado",
"Engaged": "Engajado",
"Engaged!": "Engajado!",
"Engagement Status": "Estado do engajamento",
"Engagement starts with prayer": "O engajamento começa com a oração",
"Enter Church/Group Name": "Insira o nome da igreja/grupo",
"Enter your email": "Insira o seu e-mail",
@ -135,7 +136,7 @@
"No unengaged people groups by 2033": "Nenhum grupo étnico não engajado até 2033",
"Not Adopted": "Não adotado",
"Not Done": "Não concluído",
"Not Engaged": "Não comprometido",
"Not Engaged": "Não engajado",
"Our gift to Jesus": "Nossa oferta a Jesus",
"Our hope is to see each of them covered in 24-hour prayer, and your church can be part of it.": "A nossa esperança é ver cada um deles coberto por orações 24 horas por dia, e a sua igreja pode fazer parte disso.",
"Overview": "Visão geral",

View file

@ -65,8 +65,9 @@
"Email Templates": "Шаблоны писем",
"Engage": "Вовлекать",
"Engage every people by 2033": "Вовлечь всех людей к 2033 году",
"Engaged": "Занятый",
"Engagement Status": "Статус взаимодействия",
"Engaged": "Вовлечённый",
"Engaged!": "Вовлечённый!",
"Engagement Status": "Статус вовлечения",
"Engagement starts with prayer": "Вовлечение начинается с молитвы",
"Enter Church/Group Name": "Введите название церкви/группы",
"Enter your email": "Введите свой адрес электронной почты",
@ -135,7 +136,7 @@
"No unengaged people groups by 2033": "К 2033 году не останется незадействованных народов",
"Not Adopted": "Не принято",
"Not Done": "Не выполнено",
"Not Engaged": "Не задействован",
"Not Engaged": "Невовлечённый",
"Our gift to Jesus": "Наш подарок Иисусу",
"Our hope is to see each of them covered in 24-hour prayer, and your church can be part of it.": "Мы надеемся, что каждая из них будет охвачена круглосуточной молитвой, и ваша церковь может принять в этом участие.",
"Overview": "Обзор",