diff --git a/apps/docs/docs/integrations/adguard-home/index.mdx b/apps/docs/docs/integrations/adguard-home/index.mdx index b4cb6cdb6..e08668718 100644 --- a/apps/docs/docs/integrations/adguard-home/index.mdx +++ b/apps/docs/docs/integrations/adguard-home/index.mdx @@ -4,6 +4,7 @@ description: "AdGuard Home is a network-wide software for blocking ads and track hide_title: true --- +import { IntegrationData } from '@site/src/components/integrations/data'; import { IntegrationHeader } from '@site/src/components/integrations/header'; import { IntegrationCapabilites } from '@site/src/components/integrations/widgets'; import { AddingIntegration } from '@site/src/components/integrations/adding'; @@ -18,6 +19,10 @@ import { dnsHoleControlsWidget } from '@site/docs/widgets/dns-hole-controls'; categories={['DNS Hole']} /> +### Data + + + ### Widgets & Capabilities + ### Widgets & Capabilities + ### Adding the integration diff --git a/apps/docs/docs/integrations/archiveteam-warrior/index.ts b/apps/docs/docs/integrations/archiveteam-warrior/index.ts index 5a18f6f4f..d7d893fdc 100644 --- a/apps/docs/docs/integrations/archiveteam-warrior/index.ts +++ b/apps/docs/docs/integrations/archiveteam-warrior/index.ts @@ -6,4 +6,5 @@ export const archiveTeamWarriorIntegration: IntegrationDefinition = { "ArchiveTeam Warrior is an easy-to-run virtual machine that helps preserve websites by using some of your bandwidth and disk space to download and upload content to ArchiveTeam’s archive.", iconUrl: "https://cdn.jsdelivr.net/gh/selfhst/icons/png/archiveteam-warrior.png", path: "../../integrations/archiveteam-warrior", + data: "Fetches Archive Team Warrior status including project, bandwidth stats, and item progress via WebSocket.", }; diff --git a/apps/docs/docs/integrations/aria2/index.mdx b/apps/docs/docs/integrations/aria2/index.mdx index 9950fec2f..a2fbb156e 100644 --- a/apps/docs/docs/integrations/aria2/index.mdx +++ b/apps/docs/docs/integrations/aria2/index.mdx @@ -4,6 +4,7 @@ description: "Lightweight multiprotocol & multi-source command-line download uti hide_title: true --- +import { IntegrationData } from '@site/src/components/integrations/data'; import { IntegrationHeader } from '@site/src/components/integrations/header'; import { IntegrationCapabilites } from '@site/src/components/integrations/widgets'; import { AddingIntegration } from '@site/src/components/integrations/adding'; @@ -16,6 +17,10 @@ import { downloadsWidget } from '@site/docs/widgets/downloads'; categories={['Download', 'Multiprotocol', 'Multi-source']} /> +### Data + + + ### Widgets & Capabilities + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities + ### Prerequisites Before deploying Homarr in Kubernetes, ensure the following prerequisites are met: diff --git a/apps/docs/docs/integrations/kubernetes/index.ts b/apps/docs/docs/integrations/kubernetes/index.ts index 9702bef3a..1a17ef1e5 100644 --- a/apps/docs/docs/integrations/kubernetes/index.ts +++ b/apps/docs/docs/integrations/kubernetes/index.ts @@ -6,4 +6,5 @@ export const kubernetesIntegration: IntegrationDefinition = { "Kubernetes is a powerful container orchestration platform that automates the deployment, scaling, and management of containerized applications.", iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/kubernetes.svg", path: "../../integrations/kubernetes", + data: "Fetches Kubernetes cluster information including pods, deployments, and services.", }; diff --git a/apps/docs/docs/integrations/lidarr/index.mdx b/apps/docs/docs/integrations/lidarr/index.mdx index 498503617..2003494b4 100644 --- a/apps/docs/docs/integrations/lidarr/index.mdx +++ b/apps/docs/docs/integrations/lidarr/index.mdx @@ -4,6 +4,7 @@ description: "Lidarr is a music management tool that automates the process of do hide_title: true --- +import { IntegrationData } from '@site/src/components/integrations/data'; import { IntegrationHeader } from '@site/src/components/integrations/header'; import { IntegrationCapabilites } from '@site/src/components/integrations/widgets'; import { AddingIntegration } from '@site/src/components/integrations/adding'; @@ -18,6 +19,10 @@ import { calendarWidget } from '@site/docs/widgets/calendar'; categories={['Media manager', "Servarr"]} /> +### Data + + + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities + ### Widgets & Capabilities + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities + ### Widgets & Capabilities +### Data + + + ### Widgets & Capabilities + ### Widgets & Capabilities + ### Screenshots import anchorNoteWidgetScreenshot from './img/widget.png'; diff --git a/apps/docs/docs/widgets/anchor-note/index.ts b/apps/docs/docs/widgets/anchor-note/index.ts index c815964a1..03134e635 100644 --- a/apps/docs/docs/widgets/anchor-note/index.ts +++ b/apps/docs/docs/widgets/anchor-note/index.ts @@ -5,6 +5,7 @@ export const anchorNoteWidget: WidgetDefinition = { icon: IconNotes, name: "Anchor Note", description: "Display and edit a selected note from Anchor", + data: "Displays a collaborative rich-text note with real-time editing synced through the Anchor integration.", path: "../../widgets/anchor-note", configuration: { items: [ diff --git a/apps/docs/docs/widgets/app/index.mdx b/apps/docs/docs/widgets/app/index.mdx index ec62d862e..6b867d651 100644 --- a/apps/docs/docs/widgets/app/index.mdx +++ b/apps/docs/docs/widgets/app/index.mdx @@ -6,6 +6,7 @@ hide_title: true import { AddingWidget } from '@site/src/components/widgets/adding'; import { WidgetConfig } from '@site/src/components/widgets/configuration'; +import { WidgetData } from '@site/src/components/widgets/data'; import { WidgetHeader } from '@site/src/components/widgets/header'; import { appWidget } from '.'; @@ -18,6 +19,10 @@ import { appWidget } from '.'; The app widget allows you to add a link to an application or a website that you want to access quickly from your Homarr board. It also supports a status check to indicate whether Homarr can reach the application or website. +### Data + + + ### Screenshots import githubApp from './img/github.png'; diff --git a/apps/docs/docs/widgets/app/index.ts b/apps/docs/docs/widgets/app/index.ts index 773121733..9dcc7d4cf 100644 --- a/apps/docs/docs/widgets/app/index.ts +++ b/apps/docs/docs/widgets/app/index.ts @@ -5,6 +5,7 @@ export const appWidget: WidgetDefinition = { icon: IconApps, name: "App", description: "Embeds an app into the board.", + data: "Displays an application shortcut with icon, name, optional description, and a live ping/status indicator.", path: "../../widgets/app", configuration: { items: [ diff --git a/apps/docs/docs/widgets/audio-stats/index.mdx b/apps/docs/docs/widgets/audio-stats/index.mdx index f37a4eb83..08c0e79e0 100644 --- a/apps/docs/docs/widgets/audio-stats/index.mdx +++ b/apps/docs/docs/widgets/audio-stats/index.mdx @@ -7,6 +7,7 @@ hide_title: true import { WidgetHeader } from '@site/src/components/widgets/header'; import { AddingWidget } from '@site/src/components/widgets/adding'; import { WidgetConfig } from '@site/src/components/widgets/configuration'; +import { WidgetData } from '@site/src/components/widgets/data'; import { WidgetIntegrations } from '@site/src/components/widgets/integrations'; import { audioStatsWidget } from '.'; import { navidromeIntegration } from '@site/docs/integrations/navidrome'; @@ -25,6 +26,10 @@ This widget adapts its display based on the linked integration: Only options relevant to your linked integration are shown in the configuration panel. +### Data + + + ### Supported Integrations + ### Screenshots Beszel Alerts widget showing triggered and ok alerts with history diff --git a/apps/docs/docs/widgets/beszel-alerts/index.ts b/apps/docs/docs/widgets/beszel-alerts/index.ts index bc3ba372c..2f68413d7 100644 --- a/apps/docs/docs/widgets/beszel-alerts/index.ts +++ b/apps/docs/docs/widgets/beszel-alerts/index.ts @@ -5,6 +5,7 @@ export const beszelAlertsWidget: WidgetDefinition = { icon: IconBell, name: "Beszel Alerts", description: "View Beszel alert configurations and history with triggered/ok status indicators.", + data: "Displays active and historical alerts for Beszel-monitored systems with metric type indicators and resolution status.", path: "../../widgets/beszel-alerts", configuration: { items: [ diff --git a/apps/docs/docs/widgets/beszel-system-grid/index.mdx b/apps/docs/docs/widgets/beszel-system-grid/index.mdx index de3578aeb..11d4ab434 100644 --- a/apps/docs/docs/widgets/beszel-system-grid/index.mdx +++ b/apps/docs/docs/widgets/beszel-system-grid/index.mdx @@ -7,6 +7,7 @@ hide_title: true import { WidgetHeader } from '@site/src/components/widgets/header'; import { AddingWidget } from '@site/src/components/widgets/adding'; import { WidgetConfig } from '@site/src/components/widgets/configuration'; +import { WidgetData } from '@site/src/components/widgets/data'; import { WidgetIntegrations } from '@site/src/components/widgets/integrations'; import { beszelSystemGridWidget } from '.'; import { beszelIntegration } from '@site/docs/integrations/beszel'; @@ -20,6 +21,10 @@ import beszelSystemGrid from './img/beszel-system-grid.png'; This widget displays all your Beszel-monitored systems as a responsive card grid. Each card shows real-time metrics like CPU, memory, disk, network, temperature, and more. Cards adapt their layout based on available space. +### Data + + + ### Screenshots Beszel System Grid widget showing system cards with metrics diff --git a/apps/docs/docs/widgets/beszel-system-grid/index.ts b/apps/docs/docs/widgets/beszel-system-grid/index.ts index 0fcc21d12..266fa1935 100644 --- a/apps/docs/docs/widgets/beszel-system-grid/index.ts +++ b/apps/docs/docs/widgets/beszel-system-grid/index.ts @@ -5,6 +5,7 @@ export const beszelSystemGridWidget: WidgetDefinition = { icon: IconLayoutGrid, name: "Beszel Systems (Grid)", description: "Card grid view of all Beszel-monitored systems with real-time metrics.", + data: "Displays live system metrics (CPU, memory, disk, GPU, network) for all Beszel systems in a responsive card grid.", path: "../../widgets/beszel-system-grid", configuration: { items: [ diff --git a/apps/docs/docs/widgets/beszel-system-stats/index.mdx b/apps/docs/docs/widgets/beszel-system-stats/index.mdx index 8efa3fb46..6f0fa6ff4 100644 --- a/apps/docs/docs/widgets/beszel-system-stats/index.mdx +++ b/apps/docs/docs/widgets/beszel-system-stats/index.mdx @@ -7,6 +7,7 @@ hide_title: true import { WidgetHeader } from '@site/src/components/widgets/header'; import { AddingWidget } from '@site/src/components/widgets/adding'; import { WidgetConfig } from '@site/src/components/widgets/configuration'; +import { WidgetData } from '@site/src/components/widgets/data'; import { WidgetIntegrations } from '@site/src/components/widgets/integrations'; import { beszelSystemStatsWidget } from '.'; import { beszelIntegration } from '@site/docs/integrations/beszel'; @@ -20,6 +21,10 @@ import beszelSystemStats from './img/beszel-system-stats.png'; This widget displays time-series charts for a selected Beszel system, including CPU, memory, disk, network, and Docker container metrics. Data is cached and refreshed periodically. You can select a time period ranging from 1 hour to 30 days. +### Data + + + ### Screenshots Beszel System Stats widget showing CPU, memory, disk and network charts diff --git a/apps/docs/docs/widgets/beszel-system-stats/index.ts b/apps/docs/docs/widgets/beszel-system-stats/index.ts index 2f48019e4..e5c77cd03 100644 --- a/apps/docs/docs/widgets/beszel-system-stats/index.ts +++ b/apps/docs/docs/widgets/beszel-system-stats/index.ts @@ -5,6 +5,7 @@ export const beszelSystemStatsWidget: WidgetDefinition = { icon: IconChartAreaLine, name: "Beszel System Stats", description: "Time-series charts for CPU, memory, disk, network, and Docker container metrics from Beszel.", + data: "Displays detailed historical charts (CPU, memory, disk, network, Docker containers) for a single Beszel system.", path: "../../widgets/beszel-system-stats", configuration: { items: [ diff --git a/apps/docs/docs/widgets/beszel-system-table/index.mdx b/apps/docs/docs/widgets/beszel-system-table/index.mdx index dfab7a977..8d34e8384 100644 --- a/apps/docs/docs/widgets/beszel-system-table/index.mdx +++ b/apps/docs/docs/widgets/beszel-system-table/index.mdx @@ -7,6 +7,7 @@ hide_title: true import { WidgetHeader } from '@site/src/components/widgets/header'; import { AddingWidget } from '@site/src/components/widgets/adding'; import { WidgetConfig } from '@site/src/components/widgets/configuration'; +import { WidgetData } from '@site/src/components/widgets/data'; import { WidgetIntegrations } from '@site/src/components/widgets/integrations'; import { beszelSystemTableWidget } from '.'; import { beszelIntegration } from '@site/docs/integrations/beszel'; @@ -19,6 +20,10 @@ import { beszelIntegration } from '@site/docs/integrations/beszel'; This widget displays all your Beszel-monitored systems in a sortable data table. Each row shows system metrics like CPU, memory, disk, network, temperature, and more. Columns can be toggled on or off, and the table supports sorting by any column. +### Data + + + ### Supported Integrations + ### Screenshots import gridIconsOnly from './img/grid-icons-only.png'; diff --git a/apps/docs/docs/widgets/bookmarks/index.ts b/apps/docs/docs/widgets/bookmarks/index.ts index 57fea9836..9f18513c6 100644 --- a/apps/docs/docs/widgets/bookmarks/index.ts +++ b/apps/docs/docs/widgets/bookmarks/index.ts @@ -5,6 +5,7 @@ export const bookmarksWidget: WidgetDefinition = { icon: IconBookmark, name: "Bookmarks", description: "Displays multiple app links", + data: "Displays a collection of application shortcuts in a grid or flex layout with icons and names.", path: "../../widgets/bookmarks", configuration: { items: [ diff --git a/apps/docs/docs/widgets/calendar/index.mdx b/apps/docs/docs/widgets/calendar/index.mdx index 5db4e9b30..cd06ddf81 100644 --- a/apps/docs/docs/widgets/calendar/index.mdx +++ b/apps/docs/docs/widgets/calendar/index.mdx @@ -7,6 +7,7 @@ hide_title: true import { WidgetHeader } from '@site/src/components/widgets/header'; import { AddingWidget } from '@site/src/components/widgets/adding'; import { WidgetConfig } from '@site/src/components/widgets/configuration'; +import { WidgetData } from '@site/src/components/widgets/data'; import { WidgetIntegrations } from '@site/src/components/widgets/integrations'; import { IconAd } from "@tabler/icons-react"; import Tabs from '@theme/Tabs'; @@ -29,6 +30,10 @@ import { icalIntegration } from '@site/docs/integrations/ical'; The calendar widget shows a month view of events from different integrations. It allows you to view calendar events or upcoming releases from your media managers. +### Data + + + ### Screenshots import popover from './img/popover.png'; diff --git a/apps/docs/docs/widgets/calendar/index.ts b/apps/docs/docs/widgets/calendar/index.ts index b1e2d83b3..29186103d 100644 --- a/apps/docs/docs/widgets/calendar/index.ts +++ b/apps/docs/docs/widgets/calendar/index.ts @@ -5,6 +5,7 @@ export const calendarWidget: WidgetDefinition = { icon: IconCalendar, name: "Calendar", description: "Display events from your integrations in a calendar view within a certain relative time period", + data: "Displays a monthly calendar with event dots and detailed event lists for media releases from Sonarr/Radarr.", path: "../../widgets/calendar", configuration: { items: [ diff --git a/apps/docs/docs/widgets/clock/index.mdx b/apps/docs/docs/widgets/clock/index.mdx index efdab31d4..edc588a17 100644 --- a/apps/docs/docs/widgets/clock/index.mdx +++ b/apps/docs/docs/widgets/clock/index.mdx @@ -6,6 +6,7 @@ hide_title: true import { AddingWidget } from '@site/src/components/widgets/adding'; import { WidgetConfig } from '@site/src/components/widgets/configuration'; +import { WidgetData } from '@site/src/components/widgets/data'; import { WidgetHeader } from '@site/src/components/widgets/header'; import { clockWidget } from '.'; @@ -17,6 +18,10 @@ import { clockWidget } from '.'; The clock widget displays the current date and time in a customizable format. +### Data + + + ### Screenshots import localClock from './img/local.png'; diff --git a/apps/docs/docs/widgets/clock/index.ts b/apps/docs/docs/widgets/clock/index.ts index 5cdb1e2a8..e49e63d11 100644 --- a/apps/docs/docs/widgets/clock/index.ts +++ b/apps/docs/docs/widgets/clock/index.ts @@ -5,6 +5,7 @@ export const clockWidget: WidgetDefinition = { icon: IconClock, name: "Date and time", description: "Displays the current date and time.", + data: "Displays the current time and date with customizable format, timezone, and optional title.", path: "../../widgets/clock", configuration: { items: [ diff --git a/apps/docs/docs/widgets/coolify/index.mdx b/apps/docs/docs/widgets/coolify/index.mdx index 23eb6ba03..2f64e81dc 100644 --- a/apps/docs/docs/widgets/coolify/index.mdx +++ b/apps/docs/docs/widgets/coolify/index.mdx @@ -7,6 +7,7 @@ hide_title: true import { WidgetHeader } from '@site/src/components/widgets/header'; import { AddingWidget } from '@site/src/components/widgets/adding'; import { WidgetConfig } from '@site/src/components/widgets/configuration'; +import { WidgetData } from '@site/src/components/widgets/data'; import { WidgetIntegrations } from '@site/src/components/widgets/integrations'; import { coolifyWidget } from '.'; import { coolifyIntegration } from '@site/docs/integrations/coolify'; @@ -18,6 +19,10 @@ import { coolifyIntegration } from '@site/docs/integrations/coolify'; The Coolify widget displays a compact overview of your Coolify instance. It can show servers, applications, and services with status indicators, project and environment context, direct links to Coolify, and the installed Coolify version. +### Data + + + ### Supported Integrations + ### Adding the widget diff --git a/apps/docs/docs/widgets/custom-api/index.ts b/apps/docs/docs/widgets/custom-api/index.ts index c6c56bc53..a5a6d2ca9 100644 --- a/apps/docs/docs/widgets/custom-api/index.ts +++ b/apps/docs/docs/widgets/custom-api/index.ts @@ -5,5 +5,6 @@ export const customApiWidget: WidgetDefinition = { icon: IconApi, name: "Custom API", description: "Displays data from a custom API endpoint using configurable display types and optional JSX templates.", + data: "Displays data from user-defined API endpoints with configurable display types like values, tables, charts, and status indicators.", path: "../../widgets/custom-api", }; diff --git a/apps/docs/docs/widgets/dns-hole-controls/index.mdx b/apps/docs/docs/widgets/dns-hole-controls/index.mdx index cea517545..808dff80b 100644 --- a/apps/docs/docs/widgets/dns-hole-controls/index.mdx +++ b/apps/docs/docs/widgets/dns-hole-controls/index.mdx @@ -7,6 +7,7 @@ hide_title: true import { WidgetHeader } from '@site/src/components/widgets/header'; import { AddingWidget } from '@site/src/components/widgets/adding'; import { WidgetConfig } from '@site/src/components/widgets/configuration'; +import { WidgetData } from '@site/src/components/widgets/data'; import { WidgetIntegrations } from '@site/src/components/widgets/integrations'; import { IconAd } from "@tabler/icons-react"; import Tabs from '@theme/Tabs'; @@ -24,6 +25,10 @@ import { technitiumDnsIntegration } from '@site/docs/integrations/technitium-dns This widget allows you to enable or disable your DNS Hole. +### Data + + + ### Screenshots import bigSize from './img/big.png'; diff --git a/apps/docs/docs/widgets/dns-hole-controls/index.ts b/apps/docs/docs/widgets/dns-hole-controls/index.ts index 31d2b45c9..e1f74265e 100644 --- a/apps/docs/docs/widgets/dns-hole-controls/index.ts +++ b/apps/docs/docs/widgets/dns-hole-controls/index.ts @@ -6,6 +6,7 @@ export const dnsHoleControlsWidget: WidgetDefinition = { icon: IconDeviceGamepad, name: "DNS Hole Controls", description: `Control the blocking feature of your ${integrations} from your dashboard`, + data: "Displays enable/disable controls for Pi-hole and AdGuard Home DNS filtering with timer-based disable options.", path: "../../widgets/dns-hole-controls", configuration: { items: [ diff --git a/apps/docs/docs/widgets/dns-hole-summary/index.mdx b/apps/docs/docs/widgets/dns-hole-summary/index.mdx index 1dcb123da..c26cf0429 100644 --- a/apps/docs/docs/widgets/dns-hole-summary/index.mdx +++ b/apps/docs/docs/widgets/dns-hole-summary/index.mdx @@ -7,6 +7,7 @@ hide_title: true import { WidgetHeader } from '@site/src/components/widgets/header'; import { AddingWidget } from '@site/src/components/widgets/adding'; import { WidgetConfig } from '@site/src/components/widgets/configuration'; +import { WidgetData } from '@site/src/components/widgets/data'; import { WidgetIntegrations } from '@site/src/components/widgets/integrations'; import { IconAd } from "@tabler/icons-react"; import Tabs from '@theme/Tabs'; @@ -21,6 +22,10 @@ import { dnsHoleSummaryWidget } from '.'; This widget allows you to display statistics about your DNS Hole like total queries, blocked queries, and more. +### Data + + + ### Screenshots import gridLayout from './img/grid.png'; diff --git a/apps/docs/docs/widgets/dns-hole-summary/index.ts b/apps/docs/docs/widgets/dns-hole-summary/index.ts index 76de8b588..a973c71cd 100644 --- a/apps/docs/docs/widgets/dns-hole-summary/index.ts +++ b/apps/docs/docs/widgets/dns-hole-summary/index.ts @@ -7,6 +7,7 @@ export const dnsHoleSummaryWidget: WidgetDefinition = { icon: IconAd, name: "DNS Hole Summary", description: `Displays the summary of your ${integrations} blocks and queries statistics`, + data: "Displays DNS ad-blocking statistics including ads blocked today, percentage, total queries, and domains being blocked.", path: "../../widgets/dns-hole-summary", configuration: { items: [ diff --git a/apps/docs/docs/widgets/docker-containers/index.mdx b/apps/docs/docs/widgets/docker-containers/index.mdx index fe509f86a..b558e1fee 100644 --- a/apps/docs/docs/widgets/docker-containers/index.mdx +++ b/apps/docs/docs/widgets/docker-containers/index.mdx @@ -7,6 +7,7 @@ hide_title: true import { WidgetHeader } from '@site/src/components/widgets/header'; import { AddingWidget } from '@site/src/components/widgets/adding'; import { WidgetConfig } from '@site/src/components/widgets/configuration'; +import { WidgetData } from '@site/src/components/widgets/data'; import { WidgetIntegrations } from '@site/src/components/widgets/integrations'; import { IconAd } from "@tabler/icons-react"; import Tabs from '@theme/Tabs'; @@ -26,6 +27,10 @@ This widget displays the resource usage of your Docker containers and allows you This widget can only be used with administrator privileges. ::: +### Data + + + ### Screenshots import dockerTable from './img/table.png'; diff --git a/apps/docs/docs/widgets/docker-containers/index.ts b/apps/docs/docs/widgets/docker-containers/index.ts index 3e4a17ab6..b8aacffc2 100644 --- a/apps/docs/docs/widgets/docker-containers/index.ts +++ b/apps/docs/docs/widgets/docker-containers/index.ts @@ -5,6 +5,7 @@ export const dockerContainersWidget: WidgetDefinition = { icon: IconBrandDocker, name: "Docker stats", description: "Stats of your containers", + data: "Displays a table of Docker containers with status, CPU, memory usage, and start/stop/restart actions.", path: "../../widgets/docker-containers", configuration: { items: [ diff --git a/apps/docs/docs/widgets/downloads/index.mdx b/apps/docs/docs/widgets/downloads/index.mdx index 9242a84eb..654d83fb4 100644 --- a/apps/docs/docs/widgets/downloads/index.mdx +++ b/apps/docs/docs/widgets/downloads/index.mdx @@ -12,6 +12,7 @@ import { transmissionIntegration } from '@site/docs/integrations/transmission'; import { slskdIntegration } from '@site/docs/integrations/slskd'; import { AddingWidget } from '@site/src/components/widgets/adding'; import { WidgetConfig } from '@site/src/components/widgets/configuration'; +import { WidgetData } from '@site/src/components/widgets/data'; import { WidgetHeader } from '@site/src/components/widgets/header'; import { WidgetIntegrations } from '@site/src/components/widgets/integrations'; import { IconAd } from "@tabler/icons-react"; @@ -27,6 +28,10 @@ import { downloadsWidget } from '.'; This widget displays a list of torrents or usenet-articles that are currently being downloaded, along with their progress and other relevant information. +### Data + + + ### Screenshots import downloadsCard from './img/screenshot.png'; diff --git a/apps/docs/docs/widgets/downloads/index.ts b/apps/docs/docs/widgets/downloads/index.ts index 4810aec89..601153c06 100644 --- a/apps/docs/docs/widgets/downloads/index.ts +++ b/apps/docs/docs/widgets/downloads/index.ts @@ -27,6 +27,7 @@ export const downloadsWidget: WidgetDefinition = { icon: IconDownload, name: "Download Client", description: "Allows you to view and manage your Downloads from both Torrent and Usenet clients.", + data: "Displays a sortable download manager table with progress, speeds, ETA, and per-item pause/resume/delete actions.", path: "../../widgets/downloads", configuration: { items: [ diff --git a/apps/docs/docs/widgets/firewall/index.mdx b/apps/docs/docs/widgets/firewall/index.mdx index 95aaa56d6..9f9affdf3 100644 --- a/apps/docs/docs/widgets/firewall/index.mdx +++ b/apps/docs/docs/widgets/firewall/index.mdx @@ -4,6 +4,7 @@ description: 'Displays a summary of firewalls.' hide_title: true --- +import { WidgetData } from '@site/src/components/widgets/data'; import { WidgetHeader } from '@site/src/components/widgets/header'; import { AddingWidget } from '@site/src/components/widgets/adding'; import { WidgetIntegrations } from '@site/src/components/widgets/integrations'; @@ -18,6 +19,10 @@ import { opnsenseIntegration } from '../../integrations/opnsense'; categories={['Firewall']} /> +### Data + + + ### Screenshots ![Firewall Widget](img/firewall_widget.png) diff --git a/apps/docs/docs/widgets/firewall/index.ts b/apps/docs/docs/widgets/firewall/index.ts index 42178c165..d575ca3f8 100644 --- a/apps/docs/docs/widgets/firewall/index.ts +++ b/apps/docs/docs/widgets/firewall/index.ts @@ -5,6 +5,7 @@ export const firewallWidget: WidgetDefinition = { icon: IconWall, name: "Firewall Monitoring", description: "Displays a summary of firewalls.", + data: "Displays firewall status including CPU, memory usage, version info, and per-interface bandwidth.", path: "../../widgets/firewall", configuration: { items: [], diff --git a/apps/docs/docs/widgets/health-monitoring/index.mdx b/apps/docs/docs/widgets/health-monitoring/index.mdx index 9e41a5fcc..937978d64 100644 --- a/apps/docs/docs/widgets/health-monitoring/index.mdx +++ b/apps/docs/docs/widgets/health-monitoring/index.mdx @@ -7,6 +7,7 @@ hide_title: true import { WidgetHeader } from '@site/src/components/widgets/header'; import { AddingWidget } from '@site/src/components/widgets/adding'; import { WidgetConfig } from '@site/src/components/widgets/configuration'; +import { WidgetData } from '@site/src/components/widgets/data'; import { WidgetIntegrations } from '@site/src/components/widgets/integrations'; import { IconAd } from "@tabler/icons-react"; import Tabs from '@theme/Tabs'; @@ -25,6 +26,10 @@ import { glancesIntegration } from '@site/docs/integrations/glances'; This widget displays information about the health and status of your system(s), including CPU, memory, disk usage, and more. +### Data + + + ### Screenshots import systemView from './img/system-view.png'; diff --git a/apps/docs/docs/widgets/health-monitoring/index.ts b/apps/docs/docs/widgets/health-monitoring/index.ts index 2a3cc6a58..a985af0e0 100644 --- a/apps/docs/docs/widgets/health-monitoring/index.ts +++ b/apps/docs/docs/widgets/health-monitoring/index.ts @@ -5,6 +5,7 @@ export const healthMonitoringWidget: WidgetDefinition = { icon: IconHeartRateMonitor, name: "System Health Monitoring", description: "Displays information showing the health and status of your system(s).", + data: "Displays system health metrics including CPU, memory, GPU, filesystem usage, temperature, and uptime.", path: "../../widgets/health-monitoring", configuration: { items: [ diff --git a/apps/docs/docs/widgets/iframe/index.mdx b/apps/docs/docs/widgets/iframe/index.mdx index 5be26f3b2..7c3af00ac 100644 --- a/apps/docs/docs/widgets/iframe/index.mdx +++ b/apps/docs/docs/widgets/iframe/index.mdx @@ -6,6 +6,7 @@ hide_title: true import { AddingWidget } from '@site/src/components/widgets/adding'; import { WidgetConfig } from '@site/src/components/widgets/configuration'; +import { WidgetData } from '@site/src/components/widgets/data'; import { WidgetHeader } from '@site/src/components/widgets/header'; import { iframeWidget } from '.'; @@ -20,6 +21,10 @@ It uses the [iframe element](https://developer.mozilla.org/en-US/docs/Web/HTML/E which embeds the desired page in the browser. This means, no traffic is routed through Homarr (and the URL must be reachable from the client). +### Data + + + ### Screenshots import wikipediaHomepage from './img/wikipedia.png'; diff --git a/apps/docs/docs/widgets/iframe/index.ts b/apps/docs/docs/widgets/iframe/index.ts index f876dc826..a1d6b68a8 100644 --- a/apps/docs/docs/widgets/iframe/index.ts +++ b/apps/docs/docs/widgets/iframe/index.ts @@ -5,6 +5,7 @@ export const iframeWidget: WidgetDefinition = { icon: IconBrowser, name: "iFrame", description: "Embed any content from the internet. Some websites may restrict access.", + data: "Embeds an external webpage via iframe with configurable sandbox permissions.", path: "../../widgets/iframe", configuration: { items: [ diff --git a/apps/docs/docs/widgets/immich-album-carousel/index.mdx b/apps/docs/docs/widgets/immich-album-carousel/index.mdx index 59b1beeb9..84dc7854e 100644 --- a/apps/docs/docs/widgets/immich-album-carousel/index.mdx +++ b/apps/docs/docs/widgets/immich-album-carousel/index.mdx @@ -8,6 +8,7 @@ import { immichIntegration } from '../../integrations/immich';import { AddingWidget } from '@site/src/components/widgets/adding'; import { WidgetConfig } from '@site/src/components/widgets/configuration'; +import { WidgetData } from '@site/src/components/widgets/data'; import { WidgetIntegrations } from '@site/src/components/widgets/integrations'; import { WidgetHeader } from '@site/src/components/widgets/header'; import { immichAlbumCarouselWidget } from '.'; @@ -18,6 +19,10 @@ import { immichAlbumCarouselWidget } from '.'; categories={['Photos Service']} /> +### Data + + + ### Screenshots import screen from './img/screen.png'; diff --git a/apps/docs/docs/widgets/immich-album-carousel/index.ts b/apps/docs/docs/widgets/immich-album-carousel/index.ts index 327314c3d..b8eb6edde 100644 --- a/apps/docs/docs/widgets/immich-album-carousel/index.ts +++ b/apps/docs/docs/widgets/immich-album-carousel/index.ts @@ -5,6 +5,7 @@ export const immichAlbumCarouselWidget: WidgetDefinition = { icon: IconPhoto, name: "Immich Album", description: "Shows a slideshow of your album pictures from Immich", + data: "Displays a rotating photo slideshow from an Immich album with configurable interval.", path: "../../widgets/immich-album-carousel", configuration: { items: [ diff --git a/apps/docs/docs/widgets/immich-server-stats/index.mdx b/apps/docs/docs/widgets/immich-server-stats/index.mdx index 73d278a91..776271b5e 100644 --- a/apps/docs/docs/widgets/immich-server-stats/index.mdx +++ b/apps/docs/docs/widgets/immich-server-stats/index.mdx @@ -7,6 +7,7 @@ hide_title: true import { immichIntegration } from '../../integrations/immich'; import { AddingWidget } from '@site/src/components/widgets/adding'; import { WidgetConfig } from '@site/src/components/widgets/configuration'; +import { WidgetData } from '@site/src/components/widgets/data'; import { WidgetIntegrations } from '@site/src/components/widgets/integrations'; import { WidgetHeader } from '@site/src/components/widgets/header'; import { immichServerStatsWidget } from '.'; @@ -17,6 +18,10 @@ import { immichServerStatsWidget } from '.'; categories={['Photos server']} /> +### Data + + + ### Screenshots import screen from './img/screen.png'; diff --git a/apps/docs/docs/widgets/immich-server-stats/index.ts b/apps/docs/docs/widgets/immich-server-stats/index.ts index 13a1a339e..badfc5a45 100644 --- a/apps/docs/docs/widgets/immich-server-stats/index.ts +++ b/apps/docs/docs/widgets/immich-server-stats/index.ts @@ -5,6 +5,7 @@ export const immichServerStatsWidget: WidgetDefinition = { icon: IconGraph, name: "Immich Server Stats", description: "Information about your Immich instance", + data: "Displays Immich server statistics including user count, photo/video count, and total storage usage.", path: "../../widgets/immich-server-stats", configuration: { items: [ diff --git a/apps/docs/docs/widgets/indexer-manager/index.mdx b/apps/docs/docs/widgets/indexer-manager/index.mdx index fad8c341b..667427a3a 100644 --- a/apps/docs/docs/widgets/indexer-manager/index.mdx +++ b/apps/docs/docs/widgets/indexer-manager/index.mdx @@ -6,6 +6,7 @@ hide_title: true import { AddingWidget } from '@site/src/components/widgets/adding'; import { WidgetConfig } from '@site/src/components/widgets/configuration'; +import { WidgetData } from '@site/src/components/widgets/data'; import { WidgetIntegrations } from '@site/src/components/widgets/integrations'; import { WidgetHeader } from '@site/src/components/widgets/header'; import { indexerManagerWidget } from '.'; @@ -16,6 +17,10 @@ import { indexerManagerWidget } from '.'; categories={['Indexer']} /> +### Data + + + ### Screenshots import bigItem from './img/big.png'; diff --git a/apps/docs/docs/widgets/indexer-manager/index.ts b/apps/docs/docs/widgets/indexer-manager/index.ts index aaa521551..6df3f12b8 100644 --- a/apps/docs/docs/widgets/indexer-manager/index.ts +++ b/apps/docs/docs/widgets/indexer-manager/index.ts @@ -5,6 +5,7 @@ export const indexerManagerWidget: WidgetDefinition = { icon: IconReportSearch, name: "Indexer manager status", description: "View the status of your indexers.", + data: "Displays media indexer statuses with health indicators and a test-all-connections button.", path: "../../widgets/indexer-manager", configuration: { items: [ diff --git a/apps/docs/docs/widgets/media-releases/index.mdx b/apps/docs/docs/widgets/media-releases/index.mdx index fece199eb..dd51885cf 100644 --- a/apps/docs/docs/widgets/media-releases/index.mdx +++ b/apps/docs/docs/widgets/media-releases/index.mdx @@ -7,6 +7,7 @@ hide_title: true import { WidgetHeader } from '@site/src/components/widgets/header'; import { AddingWidget } from '@site/src/components/widgets/adding'; import { WidgetConfig } from '@site/src/components/widgets/configuration'; +import { WidgetData } from '@site/src/components/widgets/data'; import { WidgetIntegrations } from '@site/src/components/widgets/integrations'; import { mediaReleasesWidget } from '.'; import { embyIntegration } from '@site/docs/integrations/emby'; @@ -21,6 +22,10 @@ import { plexIntegration } from '@site/docs/integrations/plex'; Provides a list of newly added media or upcoming releases from your media server. +### Data + + + ### Screenshots import backdrop from './img/backdrop.png'; diff --git a/apps/docs/docs/widgets/media-releases/index.ts b/apps/docs/docs/widgets/media-releases/index.ts index 8f2f2644a..133d0d429 100644 --- a/apps/docs/docs/widgets/media-releases/index.ts +++ b/apps/docs/docs/widgets/media-releases/index.ts @@ -5,6 +5,7 @@ export const mediaReleasesWidget: WidgetDefinition = { icon: IconTicket, name: "Media releases", description: "Display newly added medias or upcoming releases from different integrations", + data: "Displays recently released media items (movies, TV, music, books) with poster or backdrop images and metadata.", path: "../../widgets/media-releases", configuration: { items: [ diff --git a/apps/docs/docs/widgets/media-request-list/index.mdx b/apps/docs/docs/widgets/media-request-list/index.mdx index 2f52a8e1f..6ead3a6d5 100644 --- a/apps/docs/docs/widgets/media-request-list/index.mdx +++ b/apps/docs/docs/widgets/media-request-list/index.mdx @@ -7,6 +7,7 @@ hide_title: true import { WidgetHeader } from '@site/src/components/widgets/header'; import { AddingWidget } from '@site/src/components/widgets/adding'; import { WidgetConfig } from '@site/src/components/widgets/configuration'; +import { WidgetData } from '@site/src/components/widgets/data'; import { WidgetIntegrations } from '@site/src/components/widgets/integrations'; import { IconAd } from "@tabler/icons-react"; import Tabs from '@theme/Tabs'; @@ -23,6 +24,10 @@ import { overseerrIntegration } from '@site/docs/integrations/overseerr'; Provides a list of all open and recently closed requests. It also provides the functionality to approve or reject requests. +### Data + + + ### Screenshots import mediaRequestList from './img/list.png'; diff --git a/apps/docs/docs/widgets/media-request-list/index.ts b/apps/docs/docs/widgets/media-request-list/index.ts index 8eb9d8bfb..51b894697 100644 --- a/apps/docs/docs/widgets/media-request-list/index.ts +++ b/apps/docs/docs/widgets/media-request-list/index.ts @@ -5,6 +5,7 @@ export const mediaRequestListWidget: WidgetDefinition = { icon: IconZoomQuestion, name: "Media Request List", description: "See a list of all media requests from your integration", + data: "Displays pending and recent media requests with poster images, availability status, and approve/decline buttons.", path: "../../widgets/media-request-list", configuration: { items: [ diff --git a/apps/docs/docs/widgets/media-request-stats/index.mdx b/apps/docs/docs/widgets/media-request-stats/index.mdx index a7b40f624..31b9ea1ce 100644 --- a/apps/docs/docs/widgets/media-request-stats/index.mdx +++ b/apps/docs/docs/widgets/media-request-stats/index.mdx @@ -7,6 +7,7 @@ hide_title: true import { WidgetHeader } from '@site/src/components/widgets/header'; import { AddingWidget } from '@site/src/components/widgets/adding'; import { WidgetConfig } from '@site/src/components/widgets/configuration'; +import { WidgetData } from '@site/src/components/widgets/data'; import { WidgetIntegrations } from '@site/src/components/widgets/integrations'; import { IconAd } from "@tabler/icons-react"; import Tabs from '@theme/Tabs'; @@ -23,6 +24,10 @@ import { overseerrIntegration } from '@site/docs/integrations/overseerr'; Provide a statistics overview of your media requests, such as mount of requests, open requests, approvement and rejections. +### Data + + + ### Supported Integrations + ### Screenshots import mediaTable from './img/table.png'; diff --git a/apps/docs/docs/widgets/media-server/index.ts b/apps/docs/docs/widgets/media-server/index.ts index b9f5ec76f..fdcb97601 100644 --- a/apps/docs/docs/widgets/media-server/index.ts +++ b/apps/docs/docs/widgets/media-server/index.ts @@ -5,6 +5,7 @@ export const mediaServerWidget: WidgetDefinition = { icon: IconVideo, name: "Media server streams", description: "Show the current streams on your media servers", + data: "Displays active media server streaming sessions with user, device, and currently playing media details.", path: "../../widgets/media-server", configuration: { items: [ diff --git a/apps/docs/docs/widgets/media-transcoding/index.mdx b/apps/docs/docs/widgets/media-transcoding/index.mdx index 0fc280021..92ab86ef4 100644 --- a/apps/docs/docs/widgets/media-transcoding/index.mdx +++ b/apps/docs/docs/widgets/media-transcoding/index.mdx @@ -7,6 +7,7 @@ hide_title: true import { WidgetHeader } from '@site/src/components/widgets/header'; import { AddingWidget } from '@site/src/components/widgets/adding'; import { WidgetConfig } from '@site/src/components/widgets/configuration'; +import { WidgetData } from '@site/src/components/widgets/data'; import { WidgetIntegrations } from '@site/src/components/widgets/integrations'; import { IconAd } from "@tabler/icons-react"; import Tabs from '@theme/Tabs'; @@ -25,6 +26,10 @@ It shows you the current queue, worker status, and statistics about your transco +### Data + + + ### Screenshots import queueCard from './img/queue.png'; diff --git a/apps/docs/docs/widgets/media-transcoding/index.ts b/apps/docs/docs/widgets/media-transcoding/index.ts index 612a6a08a..d73837e4b 100644 --- a/apps/docs/docs/widgets/media-transcoding/index.ts +++ b/apps/docs/docs/widgets/media-transcoding/index.ts @@ -5,6 +5,7 @@ export const mediaTranscodingWidget: WidgetDefinition = { icon: IconTransform, name: "Media transcoding", description: "Statistics, current queue and worker status of your media transcoding", + data: "Displays media transcoding workers, queue, and statistics with tabbed worker/queue/statistics views.", path: "../../widgets/media-transcoding", configuration: { items: [ diff --git a/apps/docs/docs/widgets/minecraft-server-status/index.mdx b/apps/docs/docs/widgets/minecraft-server-status/index.mdx index 51101246b..352a7b50b 100644 --- a/apps/docs/docs/widgets/minecraft-server-status/index.mdx +++ b/apps/docs/docs/widgets/minecraft-server-status/index.mdx @@ -6,6 +6,7 @@ hide_title: true import { AddingWidget } from '@site/src/components/widgets/adding'; import { WidgetConfig } from '@site/src/components/widgets/configuration'; +import { WidgetData } from '@site/src/components/widgets/data'; import { WidgetHeader } from '@site/src/components/widgets/header'; import { WidgetIntegrations } from '@site/src/components/widgets/integrations'; import { IconAd } from "@tabler/icons-react"; @@ -21,6 +22,10 @@ import { minecraftServerStatusWidget } from '.'; Shows the status and amount of players on a Minecraft server. It supports both Java and Bedrock editions, however only public servers are supported which can be reached through the used api of [api.mcsrvstat.us](https://api.mcsrvstat.us). +### Data + + + ### Screenshots import javaItem from './img/java.png'; diff --git a/apps/docs/docs/widgets/minecraft-server-status/index.ts b/apps/docs/docs/widgets/minecraft-server-status/index.ts index b97aea667..a89b0b64c 100644 --- a/apps/docs/docs/widgets/minecraft-server-status/index.ts +++ b/apps/docs/docs/widgets/minecraft-server-status/index.ts @@ -5,6 +5,7 @@ export const minecraftServerStatusWidget: WidgetDefinition = { icon: IconBrandMinecraft, name: "Minecraft Server Status", description: "Displays the status of a Minecraft server.", + data: "Displays Minecraft server online status, player count, and server icon for Java and Bedrock editions.", path: "../../widgets/minecraft-server-status", configuration: { items: [ diff --git a/apps/docs/docs/widgets/network-controller-status/index.mdx b/apps/docs/docs/widgets/network-controller-status/index.mdx index a01496234..d57e2ec74 100644 --- a/apps/docs/docs/widgets/network-controller-status/index.mdx +++ b/apps/docs/docs/widgets/network-controller-status/index.mdx @@ -7,6 +7,7 @@ hide_title: true import { unifiControllerIntegration } from '@site/docs/integrations/unifi-controller'; import { AddingWidget } from '@site/src/components/widgets/adding'; import { WidgetConfig } from '@site/src/components/widgets/configuration'; +import { WidgetData } from '@site/src/components/widgets/data'; import { WidgetHeader } from '@site/src/components/widgets/header'; import { WidgetIntegrations } from '@site/src/components/widgets/integrations'; import { IconAd } from "@tabler/icons-react"; @@ -22,6 +23,10 @@ import { networkControllerStatusWidget } from '.'; Shows connected users and connected guest devices on wired or wireless networks. +### Data + + + ### Screenshots import wifiCard from './img/wifi.png'; diff --git a/apps/docs/docs/widgets/network-controller-status/index.ts b/apps/docs/docs/widgets/network-controller-status/index.ts index 6b0dc41f5..e293640d5 100644 --- a/apps/docs/docs/widgets/network-controller-status/index.ts +++ b/apps/docs/docs/widgets/network-controller-status/index.ts @@ -5,6 +5,7 @@ export const networkControllerStatusWidget: WidgetDefinition = { icon: IconTopologyFull, name: "Network Status", description: "Display connected devices on a network", + data: "Displays UniFi network client connection counts for Wi-Fi or wired clients.", path: "../../widgets/network-controller-status", configuration: { items: [ diff --git a/apps/docs/docs/widgets/network-controller-summary/index.mdx b/apps/docs/docs/widgets/network-controller-summary/index.mdx index fe4cd3357..097c3640c 100644 --- a/apps/docs/docs/widgets/network-controller-summary/index.mdx +++ b/apps/docs/docs/widgets/network-controller-summary/index.mdx @@ -7,6 +7,7 @@ hide_title: true import { unifiControllerIntegration } from '@site/docs/integrations/unifi-controller'; import { AddingWidget } from '@site/src/components/widgets/adding'; import { WidgetConfig } from '@site/src/components/widgets/configuration'; +import { WidgetData } from '@site/src/components/widgets/data'; import { WidgetHeader } from '@site/src/components/widgets/header'; import { WidgetIntegrations } from '@site/src/components/widgets/integrations'; import { IconAd } from "@tabler/icons-react"; @@ -22,6 +23,10 @@ import { networkControllerSummaryWidget } from '.'; Shows information whether your WAN is connected, Wi-Fi is active and several other information. +### Data + + + ### Screenshots import summaryCard from './img/summary.png'; diff --git a/apps/docs/docs/widgets/network-controller-summary/index.ts b/apps/docs/docs/widgets/network-controller-summary/index.ts index be10c3531..c2409b34b 100644 --- a/apps/docs/docs/widgets/network-controller-summary/index.ts +++ b/apps/docs/docs/widgets/network-controller-summary/index.ts @@ -5,5 +5,6 @@ export const networkControllerSummaryWidget: WidgetDefinition = { icon: IconTopologyFull, name: "Network Controller Summary", description: "Displays the summary of a Network Controller", + data: "Displays UniFi network controller status including WAN, internet, Wi-Fi, and VPN connectivity.", path: "../../widgets/network-controller-summary", }; diff --git a/apps/docs/docs/widgets/notebook/index.mdx b/apps/docs/docs/widgets/notebook/index.mdx index 5728e0113..9dc4dff22 100644 --- a/apps/docs/docs/widgets/notebook/index.mdx +++ b/apps/docs/docs/widgets/notebook/index.mdx @@ -6,6 +6,7 @@ hide_title: true import { AddingWidget } from '@site/src/components/widgets/adding'; import { WidgetConfig } from '@site/src/components/widgets/configuration'; +import { WidgetData } from '@site/src/components/widgets/data'; import { WidgetHeader } from '@site/src/components/widgets/header'; import { notebookWidget } from '.'; @@ -18,6 +19,10 @@ import { notebookWidget } from '.'; The notebook widget focuses on usability and is designed to be as simple as possible to bring a familiar editing experience to regular users. It is based on Tiptap.dev and supports most of its features. +### Data + + + ### Screenshots import editOff from './img/normal.png'; diff --git a/apps/docs/docs/widgets/notebook/index.ts b/apps/docs/docs/widgets/notebook/index.ts index f477281e1..f58de32d5 100644 --- a/apps/docs/docs/widgets/notebook/index.ts +++ b/apps/docs/docs/widgets/notebook/index.ts @@ -5,6 +5,7 @@ export const notebookWidget: WidgetDefinition = { icon: IconNotes, name: "Notebook", description: "A simple notebook widget that supports markdown.", + data: "Displays a rich-text editor for note-taking directly on the dashboard (content stored locally).", path: "../../widgets/notebook", configuration: { items: [ diff --git a/apps/docs/docs/widgets/notifications/index.mdx b/apps/docs/docs/widgets/notifications/index.mdx index 0a715ab3c..1f6d40e77 100644 --- a/apps/docs/docs/widgets/notifications/index.mdx +++ b/apps/docs/docs/widgets/notifications/index.mdx @@ -7,6 +7,7 @@ hide_title: true import { WidgetHeader } from '@site/src/components/widgets/header'; import { AddingWidget } from '@site/src/components/widgets/adding'; import { WidgetConfig } from '@site/src/components/widgets/configuration'; +import { WidgetData } from '@site/src/components/widgets/data'; import { WidgetIntegrations } from '@site/src/components/widgets/integrations'; import { IconAd } from "@tabler/icons-react"; import Tabs from '@theme/Tabs'; @@ -23,6 +24,10 @@ import { gotifyIntegration } from '@site/docs/integrations/gotify'; The notifications widget allows you to display notifications from various integrations in a unified view. +### Data + + + ### Screenshots import notificationsScreenshot from './img/notifications.png'; diff --git a/apps/docs/docs/widgets/notifications/index.ts b/apps/docs/docs/widgets/notifications/index.ts index e1cce49ce..193fb44ef 100644 --- a/apps/docs/docs/widgets/notifications/index.ts +++ b/apps/docs/docs/widgets/notifications/index.ts @@ -5,6 +5,7 @@ export const notificationsWidget: WidgetDefinition = { icon: IconMessage, name: "Notifications", description: "Display notification history from an integration", + data: "Displays a scrollable list of notification messages from integrations like Gotify, Sonarr, and Radarr.", path: "../../widgets/notifications", configuration: { items: [], diff --git a/apps/docs/docs/widgets/paperless-ngx/index.mdx b/apps/docs/docs/widgets/paperless-ngx/index.mdx index 3dd684efd..9839291db 100644 --- a/apps/docs/docs/widgets/paperless-ngx/index.mdx +++ b/apps/docs/docs/widgets/paperless-ngx/index.mdx @@ -7,6 +7,7 @@ hide_title: true import { WidgetHeader } from '@site/src/components/widgets/header'; import { AddingWidget } from '@site/src/components/widgets/adding'; import { WidgetConfig } from '@site/src/components/widgets/configuration'; +import { WidgetData } from '@site/src/components/widgets/data'; import { WidgetIntegrations } from '@site/src/components/widgets/integrations'; import { paperlessNgxWidget } from '.'; import { paperlessNgxIntegration } from '@site/docs/integrations/paperless-ngx'; @@ -19,6 +20,10 @@ import { paperlessNgxIntegration } from '@site/docs/integrations/paperless-ngx'; This widget displays statistics from your Paperless-ngx instance, including an inbox ratio ring showing how many documents are in your inbox versus total, along with counts for correspondents, tags, and document types. +### Data + + + ### Supported Integrations + ### Screenshots import collapsibleCard from './img/collapsible.png'; diff --git a/apps/docs/docs/widgets/releases/index.ts b/apps/docs/docs/widgets/releases/index.ts index dbe3c1271..5950d3b32 100644 --- a/apps/docs/docs/widgets/releases/index.ts +++ b/apps/docs/docs/widgets/releases/index.ts @@ -5,6 +5,7 @@ export const releasesWidget: WidgetDefinition = { icon: IconRocket, name: "Releases", description: "Displays a list of the current version of the given repositories with the given version regex.", + data: "Displays latest software releases from GitHub, GitLab, and other repositories with version info and release notes.", path: "../../widgets/releases", configuration: { items: [ diff --git a/apps/docs/docs/widgets/rss-feed/index.mdx b/apps/docs/docs/widgets/rss-feed/index.mdx index 68bbb1071..271221f59 100644 --- a/apps/docs/docs/widgets/rss-feed/index.mdx +++ b/apps/docs/docs/widgets/rss-feed/index.mdx @@ -6,6 +6,7 @@ hide_title: true import { AddingWidget } from '@site/src/components/widgets/adding'; import { WidgetConfig } from '@site/src/components/widgets/configuration'; +import { WidgetData } from '@site/src/components/widgets/data'; import { WidgetHeader } from '@site/src/components/widgets/header'; import { rssFeedWidget } from '.'; @@ -17,6 +18,10 @@ import { rssFeedWidget } from '.'; Using the RSS standard, you can integrate most News websites, applications and more on your dashboard. +### Data + + + ### Screenshots import screenshot from './img/screenshot.png'; diff --git a/apps/docs/docs/widgets/rss-feed/index.tsx b/apps/docs/docs/widgets/rss-feed/index.tsx index 3c2026337..0de10ff66 100644 --- a/apps/docs/docs/widgets/rss-feed/index.tsx +++ b/apps/docs/docs/widgets/rss-feed/index.tsx @@ -5,6 +5,7 @@ export const rssFeedWidget: WidgetDefinition = { icon: IconRss, name: "RSS Feed", description: "Monitor and display one or more generic RSS, ATOM or JSON feeds.", + data: "Displays RSS/Atom feed entries with title, description, enclosure images, and published dates.", path: "../../widgets/rss-feed", configuration: { items: [ diff --git a/apps/docs/docs/widgets/smart-home-entity-state/index.mdx b/apps/docs/docs/widgets/smart-home-entity-state/index.mdx index d101d6376..a604e5f1e 100644 --- a/apps/docs/docs/widgets/smart-home-entity-state/index.mdx +++ b/apps/docs/docs/widgets/smart-home-entity-state/index.mdx @@ -7,6 +7,7 @@ hide_title: true import { WidgetHeader } from '@site/src/components/widgets/header'; import { AddingWidget } from '@site/src/components/widgets/adding'; import { WidgetConfig } from '@site/src/components/widgets/configuration'; +import { WidgetData } from '@site/src/components/widgets/data'; import { WidgetIntegrations } from '@site/src/components/widgets/integrations'; import { IconAd } from "@tabler/icons-react"; import Tabs from '@theme/Tabs'; @@ -24,6 +25,10 @@ The entity state enables you to display the current state of an entity. This works with most entities and enables you display almost any data. It is recommended that you transform data on the integration as much as possible since Homarr's capabilities in transformation are very limited. +### Data + + + ### Screenshots import sun from './img/sun.png'; diff --git a/apps/docs/docs/widgets/smart-home-entity-state/index.ts b/apps/docs/docs/widgets/smart-home-entity-state/index.ts index 1e6f7af53..d2b691941 100644 --- a/apps/docs/docs/widgets/smart-home-entity-state/index.ts +++ b/apps/docs/docs/widgets/smart-home-entity-state/index.ts @@ -5,6 +5,7 @@ export const smartHomeEntityStateWidget: WidgetDefinition = { icon: IconBinaryTree, name: "Entity State", description: "Display the state of an entity and toggle it optionally", + data: "Displays the current state of a Home Assistant entity with optional toggle action.", path: "../../widgets/smart-home-entity-state", configuration: { items: [ diff --git a/apps/docs/docs/widgets/smart-home-execute-automation/index.mdx b/apps/docs/docs/widgets/smart-home-execute-automation/index.mdx index 522c113ca..4872097c5 100644 --- a/apps/docs/docs/widgets/smart-home-execute-automation/index.mdx +++ b/apps/docs/docs/widgets/smart-home-execute-automation/index.mdx @@ -7,6 +7,7 @@ hide_title: true import { WidgetHeader } from '@site/src/components/widgets/header'; import { AddingWidget } from '@site/src/components/widgets/adding'; import { WidgetConfig } from '@site/src/components/widgets/configuration'; +import { WidgetData } from '@site/src/components/widgets/data'; import { WidgetIntegrations } from '@site/src/components/widgets/integrations'; import { IconAd } from "@tabler/icons-react"; import Tabs from '@theme/Tabs'; @@ -22,6 +23,10 @@ import { homeAssistantIntegration } from '@site/docs/integrations/home-assistant The execute automation widget allows you to trigger an automation with one click. +### Data + + + ### Screenshots import empty from './img/empty.png'; diff --git a/apps/docs/docs/widgets/smart-home-execute-automation/index.ts b/apps/docs/docs/widgets/smart-home-execute-automation/index.ts index 92b6534aa..657c90467 100644 --- a/apps/docs/docs/widgets/smart-home-execute-automation/index.ts +++ b/apps/docs/docs/widgets/smart-home-execute-automation/index.ts @@ -5,6 +5,7 @@ export const smartHomeExecuteAutomationWidget: WidgetDefinition = { icon: IconBinaryTree, name: "Execute Automation", description: "Trigger an automation with one click", + data: "Displays a button to trigger a Home Assistant automation with success feedback.", path: "../../widgets/smart-home-execute-automation", configuration: { items: [ diff --git a/apps/docs/docs/widgets/speedtest-tracker/index.mdx b/apps/docs/docs/widgets/speedtest-tracker/index.mdx index 94be18dd7..a0f46e078 100644 --- a/apps/docs/docs/widgets/speedtest-tracker/index.mdx +++ b/apps/docs/docs/widgets/speedtest-tracker/index.mdx @@ -7,6 +7,7 @@ hide_title: true import { WidgetHeader } from '@site/src/components/widgets/header'; import { AddingWidget } from '@site/src/components/widgets/adding'; import { WidgetConfig } from '@site/src/components/widgets/configuration'; +import { WidgetData } from '@site/src/components/widgets/data'; import { WidgetIntegrations } from '@site/src/components/widgets/integrations'; import { speedtestTrackerWidget } from '.'; import { speedtestTrackerIntegration } from '@site/docs/integrations/speedtest-tracker'; @@ -19,6 +20,10 @@ import { speedtestTrackerIntegration } from '@site/docs/integrations/speedtest-t This widget displays internet speed test results from your [Speedtest Tracker](https://docs.speedtest-tracker.dev/) instance, including the latest result, historical averages, and a live chart of the last 12 hours. +### Data + + + ### Screenshots import screenshot from './img/screenshot.png'; diff --git a/apps/docs/docs/widgets/speedtest-tracker/index.ts b/apps/docs/docs/widgets/speedtest-tracker/index.ts index 7b2c46cc8..b5cf4ebff 100644 --- a/apps/docs/docs/widgets/speedtest-tracker/index.ts +++ b/apps/docs/docs/widgets/speedtest-tracker/index.ts @@ -5,6 +5,7 @@ export const speedtestTrackerWidget: WidgetDefinition = { icon: IconSpeedboat, name: "Speedtest Tracker", description: "Displays speed test results from your Speedtest Tracker instance.", + data: "Displays internet speed test results including latest values, averages, and a history chart.", path: "../../widgets/speedtest-tracker", configuration: { items: [ diff --git a/apps/docs/docs/widgets/stock-price/index.mdx b/apps/docs/docs/widgets/stock-price/index.mdx index 5d9a24c64..ac4699382 100644 --- a/apps/docs/docs/widgets/stock-price/index.mdx +++ b/apps/docs/docs/widgets/stock-price/index.mdx @@ -6,6 +6,7 @@ hide_title: true import { AddingWidget } from '@site/src/components/widgets/adding'; import { WidgetConfig } from '@site/src/components/widgets/configuration'; +import { WidgetData } from '@site/src/components/widgets/data'; import { WidgetHeader } from '@site/src/components/widgets/header'; import { stockPriceWidget } from '.'; @@ -17,6 +18,10 @@ import { stockPriceWidget } from '.'; Using the Stocks widget, you can show the current stock prices of your favorite companies on your dashboard. +### Data + + + ### Screenshots import apple from './img/apple.png'; diff --git a/apps/docs/docs/widgets/stock-price/index.tsx b/apps/docs/docs/widgets/stock-price/index.tsx index 052560da1..1cac61fe3 100644 --- a/apps/docs/docs/widgets/stock-price/index.tsx +++ b/apps/docs/docs/widgets/stock-price/index.tsx @@ -5,6 +5,7 @@ export const stockPriceWidget: WidgetDefinition = { icon: IconBuildingBank, name: "Stock Price", description: "Displays the current stock price of a company.", + data: "Displays a stock or cryptocurrency price chart with current price, change, and trend indicator.", path: "../../widgets/stock-price", configuration: { items: [ diff --git a/apps/docs/docs/widgets/system-resources/index.mdx b/apps/docs/docs/widgets/system-resources/index.mdx index 143e2a9cf..a556388d3 100644 --- a/apps/docs/docs/widgets/system-resources/index.mdx +++ b/apps/docs/docs/widgets/system-resources/index.mdx @@ -7,6 +7,7 @@ hide_title: true import { WidgetHeader } from '@site/src/components/widgets/header'; import { AddingWidget } from '@site/src/components/widgets/adding'; import { WidgetConfig } from '@site/src/components/widgets/configuration'; +import { WidgetData } from '@site/src/components/widgets/data'; import { WidgetIntegrations } from '@site/src/components/widgets/integrations'; import { systemResourcesWidget } from '.'; import { dashDotIntegration } from '@site/docs/integrations/dash-dot'; @@ -22,6 +23,10 @@ import { proxmoxIntegration } from '@site/docs/integrations/proxmox'; Displays CPU, RAM and network of your host in real time +### Data + + + ### Screenshots import network from './img/network.png'; diff --git a/apps/docs/docs/widgets/system-resources/index.ts b/apps/docs/docs/widgets/system-resources/index.ts index ce1e213b4..0f5ffdc1c 100644 --- a/apps/docs/docs/widgets/system-resources/index.ts +++ b/apps/docs/docs/widgets/system-resources/index.ts @@ -5,6 +5,7 @@ export const systemResourcesWidget: WidgetDefinition = { icon: IconGraph, name: "System Resources", description: "Displays CPU, RAM and network of your host", + data: "Displays real-time system resource usage charts for CPU, memory, GPU, and network over time.", path: "../../widgets/system-resources", configuration: { items: [ diff --git a/apps/docs/docs/widgets/timetable/index.mdx b/apps/docs/docs/widgets/timetable/index.mdx index fe9a1b11c..c5b16fefd 100644 --- a/apps/docs/docs/widgets/timetable/index.mdx +++ b/apps/docs/docs/widgets/timetable/index.mdx @@ -6,6 +6,7 @@ hide_title: true import { AddingWidget } from '@site/src/components/widgets/adding'; import { WidgetConfig } from '@site/src/components/widgets/configuration'; +import { WidgetData } from '@site/src/components/widgets/data'; import { WidgetHeader } from '@site/src/components/widgets/header'; import { WidgetIntegrations } from '@site/src/components/widgets/integrations'; import { timetableWidget } from '.'; @@ -19,6 +20,10 @@ import { searchChIntegration } from '@site/docs/integrations/search-ch'; The Timetable widget provides real-time departure times for a selected station. +### Data + + + ### Screenshots import trainDepartures from './img/train-departures.png'; diff --git a/apps/docs/docs/widgets/timetable/index.ts b/apps/docs/docs/widgets/timetable/index.ts index 6f36349ee..a2dac2c3c 100644 --- a/apps/docs/docs/widgets/timetable/index.ts +++ b/apps/docs/docs/widgets/timetable/index.ts @@ -5,6 +5,7 @@ export const timetableWidget: WidgetDefinition = { icon: IconBusStop, name: "Timetable", description: "Displays departure times for a station.", + data: "Displays Swiss public transport departure timetables with line, destination, delay, and platform info.", path: "../../widgets/timetable", configuration: { items: [ diff --git a/apps/docs/docs/widgets/tracearr/index.mdx b/apps/docs/docs/widgets/tracearr/index.mdx index a579d8af3..cd9b813c9 100644 --- a/apps/docs/docs/widgets/tracearr/index.mdx +++ b/apps/docs/docs/widgets/tracearr/index.mdx @@ -6,6 +6,7 @@ hide_title: true import { AddingWidget } from '@site/src/components/widgets/adding'; import { WidgetConfig } from '@site/src/components/widgets/configuration'; +import { WidgetData } from '@site/src/components/widgets/data'; import { WidgetHeader } from '@site/src/components/widgets/header'; import { WidgetIntegrations } from '@site/src/components/widgets/integrations'; import { tracearrWidget } from '.'; @@ -19,6 +20,10 @@ import { tracearrIntegration } from '@site/docs/integrations/tracearr'; The Tracearr widget provides a real-time monitoring dashboard for your media server activity. It displays active streams, user statistics, recent watching history, and policy violations. +### Data + + + ### Sections | Section | Description | diff --git a/apps/docs/docs/widgets/tracearr/index.ts b/apps/docs/docs/widgets/tracearr/index.ts index 3804b852e..4f1bed9b6 100644 --- a/apps/docs/docs/widgets/tracearr/index.ts +++ b/apps/docs/docs/widgets/tracearr/index.ts @@ -5,6 +5,7 @@ export const tracearrWidget: WidgetDefinition = { icon: IconActivity, name: "Tracearr", description: "Monitor media server streams, user activity, and policy violations.", + data: "Displays media server activity including active streams, users, violations, and recent session history.", path: "../../widgets/tracearr", configuration: { items: [ diff --git a/apps/docs/docs/widgets/umami/index.mdx b/apps/docs/docs/widgets/umami/index.mdx index 0d0006054..017395715 100644 --- a/apps/docs/docs/widgets/umami/index.mdx +++ b/apps/docs/docs/widgets/umami/index.mdx @@ -7,6 +7,7 @@ hide_title: true import { WidgetHeader } from '@site/src/components/widgets/header'; import { AddingWidget } from '@site/src/components/widgets/adding'; import { WidgetConfig } from '@site/src/components/widgets/configuration'; +import { WidgetData } from '@site/src/components/widgets/data'; import { WidgetIntegrations } from '@site/src/components/widgets/integrations'; import { umamiWidget } from '.'; import { umamiIntegration } from '@site/docs/integrations/umami'; @@ -18,6 +19,10 @@ import { umamiIntegration } from '@site/docs/integrations/umami'; The Umami Analytics widget displays key visitor metrics from a website tracked by your [Umami](https://umami.is) instance - pageviews, unique visitors, visits, bounce rate, avg. visit duration, and real-time active visitor count. The widget body can be switched between a visitor/event chart, a multi-event chart, and ranked top pages or referrers lists. +### Data + + + ### Supported Integrations + ### Layouts import screenshotFull from './img/screenshot.png'; diff --git a/apps/docs/docs/widgets/ups/index.ts b/apps/docs/docs/widgets/ups/index.ts index b54d68647..b927b6e37 100644 --- a/apps/docs/docs/widgets/ups/index.ts +++ b/apps/docs/docs/widgets/ups/index.ts @@ -5,6 +5,7 @@ export const upsWidget: WidgetDefinition = { icon: IconBatteryCharging, name: "UPS", description: "Monitor the status of your UPS devices through a NUT server.", + data: "Displays UPS status including battery charge, runtime, load, and input/output voltage.", path: "../../widgets/ups", configuration: { items: [ diff --git a/apps/docs/docs/widgets/uptime-kuma/index.mdx b/apps/docs/docs/widgets/uptime-kuma/index.mdx index 3a6592b2e..72c9cd018 100644 --- a/apps/docs/docs/widgets/uptime-kuma/index.mdx +++ b/apps/docs/docs/widgets/uptime-kuma/index.mdx @@ -7,6 +7,7 @@ hide_title: true import { WidgetHeader } from '@site/src/components/widgets/header'; import { AddingWidget } from '@site/src/components/widgets/adding'; import { WidgetConfig } from '@site/src/components/widgets/configuration'; +import { WidgetData } from '@site/src/components/widgets/data'; import { WidgetIntegrations } from '@site/src/components/widgets/integrations'; import { uptimeKumaWidget } from '.'; import { uptimeKumaIntegration } from '@site/docs/integrations/uptime-kuma'; @@ -19,6 +20,10 @@ import { uptimeKumaIntegration } from '@site/docs/integrations/uptime-kuma'; This widget displays uptime statistics from your Uptime Kuma status page, including a visual uptime ring, average uptime percentage, and per-status monitor counts. +### Data + + + ### Supported Integrations + ### Screenshots ![video big-buck-bunny](./img/bunny.png) diff --git a/apps/docs/docs/widgets/video/index.tsx b/apps/docs/docs/widgets/video/index.tsx index e0df87ce0..c534366eb 100644 --- a/apps/docs/docs/widgets/video/index.tsx +++ b/apps/docs/docs/widgets/video/index.tsx @@ -5,6 +5,7 @@ export const videoWidget: WidgetDefinition = { icon: IconDeviceCctv, name: "Video Stream", description: "Embed a video stream or video from a camera or a website.", + data: "Embeds a video stream or file using Video.js player with autoplay and mute options.", path: "../../widgets/stock-price", configuration: { items: [ diff --git a/apps/docs/docs/widgets/vpn/index.mdx b/apps/docs/docs/widgets/vpn/index.mdx index 0aa6a1a16..5e0e3f52c 100644 --- a/apps/docs/docs/widgets/vpn/index.mdx +++ b/apps/docs/docs/widgets/vpn/index.mdx @@ -4,6 +4,7 @@ description: 'Monitor the status of your VPN integrations.' hide_title: true --- +import { WidgetData } from '@site/src/components/widgets/data'; import { WidgetHeader } from '@site/src/components/widgets/header'; import { AddingWidget } from '@site/src/components/widgets/adding'; import { WidgetIntegrations } from '@site/src/components/widgets/integrations'; @@ -21,6 +22,10 @@ services are up, the currently exposed public IP address, and the VPN provider a When multiple VPN integrations are attached, the widget renders one card per integration so you can compare their current status at a glance. +### Data + + + ### Screenshots import singleIntegrationImage from './img/single.png'; diff --git a/apps/docs/docs/widgets/vpn/index.ts b/apps/docs/docs/widgets/vpn/index.ts index 0f1590e5b..0c7121c64 100644 --- a/apps/docs/docs/widgets/vpn/index.ts +++ b/apps/docs/docs/widgets/vpn/index.ts @@ -5,5 +5,6 @@ export const vpnWidget: WidgetDefinition = { icon: IconShieldLock, name: "VPN", description: "Monitor the connection status, public IP, and provider details of your VPN integrations.", + data: "Displays VPN connection status including interface, bytes transferred, handshake time, and endpoint info.", path: "../../widgets/vpn", }; diff --git a/apps/docs/docs/widgets/weather/index.mdx b/apps/docs/docs/widgets/weather/index.mdx index 0ff4081d7..65a1ee872 100644 --- a/apps/docs/docs/widgets/weather/index.mdx +++ b/apps/docs/docs/widgets/weather/index.mdx @@ -6,6 +6,7 @@ hide_title: true import { AddingWidget } from '@site/src/components/widgets/adding'; import { WidgetConfig } from '@site/src/components/widgets/configuration'; +import { WidgetData } from '@site/src/components/widgets/data'; import { WidgetHeader } from '@site/src/components/widgets/header'; import { weatherWidget } from '.'; @@ -17,6 +18,10 @@ import { weatherWidget } from '.'; The Weather Widget uses your location to display the current, highest and lowest temperature. +### Data + + + ### Screenshots import forecastWeather from './img/forecast.png'; diff --git a/apps/docs/docs/widgets/weather/index.tsx b/apps/docs/docs/widgets/weather/index.tsx index ff795f984..a435be42f 100644 --- a/apps/docs/docs/widgets/weather/index.tsx +++ b/apps/docs/docs/widgets/weather/index.tsx @@ -5,6 +5,7 @@ export const weatherWidget: WidgetDefinition = { icon: IconCloud, name: "Weather", description: "Displays the current weather information of a set location.", + data: "Displays current weather conditions with temperature, wind speed, humidity, and optional multi-day forecast.", path: "../../widgets/weather", configuration: { items: [ diff --git a/apps/docs/src/components/integrations/data.tsx b/apps/docs/src/components/integrations/data.tsx new file mode 100644 index 000000000..34f7ac630 --- /dev/null +++ b/apps/docs/src/components/integrations/data.tsx @@ -0,0 +1,19 @@ +import { IntegrationDefinition } from "@site/src/types"; +import { IconDatabase } from "@tabler/icons-react"; + +interface IntegrationDataProps { + integration: IntegrationDefinition; +} + +export const IntegrationData = ({ integration }: IntegrationDataProps) => { + if (!integration.data) { + return null; + } + + return ( +
+ +

{integration.data}

+
+ ); +}; diff --git a/apps/docs/src/components/widgets/data.tsx b/apps/docs/src/components/widgets/data.tsx new file mode 100644 index 000000000..a06202f32 --- /dev/null +++ b/apps/docs/src/components/widgets/data.tsx @@ -0,0 +1,19 @@ +import { WidgetDefinition } from "@site/src/types"; +import { IconDatabase } from "@tabler/icons-react"; + +interface WidgetDataProps { + widget: WidgetDefinition; +} + +export const WidgetData = ({ widget }: WidgetDataProps) => { + if (!widget.data) { + return null; + } + + return ( +
+ +

{widget.data}

+
+ ); +}; diff --git a/apps/docs/src/types.ts b/apps/docs/src/types.ts index 04b3848b9..e2dfaef00 100644 --- a/apps/docs/src/types.ts +++ b/apps/docs/src/types.ts @@ -11,6 +11,7 @@ export interface IntegrationDefinition { dark: string; }; path: string; + data?: string; } export interface WidgetConfigurationItem { @@ -36,4 +37,5 @@ export interface WidgetDefinition { description: string; path: string; configuration?: WidgetConfiguration; + data?: string; }