From b067544c8ae7dd2834e8f29b1c156c0d41890723 Mon Sep 17 00:00:00 2001 From: Eduard Gert Date: Mon, 8 Jun 2026 16:02:42 +0200 Subject: [PATCH] update padding and text --- .../ui/frontend/src/components/SquareIcon.tsx | 2 +- .../src/components/empty-state/EmptyState.tsx | 42 ++----------------- .../src/components/empty-state/NoResults.tsx | 2 +- .../main/advanced/networks/Networks.tsx | 20 +++------ .../src/modules/main/advanced/peers/Peers.tsx | 20 +++------ client/ui/i18n/locales/de/common.json | 9 ++-- client/ui/i18n/locales/en/common.json | 9 ++-- client/ui/i18n/locales/hu/common.json | 9 ++-- 8 files changed, 29 insertions(+), 84 deletions(-) diff --git a/client/ui/frontend/src/components/SquareIcon.tsx b/client/ui/frontend/src/components/SquareIcon.tsx index 2c94f937b..f951a002a 100644 --- a/client/ui/frontend/src/components/SquareIcon.tsx +++ b/client/ui/frontend/src/components/SquareIcon.tsx @@ -25,7 +25,7 @@ type SquareIconProps = { export const SquareIcon = ({ icon: Icon, - iconSize = 20, + iconSize = 18, variant = "default", className, }: SquareIconProps) => ( diff --git a/client/ui/frontend/src/components/empty-state/EmptyState.tsx b/client/ui/frontend/src/components/empty-state/EmptyState.tsx index d03e4a04c..f4b312339 100644 --- a/client/ui/frontend/src/components/empty-state/EmptyState.tsx +++ b/client/ui/frontend/src/components/empty-state/EmptyState.tsx @@ -1,7 +1,5 @@ import { ComponentType } from "react"; -import { useTranslation } from "react-i18next"; -import { Browser } from "@wailsio/runtime"; -import { ExternalLinkIcon, LucideProps } from "lucide-react"; +import { LucideProps } from "lucide-react"; import { cn } from "@/lib/cn"; import { SquareIcon } from "@/components/SquareIcon"; @@ -9,54 +7,20 @@ type Props = { icon: ComponentType; title: string; description?: string; - learnMoreUrl?: string; - learnMoreTopic?: string; className?: string; }; -const openUrl = (url: string) => { - void Browser.OpenURL(url).catch(() => window.open(url, "_blank")); -}; - -export const EmptyState = ({ - icon, - title, - description, - learnMoreUrl, - learnMoreTopic, - className, -}: Props) => { - const { t } = useTranslation(); +export const EmptyState = ({ icon, title, description, className }: Props) => { return (

{title}

{description &&

{description}

} - {learnMoreUrl && learnMoreTopic && ( -

- {t("common.learnMoreAbout")}{" "} - { - e.preventDefault(); - openUrl(learnMoreUrl); - }} - className={cn( - "text-netbird hover:underline underline-offset-4", - "cursor-pointer wails-no-draggable", - "inline-flex items-center gap-1", - )} - > - {learnMoreTopic} - - -

- )}
); diff --git a/client/ui/frontend/src/components/empty-state/NoResults.tsx b/client/ui/frontend/src/components/empty-state/NoResults.tsx index 9263f7c7a..c14e18686 100644 --- a/client/ui/frontend/src/components/empty-state/NoResults.tsx +++ b/client/ui/frontend/src/components/empty-state/NoResults.tsx @@ -16,7 +16,7 @@ export const NoResults = ({ icon = FunnelXIcon, title, description }: Props) => icon={icon} title={title ?? t("common.noResults.title")} description={description ?? t("common.noResults.description")} - className={"relative top-[2.8rem]"} + className={"relative -top-[3.8rem]"} /> ); }; diff --git a/client/ui/frontend/src/modules/main/advanced/networks/Networks.tsx b/client/ui/frontend/src/modules/main/advanced/networks/Networks.tsx index cac842082..f858a70a3 100644 --- a/client/ui/frontend/src/modules/main/advanced/networks/Networks.tsx +++ b/client/ui/frontend/src/modules/main/advanced/networks/Networks.tsx @@ -1,7 +1,7 @@ import { useEffect, useMemo, useRef, useState, type ComponentType } from "react"; import { useTranslation } from "react-i18next"; import * as ScrollArea from "@radix-ui/react-scroll-area"; -import { GlobeIcon, type LucideProps, NetworkIcon, WorkflowIcon } from "lucide-react"; +import { GlobeIcon, Layers3Icon, type LucideProps, NetworkIcon, WorkflowIcon } from "lucide-react"; import type { Network } from "@bindings/services/models.js"; import { cn } from "@/lib/cn"; import { CopyToClipboard } from "@/components/CopyToClipboard"; @@ -143,19 +143,11 @@ export const Networks = () => { if (isConnected && networkRoutes.length === 0) { return ( -
- -
+ ); } diff --git a/client/ui/frontend/src/modules/main/advanced/peers/Peers.tsx b/client/ui/frontend/src/modules/main/advanced/peers/Peers.tsx index 3c7d78525..cc17cd9ff 100644 --- a/client/ui/frontend/src/modules/main/advanced/peers/Peers.tsx +++ b/client/ui/frontend/src/modules/main/advanced/peers/Peers.tsx @@ -1,7 +1,7 @@ import { useEffect, useMemo, useRef, useState } from "react"; import { useTranslation } from "react-i18next"; import * as ScrollArea from "@radix-ui/react-scroll-area"; -import { ChevronRightIcon, LaptopIcon } from "lucide-react"; +import { ChevronRightIcon, MonitorSmartphoneIcon } from "lucide-react"; import type { PeerStatus } from "@bindings/services/models.js"; import { cn } from "@/lib/cn"; import { CopyToClipboard } from "@/components/CopyToClipboard"; @@ -136,19 +136,11 @@ export const Peers = () => { if (isConnected && peers.length === 0) { return ( -
- -
+ ); } diff --git a/client/ui/i18n/locales/de/common.json b/client/ui/i18n/locales/de/common.json index f05eba10c..2db418475 100644 --- a/client/ui/i18n/locales/de/common.json +++ b/client/ui/i18n/locales/de/common.json @@ -72,7 +72,6 @@ "common.refresh": "Aktualisieren", "common.loading": "Lädt…", "common.netbird": "NetBird", - "common.learnMoreAbout": "Mehr erfahren über", "common.noResults.title": "Keine Ergebnisse gefunden", "common.noResults.description": "Es konnten keine Ergebnisse gefunden werden. Bitte versuchen Sie es mit einem anderen Suchbegriff oder ändern Sie Ihre Filter.", "notConnected.title": "Getrennt", @@ -388,8 +387,8 @@ "peers.filter.all": "Alle", "peers.filter.online": "Online", "peers.filter.offline": "Offline", - "peers.empty.title": "Noch keine Peers", - "peers.empty.description": "Es sind keine Peers mit Ihrem Netzwerk verbunden. Fügen Sie einen Peer hinzu, um zu beginnen.", + "peers.empty.title": "Keine Peers verfügbar", + "peers.empty.description": "Sie haben entweder keine Peers verfügbar oder keinen Zugriff auf einen davon.", "peers.details.domain": "Domain", "peers.details.netbirdIp": "NetBird-IP", "peers.details.netbirdIpv6": "NetBird-IPv6", @@ -419,8 +418,8 @@ "networks.filter.all": "Alle", "networks.filter.active": "Aktiv", "networks.filter.overlapping": "Überlappend", - "networks.empty.title": "Keine Netzwerke verfügbar", - "networks.empty.description": "Für diesen Peer wurden keine geleiteten Netzwerke freigegeben.", + "networks.empty.title": "Keine Ressourcen verfügbar", + "networks.empty.description": "Sie haben entweder keine Netzwerkressourcen verfügbar oder keinen Zugriff auf eine davon.", "networks.selected": "Ausgewählt", "networks.unselected": "Nicht ausgewählt", "networks.ips.heading": "Aufgelöste IPs", diff --git a/client/ui/i18n/locales/en/common.json b/client/ui/i18n/locales/en/common.json index 50f458d44..2698e2b12 100644 --- a/client/ui/i18n/locales/en/common.json +++ b/client/ui/i18n/locales/en/common.json @@ -72,7 +72,6 @@ "common.refresh": "Refresh", "common.loading": "Loading…", "common.netbird": "NetBird", - "common.learnMoreAbout": "Learn more about", "common.noResults.title": "Could not find any results", "common.noResults.description": "We couldn't find any results. Please try a different search term or change your filters.", "notConnected.title": "Disconnected", @@ -390,8 +389,8 @@ "peers.filter.all": "All", "peers.filter.online": "Online", "peers.filter.offline": "Offline", - "peers.empty.title": "No peers yet", - "peers.empty.description": "No peers are connected to your network. Add a peer to get started.", + "peers.empty.title": "No peers available", + "peers.empty.description": "You either don't have any peers available or have no access to any of them.", "peers.details.domain": "Domain", "peers.details.netbirdIp": "NetBird IP", "peers.details.netbirdIpv6": "NetBird IPv6", @@ -421,8 +420,8 @@ "networks.filter.all": "All", "networks.filter.active": "Active", "networks.filter.overlapping": "Overlapping", - "networks.empty.title": "No networks available", - "networks.empty.description": "No routed networks have been shared with this peer.", + "networks.empty.title": "No resources available", + "networks.empty.description": "You either don't have any network resources available or have no access to any of them.", "networks.selected": "Selected", "networks.unselected": "Not selected", "networks.ips.heading": "Resolved IPs", diff --git a/client/ui/i18n/locales/hu/common.json b/client/ui/i18n/locales/hu/common.json index 675b93730..af6cfdea6 100644 --- a/client/ui/i18n/locales/hu/common.json +++ b/client/ui/i18n/locales/hu/common.json @@ -72,7 +72,6 @@ "common.refresh": "Frissítés", "common.loading": "Betöltés…", "common.netbird": "NetBird", - "common.learnMoreAbout": "Tudjon meg többet erről:", "common.noResults.title": "Nincs találat", "common.noResults.description": "Nem találtunk eredményt. Próbáljon meg másik keresési kifejezést, vagy módosítsa a szűrőket.", "notConnected.title": "Lecsatlakozva", @@ -388,8 +387,8 @@ "peers.filter.all": "Összes", "peers.filter.online": "Online", "peers.filter.offline": "Offline", - "peers.empty.title": "Még nincsenek társak", - "peers.empty.description": "Egyetlen társ sem csatlakozott a hálózatához. Adjon hozzá egy társat a kezdéshez.", + "peers.empty.title": "Nincs elérhető társ", + "peers.empty.description": "Önnek vagy nincsenek elérhető társai vagy nincs hozzáférése egyikhez sem.", "peers.details.domain": "Domain", "peers.details.netbirdIp": "NetBird IP", "peers.details.netbirdIpv6": "NetBird IPv6", @@ -419,8 +418,8 @@ "networks.filter.all": "Összes", "networks.filter.active": "Aktív", "networks.filter.overlapping": "Átfedő", - "networks.empty.title": "Nincs elérhető hálózat", - "networks.empty.description": "Ehhez a társhoz nem osztottak meg útvonalas hálózatokat.", + "networks.empty.title": "Nincs elérhető erőforrás", + "networks.empty.description": "Önnek vagy nincsenek elérhető hálózati erőforrásai vagy nincs hozzáférése egyikhez sem.", "networks.selected": "Kiválasztva", "networks.unselected": "Nincs kiválasztva", "networks.ips.heading": "Feloldott IP-címek",