From bb8640b1621f6a3809465c0187f99a8bcae473ed Mon Sep 17 00:00:00 2001
From: Manuel <30572287+manuel-rw@users.noreply.github.com>
Date: Wed, 3 Jul 2024 20:06:57 +0200
Subject: [PATCH] feat: add jellyfin integration (#672)
* feat: #655 implement jellyfin media server
* fix: table overflow
* feat: pr feedback
* refactor: format
* refactor: merge existing code
* fix: code smells
* refactor: format commit
---
.vscode/settings.json | 5 +-
.../src/components/board/sections/content.tsx | 4 +-
packages/api/src/router/widgets/calendar.ts | 8 +-
packages/api/src/router/widgets/index.ts | 2 +
.../api/src/router/widgets/media-server.ts | 39 ++++++
packages/cron-jobs/src/index.ts | 2 +
.../src/jobs/integrations/media-organizer.ts | 4 +-
.../src/jobs/integrations/media-server.ts | 45 +++++++
packages/definitions/src/widget.ts | 1 +
packages/integrations/package.json | 3 +-
packages/integrations/src/base/creator.ts | 3 +
packages/integrations/src/index.ts | 4 +
.../src/interfaces/media-server/session.ts | 17 +++
.../src/jellyfin/jellyfin-integration.ts | 68 ++++++++++
packages/redis/package.json | 3 +-
packages/redis/src/index.ts | 2 +-
packages/redis/src/lib/channel.ts | 32 ++++-
packages/translation/src/lang/en.ts | 9 ++
packages/widgets/package.json | 1 +
packages/widgets/src/calendar/serverData.ts | 2 +-
packages/widgets/src/index.tsx | 2 +
.../widgets/src/media-server/component.tsx | 124 ++++++++++++++++++
packages/widgets/src/media-server/index.ts | 11 ++
.../widgets/src/media-server/serverData.ts | 21 +++
pnpm-lock.yaml | 40 ++++++
25 files changed, 435 insertions(+), 17 deletions(-)
create mode 100644 packages/api/src/router/widgets/media-server.ts
create mode 100644 packages/cron-jobs/src/jobs/integrations/media-server.ts
create mode 100644 packages/integrations/src/interfaces/media-server/session.ts
create mode 100644 packages/integrations/src/jellyfin/jellyfin-integration.ts
create mode 100644 packages/widgets/src/media-server/component.tsx
create mode 100644 packages/widgets/src/media-server/index.ts
create mode 100644 packages/widgets/src/media-server/serverData.ts
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 7aea17723..90148c6f2 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -11,10 +11,11 @@
"cSpell.words": [
"cqmin",
"homarr",
- "Sonarr",
+ "jellyfin",
"superjson",
"trpc",
- "Umami"
+ "Umami",
+ "Sonarr"
],
"i18n-ally.dirStructure": "auto",
"i18n-ally.enabledFrameworks": ["next-international"],
diff --git a/apps/nextjs/src/components/board/sections/content.tsx b/apps/nextjs/src/components/board/sections/content.tsx
index 96ceaed99..d68e35df0 100644
--- a/apps/nextjs/src/components/board/sections/content.tsx
+++ b/apps/nextjs/src/components/board/sections/content.tsx
@@ -206,8 +206,8 @@ const ItemMenu = ({
return (