& {
hideIcon?: boolean
nameKey?: string
+ reverse?: boolean
}
->(({ className, payload, verticalAlign = "bottom" }, ref) => {
+>(({ className, payload, verticalAlign = "bottom", reverse = false }, ref) => {
// const { config } = useChart()
if (!payload?.length) {
return null
}
+ const reversedPayload = reverse ? [...payload].reverse() : payload
+
return (
- {payload.map((item) => {
+ {reversedPayload.map((item) => {
// const key = `${nameKey || item.dataKey || 'value'}`
// const itemConfig = getPayloadConfigFromPayload(config, item, key)
diff --git a/internal/site/src/lib/i18n.ts b/internal/site/src/lib/i18n.ts
index c8fcb12b..bda1a206 100644
--- a/internal/site/src/lib/i18n.ts
+++ b/internal/site/src/lib/i18n.ts
@@ -7,13 +7,15 @@ import { messages as enMessages } from "@/locales/en/en"
import { BatteryState } from "./enums"
import { $direction } from "./stores"
+const rtlLanguages = new Set(["ar", "fa", "he"])
+
// activates locale
function activateLocale(locale: string, messages: Messages = enMessages) {
i18n.load(locale, messages)
i18n.activate(locale)
document.documentElement.lang = locale
localStorage.setItem("lang", locale)
- $direction.set(locale.startsWith("ar") || locale.startsWith("fa") ? "rtl" : "ltr")
+ $direction.set(rtlLanguages.has(locale) ? "rtl" : "ltr")
}
// dynamically loads translations for the given locale
diff --git a/internal/site/src/lib/languages.ts b/internal/site/src/lib/languages.ts
index 28bf0026..27c92a01 100644
--- a/internal/site/src/lib/languages.ts
+++ b/internal/site/src/lib/languages.ts
@@ -44,6 +44,11 @@ export default [
label: "Français",
e: "🇫🇷",
},
+ {
+ lang: "he",
+ label: "עברית",
+ e: "🕎",
+ },
{
lang: "hr",
label: "Hrvatski",