Compare commits

...
Author SHA1 Message Date
Releases Homarr 19029f40b8 chore(release): 1.13.1 [skip ci] 2025-03-28 21:58:28 +00:00
homarr-releases[bot] b6bc257726 chore(release): automatic release v1.13.1 2025-03-28 21:57:48 +00:00
Manuel fef50a53b1 revert: ssg integration create (#2736) 2025-03-28 21:56:45 +00:00
homarr-renovate[bot] 94ff401d7d fix(deps): update react monorepo to v19.1.0 (#2734)
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2025-03-28 20:20:12 +00:00
Manuel 63328d125a docs: add 1.13.0 to issue template (#2733) 2025-03-28 20:29:12 +01:00
Releases Homarr 457b970d8f chore(release): 1.13.0 [skip ci] 2025-03-28 19:15:13 +00:00
homarr-releases[bot] 8d69970562 chore(release): automatic release v1.13.0 2025-03-28 19:14:18 +00:00
ManuelandMeier Lukas 8a071f9ab6 fix: bookmarks layout (#2675)
* fix: bookmarks layout

* chore: address pull request feedback

* fix: make icon bigger when only icon exists for vertical item

---------

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-03-28 20:11:31 +01:00
homarr-crowdin[bot] 76b67ac8e1 chore(lang): updated translations from crowdin
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2025-03-28 17:22:17 +00:00
53 changed files with 8113 additions and 447 deletions

No files matched your search

+1
View File
@@ -31,6 +31,7 @@ body:
label: Version
description: What version of Homarr are you running?
options:
- 1.13.0
- 1.12.0
- 1.11.0
- 1.10.0
+56
View File
@@ -1,3 +1,59 @@
## [1.13.1](https://github.com/homarr-labs/homarr/compare/v1.13.0...v1.13.1) (2025-03-28)
### Bug Fixes
* **deps:** update react monorepo to v19.1.0 ([#2734](https://github.com/homarr-labs/homarr/issues/2734)) ([94ff401](https://github.com/homarr-labs/homarr/commit/94ff401d7dface924f48affccbc59e3a98ed8dc1))
### Reverts
* ssg integration create ([#2736](https://github.com/homarr-labs/homarr/issues/2736)) ([fef50a5](https://github.com/homarr-labs/homarr/commit/fef50a53b1fb592668dfa9aade6b110e42aec9a8))
## [1.13.0](https://github.com/homarr-labs/homarr/compare/v1.12.0...v1.13.0) (2025-03-28)
### Features
* add default search engines seeding / set homarr docs as global server search engine ([#2663](https://github.com/homarr-labs/homarr/issues/2663)) ([3e1c000](https://github.com/homarr-labs/homarr/commit/3e1c000d515c0edc6f49241fc381187e1829ca7e))
* add german swiss locale ([#2726](https://github.com/homarr-labs/homarr/issues/2726)) ([eba738e](https://github.com/homarr-labs/homarr/commit/eba738e5d6594d46b5b7d1eab875fc8060e0fe7b))
* add jetbrains run profile ([#2704](https://github.com/homarr-labs/homarr/issues/2704)) ([07f0abf](https://github.com/homarr-labs/homarr/commit/07f0abf28cb31f81860e623c70970e16d17e2836))
* add title to dynamic section ([#2614](https://github.com/homarr-labs/homarr/issues/2614)) ([1dd7b1a](https://github.com/homarr-labs/homarr/commit/1dd7b1a6b97f75bca0d1a5c0dbb4254aa4bbd418))
* app dropdown add infinity scroll ([#2696](https://github.com/homarr-labs/homarr/issues/2696)) ([8bf893b](https://github.com/homarr-labs/homarr/commit/8bf893b39292f34f5c697c09ba2c9e53c8a6ea90))
* **auth:** add env variable to force user-info usage instead of idtoken ([#2711](https://github.com/homarr-labs/homarr/issues/2711)) ([94d3dad](https://github.com/homarr-labs/homarr/commit/94d3dad909c39cec096ff61c0a2f45e8853b6111))
* auto sign-in when creating the initial user ([#2664](https://github.com/homarr-labs/homarr/issues/2664)) ([46c95e0](https://github.com/homarr-labs/homarr/commit/46c95e0da3ad27eb072efc45250abb0baf3e2483))
* implement auto-select icon ([#2679](https://github.com/homarr-labs/homarr/issues/2679)) ([1a3a559](https://github.com/homarr-labs/homarr/commit/1a3a55934d8b3e4703e0ce44d9d26ad7ff100aca))
* **lang:** add english uk language ([#2715](https://github.com/homarr-labs/homarr/issues/2715)) ([93c64ba](https://github.com/homarr-labs/homarr/commit/93c64baec294c39cd490a85f8b06b57d53fc82b3))
* **logs:** improve logs by logging errors with causes and metadata ([#2703](https://github.com/homarr-labs/homarr/issues/2703)) ([579dd57](https://github.com/homarr-labs/homarr/commit/579dd5763d139e1644c2e192620728afa54c96d2))
* set home board when creating first board ([#2683](https://github.com/homarr-labs/homarr/issues/2683)) ([8f7f211](https://github.com/homarr-labs/homarr/commit/8f7f2110ec29db12ea2d83cd779ec86851209188))
* SSG integration creation page ([#2684](https://github.com/homarr-labs/homarr/issues/2684)) ([ce0705e](https://github.com/homarr-labs/homarr/commit/ce0705e9d4a502273a0d84e4e14d61a061fd21f9))
* **widget:** add restriction callback to restrict visibility and modification of widget kinds ([#2658](https://github.com/homarr-labs/homarr/issues/2658)) ([84f73d3](https://github.com/homarr-labs/homarr/commit/84f73d33a061a1d243803078b245a8016a615af9))
### Bug Fixes
* allow deletion of external users ([#2725](https://github.com/homarr-labs/homarr/issues/2725)) ([40e0098](https://github.com/homarr-labs/homarr/commit/40e00987cb6f4ee58fdce1da9489eedd92b8843d))
* **auth:** fusion auth returns www-authenticate token response ([#2719](https://github.com/homarr-labs/homarr/issues/2719)) ([b5b0b06](https://github.com/homarr-labs/homarr/commit/b5b0b069d2029110d5618a29af5ae003030584d9))
* bookmarks layout ([#2675](https://github.com/homarr-labs/homarr/issues/2675)) ([8a071f9](https://github.com/homarr-labs/homarr/commit/8a071f9ab6bc4c85073dc52cc2e60da69f30950a))
* calendar indicators ([#2712](https://github.com/homarr-labs/homarr/issues/2712)) ([70ea093](https://github.com/homarr-labs/homarr/commit/70ea093eb6530d25d3e60e6d496651e3fc457826))
* **deps:** update dependency drizzle-kit to ^0.30.6 ([#2706](https://github.com/homarr-labs/homarr/issues/2706)) ([f03e381](https://github.com/homarr-labs/homarr/commit/f03e381aea414c5fb770c7ba092b31f9c53eee11))
* **deps:** update dependency drizzle-zod to ^0.7.1 ([#2717](https://github.com/homarr-labs/homarr/issues/2717)) ([569ec6f](https://github.com/homarr-labs/homarr/commit/569ec6fe5ccec980351162024170fabe06dcc3da))
* **deps:** update dependency ldapts to v7.3.3 ([#2691](https://github.com/homarr-labs/homarr/issues/2691)) ([00f5a87](https://github.com/homarr-labs/homarr/commit/00f5a877a6f09037eff4c9934fc273c4d2af0f6c))
* **deps:** update dependency swagger-ui-react to ^5.20.2 ([#2708](https://github.com/homarr-labs/homarr/issues/2708)) ([68407ea](https://github.com/homarr-labs/homarr/commit/68407eaa195894db37018cefeeca4ae2da085847))
* **deps:** update dependency typescript-eslint to ^8.28.0 ([#2693](https://github.com/homarr-labs/homarr/issues/2693)) ([f624611](https://github.com/homarr-labs/homarr/commit/f6246115405cdc85948059170742b0bae58ab337))
* **deps:** update dependency undici to v7.6.0 ([#2710](https://github.com/homarr-labs/homarr/issues/2710)) ([43b8cfa](https://github.com/homarr-labs/homarr/commit/43b8cfa4dd250013fdf15d509a072ba0984f9ab1))
* **deps:** update mantine monorepo to ^7.17.3 ([#2707](https://github.com/homarr-labs/homarr/issues/2707)) ([6854e47](https://github.com/homarr-labs/homarr/commit/6854e4729d3ba4a82a318813fec0a20eccdbed18))
* **deps:** update nextjs monorepo to v15.2.4 ([#2720](https://github.com/homarr-labs/homarr/issues/2720)) ([ac77bdd](https://github.com/homarr-labs/homarr/commit/ac77bdd84cba47a43d1952725a9c7feccd972766))
* **deps:** update tanstack-query monorepo to ^5.69.2 ([#2714](https://github.com/homarr-labs/homarr/issues/2714)) ([78b5520](https://github.com/homarr-labs/homarr/commit/78b55202e7f4739933768d27211556f927b04fed))
* **deps:** update tanstack-query monorepo to ^5.69.3 ([#2716](https://github.com/homarr-labs/homarr/issues/2716)) ([e7e80db](https://github.com/homarr-labs/homarr/commit/e7e80dbc7d62830ce1ce150b6e22a67220da8be8))
* **deps:** update tanstack-query monorepo to ^5.70.0 ([#2722](https://github.com/homarr-labs/homarr/issues/2722)) ([34eb9b3](https://github.com/homarr-labs/homarr/commit/34eb9b366fdc58c9fc03d18ac7dd68bff1ea83e6))
* **deps:** update testcontainers-node monorepo to ^10.22.0 ([#2692](https://github.com/homarr-labs/homarr/issues/2692)) ([b7a6d95](https://github.com/homarr-labs/homarr/commit/b7a6d950db557ea9deadc0be014b5f218611ac83))
* **deps:** update testcontainers-node monorepo to ^10.23.0 ([#2699](https://github.com/homarr-labs/homarr/issues/2699)) ([c3264b2](https://github.com/homarr-labs/homarr/commit/c3264b2fe10ad374e92eb16921d43427d7ca866b))
* **deps:** update tiptap monorepo to v2.11.6 ([#2718](https://github.com/homarr-labs/homarr/issues/2718)) ([0ed4c74](https://github.com/homarr-labs/homarr/commit/0ed4c741c59c3e498aa247adc292bdbbde1c59d3))
* **deps:** update trpc monorepo to ^11.0.1 ([#2724](https://github.com/homarr-labs/homarr/issues/2724)) ([2178185](https://github.com/homarr-labs/homarr/commit/217818573e8bd7d49a821afdf269cd8b3f3d442d))
* **import:** autofix missing shapes for sidebars and some sections as well ([#2723](https://github.com/homarr-labs/homarr/issues/2723)) ([62c7955](https://github.com/homarr-labs/homarr/commit/62c7955e48ca62b4bf1baf26ac6a12847795ac18))
* Media request via search engine ([#2677](https://github.com/homarr-labs/homarr/issues/2677)) ([5a8405a](https://github.com/homarr-labs/homarr/commit/5a8405a9a81257b023c0265309f7f530b2e23c7a))
### Reverts
* add development package and update workspace ([#2700](https://github.com/homarr-labs/homarr/issues/2700))" ([#2728](https://github.com/homarr-labs/homarr/issues/2728)) ([996ec54](https://github.com/homarr-labs/homarr/commit/996ec548c4b9c8561919409b81adc90b0a24fbd6))
## [1.12.0](https://github.com/homarr-labs/homarr/compare/v1.11.0...v1.12.0) (2025-03-21)
### Features
+2 -2
View File
@@ -77,8 +77,8 @@
"next": "15.2.4",
"postcss-preset-mantine": "^1.17.0",
"prismjs": "^1.30.0",
"react": "19.0.0",
"react-dom": "19.0.0",
"react": "19.1.0",
"react-dom": "19.1.0",
"react-error-boundary": "^5.0.0",
"react-simple-code-editor": "^0.14.1",
"sass": "^1.86.0",
@@ -39,7 +39,7 @@ export const IntegrationCreateDropdownContent = () => {
{filteredKinds.length > 0 ? (
<ScrollArea.Autosize mah={384}>
{filteredKinds.map((kind) => (
<Menu.Item component={Link} href={`/manage/integrations/new/${kind}`} key={kind}>
<Menu.Item component={Link} href={`/manage/integrations/new?kind=${kind}`} key={kind}>
<Group>
<IntegrationAvatar kind={kind} size="sm" />
<Text size="sm">{getIntegrationName(kind)}</Text>
@@ -3,55 +3,49 @@ import { Container, Group, Stack, Title } from "@mantine/core";
import { z } from "zod";
import { auth } from "@homarr/auth/next";
import type { IntegrationKind } from "@homarr/definitions";
import { getIntegrationName, integrationKinds } from "@homarr/definitions";
import { getScopedI18n } from "@homarr/translation/server";
import { IntegrationAvatar } from "@homarr/ui";
import type { validation } from "@homarr/validation";
import { DynamicBreadcrumb } from "~/components/navigation/dynamic-breadcrumb";
import { NewIntegrationForm } from "../_integration-new-form";
import { NewIntegrationForm } from "./_integration-new-form";
interface NewIntegrationByIdPageProps {
params: {
id: string;
};
searchParams: Partial<z.infer<typeof validation.integration.create>>;
interface NewIntegrationPageProps {
searchParams: Promise<
Partial<z.infer<typeof validation.integration.create>> & {
kind: IntegrationKind;
}
>;
}
export function generateStaticParams() {
return integrationKinds.map((kind) => ({
id: kind,
}));
}
export default async function IntegrationNewByIdPage(props: NewIntegrationByIdPageProps) {
const { id } = props.params;
export default async function IntegrationsNewPage(props: NewIntegrationPageProps) {
const searchParams = await props.searchParams;
const session = await auth();
if (!session?.user.permissions.includes("integration-create")) {
notFound();
}
const result = z.enum(integrationKinds).safeParse(id);
const result = z.enum(integrationKinds).safeParse(searchParams.kind);
if (!result.success) {
notFound();
}
const tCreate = await getScopedI18n("integration.page.create");
const currentKind = result.data;
const dynamicMappings = new Map<string, string>([[id, getIntegrationName(currentKind)]]);
const currentKind = result.data;
return (
<>
<DynamicBreadcrumb dynamicMappings={dynamicMappings} nonInteractable={["new"]} />
<DynamicBreadcrumb />
<Container>
<Stack>
<Group align="center">
<IntegrationAvatar kind={currentKind} size="md" />
<Title>{tCreate("title", { name: getIntegrationName(currentKind) })}</Title>
</Group>
<NewIntegrationForm searchParams={{ kind: currentKind }} />
<NewIntegrationForm searchParams={searchParams} />
</Stack>
</Container>
</>
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "homarr",
"version": "1.12.0",
"version": "1.13.1",
"private": true,
"scripts": {
"build": "cross-env CI=true turbo build",
+2 -2
View File
@@ -47,8 +47,8 @@
"lodash.clonedeep": "^4.5.0",
"next": "15.2.4",
"pretty-print-error": "^1.1.2",
"react": "19.0.0",
"react-dom": "19.0.0",
"react": "19.1.0",
"react-dom": "19.1.0",
"superjson": "2.2.2",
"trpc-to-openapi": "^2.1.3",
"zod": "^3.24.2"
+2 -2
View File
@@ -38,8 +38,8 @@
"next": "15.2.4",
"next-auth": "5.0.0-beta.25",
"pretty-print-error": "^1.1.2",
"react": "19.0.0",
"react-dom": "19.0.0",
"react": "19.1.0",
"react-dom": "19.1.0",
"zod": "^3.24.2"
},
"devDependencies": {
+2 -2
View File
@@ -25,8 +25,8 @@
"prettier": "@homarr/prettier-config",
"dependencies": {
"@homarr/api": "workspace:^0.1.0",
"react": "19.0.0",
"react-dom": "19.0.0"
"react": "19.1.0",
"react-dom": "19.1.0"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
+2 -2
View File
@@ -31,8 +31,8 @@
"@homarr/log": "workspace:^0.1.0",
"dayjs": "^1.11.13",
"next": "15.2.4",
"react": "19.0.0",
"react-dom": "19.0.0",
"react": "19.1.0",
"react-dom": "19.1.0",
"undici": "7.6.0",
"zod": "^3.24.2"
},
+1 -1
View File
@@ -30,7 +30,7 @@
"@homarr/translation": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
"@mantine/core": "^7.17.3",
"react": "19.0.0",
"react": "19.1.0",
"zod": "^3.24.2"
},
"devDependencies": {
+2 -2
View File
@@ -37,8 +37,8 @@
"@tabler/icons-react": "^3.31.0",
"dayjs": "^1.11.13",
"next": "15.2.4",
"react": "19.0.0",
"react-dom": "19.0.0",
"react": "19.1.0",
"react-dom": "19.1.0",
"zod": "^3.24.2"
},
"devDependencies": {
+1 -1
View File
@@ -26,7 +26,7 @@
"@homarr/ui": "workspace:^0.1.0",
"@mantine/core": "^7.17.3",
"@mantine/hooks": "^7.17.3",
"react": "19.0.0"
"react": "19.1.0"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
+2 -2
View File
@@ -42,8 +42,8 @@
"@mantine/hooks": "^7.17.3",
"adm-zip": "0.5.16",
"next": "15.2.4",
"react": "19.0.0",
"react-dom": "19.0.0",
"react": "19.1.0",
"react-dom": "19.1.0",
"superjson": "2.2.2",
"zod": "^3.24.2",
"zod-form-data": "^2.0.7"
+2 -2
View File
@@ -27,8 +27,8 @@
"@homarr/server-settings": "workspace:^0.1.0",
"@mantine/dates": "^7.17.3",
"next": "15.2.4",
"react": "19.0.0",
"react-dom": "19.0.0"
"react": "19.1.0",
"react-dom": "19.1.0"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
+2 -2
View File
@@ -39,8 +39,8 @@
"@tabler/icons-react": "^3.31.0",
"jotai": "^2.12.2",
"next": "15.2.4",
"react": "19.0.0",
"react-dom": "19.0.0",
"react": "19.1.0",
"react-dom": "19.1.0",
"use-deep-compare-effect": "^1.8.1"
},
"devDependencies": {
+2 -2
View File
@@ -34,8 +34,8 @@
"mantine-react-table": "2.0.0-beta.9",
"next": "15.2.4",
"next-intl": "4.0.2",
"react": "19.0.0",
"react-dom": "19.0.0"
"react": "19.1.0",
"react-dom": "19.1.0"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
+5 -1
View File
@@ -1724,7 +1724,11 @@
"noIntegration": "",
"noData": ""
},
"option": {}
"option": {},
"restricted": {
"title": "",
"description": ""
}
},
"video": {
"name": "",
+5 -1
View File
@@ -1724,7 +1724,11 @@
"noIntegration": "未选择集成",
"noData": "没有可用的集成数据"
},
"option": {}
"option": {},
"restricted": {
"title": "",
"description": ""
}
},
"video": {
"name": "视频流",
+5 -1
View File
@@ -1724,7 +1724,11 @@
"noIntegration": "Nebyla vybrána žádná integrace",
"noData": "Nejsou k dispozici žádná data o integraci"
},
"option": {}
"option": {},
"restricted": {
"title": "",
"description": ""
}
},
"video": {
"name": "Streamování videa",
+5 -1
View File
@@ -1724,7 +1724,11 @@
"noIntegration": "Ingen integration valgt",
"noData": "Ingen tilgængelige integrationsdata"
},
"option": {}
"option": {},
"restricted": {
"title": "",
"description": ""
}
},
"video": {
"name": "Video Stream",
File diff suppressed because it is too large. Load diff
+5 -1
View File
@@ -1724,7 +1724,11 @@
"noIntegration": "Keine Integration ausgewählt",
"noData": "Keine Integrationsdaten verfügbar"
},
"option": {}
"option": {},
"restricted": {
"title": "",
"description": ""
}
},
"video": {
"name": "Videostream",
+5 -1
View File
@@ -1724,7 +1724,11 @@
"noIntegration": "",
"noData": ""
},
"option": {}
"option": {},
"restricted": {
"title": "",
"description": ""
}
},
"video": {
"name": "Ροή Βίντεο",
File diff suppressed because it is too large. Load diff
+5 -1
View File
@@ -1724,7 +1724,11 @@
"noIntegration": "",
"noData": ""
},
"option": {}
"option": {},
"restricted": {
"title": "",
"description": ""
}
},
"video": {
"name": "Video en directo",
+5 -1
View File
@@ -1724,7 +1724,11 @@
"noIntegration": "",
"noData": ""
},
"option": {}
"option": {},
"restricted": {
"title": "",
"description": ""
}
},
"video": {
"name": "",
+5 -1
View File
@@ -1724,7 +1724,11 @@
"noIntegration": "Aucune intégration sélectionnée",
"noData": "Aucune donnée d’interaction disponible"
},
"option": {}
"option": {},
"restricted": {
"title": "",
"description": ""
}
},
"video": {
"name": "Flux vidéo",
+5 -1
View File
@@ -1724,7 +1724,11 @@
"noIntegration": "לא נבחרה אינטגרציה",
"noData": "אין נתוני אינטגרציה זמינים"
},
"option": {}
"option": {},
"restricted": {
"title": "",
"description": ""
}
},
"video": {
"name": "זרם וידאו",
+5 -1
View File
@@ -1724,7 +1724,11 @@
"noIntegration": "",
"noData": ""
},
"option": {}
"option": {},
"restricted": {
"title": "",
"description": ""
}
},
"video": {
"name": "",
+5 -1
View File
@@ -1724,7 +1724,11 @@
"noIntegration": "",
"noData": ""
},
"option": {}
"option": {},
"restricted": {
"title": "",
"description": ""
}
},
"video": {
"name": "Videófolyam",
+5 -1
View File
@@ -1724,7 +1724,11 @@
"noIntegration": "",
"noData": ""
},
"option": {}
"option": {},
"restricted": {
"title": "",
"description": ""
}
},
"video": {
"name": "Stream Video",
+5 -1
View File
@@ -1724,7 +1724,11 @@
"noIntegration": "",
"noData": ""
},
"option": {}
"option": {},
"restricted": {
"title": "",
"description": ""
}
},
"video": {
"name": "ビデオストリーム",
+5 -1
View File
@@ -1724,7 +1724,11 @@
"noIntegration": "",
"noData": ""
},
"option": {}
"option": {},
"restricted": {
"title": "",
"description": ""
}
},
"video": {
"name": "비디오 스트림",
+5 -1
View File
@@ -1724,7 +1724,11 @@
"noIntegration": "",
"noData": ""
},
"option": {}
"option": {},
"restricted": {
"title": "",
"description": ""
}
},
"video": {
"name": "",
+5 -1
View File
@@ -1724,7 +1724,11 @@
"noIntegration": "",
"noData": ""
},
"option": {}
"option": {},
"restricted": {
"title": "",
"description": ""
}
},
"video": {
"name": "Videostraume",
+5 -1
View File
@@ -1724,7 +1724,11 @@
"noIntegration": "Geen integratie geselecteerd",
"noData": "Geen integratiegegevens beschikbaar"
},
"option": {}
"option": {},
"restricted": {
"title": "",
"description": ""
}
},
"video": {
"name": "Video stream",
+5 -1
View File
@@ -1724,7 +1724,11 @@
"noIntegration": "Ingen integrasjon valgt",
"noData": "Ingen integrasjonsdata er tilgjengelig"
},
"option": {}
"option": {},
"restricted": {
"title": "",
"description": ""
}
},
"video": {
"name": "Videostrømming",
+5 -1
View File
@@ -1724,7 +1724,11 @@
"noIntegration": "Nie wybrano integracji",
"noData": "Brak danych dotyczących integracji"
},
"option": {}
"option": {},
"restricted": {
"title": "",
"description": ""
}
},
"video": {
"name": "Strumień wideo",
+5 -1
View File
@@ -1724,7 +1724,11 @@
"noIntegration": "",
"noData": ""
},
"option": {}
"option": {},
"restricted": {
"title": "",
"description": ""
}
},
"video": {
"name": "Transmissão de vídeo",
+5 -1
View File
@@ -1724,7 +1724,11 @@
"noIntegration": "",
"noData": ""
},
"option": {}
"option": {},
"restricted": {
"title": "",
"description": ""
}
},
"video": {
"name": "Stream video",
+5 -1
View File
@@ -1724,7 +1724,11 @@
"noIntegration": "Интеграция не выбрана",
"noData": "Данные интеграции недоступны"
},
"option": {}
"option": {},
"restricted": {
"title": "",
"description": ""
}
},
"video": {
"name": "Видеотрансляция",
+5 -1
View File
@@ -1724,7 +1724,11 @@
"noIntegration": "Nie je vybraná žiadna integrácia",
"noData": "Nie sú k dispozícii žiadne údaje o integrácii"
},
"option": {}
"option": {},
"restricted": {
"title": "",
"description": ""
}
},
"video": {
"name": "Video stream",
+5 -1
View File
@@ -1724,7 +1724,11 @@
"noIntegration": "",
"noData": ""
},
"option": {}
"option": {},
"restricted": {
"title": "",
"description": ""
}
},
"video": {
"name": "Video tok",
+5 -1
View File
@@ -1724,7 +1724,11 @@
"noIntegration": "",
"noData": ""
},
"option": {}
"option": {},
"restricted": {
"title": "",
"description": ""
}
},
"video": {
"name": "Videoström",
+5 -1
View File
@@ -1724,7 +1724,11 @@
"noIntegration": "Hiçbir entegrasyon seçilmedi",
"noData": "Entegrasyon verisi mevcut değil"
},
"option": {}
"option": {},
"restricted": {
"title": "",
"description": ""
}
},
"video": {
"name": "Video Akışı",
+5 -1
View File
@@ -1724,7 +1724,11 @@
"noIntegration": "Інтеграція не вибрана",
"noData": "Немає даних про інтеграцію"
},
"option": {}
"option": {},
"restricted": {
"title": "",
"description": ""
}
},
"video": {
"name": "Потокова трансляція відео",
+5 -1
View File
@@ -1724,7 +1724,11 @@
"noIntegration": "",
"noData": ""
},
"option": {}
"option": {},
"restricted": {
"title": "",
"description": ""
}
},
"video": {
"name": "Luồng video",
+5 -1
View File
@@ -1724,7 +1724,11 @@
"noIntegration": "未選擇集成",
"noData": "無可用的集成數據"
},
"option": {}
"option": {},
"restricted": {
"title": "",
"description": ""
}
},
"video": {
"name": "串流影音",
+2 -2
View File
@@ -35,8 +35,8 @@
"@tabler/icons-react": "^3.31.0",
"mantine-react-table": "2.0.0-beta.9",
"next": "15.2.4",
"react": "19.0.0",
"react-dom": "19.0.0"
"react": "19.1.0",
"react-dom": "19.1.0"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
+2 -2
View File
@@ -67,8 +67,8 @@
"dayjs": "^1.11.13",
"mantine-react-table": "2.0.0-beta.9",
"next": "15.2.4",
"react": "19.0.0",
"react-dom": "19.0.0",
"react": "19.1.0",
"react-dom": "19.1.0",
"recharts": "^2.15.1",
"video.js": "^8.22.0",
"zod": "^3.24.2"
+6 -6
View File
@@ -154,7 +154,7 @@ const GridLayout = ({
const board = useRequiredBoard();
return (
<Flex mih="100%" miw="100%" gap={4} wrap="wrap">
<Flex miw="100%" gap={4} wrap="wrap" style={{ flex: 1 }}>
{data.map((app) => (
<UnstyledButton
component="a"
@@ -208,7 +208,7 @@ const VerticalItem = ({
hasIconColor: boolean;
}) => {
return (
<Stack h="100%" gap="sm">
<Stack h="100%" miw={16} gap="sm" justify={"center"}>
{!hideTitle && (
<Text fw={700} ta="center" size="xs">
{app.name}
@@ -221,10 +221,10 @@ const VerticalItem = ({
alt={app.name}
className={classes.bookmarkIcon}
style={{
width: hideHostname && hideTitle ? 16 : 24,
height: hideHostname && hideTitle ? 16 : 24,
width: hideHostname && hideTitle ? "min(max(100%, 16px), 40px)" : 40,
height: hideHostname && hideTitle ? "min(max(100%, 16px), 40px)" : 40,
overflow: "auto",
flex: 1,
flex: "unset",
marginLeft: "auto",
marginRight: "auto",
}}
@@ -253,7 +253,7 @@ const HorizontalItem = ({
hasIconColor: boolean;
}) => {
return (
<Group wrap="nowrap" gap="xs" h="100%" justify="center">
<Group wrap="nowrap" gap="xs" h="100%" justify="start">
{!hideIcon && (
<MaskedOrNormalImage
imageUrl={app.iconUrl}
+342 -342
View File
File diff suppressed because it is too large. Load diff