Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 3 additions & 20 deletions apps/web/core/components/analytics/insight-card.tsx
Original file line number Diff line number Diff line change
@@ -1,41 +1,24 @@
// plane package imports
import React, { useMemo } from "react";
import React from "react";
import { IAnalyticsResponseFields } from "@plane/types";
import { Loader } from "@plane/ui";
// components
import TrendPiece from "./trend-piece";

export type InsightCardProps = {
data?: IAnalyticsResponseFields;
label: string;
isLoading?: boolean;
versus?: string | null;
};

const InsightCard = (props: InsightCardProps) => {
const { data, label, isLoading, versus } = props;
const { count, filter_count } = data || {};
const percentage = useMemo(() => {
if (count != null && filter_count != null) {
const result = ((count - filter_count) / count) * 100;
const isFiniteAndNotNaNOrZero = Number.isFinite(result) && !Number.isNaN(result) && result !== 0;
return isFiniteAndNotNaNOrZero ? result : null;
}
return null;
}, [count, filter_count]);
const { data, label, isLoading = false } = props;
const count = data?.count ?? 0;

return (
<div className="flex flex-col gap-3">
<div className="text-sm text-custom-text-300">{label}</div>
{!isLoading ? (
<div className="flex flex-col gap-1">
<div className="text-2xl font-bold text-custom-text-100">{count}</div>
{/* {percentage && (
<div className="flex gap-1 text-xs text-custom-text-300">
<TrendPiece percentage={percentage} size="xs" />
{versus && <div>vs {versus}</div>}
</div>
)} */}
</div>
) : (
<Loader.Item height="50px" width="100%" />
Expand Down
1 change: 0 additions & 1 deletion apps/web/core/components/analytics/total-insights.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,6 @@ const TotalInsights: React.FC<{
isLoading={isLoading}
data={totalInsightsData?.[item.key]}
label={getInsightLabel(analyticsType, item, isEpic, t)}
versus={selectedDurationLabel}
/>
))}
</div>
Expand Down
4 changes: 2 additions & 2 deletions packages/i18n/src/locales/cs/translations.json
Original file line number Diff line number Diff line change
Expand Up @@ -882,7 +882,8 @@
"in_progress": "Probíhá",
"planned": "Plánováno",
"paused": "Pozastaveno",
"no_of": "Počet {entity}"
"no_of": "Počet {entity}",
"resolved": "Vyřešeno"
},
"chart": {
"x_axis": "Osa X",
Expand Down Expand Up @@ -2490,7 +2491,6 @@
"plane_didnt_start_up_this_could_be_because_one_or_more_plane_services_failed_to_start": "Plane se nespustil. To může být způsobeno tím, že se jeden nebo více služeb Plane nepodařilo spustit.",
"choose_view_logs_from_setup_sh_and_docker_logs_to_be_sure": "Vyberte View Logs z setup.sh a Docker logů, abyste si byli jisti."
},

"page_navigation_pane": {
"tabs": {
"outline": {
Expand Down
4 changes: 2 additions & 2 deletions packages/i18n/src/locales/de/translations.json
Original file line number Diff line number Diff line change
Expand Up @@ -882,7 +882,8 @@
"in_progress": "In Bearbeitung",
"planned": "Geplant",
"paused": "Pausiert",
"no_of": "Anzahl {entity}"
"no_of": "Anzahl {entity}",
"resolved": "Gelöst"
},
"chart": {
"x_axis": "X-Achse",
Expand Down Expand Up @@ -2489,7 +2490,6 @@
"plane_didnt_start_up_this_could_be_because_one_or_more_plane_services_failed_to_start": "Plane ist nicht gestartet. Dies könnte daran liegen, dass einer oder mehrere Plane-Services nicht starten konnten.",
"choose_view_logs_from_setup_sh_and_docker_logs_to_be_sure": "Wählen Sie View Logs aus setup.sh und Docker-Logs, um sicherzugehen."
},

"page_navigation_pane": {
"tabs": {
"outline": {
Expand Down
4 changes: 2 additions & 2 deletions packages/i18n/src/locales/en/translations.json
Original file line number Diff line number Diff line change
Expand Up @@ -725,7 +725,8 @@
"apply": "Apply",
"applying": "Applying",
"overview": "Overview",
"no_of": "No. of {entity}"
"no_of": "No. of {entity}",
"resolved": "Resolved"
},
"chart": {
"x_axis": "X-axis",
Expand Down Expand Up @@ -2366,7 +2367,6 @@
"plane_didnt_start_up_this_could_be_because_one_or_more_plane_services_failed_to_start": "Plane didn't start up. This could be because one or more Plane services failed to start.",
"choose_view_logs_from_setup_sh_and_docker_logs_to_be_sure": "Choose View Logs from setup.sh and Docker logs to be sure."
},

"page_navigation_pane": {
"tabs": {
"outline": {
Expand Down
4 changes: 2 additions & 2 deletions packages/i18n/src/locales/es/translations.json
Original file line number Diff line number Diff line change
Expand Up @@ -885,7 +885,8 @@
"in_progress": "En progreso",
"planned": "Planificado",
"paused": "Pausado",
"no_of": "N.º de {entity}"
"no_of": "N.º de {entity}",
"resolved": "Resuelto"
},
"chart": {
"x_axis": "Eje X",
Expand Down Expand Up @@ -2492,7 +2493,6 @@
"plane_didnt_start_up_this_could_be_because_one_or_more_plane_services_failed_to_start": "Plane no se inició. Esto podría deberse a que uno o más servicios de Plane fallaron al iniciar.",
"choose_view_logs_from_setup_sh_and_docker_logs_to_be_sure": "Selecciona View Logs desde setup.sh y los logs de Docker para estar seguro."
},

"page_navigation_pane": {
"tabs": {
"outline": {
Expand Down
4 changes: 2 additions & 2 deletions packages/i18n/src/locales/fr/translations.json
Original file line number Diff line number Diff line change
Expand Up @@ -883,7 +883,8 @@
"in_progress": "En cours",
"planned": "Planifié",
"paused": "En pause",
"no_of": "Nº de {entity}"
"no_of": "Nº de {entity}",
"resolved": "Résolu"
},
"chart": {
"x_axis": "Axe X",
Expand Down Expand Up @@ -2490,7 +2491,6 @@
"plane_didnt_start_up_this_could_be_because_one_or_more_plane_services_failed_to_start": "Plane n&apos;a pas démarré. Cela pourrait être dû au fait qu&apos;un ou plusieurs services Plane ont échoué à démarrer.",
"choose_view_logs_from_setup_sh_and_docker_logs_to_be_sure": "Choisissez View Logs depuis setup.sh et les logs Docker pour en être sûr."
},

"page_navigation_pane": {
"tabs": {
"outline": {
Expand Down
4 changes: 2 additions & 2 deletions packages/i18n/src/locales/id/translations.json
Original file line number Diff line number Diff line change
Expand Up @@ -882,7 +882,8 @@
"in_progress": "Sedang berlangsung",
"planned": "Direncanakan",
"paused": "Dijedaikan",
"no_of": "Jumlah {entity}"
"no_of": "Jumlah {entity}",
"resolved": "Terselesaikan"
},
"chart": {
"x_axis": "Sumbu-X",
Expand Down Expand Up @@ -2485,7 +2486,6 @@
"choose_view_logs_from_setup_sh_and_docker_logs_to_be_sure": "Pilih View Logs dari setup.sh dan log Docker untuk memastikan."
},
"no_of": "Jumlah {entity}",

"page_navigation_pane": {
"tabs": {
"outline": {
Expand Down
4 changes: 2 additions & 2 deletions packages/i18n/src/locales/it/translations.json
Original file line number Diff line number Diff line change
Expand Up @@ -881,7 +881,8 @@
"in_progress": "In corso",
"planned": "Pianificato",
"paused": "In pausa",
"no_of": "N. di {entity}"
"no_of": "N. di {entity}",
"resolved": "Risolto"
},
"chart": {
"x_axis": "Asse X",
Expand Down Expand Up @@ -2489,7 +2490,6 @@
"plane_didnt_start_up_this_could_be_because_one_or_more_plane_services_failed_to_start": "Plane non si è avviato. Questo potrebbe essere dovuto al fatto che uno o più servizi Plane non sono riusciti ad avviarsi.",
"choose_view_logs_from_setup_sh_and_docker_logs_to_be_sure": "Scegli View Logs da setup.sh e dai log Docker per essere sicuro."
},

"page_navigation_pane": {
"tabs": {
"outline": {
Expand Down
4 changes: 2 additions & 2 deletions packages/i18n/src/locales/ja/translations.json
Original file line number Diff line number Diff line change
Expand Up @@ -883,7 +883,8 @@
"in_progress": "進行中",
"planned": "計画済み",
"paused": "一時停止",
"no_of": "{entity} の数"
"no_of": "{entity} の数",
"resolved": "解決済み"
},
"chart": {
"x_axis": "エックス アクシス",
Expand Down Expand Up @@ -2490,7 +2491,6 @@
"plane_didnt_start_up_this_could_be_because_one_or_more_plane_services_failed_to_start": "Planeが起動しませんでした。これは1つまたは複数のPlaneサービスの起動に失敗したことが原因である可能性があります。",
"choose_view_logs_from_setup_sh_and_docker_logs_to_be_sure": "setup.shとDockerログからView Logsを選択して確認してください。"
},

"page_navigation_pane": {
"tabs": {
"outline": {
Expand Down
4 changes: 2 additions & 2 deletions packages/i18n/src/locales/ko/translations.json
Original file line number Diff line number Diff line change
Expand Up @@ -884,7 +884,8 @@
"in_progress": "진행 중",
"planned": "계획된",
"paused": "일시 중지됨",
"no_of": "{entity} 수"
"no_of": "{entity} 수",
"resolved": "해결됨"
},
"chart": {
"x_axis": "X축",
Expand Down Expand Up @@ -2492,7 +2493,6 @@
"plane_didnt_start_up_this_could_be_because_one_or_more_plane_services_failed_to_start": "Plane이 시작되지 않았습니다. 이는 하나 이상의 Plane 서비스가 시작에 실패했기 때문일 수 있습니다.",
"choose_view_logs_from_setup_sh_and_docker_logs_to_be_sure": "확실히 하려면 setup.sh와 Docker 로그에서 View Logs를 선택하세요."
},

"page_navigation_pane": {
"tabs": {
"outline": {
Expand Down
4 changes: 2 additions & 2 deletions packages/i18n/src/locales/pl/translations.json
Original file line number Diff line number Diff line change
Expand Up @@ -884,7 +884,8 @@
"in_progress": "W trakcie",
"planned": "Zaplanowane",
"paused": "Wstrzymane",
"no_of": "Liczba {entity}"
"no_of": "Liczba {entity}",
"resolved": "Rozwiązane"
},
"chart": {
"x_axis": "Oś X",
Expand Down Expand Up @@ -2491,7 +2492,6 @@
"plane_didnt_start_up_this_could_be_because_one_or_more_plane_services_failed_to_start": "Plane nie uruchomił się. Może to być spowodowane tym, że jedna lub więcej usług Plane nie mogła się uruchomić.",
"choose_view_logs_from_setup_sh_and_docker_logs_to_be_sure": "Wybierz View Logs z setup.sh i logów Docker, aby mieć pewność."
},

"page_navigation_pane": {
"tabs": {
"outline": {
Expand Down
4 changes: 2 additions & 2 deletions packages/i18n/src/locales/pt-BR/translations.json
Original file line number Diff line number Diff line change
Expand Up @@ -884,7 +884,8 @@
"in_progress": "Em andamento",
"planned": "Planejado",
"paused": "Pausado",
"no_of": "Nº de {entity}"
"no_of": "Nº de {entity}",
"resolved": "Resolvido"
},
"chart": {
"x_axis": "Eixo X",
Expand Down Expand Up @@ -2486,7 +2487,6 @@
"plane_didnt_start_up_this_could_be_because_one_or_more_plane_services_failed_to_start": "O Plane não inicializou. Isso pode ser porque um ou mais serviços do Plane falharam ao iniciar.",
"choose_view_logs_from_setup_sh_and_docker_logs_to_be_sure": "Escolha View Logs do setup.sh e logs do Docker para ter certeza."
},

"page_navigation_pane": {
"tabs": {
"outline": {
Expand Down
4 changes: 2 additions & 2 deletions packages/i18n/src/locales/ro/translations.json
Original file line number Diff line number Diff line change
Expand Up @@ -882,7 +882,8 @@
"in_progress": "În desfășurare",
"planned": "Planificat",
"paused": "Pauzat",
"no_of": "Nr. de {entity}"
"no_of": "Nr. de {entity}",
"resolved": "Rezolvat"
},
"chart": {
"x_axis": "axa-X",
Expand Down Expand Up @@ -2484,7 +2485,6 @@
"plane_didnt_start_up_this_could_be_because_one_or_more_plane_services_failed_to_start": "Plane nu a pornit. Aceasta ar putea fi din cauza că unul sau mai multe servicii Plane au eșuat să pornească.",
"choose_view_logs_from_setup_sh_and_docker_logs_to_be_sure": "Alegeți View Logs din setup.sh și logurile Docker pentru a fi siguri."
},

"page_navigation_pane": {
"tabs": {
"outline": {
Expand Down
7 changes: 3 additions & 4 deletions packages/i18n/src/locales/ru/translations.json
Original file line number Diff line number Diff line change
Expand Up @@ -884,7 +884,8 @@
"in_progress": "В процессе",
"planned": "Запланировано",
"paused": "На паузе",
"no_of": "Количество {entity}"
"no_of": "Количество {entity}",
"resolved": "Решено"
},
"chart": {
"x_axis": "Ось X",
Expand Down Expand Up @@ -2492,8 +2493,6 @@
"plane_didnt_start_up_this_could_be_because_one_or_more_plane_services_failed_to_start": "Plane не запустился. Это может быть из-за того, что один или несколько сервисов Plane не смогли запуститься.",
"choose_view_logs_from_setup_sh_and_docker_logs_to_be_sure": "Выберите View Logs из setup.sh и логов Docker, чтобы убедиться."
},
"no_of": "Количество {entity}",

"page_navigation_pane": {
"tabs": {
"outline": {
Expand Down Expand Up @@ -2533,4 +2532,4 @@
"close_button": "Закрыть панель навигации",
"outline_floating_button": "Открыть структуру"
}
}
}
4 changes: 2 additions & 2 deletions packages/i18n/src/locales/sk/translations.json
Original file line number Diff line number Diff line change
Expand Up @@ -884,7 +884,8 @@
"in_progress": "Prebieha",
"planned": "Plánované",
"paused": "Pozastavené",
"no_of": "Počet {entity}"
"no_of": "Počet {entity}",
"resolved": "Vyriešené"
},
Comment on lines +887 to 889
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

Add "resolved" status — LGTM

Correct translation and placeholder usage; JSON comma placement is valid.

Optional check script to ensure all locale files include a valid "resolved" and remain parseable:


🏁 Script executed:

#!/bin/bash
set -euo pipefail
# 1) Validate JSON across locales
fd translations.json packages/i18n/src/locales -t f -x jq -e '{}' {}

# 2) Confirm each locale has a "resolved" entry
missing=0
while read -r f; do
  if ! rg -q '^\s*"resolved"\s*:' "$f"; then
    echo "Missing resolved in: $f"
    missing=1
  fi
done < <(fd translations.json packages/i18n/src/locales -t f)
exit $missing

Length of output: 15081


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

# Find all translation files
files=$(fd '^translations\.json$' packages/i18n/src/locales -t f)

missing=0

for f in $files; do
  # 1) Validate JSON parseability
  if ! jq -e . "$f" > /dev/null; then
    echo "Invalid JSON: $f"
    missing=1
  fi

  # 2) Confirm top-level "resolved" key exists
  if ! jq -e 'has("resolved")' "$f" > /dev/null; then
    echo "Missing \"resolved\" in: $f"
    missing=1
  fi
done

exit $missing

Length of output: 1557


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

# Locate all translation JSON files
files=$(fd '^translations\.json$' packages/i18n/src/locales -t f)

missing=0

for f in $files; do
  # 1) Validate JSON parseability
  jq -e . "$f" > /dev/null || { echo "Invalid JSON: $f"; missing=1; }

  # 2) Confirm top-level "resolved" key exists
  jq -e 'has("resolved")' "$f" > /dev/null || { echo "Missing \"resolved\" in: $f"; missing=1; }
done

exit $missing

Length of output: 1344


Add missing “resolved” entry to all locale files
The resolved key was only added in sk/translations.json; the following locale files also need a "resolved" translation and valid JSON placement: cs, de, en, es, fr, id, it, ja, ko, pl, pt-BR, ro, ru, tr-TR, ua, vi-VN, zh-CN, zh-TW (packages/i18n/src/locales/*/translations.json).

🤖 Prompt for AI Agents
In packages/i18n/src/locales/sk/translations.json around lines 887 to 889 and
the other locale files
(packages/i18n/src/locales/cs,de,en,es,fr,id,it,ja,ko,pl,pt-BR,ro,ru,tr-TR,ua,vi-VN,zh-CN,zh-TW/translations.json),
the "resolved" key exists only in sk — add a "resolved" entry to each listed
translations.json with the appropriate translation string for that language,
placing it inside the same object as "no_of" (ensuring commas and JSON syntax
are correct), and validate each file is syntactically valid JSON after
insertion.

"chart": {
"x_axis": "Os X",
Expand Down Expand Up @@ -2491,7 +2492,6 @@
"plane_didnt_start_up_this_could_be_because_one_or_more_plane_services_failed_to_start": "Plane sa nespustil. Toto môže byť spôsobené tým, že sa jedna alebo viac služieb Plane nepodarilo spustiť.",
"choose_view_logs_from_setup_sh_and_docker_logs_to_be_sure": "Vyberte View Logs z setup.sh a Docker logov, aby ste si boli istí."
},

"page_navigation_pane": {
"tabs": {
"outline": {
Expand Down
4 changes: 2 additions & 2 deletions packages/i18n/src/locales/tr-TR/translations.json
Original file line number Diff line number Diff line change
Expand Up @@ -886,7 +886,8 @@
"in_progress": "Devam ediyor",
"planned": "Planlandı",
"paused": "Durduruldu",
"no_of": "{entity} sayısı"
"no_of": "{entity} sayısı",
"resolved": "Çözüldü"
},
"chart": {
"x_axis": "X ekseni",
Expand Down Expand Up @@ -2471,7 +2472,6 @@
"plane_didnt_start_up_this_could_be_because_one_or_more_plane_services_failed_to_start": "Plane başlatılamadı. Bu, bir veya daha fazla Plane servisinin başlatılamaması nedeniyle olabilir.",
"choose_view_logs_from_setup_sh_and_docker_logs_to_be_sure": "Emin olmak için setup.sh ve Docker loglarından View Logs&apos;u seçin."
},

"page_navigation_pane": {
"tabs": {
"outline": {
Expand Down
4 changes: 2 additions & 2 deletions packages/i18n/src/locales/ua/translations.json
Original file line number Diff line number Diff line change
Expand Up @@ -884,7 +884,8 @@
"in_progress": "В процесі",
"planned": "Заплановано",
"paused": "Призупинено",
"no_of": "Кількість {entity}"
"no_of": "Кількість {entity}",
"resolved": "Вирішено"
},
"chart": {
"x_axis": "Вісь X",
Expand Down Expand Up @@ -2491,7 +2492,6 @@
"plane_didnt_start_up_this_could_be_because_one_or_more_plane_services_failed_to_start": "Plane не запустився. Це може бути через те, що один або декілька сервісів Plane не змогли запуститися.",
"choose_view_logs_from_setup_sh_and_docker_logs_to_be_sure": "Виберіть View Logs з setup.sh та логів Docker, щоб переконатися."
},

"page_navigation_pane": {
"tabs": {
"outline": {
Expand Down
4 changes: 2 additions & 2 deletions packages/i18n/src/locales/vi-VN/translations.json
Original file line number Diff line number Diff line change
Expand Up @@ -883,7 +883,8 @@
"in_progress": "Đang tiến hành",
"planned": "Đã lên kế hoạch",
"paused": "Tạm dừng",
"no_of": "Số lượng {entity}"
"no_of": "Số lượng {entity}",
"resolved": "Đã giải quyết"
},
"chart": {
"x_axis": "Trục X",
Expand Down Expand Up @@ -2489,7 +2490,6 @@
"plane_didnt_start_up_this_could_be_because_one_or_more_plane_services_failed_to_start": "Plane không khởi động được. Điều này có thể do một hoặc nhiều dịch vụ Plane không khởi động được.",
"choose_view_logs_from_setup_sh_and_docker_logs_to_be_sure": "Chọn View Logs từ setup.sh và log Docker để chắc chắn."
},

"page_navigation_pane": {
"tabs": {
"outline": {
Expand Down
4 changes: 2 additions & 2 deletions packages/i18n/src/locales/zh-CN/translations.json
Original file line number Diff line number Diff line change
Expand Up @@ -883,7 +883,8 @@
"in_progress": "进行中",
"planned": "已计划",
"paused": "暂停",
"no_of": "{entity} 的数量"
"no_of": "{entity} 的数量",
"resolved": "已解决"
},
"chart": {
"x_axis": "X轴",
Expand Down Expand Up @@ -2471,7 +2472,6 @@
"plane_didnt_start_up_this_could_be_because_one_or_more_plane_services_failed_to_start": "Plane 未能启动。这可能是因为一个或多个 Plane 服务启动失败。",
"choose_view_logs_from_setup_sh_and_docker_logs_to_be_sure": "请选择“查看日志”来查看 setup.sh 和 Docker 日志,以确认问题。"
},

"page_navigation_pane": {
"tabs": {
"outline": {
Expand Down
Loading
Loading