diff --git a/docs/assets/banner_dark@2x.png b/docs/assets/banner_dark@2x.png
old mode 100644
new mode 100755
diff --git a/docs/assets/banner_light@2x.png b/docs/assets/banner_light@2x.png
old mode 100644
new mode 100755
diff --git a/docs/assets/custom.css b/docs/assets/custom.css
old mode 100644
new mode 100755
diff --git a/docs/assets/favicon.ico b/docs/assets/favicon.ico
old mode 100644
new mode 100755
diff --git a/docs/assets/homepage_demo.png b/docs/assets/homepage_demo.png
old mode 100644
new mode 100755
diff --git a/docs/assets/light_squircle@2x.png b/docs/assets/light_squircle@2x.png
old mode 100644
new mode 100755
diff --git a/docs/configs/bookmarks.md b/docs/configs/bookmarks.md
old mode 100644
new mode 100755
diff --git a/docs/configs/custom-css-js.md b/docs/configs/custom-css-js.md
old mode 100644
new mode 100755
diff --git a/docs/configs/docker.md b/docs/configs/docker.md
old mode 100644
new mode 100755
diff --git a/docs/configs/index.md b/docs/configs/index.md
old mode 100644
new mode 100755
diff --git a/docs/configs/kubernetes.md b/docs/configs/kubernetes.md
old mode 100644
new mode 100755
diff --git a/docs/configs/service-widgets.md b/docs/configs/service-widgets.md
old mode 100644
new mode 100755
diff --git a/docs/configs/services.md b/docs/configs/services.md
old mode 100644
new mode 100755
diff --git a/docs/configs/settings.md b/docs/configs/settings.md
old mode 100644
new mode 100755
diff --git a/docs/index.md b/docs/index.md
old mode 100644
new mode 100755
diff --git a/docs/installation/docker.md b/docs/installation/docker.md
old mode 100644
new mode 100755
diff --git a/docs/installation/index.md b/docs/installation/index.md
old mode 100644
new mode 100755
diff --git a/docs/installation/k8s.md b/docs/installation/k8s.md
old mode 100644
new mode 100755
diff --git a/docs/installation/source.md b/docs/installation/source.md
old mode 100644
new mode 100755
diff --git a/docs/installation/unraid.md b/docs/installation/unraid.md
old mode 100644
new mode 100755
diff --git a/docs/more/development.md b/docs/more/development.md
old mode 100644
new mode 100755
diff --git a/docs/more/homepage-move.md b/docs/more/homepage-move.md
old mode 100644
new mode 100755
diff --git a/docs/more/index.md b/docs/more/index.md
old mode 100644
new mode 100755
diff --git a/docs/more/translations.md b/docs/more/translations.md
old mode 100644
new mode 100755
diff --git a/docs/more/troubleshooting.md b/docs/more/troubleshooting.md
old mode 100644
new mode 100755
diff --git a/docs/scripts/extra.js b/docs/scripts/extra.js
old mode 100644
new mode 100755
diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css
old mode 100644
new mode 100755
diff --git a/docs/widgets/index.md b/docs/widgets/index.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/info/datetime.md b/docs/widgets/info/datetime.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/info/glances.md b/docs/widgets/info/glances.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/info/greeting.md b/docs/widgets/info/greeting.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/info/index.md b/docs/widgets/info/index.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/info/kubernetes.md b/docs/widgets/info/kubernetes.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/info/logo.md b/docs/widgets/info/logo.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/info/longhorn.md b/docs/widgets/info/longhorn.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/info/openmeteo.md b/docs/widgets/info/openmeteo.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/info/openweathermap.md b/docs/widgets/info/openweathermap.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/info/resources.md b/docs/widgets/info/resources.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/info/search.md b/docs/widgets/info/search.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/info/unifi_controller.md b/docs/widgets/info/unifi_controller.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/info/weather.md b/docs/widgets/info/weather.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/adguard-home.md b/docs/widgets/services/adguard-home.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/atsumeru.md b/docs/widgets/services/atsumeru.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/audiobookshelf.md b/docs/widgets/services/audiobookshelf.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/authentik.md b/docs/widgets/services/authentik.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/autobrr.md b/docs/widgets/services/autobrr.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/azuredevops.md b/docs/widgets/services/azuredevops.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/bazarr.md b/docs/widgets/services/bazarr.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/caddy.md b/docs/widgets/services/caddy.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/calendar.md b/docs/widgets/services/calendar.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/calibre-web.md b/docs/widgets/services/calibre-web.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/changedetectionio.md b/docs/widgets/services/changedetectionio.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/channelsdvrserver.md b/docs/widgets/services/channelsdvrserver.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/cloudflared.md b/docs/widgets/services/cloudflared.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/coin-market-cap.md b/docs/widgets/services/coin-market-cap.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/customapi.md b/docs/widgets/services/customapi.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/deluge.md b/docs/widgets/services/deluge.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/diskstation.md b/docs/widgets/services/diskstation.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/downloadstation.md b/docs/widgets/services/downloadstation.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/emby.md b/docs/widgets/services/emby.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/esphome.md b/docs/widgets/services/esphome.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/evcc.md b/docs/widgets/services/evcc.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/fileflows.md b/docs/widgets/services/fileflows.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/flood.md b/docs/widgets/services/flood.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/freshrss.md b/docs/widgets/services/freshrss.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/fritzbox.md b/docs/widgets/services/fritzbox.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/gamedig.md b/docs/widgets/services/gamedig.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/gatus.md b/docs/widgets/services/gatus.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/ghostfolio.md b/docs/widgets/services/ghostfolio.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/gitea.md b/docs/widgets/services/gitea.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/glances.md b/docs/widgets/services/glances.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/gluetun.md b/docs/widgets/services/gluetun.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/gotify.md b/docs/widgets/services/gotify.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/grafana.md b/docs/widgets/services/grafana.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/hdhomerun.md b/docs/widgets/services/hdhomerun.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/healthchecks.md b/docs/widgets/services/healthchecks.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/homeassistant.md b/docs/widgets/services/homeassistant.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/homebox.md b/docs/widgets/services/homebox.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/homebridge.md b/docs/widgets/services/homebridge.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/iframe.md b/docs/widgets/services/iframe.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/immich.md b/docs/widgets/services/immich.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/index.md b/docs/widgets/services/index.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/jackett.md b/docs/widgets/services/jackett.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/jdownloader.md b/docs/widgets/services/jdownloader.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/jellyfin.md b/docs/widgets/services/jellyfin.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/jellyseerr.md b/docs/widgets/services/jellyseerr.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/kavita.md b/docs/widgets/services/kavita.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/komga.md b/docs/widgets/services/komga.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/kopia.md b/docs/widgets/services/kopia.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/lidarr.md b/docs/widgets/services/lidarr.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/mastodon.md b/docs/widgets/services/mastodon.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/mealie.md b/docs/widgets/services/mealie.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/medusa.md b/docs/widgets/services/medusa.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/mikrotik.md b/docs/widgets/services/mikrotik.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/minecraft.md b/docs/widgets/services/minecraft.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/miniflux.md b/docs/widgets/services/miniflux.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/mjpeg.md b/docs/widgets/services/mjpeg.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/moonraker.md b/docs/widgets/services/moonraker.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/mylar.md b/docs/widgets/services/mylar.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/navidrome.md b/docs/widgets/services/navidrome.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/netdata.md b/docs/widgets/services/netdata.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/nextcloud.md b/docs/widgets/services/nextcloud.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/nextdns.md b/docs/widgets/services/nextdns.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/nginx-proxy-manager.md b/docs/widgets/services/nginx-proxy-manager.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/nzbget.md b/docs/widgets/services/nzbget.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/octoprint.md b/docs/widgets/services/octoprint.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/olivetin.md b/docs/widgets/services/olivetin.md
new file mode 100755
index 000000000..0486d1b9e
--- /dev/null
+++ b/docs/widgets/services/olivetin.md
@@ -0,0 +1,32 @@
+---
+title: OliveTin
+description: OliveTin Widget Configuration
+---
+
+Learn more about [OliveTin](https://www.olivetin.app/).
+
+... picture here ...
+
+OliveTin gives safe and simple access to predefined shell commands from a web interface.
+
+All actions must have a id specified that matches the one from the OliveTin configuration
+
+!!! note
+
+ Currently there is no feedback after triggering an action.
+
+```yaml
+widget:
+ type: olivetin
+ url: http://olivetin.host.or.ip:port
+ actions:
+ - id: volume_down # Action id, from OliveTin (https://docs.olivetin.app/action-ids.html)
+ label: 🔉
+ class: text-xl # Optional, default is "font-thin text-sm"
+ - id: volume_toggle
+ label: 🔇
+ class: text-xl
+ - id: volume_up
+ label: 🔊
+ class: text-xl
+```
diff --git a/docs/widgets/services/omada.md b/docs/widgets/services/omada.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/ombi.md b/docs/widgets/services/ombi.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/opendtu.md b/docs/widgets/services/opendtu.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/openmediavault.md b/docs/widgets/services/openmediavault.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/openwrt.md b/docs/widgets/services/openwrt.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/opnsense.md b/docs/widgets/services/opnsense.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/overseerr.md b/docs/widgets/services/overseerr.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/paperlessngx.md b/docs/widgets/services/paperlessngx.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/peanut.md b/docs/widgets/services/peanut.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/pfsense.md b/docs/widgets/services/pfsense.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/photoprism.md b/docs/widgets/services/photoprism.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/pialert.md b/docs/widgets/services/pialert.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/pihole.md b/docs/widgets/services/pihole.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/plantit.md b/docs/widgets/services/plantit.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/plex-tautulli.md b/docs/widgets/services/plex-tautulli.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/plex.md b/docs/widgets/services/plex.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/portainer.md b/docs/widgets/services/portainer.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/prometheus.md b/docs/widgets/services/prometheus.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/prowlarr.md b/docs/widgets/services/prowlarr.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/proxmox.md b/docs/widgets/services/proxmox.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/proxmoxbackupserver.md b/docs/widgets/services/proxmoxbackupserver.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/pterodactyl.md b/docs/widgets/services/pterodactyl.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/pyload.md b/docs/widgets/services/pyload.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/qbittorrent.md b/docs/widgets/services/qbittorrent.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/qnap.md b/docs/widgets/services/qnap.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/radarr.md b/docs/widgets/services/radarr.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/readarr.md b/docs/widgets/services/readarr.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/romm.md b/docs/widgets/services/romm.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/rutorrent.md b/docs/widgets/services/rutorrent.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/sabnzbd.md b/docs/widgets/services/sabnzbd.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/scrutiny.md b/docs/widgets/services/scrutiny.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/sonarr.md b/docs/widgets/services/sonarr.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/speedtest-tracker.md b/docs/widgets/services/speedtest-tracker.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/stash.md b/docs/widgets/services/stash.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/syncthing-relay-server.md b/docs/widgets/services/syncthing-relay-server.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/tailscale.md b/docs/widgets/services/tailscale.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/tandoor.md b/docs/widgets/services/tandoor.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/tdarr.md b/docs/widgets/services/tdarr.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/traefik.md b/docs/widgets/services/traefik.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/transmission.md b/docs/widgets/services/transmission.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/truenas.md b/docs/widgets/services/truenas.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/tubearchivist.md b/docs/widgets/services/tubearchivist.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/unifi-controller.md b/docs/widgets/services/unifi-controller.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/unmanic.md b/docs/widgets/services/unmanic.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/uptime-kuma.md b/docs/widgets/services/uptime-kuma.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/uptimerobot.md b/docs/widgets/services/uptimerobot.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/urbackup.md b/docs/widgets/services/urbackup.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/watchtower.md b/docs/widgets/services/watchtower.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/whatsupdocker.md b/docs/widgets/services/whatsupdocker.md
old mode 100644
new mode 100755
diff --git a/docs/widgets/services/xteve.md b/docs/widgets/services/xteve.md
old mode 100644
new mode 100755
diff --git a/src/components/bookmarks/group.jsx b/src/components/bookmarks/group.jsx
old mode 100644
new mode 100755
diff --git a/src/components/bookmarks/item.jsx b/src/components/bookmarks/item.jsx
old mode 100644
new mode 100755
diff --git a/src/components/bookmarks/list.jsx b/src/components/bookmarks/list.jsx
old mode 100644
new mode 100755
diff --git a/src/components/errorboundry.jsx b/src/components/errorboundry.jsx
old mode 100644
new mode 100755
diff --git a/src/components/favicon.jsx b/src/components/favicon.jsx
old mode 100644
new mode 100755
diff --git a/src/components/quicklaunch.jsx b/src/components/quicklaunch.jsx
old mode 100644
new mode 100755
diff --git a/src/components/resolvedicon.jsx b/src/components/resolvedicon.jsx
old mode 100644
new mode 100755
diff --git a/src/components/services/dropdown.jsx b/src/components/services/dropdown.jsx
old mode 100644
new mode 100755
diff --git a/src/components/services/group.jsx b/src/components/services/group.jsx
old mode 100644
new mode 100755
diff --git a/src/components/services/item.jsx b/src/components/services/item.jsx
old mode 100644
new mode 100755
diff --git a/src/components/services/kubernetes-status.jsx b/src/components/services/kubernetes-status.jsx
old mode 100644
new mode 100755
diff --git a/src/components/services/list.jsx b/src/components/services/list.jsx
old mode 100644
new mode 100755
diff --git a/src/components/services/ping.jsx b/src/components/services/ping.jsx
old mode 100644
new mode 100755
diff --git a/src/components/services/site-monitor.jsx b/src/components/services/site-monitor.jsx
old mode 100644
new mode 100755
diff --git a/src/components/services/status.jsx b/src/components/services/status.jsx
old mode 100644
new mode 100755
diff --git a/src/components/services/widget.jsx b/src/components/services/widget.jsx
old mode 100644
new mode 100755
diff --git a/src/components/services/widget/block.jsx b/src/components/services/widget/block.jsx
old mode 100644
new mode 100755
diff --git a/src/components/services/widget/button.jsx b/src/components/services/widget/button.jsx
new file mode 100755
index 000000000..5aa0c20ee
--- /dev/null
+++ b/src/components/services/widget/button.jsx
@@ -0,0 +1,16 @@
+import classNames from "classnames";
+
+export default function Button({ click, label, className = "font-thin text-sm" }) {
+ return (
+
+ );
+}
diff --git a/src/components/services/widget/container.jsx b/src/components/services/widget/container.jsx
old mode 100644
new mode 100755
diff --git a/src/components/services/widget/error.jsx b/src/components/services/widget/error.jsx
old mode 100644
new mode 100755
diff --git a/src/components/tab.jsx b/src/components/tab.jsx
old mode 100644
new mode 100755
diff --git a/src/components/toggles/color.jsx b/src/components/toggles/color.jsx
old mode 100644
new mode 100755
diff --git a/src/components/toggles/revalidate.jsx b/src/components/toggles/revalidate.jsx
old mode 100644
new mode 100755
diff --git a/src/components/toggles/theme.jsx b/src/components/toggles/theme.jsx
old mode 100644
new mode 100755
diff --git a/src/components/version.jsx b/src/components/version.jsx
old mode 100644
new mode 100755
diff --git a/src/components/widgets/datetime/datetime.jsx b/src/components/widgets/datetime/datetime.jsx
old mode 100644
new mode 100755
diff --git a/src/components/widgets/glances/glances.jsx b/src/components/widgets/glances/glances.jsx
old mode 100644
new mode 100755
diff --git a/src/components/widgets/greeting/greeting.jsx b/src/components/widgets/greeting/greeting.jsx
old mode 100644
new mode 100755
diff --git a/src/components/widgets/kubernetes/kubernetes.jsx b/src/components/widgets/kubernetes/kubernetes.jsx
old mode 100644
new mode 100755
diff --git a/src/components/widgets/kubernetes/node.jsx b/src/components/widgets/kubernetes/node.jsx
old mode 100644
new mode 100755
diff --git a/src/components/widgets/logo/logo.jsx b/src/components/widgets/logo/logo.jsx
old mode 100644
new mode 100755
diff --git a/src/components/widgets/longhorn/longhorn.jsx b/src/components/widgets/longhorn/longhorn.jsx
old mode 100644
new mode 100755
diff --git a/src/components/widgets/longhorn/node.jsx b/src/components/widgets/longhorn/node.jsx
old mode 100644
new mode 100755
diff --git a/src/components/widgets/openmeteo/openmeteo.jsx b/src/components/widgets/openmeteo/openmeteo.jsx
old mode 100644
new mode 100755
diff --git a/src/components/widgets/openweathermap/weather.jsx b/src/components/widgets/openweathermap/weather.jsx
old mode 100644
new mode 100755
diff --git a/src/components/widgets/queue/queueEntry.jsx b/src/components/widgets/queue/queueEntry.jsx
old mode 100644
new mode 100755
diff --git a/src/components/widgets/resources/cpu.jsx b/src/components/widgets/resources/cpu.jsx
old mode 100644
new mode 100755
diff --git a/src/components/widgets/resources/cputemp.jsx b/src/components/widgets/resources/cputemp.jsx
old mode 100644
new mode 100755
diff --git a/src/components/widgets/resources/disk.jsx b/src/components/widgets/resources/disk.jsx
old mode 100644
new mode 100755
diff --git a/src/components/widgets/resources/memory.jsx b/src/components/widgets/resources/memory.jsx
old mode 100644
new mode 100755
diff --git a/src/components/widgets/resources/resources.jsx b/src/components/widgets/resources/resources.jsx
old mode 100644
new mode 100755
diff --git a/src/components/widgets/resources/uptime.jsx b/src/components/widgets/resources/uptime.jsx
old mode 100644
new mode 100755
diff --git a/src/components/widgets/resources/usage-bar.jsx b/src/components/widgets/resources/usage-bar.jsx
old mode 100644
new mode 100755
diff --git a/src/components/widgets/search/search.jsx b/src/components/widgets/search/search.jsx
old mode 100644
new mode 100755
diff --git a/src/components/widgets/unifi_console/unifi_console.jsx b/src/components/widgets/unifi_console/unifi_console.jsx
old mode 100644
new mode 100755
diff --git a/src/components/widgets/weather/weather.jsx b/src/components/widgets/weather/weather.jsx
old mode 100644
new mode 100755
diff --git a/src/components/widgets/widget.jsx b/src/components/widgets/widget.jsx
old mode 100644
new mode 100755
diff --git a/src/components/widgets/widget/container.jsx b/src/components/widgets/widget/container.jsx
old mode 100644
new mode 100755
diff --git a/src/components/widgets/widget/container_button.jsx b/src/components/widgets/widget/container_button.jsx
old mode 100644
new mode 100755
diff --git a/src/components/widgets/widget/container_form.jsx b/src/components/widgets/widget/container_form.jsx
old mode 100644
new mode 100755
diff --git a/src/components/widgets/widget/container_link.jsx b/src/components/widgets/widget/container_link.jsx
old mode 100644
new mode 100755
diff --git a/src/components/widgets/widget/error.jsx b/src/components/widgets/widget/error.jsx
old mode 100644
new mode 100755
diff --git a/src/components/widgets/widget/primary_text.jsx b/src/components/widgets/widget/primary_text.jsx
old mode 100644
new mode 100755
diff --git a/src/components/widgets/widget/raw.jsx b/src/components/widgets/widget/raw.jsx
old mode 100644
new mode 100755
diff --git a/src/components/widgets/widget/resource.jsx b/src/components/widgets/widget/resource.jsx
old mode 100644
new mode 100755
diff --git a/src/components/widgets/widget/resources.jsx b/src/components/widgets/widget/resources.jsx
old mode 100644
new mode 100755
diff --git a/src/components/widgets/widget/secondary_text.jsx b/src/components/widgets/widget/secondary_text.jsx
old mode 100644
new mode 100755
diff --git a/src/components/widgets/widget/widget_icon.jsx b/src/components/widgets/widget/widget_icon.jsx
old mode 100644
new mode 100755
diff --git a/src/components/widgets/widget/widget_label.jsx b/src/components/widgets/widget/widget_label.jsx
old mode 100644
new mode 100755
diff --git a/src/pages/_app.jsx b/src/pages/_app.jsx
old mode 100644
new mode 100755
diff --git a/src/pages/_document.jsx b/src/pages/_document.jsx
old mode 100644
new mode 100755
diff --git a/src/pages/api/bookmarks.js b/src/pages/api/bookmarks.js
old mode 100644
new mode 100755
diff --git a/src/pages/api/config/[path].js b/src/pages/api/config/[path].js
old mode 100644
new mode 100755
diff --git a/src/pages/api/docker/stats/[...service].js b/src/pages/api/docker/stats/[...service].js
old mode 100644
new mode 100755
diff --git a/src/pages/api/docker/status/[...service].js b/src/pages/api/docker/status/[...service].js
old mode 100644
new mode 100755
diff --git a/src/pages/api/hash.js b/src/pages/api/hash.js
old mode 100644
new mode 100755
diff --git a/src/pages/api/healthcheck.js b/src/pages/api/healthcheck.js
old mode 100644
new mode 100755
diff --git a/src/pages/api/kubernetes/stats/[...service].js b/src/pages/api/kubernetes/stats/[...service].js
old mode 100644
new mode 100755
diff --git a/src/pages/api/kubernetes/status/[...service].js b/src/pages/api/kubernetes/status/[...service].js
old mode 100644
new mode 100755
diff --git a/src/pages/api/ping.js b/src/pages/api/ping.js
old mode 100644
new mode 100755
diff --git a/src/pages/api/releases.js b/src/pages/api/releases.js
old mode 100644
new mode 100755
diff --git a/src/pages/api/revalidate.js b/src/pages/api/revalidate.js
old mode 100644
new mode 100755
diff --git a/src/pages/api/search/searchSuggestion.js b/src/pages/api/search/searchSuggestion.js
old mode 100644
new mode 100755
diff --git a/src/pages/api/services/index.js b/src/pages/api/services/index.js
old mode 100644
new mode 100755
diff --git a/src/pages/api/services/proxy.js b/src/pages/api/services/proxy.js
old mode 100644
new mode 100755
diff --git a/src/pages/api/siteMonitor.js b/src/pages/api/siteMonitor.js
old mode 100644
new mode 100755
diff --git a/src/pages/api/theme.js b/src/pages/api/theme.js
old mode 100644
new mode 100755
diff --git a/src/pages/api/validate.js b/src/pages/api/validate.js
old mode 100644
new mode 100755
diff --git a/src/pages/api/widgets/glances.js b/src/pages/api/widgets/glances.js
old mode 100644
new mode 100755
diff --git a/src/pages/api/widgets/index.js b/src/pages/api/widgets/index.js
old mode 100644
new mode 100755
diff --git a/src/pages/api/widgets/kubernetes.js b/src/pages/api/widgets/kubernetes.js
old mode 100644
new mode 100755
diff --git a/src/pages/api/widgets/longhorn.js b/src/pages/api/widgets/longhorn.js
old mode 100644
new mode 100755
diff --git a/src/pages/api/widgets/openmeteo.js b/src/pages/api/widgets/openmeteo.js
old mode 100644
new mode 100755
diff --git a/src/pages/api/widgets/openweathermap.js b/src/pages/api/widgets/openweathermap.js
old mode 100644
new mode 100755
diff --git a/src/pages/api/widgets/resources.js b/src/pages/api/widgets/resources.js
old mode 100644
new mode 100755
diff --git a/src/pages/api/widgets/weather.js b/src/pages/api/widgets/weather.js
old mode 100644
new mode 100755
diff --git a/src/pages/browserconfig.xml.jsx b/src/pages/browserconfig.xml.jsx
old mode 100644
new mode 100755
diff --git a/src/pages/index.jsx b/src/pages/index.jsx
old mode 100644
new mode 100755
diff --git a/src/pages/site.webmanifest.jsx b/src/pages/site.webmanifest.jsx
old mode 100644
new mode 100755
diff --git a/src/skeleton/bookmarks.yaml b/src/skeleton/bookmarks.yaml
old mode 100644
new mode 100755
diff --git a/src/skeleton/custom.css b/src/skeleton/custom.css
old mode 100644
new mode 100755
diff --git a/src/skeleton/custom.js b/src/skeleton/custom.js
old mode 100644
new mode 100755
diff --git a/src/skeleton/docker.yaml b/src/skeleton/docker.yaml
old mode 100644
new mode 100755
diff --git a/src/skeleton/kubernetes.yaml b/src/skeleton/kubernetes.yaml
old mode 100644
new mode 100755
diff --git a/src/skeleton/services.yaml b/src/skeleton/services.yaml
old mode 100644
new mode 100755
diff --git a/src/skeleton/settings.yaml b/src/skeleton/settings.yaml
old mode 100644
new mode 100755
diff --git a/src/skeleton/widgets.yaml b/src/skeleton/widgets.yaml
old mode 100644
new mode 100755
diff --git a/src/styles/font/Manrope.ttf b/src/styles/font/Manrope.ttf
old mode 100644
new mode 100755
diff --git a/src/styles/font/Manrope.woff2 b/src/styles/font/Manrope.woff2
old mode 100644
new mode 100755
diff --git a/src/styles/globals.css b/src/styles/globals.css
old mode 100644
new mode 100755
diff --git a/src/styles/manrope.css b/src/styles/manrope.css
old mode 100644
new mode 100755
diff --git a/src/styles/theme.css b/src/styles/theme.css
old mode 100644
new mode 100755
diff --git a/src/utils/config/api-response.js b/src/utils/config/api-response.js
old mode 100644
new mode 100755
diff --git a/src/utils/config/config.js b/src/utils/config/config.js
old mode 100644
new mode 100755
diff --git a/src/utils/config/docker.js b/src/utils/config/docker.js
old mode 100644
new mode 100755
diff --git a/src/utils/config/kubernetes.js b/src/utils/config/kubernetes.js
old mode 100644
new mode 100755
diff --git a/src/utils/config/service-helpers.js b/src/utils/config/service-helpers.js
old mode 100644
new mode 100755
index c4ca2a65b..cc12156bd
--- a/src/utils/config/service-helpers.js
+++ b/src/utils/config/service-helpers.js
@@ -430,6 +430,10 @@ export function cleanServiceGroups(groups) {
fit,
stream,
+ // olivetin
+ actions,
+ url,
+
// openmediavault
method,
@@ -568,6 +572,10 @@ export function cleanServiceGroups(groups) {
if (type === "healthchecks") {
if (uuid !== undefined) cleanedService.widget.uuid = uuid;
}
+ if (type === "olivetin") {
+ if (url) cleanedService.widget.url = url;
+ if (actions !== undefined) cleanedService.widget.actions = actions;
+ }
}
return cleanedService;
diff --git a/src/utils/config/shvl.js b/src/utils/config/shvl.js
old mode 100644
new mode 100755
diff --git a/src/utils/config/widget-helpers.js b/src/utils/config/widget-helpers.js
old mode 100644
new mode 100755
diff --git a/src/utils/contexts/color.jsx b/src/utils/contexts/color.jsx
old mode 100644
new mode 100755
diff --git a/src/utils/contexts/settings.jsx b/src/utils/contexts/settings.jsx
old mode 100644
new mode 100755
diff --git a/src/utils/contexts/tab.jsx b/src/utils/contexts/tab.jsx
old mode 100644
new mode 100755
diff --git a/src/utils/contexts/theme.jsx b/src/utils/contexts/theme.jsx
old mode 100644
new mode 100755
diff --git a/src/utils/hooks/window-focus.js b/src/utils/hooks/window-focus.js
old mode 100644
new mode 100755
diff --git a/src/utils/kubernetes/kubernetes-utils.js b/src/utils/kubernetes/kubernetes-utils.js
old mode 100644
new mode 100755
diff --git a/src/utils/layout/columns.js b/src/utils/layout/columns.js
old mode 100644
new mode 100755
diff --git a/src/utils/logger.js b/src/utils/logger.js
old mode 100644
new mode 100755
diff --git a/src/utils/proxy/api-helpers.js b/src/utils/proxy/api-helpers.js
old mode 100644
new mode 100755
diff --git a/src/utils/proxy/cached-fetch.js b/src/utils/proxy/cached-fetch.js
old mode 100644
new mode 100755
diff --git a/src/utils/proxy/cookie-jar.js b/src/utils/proxy/cookie-jar.js
old mode 100644
new mode 100755
diff --git a/src/utils/proxy/handlers/credentialed.js b/src/utils/proxy/handlers/credentialed.js
old mode 100644
new mode 100755
diff --git a/src/utils/proxy/handlers/generic.js b/src/utils/proxy/handlers/generic.js
old mode 100644
new mode 100755
diff --git a/src/utils/proxy/handlers/jsonrpc.js b/src/utils/proxy/handlers/jsonrpc.js
old mode 100644
new mode 100755
diff --git a/src/utils/proxy/handlers/synology.js b/src/utils/proxy/handlers/synology.js
old mode 100644
new mode 100755
diff --git a/src/utils/proxy/http.js b/src/utils/proxy/http.js
old mode 100644
new mode 100755
diff --git a/src/utils/proxy/use-widget-api.js b/src/utils/proxy/use-widget-api.js
old mode 100644
new mode 100755
diff --git a/src/utils/proxy/validate-widget-data.js b/src/utils/proxy/validate-widget-data.js
old mode 100644
new mode 100755
diff --git a/src/utils/styles/themes.js b/src/utils/styles/themes.js
old mode 100644
new mode 100755
diff --git a/src/utils/weather/condition-map.js b/src/utils/weather/condition-map.js
old mode 100644
new mode 100755
diff --git a/src/utils/weather/openmeteo-condition-map.js b/src/utils/weather/openmeteo-condition-map.js
old mode 100644
new mode 100755
diff --git a/src/utils/weather/owm-condition-map.js b/src/utils/weather/owm-condition-map.js
old mode 100644
new mode 100755
diff --git a/src/widgets/adguard/component.jsx b/src/widgets/adguard/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/adguard/widget.js b/src/widgets/adguard/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/atsumeru/component.jsx b/src/widgets/atsumeru/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/atsumeru/widget.js b/src/widgets/atsumeru/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/audiobookshelf/proxy.js b/src/widgets/audiobookshelf/proxy.js
old mode 100644
new mode 100755
diff --git a/src/widgets/authentik/component.jsx b/src/widgets/authentik/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/authentik/widget.js b/src/widgets/authentik/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/autobrr/component.jsx b/src/widgets/autobrr/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/autobrr/widget.js b/src/widgets/autobrr/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/azuredevops/component.jsx b/src/widgets/azuredevops/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/azuredevops/widget.js b/src/widgets/azuredevops/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/bazarr/component.jsx b/src/widgets/bazarr/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/bazarr/widget.js b/src/widgets/bazarr/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/caddy/component.jsx b/src/widgets/caddy/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/caddy/widget.js b/src/widgets/caddy/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/calendar/agenda.jsx b/src/widgets/calendar/agenda.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/calendar/component.jsx b/src/widgets/calendar/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/calendar/event.jsx b/src/widgets/calendar/event.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/calendar/integrations/ical.jsx b/src/widgets/calendar/integrations/ical.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/calendar/integrations/lidarr.jsx b/src/widgets/calendar/integrations/lidarr.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/calendar/integrations/radarr.jsx b/src/widgets/calendar/integrations/radarr.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/calendar/integrations/readarr.jsx b/src/widgets/calendar/integrations/readarr.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/calendar/integrations/sonarr.jsx b/src/widgets/calendar/integrations/sonarr.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/calendar/monthly.jsx b/src/widgets/calendar/monthly.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/calendar/proxy.js b/src/widgets/calendar/proxy.js
old mode 100644
new mode 100755
diff --git a/src/widgets/calendar/widget.js b/src/widgets/calendar/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/calibreweb/component.jsx b/src/widgets/calibreweb/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/calibreweb/widget.js b/src/widgets/calibreweb/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/changedetectionio/component.jsx b/src/widgets/changedetectionio/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/changedetectionio/widget.js b/src/widgets/changedetectionio/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/channelsdvrserver/component.jsx b/src/widgets/channelsdvrserver/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/channelsdvrserver/widget.js b/src/widgets/channelsdvrserver/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/cloudflared/component.jsx b/src/widgets/cloudflared/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/cloudflared/widget.js b/src/widgets/cloudflared/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/coinmarketcap/component.jsx b/src/widgets/coinmarketcap/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/coinmarketcap/widget.js b/src/widgets/coinmarketcap/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/components.js b/src/widgets/components.js
old mode 100644
new mode 100755
index f3d567bb7..f89d45e3d
--- a/src/widgets/components.js
+++ b/src/widgets/components.js
@@ -68,6 +68,7 @@ const components = {
npm: dynamic(() => import("./npm/component")),
nzbget: dynamic(() => import("./nzbget/component")),
octoprint: dynamic(() => import("./octoprint/component")),
+ olivetin: dynamic(() => import("./olivetin/component")),
omada: dynamic(() => import("./omada/component")),
ombi: dynamic(() => import("./ombi/component")),
opendtu: dynamic(() => import("./opendtu/component")),
diff --git a/src/widgets/customapi/component.jsx b/src/widgets/customapi/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/customapi/widget.js b/src/widgets/customapi/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/deluge/component.jsx b/src/widgets/deluge/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/deluge/proxy.js b/src/widgets/deluge/proxy.js
old mode 100644
new mode 100755
diff --git a/src/widgets/deluge/widget.js b/src/widgets/deluge/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/diskstation/component.jsx b/src/widgets/diskstation/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/diskstation/widget.js b/src/widgets/diskstation/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/docker/component.jsx b/src/widgets/docker/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/docker/stats-helpers.js b/src/widgets/docker/stats-helpers.js
old mode 100644
new mode 100755
diff --git a/src/widgets/downloadstation/component.jsx b/src/widgets/downloadstation/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/downloadstation/widget.js b/src/widgets/downloadstation/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/emby/component.jsx b/src/widgets/emby/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/emby/widget.js b/src/widgets/emby/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/esphome/component.jsx b/src/widgets/esphome/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/esphome/widget.js b/src/widgets/esphome/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/evcc/component.jsx b/src/widgets/evcc/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/evcc/widget.js b/src/widgets/evcc/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/flood/component.jsx b/src/widgets/flood/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/flood/proxy.js b/src/widgets/flood/proxy.js
old mode 100644
new mode 100755
diff --git a/src/widgets/flood/widget.js b/src/widgets/flood/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/freshrss/component.jsx b/src/widgets/freshrss/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/freshrss/proxy.js b/src/widgets/freshrss/proxy.js
old mode 100644
new mode 100755
diff --git a/src/widgets/freshrss/widget.js b/src/widgets/freshrss/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/fritzbox/component.jsx b/src/widgets/fritzbox/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/fritzbox/proxy.js b/src/widgets/fritzbox/proxy.js
old mode 100644
new mode 100755
diff --git a/src/widgets/fritzbox/widget.js b/src/widgets/fritzbox/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/gamedig/component.jsx b/src/widgets/gamedig/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/gamedig/proxy.js b/src/widgets/gamedig/proxy.js
old mode 100644
new mode 100755
diff --git a/src/widgets/gamedig/widget.js b/src/widgets/gamedig/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/gatus/component.jsx b/src/widgets/gatus/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/gatus/widget.js b/src/widgets/gatus/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/ghostfolio/component.jsx b/src/widgets/ghostfolio/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/ghostfolio/widget.js b/src/widgets/ghostfolio/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/gitea/component.jsx b/src/widgets/gitea/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/gitea/widget.js b/src/widgets/gitea/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/glances/component.jsx b/src/widgets/glances/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/glances/components/block.jsx b/src/widgets/glances/components/block.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/glances/components/chart.jsx b/src/widgets/glances/components/chart.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/glances/components/chart_dual.jsx b/src/widgets/glances/components/chart_dual.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/glances/components/container.jsx b/src/widgets/glances/components/container.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/glances/components/custom_tooltip.jsx b/src/widgets/glances/components/custom_tooltip.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/glances/components/error.jsx b/src/widgets/glances/components/error.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/glances/metrics/cpu.jsx b/src/widgets/glances/metrics/cpu.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/glances/metrics/disk.jsx b/src/widgets/glances/metrics/disk.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/glances/metrics/fs.jsx b/src/widgets/glances/metrics/fs.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/glances/metrics/gpu.jsx b/src/widgets/glances/metrics/gpu.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/glances/metrics/info.jsx b/src/widgets/glances/metrics/info.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/glances/metrics/memory.jsx b/src/widgets/glances/metrics/memory.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/glances/metrics/net.jsx b/src/widgets/glances/metrics/net.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/glances/metrics/process.jsx b/src/widgets/glances/metrics/process.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/glances/metrics/sensor.jsx b/src/widgets/glances/metrics/sensor.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/glances/widget.js b/src/widgets/glances/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/gluetun/component.jsx b/src/widgets/gluetun/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/gluetun/widget.js b/src/widgets/gluetun/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/gotify/component.jsx b/src/widgets/gotify/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/gotify/widget.js b/src/widgets/gotify/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/hdhomerun/component.jsx b/src/widgets/hdhomerun/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/hdhomerun/widget.js b/src/widgets/hdhomerun/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/healthchecks/component.jsx b/src/widgets/healthchecks/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/healthchecks/widget.js b/src/widgets/healthchecks/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/homeassistant/component.jsx b/src/widgets/homeassistant/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/homeassistant/proxy.js b/src/widgets/homeassistant/proxy.js
old mode 100644
new mode 100755
diff --git a/src/widgets/homeassistant/widget.js b/src/widgets/homeassistant/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/homebox/component.jsx b/src/widgets/homebox/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/homebox/proxy.js b/src/widgets/homebox/proxy.js
old mode 100644
new mode 100755
diff --git a/src/widgets/homebox/widget.js b/src/widgets/homebox/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/homebridge/component.jsx b/src/widgets/homebridge/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/homebridge/proxy.js b/src/widgets/homebridge/proxy.js
old mode 100644
new mode 100755
diff --git a/src/widgets/homebridge/widget.js b/src/widgets/homebridge/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/iframe/component.jsx b/src/widgets/iframe/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/iframe/widget.js b/src/widgets/iframe/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/immich/component.jsx b/src/widgets/immich/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/immich/widget.js b/src/widgets/immich/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/jackett/component.jsx b/src/widgets/jackett/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/jackett/proxy.js b/src/widgets/jackett/proxy.js
old mode 100644
new mode 100755
diff --git a/src/widgets/jackett/widget.js b/src/widgets/jackett/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/jdownloader/component.jsx b/src/widgets/jdownloader/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/jdownloader/proxy.js b/src/widgets/jdownloader/proxy.js
old mode 100644
new mode 100755
diff --git a/src/widgets/jdownloader/tools.js b/src/widgets/jdownloader/tools.js
old mode 100644
new mode 100755
diff --git a/src/widgets/jdownloader/widget.js b/src/widgets/jdownloader/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/jellyseerr/component.jsx b/src/widgets/jellyseerr/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/jellyseerr/widget.js b/src/widgets/jellyseerr/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/kavita/component.jsx b/src/widgets/kavita/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/kavita/proxy.js b/src/widgets/kavita/proxy.js
old mode 100644
new mode 100755
diff --git a/src/widgets/kavita/widget.js b/src/widgets/kavita/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/komga/component.jsx b/src/widgets/komga/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/komga/widget.js b/src/widgets/komga/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/kubernetes/component.jsx b/src/widgets/kubernetes/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/lidarr/component.jsx b/src/widgets/lidarr/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/lidarr/widget.js b/src/widgets/lidarr/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/mastodon/component.jsx b/src/widgets/mastodon/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/mastodon/widget.js b/src/widgets/mastodon/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/mealie/component.jsx b/src/widgets/mealie/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/mealie/widget.js b/src/widgets/mealie/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/medusa/component.jsx b/src/widgets/medusa/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/medusa/widget.js b/src/widgets/medusa/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/mikrotik/component.jsx b/src/widgets/mikrotik/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/mikrotik/widget.js b/src/widgets/mikrotik/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/minecraft/component.jsx b/src/widgets/minecraft/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/minecraft/proxy.js b/src/widgets/minecraft/proxy.js
old mode 100644
new mode 100755
diff --git a/src/widgets/minecraft/widget.js b/src/widgets/minecraft/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/miniflux/component.jsx b/src/widgets/miniflux/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/miniflux/widget.js b/src/widgets/miniflux/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/mjpeg/component.jsx b/src/widgets/mjpeg/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/mjpeg/widget.js b/src/widgets/mjpeg/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/moonraker/component.jsx b/src/widgets/moonraker/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/moonraker/widget.js b/src/widgets/moonraker/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/mylar/component.jsx b/src/widgets/mylar/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/mylar/widget.js b/src/widgets/mylar/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/navidrome/component.jsx b/src/widgets/navidrome/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/navidrome/widget.js b/src/widgets/navidrome/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/netdata/component.jsx b/src/widgets/netdata/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/netdata/widget.js b/src/widgets/netdata/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/nextdns/component.jsx b/src/widgets/nextdns/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/nextdns/widget.js b/src/widgets/nextdns/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/npm/component.jsx b/src/widgets/npm/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/npm/proxy.js b/src/widgets/npm/proxy.js
old mode 100644
new mode 100755
diff --git a/src/widgets/npm/widget.js b/src/widgets/npm/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/nzbget/component.jsx b/src/widgets/nzbget/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/nzbget/widget.js b/src/widgets/nzbget/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/octoprint/component.jsx b/src/widgets/octoprint/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/octoprint/widget.js b/src/widgets/octoprint/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/olivetin/component.jsx b/src/widgets/olivetin/component.jsx
old mode 100644
new mode 100755
index aa6f31b33..3e499dc27
--- a/src/widgets/olivetin/component.jsx
+++ b/src/widgets/olivetin/component.jsx
@@ -1,60 +1,34 @@
-import { useTranslation } from "next-i18next";
-
import Container from "components/services/widget/container";
-import Block from "components/services/widget/block";
-import useWidgetAPI from "utils/proxy/use-widget-api";
+import Button from "components/services/widget/button";
export default function Component({ service }) {
const { widget } = service;
- const { t } = useTranslation();
-
- const { data: upsData, error: upsError } = useWidgetAPI(widget, "devices");
-
- if (upsError) {
- return ;
- }
-
- if (!upsData) {
- return (
-
-
-
-
-
- );
- }
-
- // backwards compatibility with peanut v1
- if ("battery.charge" in upsData) {
- upsData.battery_charge = upsData["battery.charge"];
- }
- if ("ups.load" in upsData) {
- upsData.ups_load = upsData["ups.load"];
- }
- if ("ups.status" in upsData) {
- upsData.ups_status = upsData["ups.status"];
- }
-
- let status;
- switch (upsData.ups_status) {
- case "OL":
- status = t("peanut.online");
- break;
- case "OB":
- status = t("peanut.on_battery");
- break;
- case "LB":
- status = t("peanut.low_battery");
- break;
- default:
- status = upsData.ups_status;
+ const { url, actions = [] } = widget;
+
+ function startAction(actionId) {
+ if (actionId) {
+ fetch(url.replace(/\/$/, "") + "/api/StartActionByGet/" + actionId).then((res) => {
+ if (res.ok) {
+ return res.json();
+ } else {
+ throw new Error(res.statusText);
+ }
+ });
+ }
}
return (
-
-
-
+ {actions.map((action) => (
+
);
}
diff --git a/src/widgets/olivetin/widget.js b/src/widgets/olivetin/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/omada/component.jsx b/src/widgets/omada/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/omada/proxy.js b/src/widgets/omada/proxy.js
old mode 100644
new mode 100755
diff --git a/src/widgets/omada/widget.js b/src/widgets/omada/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/ombi/component.jsx b/src/widgets/ombi/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/ombi/widget.js b/src/widgets/ombi/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/opendtu/component.jsx b/src/widgets/opendtu/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/opendtu/widget.js b/src/widgets/opendtu/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/openmediavault/component.jsx b/src/widgets/openmediavault/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/openmediavault/methods/downloader_get_downloadlist.jsx b/src/widgets/openmediavault/methods/downloader_get_downloadlist.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/openmediavault/methods/services_get_status.jsx b/src/widgets/openmediavault/methods/services_get_status.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/openmediavault/methods/smart_get_list.jsx b/src/widgets/openmediavault/methods/smart_get_list.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/openmediavault/proxy.js b/src/widgets/openmediavault/proxy.js
old mode 100644
new mode 100755
diff --git a/src/widgets/openmediavault/widget.js b/src/widgets/openmediavault/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/openwrt/component.jsx b/src/widgets/openwrt/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/openwrt/methods/interface.jsx b/src/widgets/openwrt/methods/interface.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/openwrt/methods/system.jsx b/src/widgets/openwrt/methods/system.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/openwrt/proxy.js b/src/widgets/openwrt/proxy.js
old mode 100644
new mode 100755
diff --git a/src/widgets/openwrt/widget.js b/src/widgets/openwrt/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/opnsense/component.jsx b/src/widgets/opnsense/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/opnsense/widget.js b/src/widgets/opnsense/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/overseerr/component.jsx b/src/widgets/overseerr/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/overseerr/widget.js b/src/widgets/overseerr/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/paperlessngx/component.jsx b/src/widgets/paperlessngx/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/paperlessngx/widget.js b/src/widgets/paperlessngx/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/peanut/component.jsx b/src/widgets/peanut/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/peanut/widget.js b/src/widgets/peanut/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/pfsense/component.jsx b/src/widgets/pfsense/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/pfsense/widget.js b/src/widgets/pfsense/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/photoprism/component.jsx b/src/widgets/photoprism/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/photoprism/proxy.js b/src/widgets/photoprism/proxy.js
old mode 100644
new mode 100755
diff --git a/src/widgets/photoprism/widget.js b/src/widgets/photoprism/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/pialert/component.jsx b/src/widgets/pialert/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/pialert/widget.js b/src/widgets/pialert/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/pihole/component.jsx b/src/widgets/pihole/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/pihole/widget.js b/src/widgets/pihole/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/plantit/component.jsx b/src/widgets/plantit/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/plantit/widget.js b/src/widgets/plantit/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/plex/component.jsx b/src/widgets/plex/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/plex/proxy.js b/src/widgets/plex/proxy.js
old mode 100644
new mode 100755
diff --git a/src/widgets/plex/widget.js b/src/widgets/plex/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/portainer/component.jsx b/src/widgets/portainer/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/portainer/widget.js b/src/widgets/portainer/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/prometheus/component.jsx b/src/widgets/prometheus/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/prometheus/widget.js b/src/widgets/prometheus/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/prowlarr/component.jsx b/src/widgets/prowlarr/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/prowlarr/widget.js b/src/widgets/prowlarr/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/proxmox/component.jsx b/src/widgets/proxmox/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/proxmox/widget.js b/src/widgets/proxmox/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/proxmoxbackupserver/component.jsx b/src/widgets/proxmoxbackupserver/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/proxmoxbackupserver/widget.js b/src/widgets/proxmoxbackupserver/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/pterodactyl/component.jsx b/src/widgets/pterodactyl/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/pterodactyl/widget.js b/src/widgets/pterodactyl/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/pyload/component.jsx b/src/widgets/pyload/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/pyload/proxy.js b/src/widgets/pyload/proxy.js
old mode 100644
new mode 100755
diff --git a/src/widgets/pyload/widget.js b/src/widgets/pyload/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/qbittorrent/component.jsx b/src/widgets/qbittorrent/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/qbittorrent/proxy.js b/src/widgets/qbittorrent/proxy.js
old mode 100644
new mode 100755
diff --git a/src/widgets/qbittorrent/widget.js b/src/widgets/qbittorrent/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/qnap/component.jsx b/src/widgets/qnap/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/qnap/proxy.js b/src/widgets/qnap/proxy.js
old mode 100644
new mode 100755
diff --git a/src/widgets/qnap/widget.js b/src/widgets/qnap/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/radarr/component.jsx b/src/widgets/radarr/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/radarr/widget.js b/src/widgets/radarr/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/readarr/component.jsx b/src/widgets/readarr/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/readarr/widget.js b/src/widgets/readarr/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/romm/component.jsx b/src/widgets/romm/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/romm/widget.js b/src/widgets/romm/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/rutorrent/component.jsx b/src/widgets/rutorrent/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/rutorrent/proxy.js b/src/widgets/rutorrent/proxy.js
old mode 100644
new mode 100755
diff --git a/src/widgets/rutorrent/widget.js b/src/widgets/rutorrent/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/sabnzbd/component.jsx b/src/widgets/sabnzbd/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/sabnzbd/widget.js b/src/widgets/sabnzbd/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/scrutiny/component.jsx b/src/widgets/scrutiny/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/scrutiny/widget.js b/src/widgets/scrutiny/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/sonarr/component.jsx b/src/widgets/sonarr/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/sonarr/widget.js b/src/widgets/sonarr/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/speedtest/component.jsx b/src/widgets/speedtest/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/speedtest/widget.js b/src/widgets/speedtest/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/stash/component.jsx b/src/widgets/stash/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/stash/widget.js b/src/widgets/stash/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/strelaysrv/component.jsx b/src/widgets/strelaysrv/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/strelaysrv/widget.js b/src/widgets/strelaysrv/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/tailscale/component.jsx b/src/widgets/tailscale/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/tailscale/widget.js b/src/widgets/tailscale/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/tandoor/component.jsx b/src/widgets/tandoor/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/tandoor/widget.js b/src/widgets/tandoor/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/tautulli/component.jsx b/src/widgets/tautulli/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/tautulli/widget.js b/src/widgets/tautulli/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/tdarr/component.jsx b/src/widgets/tdarr/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/tdarr/proxy.js b/src/widgets/tdarr/proxy.js
old mode 100644
new mode 100755
diff --git a/src/widgets/tdarr/widget.js b/src/widgets/tdarr/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/traefik/component.jsx b/src/widgets/traefik/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/traefik/widget.js b/src/widgets/traefik/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/transmission/component.jsx b/src/widgets/transmission/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/transmission/proxy.js b/src/widgets/transmission/proxy.js
old mode 100644
new mode 100755
diff --git a/src/widgets/transmission/widget.js b/src/widgets/transmission/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/truenas/component.jsx b/src/widgets/truenas/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/truenas/pool.jsx b/src/widgets/truenas/pool.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/truenas/widget.js b/src/widgets/truenas/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/tubearchivist/component.jsx b/src/widgets/tubearchivist/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/tubearchivist/widget.js b/src/widgets/tubearchivist/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/unifi/component.jsx b/src/widgets/unifi/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/unifi/proxy.js b/src/widgets/unifi/proxy.js
old mode 100644
new mode 100755
diff --git a/src/widgets/unifi/widget.js b/src/widgets/unifi/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/unmanic/component.jsx b/src/widgets/unmanic/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/unmanic/widget.js b/src/widgets/unmanic/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/uptimekuma/component.jsx b/src/widgets/uptimekuma/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/uptimekuma/widget.js b/src/widgets/uptimekuma/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/uptimerobot/component.jsx b/src/widgets/uptimerobot/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/uptimerobot/widget.js b/src/widgets/uptimerobot/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/urbackup/component.jsx b/src/widgets/urbackup/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/urbackup/proxy.js b/src/widgets/urbackup/proxy.js
old mode 100644
new mode 100755
diff --git a/src/widgets/urbackup/widget.js b/src/widgets/urbackup/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/watchtower/component.jsx b/src/widgets/watchtower/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/watchtower/proxy.js b/src/widgets/watchtower/proxy.js
old mode 100644
new mode 100755
diff --git a/src/widgets/watchtower/widget.js b/src/widgets/watchtower/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/whatsupdocker/component.jsx b/src/widgets/whatsupdocker/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/whatsupdocker/widget.js b/src/widgets/whatsupdocker/widget.js
old mode 100644
new mode 100755
diff --git a/src/widgets/widgets.js b/src/widgets/widgets.js
old mode 100644
new mode 100755
index a9cae230f..e2df4787d
--- a/src/widgets/widgets.js
+++ b/src/widgets/widgets.js
@@ -60,6 +60,7 @@ import nextdns from "./nextdns/widget";
import npm from "./npm/widget";
import nzbget from "./nzbget/widget";
import octoprint from "./octoprint/widget";
+import olivetin from "./olivetin/widget";
import omada from "./omada/widget";
import ombi from "./ombi/widget";
import opendtu from "./opendtu/widget";
@@ -175,6 +176,7 @@ const widgets = {
npm,
nzbget,
octoprint,
+ olivetin,
omada,
ombi,
opendtu,
diff --git a/src/widgets/xteve/component.jsx b/src/widgets/xteve/component.jsx
old mode 100644
new mode 100755
diff --git a/src/widgets/xteve/proxy.js b/src/widgets/xteve/proxy.js
old mode 100644
new mode 100755
diff --git a/src/widgets/xteve/widget.js b/src/widgets/xteve/widget.js
old mode 100644
new mode 100755