chore(release): automatic release v1.0.0

This commit is contained in:
homarr-releases[bot]
2025-01-03 19:12:38 +00:00
committed by GitHub
52 changed files with 2772 additions and 1027 deletions

View File

@@ -6,4 +6,5 @@ README.md
.next .next
.git .git
dev dev
.build .build
e2e

View File

@@ -91,6 +91,8 @@ jobs:
network: host network: host
env: env:
SKIP_ENV_VALIDATION: true SKIP_ENV_VALIDATION: true
- name: Install playwright browsers
run: pnpm exec playwright install chromium
- name: Run E2E Tests - name: Run E2E Tests
shell: bash shell: bash
run: pnpm test:e2e run: pnpm test:e2e

2
.gitignore vendored
View File

@@ -58,6 +58,8 @@ apps/websocket/wssServer.cjs
apps/nextjs/.million/ apps/nextjs/.million/
packages/cli/cli.cjs packages/cli/cli.cjs
# e2e mounts
e2e/shared/tmp
#personal backgrounds #personal backgrounds
apps/nextjs/public/images/background.png apps/nextjs/public/images/background.png

View File

@@ -47,9 +47,9 @@
"@million/lint": "1.0.14", "@million/lint": "1.0.14",
"@t3-oss/env-nextjs": "^0.11.1", "@t3-oss/env-nextjs": "^0.11.1",
"@tabler/icons-react": "^3.26.0", "@tabler/icons-react": "^3.26.0",
"@tanstack/react-query": "^5.62.11", "@tanstack/react-query": "^5.62.12",
"@tanstack/react-query-devtools": "^5.62.11", "@tanstack/react-query-devtools": "^5.62.12",
"@tanstack/react-query-next-experimental": "5.62.11", "@tanstack/react-query-next-experimental": "5.62.12",
"@trpc/client": "next", "@trpc/client": "next",
"@trpc/next": "next", "@trpc/next": "next",
"@trpc/react-query": "next", "@trpc/react-query": "next",
@@ -82,7 +82,7 @@
"@homarr/prettier-config": "workspace:^0.1.0", "@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0",
"@types/chroma-js": "2.4.5", "@types/chroma-js": "2.4.5",
"@types/node": "^22.10.2", "@types/node": "^22.10.5",
"@types/prismjs": "^1.26.5", "@types/prismjs": "^1.26.5",
"@types/react": "^19.0.2", "@types/react": "^19.0.2",
"@types/react-dom": "^19.0.2", "@types/react-dom": "^19.0.2",

View File

@@ -57,7 +57,7 @@ export default async function InviteUsagePage({ params, searchParams }: InviteUs
{t("subtitle")} {t("subtitle")}
</Text> </Text>
</Stack> </Stack>
<Card bg="dark.8" w={64 * 6} maw="90vw"> <Card withBorder w={64 * 6} maw="90vw">
<RegistrationForm invite={invite} /> <RegistrationForm invite={invite} />
</Card> </Card>
<Text size="xs" c="gray.5" ta="center"> <Text size="xs" c="gray.5" ta="center">

View File

@@ -35,7 +35,7 @@ export default async function Login({ searchParams }: LoginProps) {
{t("subtitle")} {t("subtitle")}
</Text> </Text>
</Stack> </Stack>
<Card bg="dark.8" w={64 * 6} maw="90vw"> <Card withBorder w={64 * 6} maw="90vw">
<LoginForm <LoginForm
providers={env.AUTH_PROVIDERS} providers={env.AUTH_PROVIDERS}
oidcClientName={env.AUTH_OIDC_CLIENT_NAME} oidcClientName={env.AUTH_OIDC_CLIENT_NAME}

View File

@@ -1,12 +1,11 @@
"use client"; "use client";
import { Affix, Button, Group, Menu } from "@mantine/core"; import { Affix, Button, Menu } from "@mantine/core";
import { IconCategoryPlus, IconChevronDown, IconFileImport } from "@tabler/icons-react"; import { IconCategoryPlus, IconChevronDown, IconFileImport } from "@tabler/icons-react";
import { useModalAction } from "@homarr/modals"; import { useModalAction } from "@homarr/modals";
import { AddBoardModal, ImportBoardModal } from "@homarr/modals-collection"; import { AddBoardModal, ImportBoardModal } from "@homarr/modals-collection";
import { useI18n } from "@homarr/translation/client"; import { useI18n } from "@homarr/translation/client";
import { BetaBadge } from "@homarr/ui";
export const CreateBoardButton = () => { export const CreateBoardButton = () => {
const t = useI18n(); const t = useI18n();
@@ -26,10 +25,7 @@ export const CreateBoardButton = () => {
</Menu.Target> </Menu.Target>
<Menu.Dropdown> <Menu.Dropdown>
<Menu.Item onClick={openImportModal} leftSection={<IconFileImport size="1rem" />}> <Menu.Item onClick={openImportModal} leftSection={<IconFileImport size="1rem" />}>
<Group> {t("board.action.oldImport.label")}
{t("board.action.oldImport.label")}
<BetaBadge size="xs" />
</Group>
</Menu.Item> </Menu.Item>
</Menu.Dropdown> </Menu.Dropdown>
</Menu> </Menu>

View File

@@ -44,7 +44,7 @@
"@homarr/eslint-config": "workspace:^0.2.0", "@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0", "@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0",
"@types/node": "^22.10.2", "@types/node": "^22.10.5",
"dotenv-cli": "^8.0.0", "dotenv-cli": "^8.0.0",
"eslint": "^9.17.0", "eslint": "^9.17.0",
"prettier": "^3.4.2", "prettier": "^3.4.2",

92
e2e/lldap.spec.ts Normal file
View File

@@ -0,0 +1,92 @@
import { chromium } from "playwright";
import { GenericContainer } from "testcontainers";
import { describe, expect, test } from "vitest";
import { OnboardingActions } from "./shared/actions/onboarding-actions";
import { createHomarrContainer, withLogs } from "./shared/create-homarr-container";
import { createSqliteDbFileAsync } from "./shared/e2e-db";
const defaultCredentials = {
username: "admin",
password: "password",
email: "admin@homarr.dev",
group: "lldap_admin",
};
const ldapBase = "dc=example,dc=com";
describe("LLDAP authorization", () => {
test("Authorize with LLDAP successfully", async () => {
// Arrange
const lldapContainer = await createLldapContainer().start();
const { db, localMountPath } = await createSqliteDbFileAsync();
const homarrContainer = await createHomarrContainer({
environment: {
AUTH_PROVIDERS: "ldap",
AUTH_LDAP_URI: `ldap://host.docker.internal:${lldapContainer.getMappedPort(3890)}`,
AUTH_LDAP_BASE: ldapBase,
AUTH_LDAP_BIND_DN: `uid=${defaultCredentials.username},ou=People,${ldapBase}`,
AUTH_LDAP_BIND_PASSWORD: defaultCredentials.password,
},
mounts: {
"/appdata": localMountPath,
},
}).start();
const browser = await chromium.launch();
const context = await browser.newContext();
const page = await context.newPage();
const onboardingActions = new OnboardingActions(page, db);
await onboardingActions.skipOnboardingAsync({
group: defaultCredentials.group,
});
// Act
await page.goto(`http://${homarrContainer.getHost()}:${homarrContainer.getMappedPort(7575)}/auth/login`);
await page.getByLabel("Username").fill(defaultCredentials.username);
await page.getByLabel("Password").fill(defaultCredentials.password);
await page.locator("css=button[type='submit']").click();
// Assert
await page.waitForURL(`http://${homarrContainer.getHost()}:${homarrContainer.getMappedPort(7575)}`);
const users = await db.query.users.findMany({
with: {
groups: {
with: {
group: true,
},
},
},
});
expect(users).toHaveLength(1);
const user = users[0]!;
expect(user).toEqual(
expect.objectContaining({
name: defaultCredentials.username,
email: defaultCredentials.email,
provider: "ldap",
}),
);
const groups = user.groups.map((g) => g.group.name);
expect(groups).toContain(defaultCredentials.group);
// Cleanup
await browser.close();
await homarrContainer.stop();
await lldapContainer.stop();
}, 120_000);
});
const createLldapContainer = () => {
return withLogs(
new GenericContainer("lldap/lldap:stable").withExposedPorts(3890).withEnvironment({
LLDAP_JWT_SECRET: "REPLACE_WITH_RANDOM",
LLDAP_KEY_SEED: "REPLACE_WITH_RANDOM",
LLDAP_LDAP_BASE_DN: ldapBase,
LLDAP_LDAP_USER_PASS: defaultCredentials.password,
LLDAP_LDAP_USER_EMAIL: defaultCredentials.email,
}),
);
};

85
e2e/onboarding.spec.ts Normal file
View File

@@ -0,0 +1,85 @@
import { chromium } from "playwright";
import { describe, test } from "vitest";
import { OnboardingActions } from "./shared/actions/onboarding-actions";
import { OnboardingAssertions } from "./shared/assertions/onboarding-assertions";
import { createHomarrContainer } from "./shared/create-homarr-container";
import { createSqliteDbFileAsync } from "./shared/e2e-db";
describe("Onboarding", () => {
test("Credentials onboarding should be successful", async () => {
// Arrange
const { db, localMountPath } = await createSqliteDbFileAsync();
const homarrContainer = await createHomarrContainer({
mounts: {
"/appdata": localMountPath,
},
}).start();
const browser = await chromium.launch();
const context = await browser.newContext();
const page = await context.newPage();
const actions = new OnboardingActions(page, db);
const assertions = new OnboardingAssertions(page, db);
// Act
await page.goto(`http://${homarrContainer.getHost()}:${homarrContainer.getMappedPort(7575)}`);
await actions.startOnboardingAsync("scratch");
await actions.processUserStepAsync({
username: "admin",
password: "Comp(exP4sswOrd",
confirmPassword: "Comp(exP4sswOrd",
});
await actions.processSettingsStepAsync();
// Assert
await assertions.assertFinishStepVisibleAsync();
await assertions.assertUserAndAdminGroupInsertedAsync("admin");
await assertions.assertDbOnboardingStepAsync("finish");
// Cleanup
await browser.close();
await homarrContainer.stop();
}, 60_000);
test("External provider onboarding setup should be successful", async () => {
// Arrange
const { db, localMountPath } = await createSqliteDbFileAsync();
const homarrContainer = await createHomarrContainer({
environment: {
AUTH_PROVIDERS: "ldap",
AUTH_LDAP_URI: "ldap://host.docker.internal:3890",
AUTH_LDAP_BASE: "",
AUTH_LDAP_BIND_DN: "",
AUTH_LDAP_BIND_PASSWORD: "",
},
mounts: {
"/appdata": localMountPath,
},
}).start();
const externalGroupName = "oidc-admins";
const browser = await chromium.launch();
const context = await browser.newContext();
const page = await context.newPage();
const actions = new OnboardingActions(page, db);
const assertions = new OnboardingAssertions(page, db);
// Act
await page.goto(`http://${homarrContainer.getHost()}:${homarrContainer.getMappedPort(7575)}`);
await actions.startOnboardingAsync("scratch");
await actions.processExternalGroupStepAsync({
name: externalGroupName,
});
await actions.processSettingsStepAsync();
// Assert
await assertions.assertFinishStepVisibleAsync();
await assertions.assertExternalGroupInsertedAsync(externalGroupName);
await assertions.assertDbOnboardingStepAsync("finish");
// Cleanup
await browser.close();
await homarrContainer.stop();
}, 60_000);
});

View File

@@ -0,0 +1,53 @@
import { createId } from "@paralleldrive/cuid2";
import type { Page } from "playwright";
import * as sqliteSchema from "../../../packages/db/schema/sqlite";
import type { SqliteDatabase } from "../e2e-db";
export class OnboardingActions {
private readonly page: Page;
private readonly db: SqliteDatabase;
constructor(page: Page, db: SqliteDatabase) {
this.page = page;
this.db = db;
}
public async skipOnboardingAsync(input?: { group?: string }) {
await this.db.update(sqliteSchema.onboarding).set({
step: "finish",
});
if (input?.group) {
await this.db.insert(sqliteSchema.groups).values({
id: createId(),
name: input.group,
});
}
}
public async startOnboardingAsync(type: "scratch" | "before 1.0") {
await this.page.locator("button", { hasText: type }).click();
}
public async processUserStepAsync(input: { username: string; password: string; confirmPassword: string }) {
await this.page.waitForSelector("text=administrator user");
await this.page.getByLabel("Username").fill(input.username);
await this.page.getByLabel("Password", { exact: true }).fill(input.password);
await this.page.getByLabel("Confirm password").fill(input.confirmPassword);
await this.page.locator("css=button[type='submit']").click();
}
public async processExternalGroupStepAsync(input: { name: string }) {
await this.page.waitForSelector("text=external provider");
await this.page.locator("input").fill(input.name);
await this.page.locator("css=button[type='submit']").click();
}
public async processSettingsStepAsync() {
await this.page.waitForSelector("text=Analytics");
await this.page.locator("css=button[type='submit']").click();
}
}

View File

@@ -0,0 +1,62 @@
import { eq } from "drizzle-orm";
import type { Page } from "playwright";
import { expect } from "vitest";
import * as sqliteSchema from "../../../packages/db/schema/sqlite";
import { OnboardingStep } from "../../../packages/definitions/src";
import { credentialsAdminGroup } from "../../../packages/definitions/src/group";
import type { SqliteDatabase } from "../e2e-db";
export class OnboardingAssertions {
private readonly page: Page;
private readonly db: SqliteDatabase;
constructor(page: Page, db: SqliteDatabase) {
this.page = page;
this.db = db;
}
public async assertDbOnboardingStepAsync(expectedStep: OnboardingStep) {
const onboarding = await this.db.query.onboarding.findFirst();
expect(onboarding?.step).toEqual(expectedStep);
}
public async assertUserAndAdminGroupInsertedAsync(expectedUsername: string) {
const users = await this.db.query.users.findMany({
with: {
groups: {
with: {
group: {
with: {
permissions: true,
},
},
},
},
},
});
const user = users.find((u) => u.name === expectedUsername);
expect(user).toBeDefined();
const adminGroup = user!.groups.find((g) => g.group.name === credentialsAdminGroup);
expect(adminGroup).toBeDefined();
expect(adminGroup!.group.permissions).toEqual([expect.objectContaining({ permission: "admin" })]);
}
public async assertExternalGroupInsertedAsync(expectedGroupName: string) {
const group = await this.db.query.groups.findFirst({
where: eq(sqliteSchema.groups.name, expectedGroupName),
with: {
permissions: true,
},
});
expect(group).toBeDefined();
expect(group!.permissions).toEqual([expect.objectContaining({ permission: "admin" })]);
}
public async assertFinishStepVisibleAsync() {
await this.page.waitForSelector("text=completed the setup", { timeout: 5000 });
}
}

View File

@@ -1,18 +1,43 @@
import { GenericContainer, Wait } from "testcontainers"; import { GenericContainer, Wait } from "testcontainers";
import { Environment } from "testcontainers/build/types";
export const createHomarrContainer = () => { export const createHomarrContainer = (
options: {
environment?: Environment;
mounts?: {
"/appdata"?: string;
"/var/run/docker.sock"?: string;
};
} = {},
) => {
if (!process.env.CI) { if (!process.env.CI) {
throw new Error("This test should only be run in CI or with a homarr image named 'homarr-e2e'"); throw new Error("This test should only be run in CI or with a homarr image named 'homarr-e2e'");
} }
return withLogs( const container = new GenericContainer("homarr-e2e")
new GenericContainer("homarr-e2e") .withExposedPorts(7575)
.withExposedPorts(7575) .withEnvironment({
.withEnvironment({ ...options.environment,
SECRET_ENCRYPTION_KEY: "0".repeat(64), SECRET_ENCRYPTION_KEY: "0".repeat(64),
}) })
.withWaitStrategy(Wait.forHttp("/api/health/ready", 7575)), .withBindMounts(
); Object.entries(options.mounts ?? {})
.filter((item) => item?.[0] !== undefined)
.map(([container, local]) => ({
source: local,
target: container,
})),
)
.withWaitStrategy(Wait.forHttp("/api/health/ready", 7575))
.withExtraHosts([
{
// This enabled the usage of host.docker.internal as hostname in the container
host: "host.docker.internal",
ipAddress: "host-gateway",
},
]);
return withLogs(container);
}; };
export const withLogs = (container: GenericContainer) => { export const withLogs = (container: GenericContainer) => {

32
e2e/shared/e2e-db.ts Normal file
View File

@@ -0,0 +1,32 @@
import { mkdir } from "fs/promises";
import path from "path";
import { createId } from "@paralleldrive/cuid2";
import Database from "better-sqlite3";
import { BetterSQLite3Database, drizzle } from "drizzle-orm/better-sqlite3";
import { migrate } from "drizzle-orm/better-sqlite3/migrator";
import * as sqliteSchema from "../../packages/db/schema/sqlite";
export const createSqliteDbFileAsync = async () => {
const localMountPath = path.join(__dirname, "tmp", createId());
await mkdir(path.join(localMountPath, "db"), { recursive: true });
const localDbUrl = path.join(localMountPath, "db", "db.sqlite");
const connection = new Database(localDbUrl);
const db = drizzle(connection, {
schema: sqliteSchema,
casing: "snake_case",
});
await migrate(db, {
migrationsFolder: path.join(__dirname, "..", "..", "packages", "db", "migrations", "sqlite"),
});
return {
db,
localMountPath,
};
};
export type SqliteDatabase = BetterSQLite3Database<typeof sqliteSchema>;

View File

@@ -32,11 +32,11 @@
"devDependencies": { "devDependencies": {
"@homarr/prettier-config": "workspace:^0.1.0", "@homarr/prettier-config": "workspace:^0.1.0",
"@semantic-release/changelog": "^6.0.3", "@semantic-release/changelog": "^6.0.3",
"@semantic-release/commit-analyzer": "^13.0.0", "@semantic-release/commit-analyzer": "^13.0.1",
"@semantic-release/git": "^10.0.1", "@semantic-release/git": "^10.0.1",
"@semantic-release/github": "^11.0.1", "@semantic-release/github": "^11.0.1",
"@semantic-release/npm": "^12.0.1", "@semantic-release/npm": "^12.0.1",
"@semantic-release/release-notes-generator": "^14.0.2", "@semantic-release/release-notes-generator": "^14.0.3",
"@turbo/gen": "^2.3.3", "@turbo/gen": "^2.3.3",
"@vitejs/plugin-react": "^4.3.4", "@vitejs/plugin-react": "^4.3.4",
"@vitest/coverage-v8": "^2.1.8", "@vitest/coverage-v8": "^2.1.8",
@@ -45,7 +45,7 @@
"cross-env": "^7.0.3", "cross-env": "^7.0.3",
"jsdom": "^25.0.1", "jsdom": "^25.0.1",
"prettier": "^3.4.2", "prettier": "^3.4.2",
"semantic-release": "^24.2.0", "semantic-release": "^24.2.1",
"testcontainers": "^10.16.0", "testcontainers": "^10.16.0",
"turbo": "^2.3.3", "turbo": "^2.3.3",
"typescript": "^5.7.2", "typescript": "^5.7.2",

View File

@@ -51,7 +51,7 @@
"@homarr/eslint-config": "workspace:^0.2.0", "@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0", "@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0",
"@types/dockerode": "^3.3.32", "@types/dockerode": "^3.3.33",
"eslint": "^9.17.0", "eslint": "^9.17.0",
"prettier": "^3.4.2", "prettier": "^3.4.2",
"typescript": "^5.7.2" "typescript": "^5.7.2"

View File

@@ -1,4 +1,4 @@
import { count, like } from "@homarr/db"; import { and, count, like } from "@homarr/db";
import { icons } from "@homarr/db/schema"; import { icons } from "@homarr/db/schema";
import { validation } from "@homarr/validation"; import { validation } from "@homarr/validation";
@@ -15,7 +15,11 @@ export const iconsRouter = createTRPCRouter({
name: true, name: true,
url: true, url: true,
}, },
where: (input.searchText?.length ?? 0) > 0 ? like(icons.name, `%${input.searchText}%`) : undefined, where:
(input.searchText?.length ?? 0) > 0
? // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
and(...input.searchText!.split(" ").map((keyword) => like(icons.name, `%${keyword}%`)))
: undefined,
limit: input.limitPerGroup, limit: input.limitPerGroup,
}, },
}, },

View File

@@ -9,6 +9,7 @@ export type HomarrDocumentationPath =
| "/blog/2023/12/22/updated-documentation" | "/blog/2023/12/22/updated-documentation"
| "/blog/2024/09/23/version-1.0" | "/blog/2024/09/23/version-1.0"
| "/blog/2024/12/17/open-beta-1.0" | "/blog/2024/12/17/open-beta-1.0"
| "/blog/2024/12/31/migrate-secret-enryption-key"
| "/blog/archive" | "/blog/archive"
| "/blog/authors" | "/blog/authors"
| "/blog/authors/ajnart" | "/blog/authors/ajnart"
@@ -100,11 +101,13 @@ export type HomarrDocumentationPath =
| "/docs/tags/open-media-vault" | "/docs/tags/open-media-vault"
| "/docs/tags/overseerr" | "/docs/tags/overseerr"
| "/docs/tags/permissions" | "/docs/tags/permissions"
| "/docs/tags/pgid"
| "/docs/tags/pi-hole" | "/docs/tags/pi-hole"
| "/docs/tags/ping" | "/docs/tags/ping"
| "/docs/tags/programming" | "/docs/tags/programming"
| "/docs/tags/proxmox" | "/docs/tags/proxmox"
| "/docs/tags/proxy" | "/docs/tags/proxy"
| "/docs/tags/puid"
| "/docs/tags/roles" | "/docs/tags/roles"
| "/docs/tags/rss" | "/docs/tags/rss"
| "/docs/tags/search" | "/docs/tags/search"
@@ -135,6 +138,7 @@ export type HomarrDocumentationPath =
| "/docs/advanced/icons" | "/docs/advanced/icons"
| "/docs/advanced/keyboard-shortcuts" | "/docs/advanced/keyboard-shortcuts"
| "/docs/advanced/proxy" | "/docs/advanced/proxy"
| "/docs/advanced/running-as-different-user"
| "/docs/advanced/single-sign-on" | "/docs/advanced/single-sign-on"
| "/docs/category/advanced" | "/docs/category/advanced"
| "/docs/category/community" | "/docs/category/community"

View File

@@ -45,7 +45,7 @@ export class ProwlarrIntegration extends Integration {
); );
} }
const inactiveIndexerIds = new Set(statusResult.data.map((status: { id: number }) => status.id)); const inactiveIndexerIds = new Set(statusResult.data.map((status: { indexerId: number }) => status.indexerId));
const indexers: Indexer[] = indexersResult.data.map((indexer) => ({ const indexers: Indexer[] = indexersResult.data.map((indexer) => ({
id: indexer.id, id: indexer.id,

View File

@@ -9,6 +9,6 @@ export const indexerResponseSchema = z.object({
export const statusResponseSchema = z.array( export const statusResponseSchema = z.array(
z.object({ z.object({
id: z.number(), indexerId: z.number(),
}), }),
); );

View File

@@ -44,7 +44,7 @@
"react": "^19.0.0", "react": "^19.0.0",
"superjson": "2.2.2", "superjson": "2.2.2",
"zod": "^3.24.1", "zod": "^3.24.1",
"zod-form-data": "^2.0.4" "zod-form-data": "^2.0.5"
}, },
"devDependencies": { "devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0", "@homarr/eslint-config": "workspace:^0.2.0",

File diff suppressed because it is too large Load Diff

View File

@@ -172,7 +172,7 @@
}, },
"forgotPassword": { "forgotPassword": {
"label": "Zapomněli jste Vaše heslo?", "label": "Zapomněli jste Vaše heslo?",
"description": "" "description": "Administrátor může použít následující příkaz k obnovení Vašeho hesla:"
} }
}, },
"register": { "register": {
@@ -216,33 +216,33 @@
"message": "První den v týdnu byl úspěšně změněn" "message": "První den v týdnu byl úspěšně změněn"
}, },
"error": { "error": {
"message": "" "message": "Nelze změnit první den v týdnu"
} }
} }
}, },
"changePingIconsEnabled": { "changePingIconsEnabled": {
"notification": { "notification": {
"success": { "success": {
"message": "" "message": "Ikony pingu byly úspěšně přepnuty"
}, },
"error": { "error": {
"message": "" "message": "Nelze přepnout ikony pingu"
} }
} }
}, },
"manageAvatar": { "manageAvatar": {
"changeImage": { "changeImage": {
"label": "", "label": "Změnit obrázek",
"notification": { "notification": {
"success": { "success": {
"message": "" "message": "Obrázek byl úspěšně změněn"
}, },
"error": { "error": {
"message": "" "message": "Nepodařilo se změnit obrázek"
}, },
"toLarge": { "toLarge": {
"title": "", "title": "Obrázek je příliš velký",
"message": "" "message": "Maximální velikost obrázku je {size}"
} }
} }
}, },
@@ -338,8 +338,8 @@
"description": "Umožňuje členům upravovat všechny plochy (nezahrnuje kontrolu přístupu a nebezpečnou zónu)" "description": "Umožňuje členům upravovat všechny plochy (nezahrnuje kontrolu přístupu a nebezpečnou zónu)"
}, },
"full-all": { "full-all": {
"label": "", "label": "Úplný přístup k plochám",
"description": "" "description": "Umožňuje členům zobrazit, upravit a odstranit všechny plochy (včetně kontroly přístupu a nebezpečné zóny)"
} }
} }
}, },
@@ -377,7 +377,7 @@
}, },
"full-all": { "full-all": {
"label": "Úplný přístup k médiím", "label": "Úplný přístup k médiím",
"description": "" "description": "Umožňuje členům spravovat a mazat všechny mediální soubory"
} }
} }
}, },
@@ -423,20 +423,20 @@
"message": "Skupina byla úspěšně vytvořena" "message": "Skupina byla úspěšně vytvořena"
}, },
"error": { "error": {
"message": "" "message": "Skupinu se nepodařilo vytvořit"
} }
} }
}, },
"transfer": { "transfer": {
"label": "", "label": "",
"description": "", "description": "",
"confirm": "", "confirm": "Jste si jisti, že chcete převést vlastnictví skupiny {name} na {username}?",
"notification": { "notification": {
"success": { "success": {
"message": "" "message": ""
}, },
"error": { "error": {
"message": "" "message": "Nelze převést vlastnictví"
} }
} }
}, },
@@ -445,18 +445,18 @@
}, },
"removeMember": { "removeMember": {
"label": "", "label": "",
"confirm": "" "confirm": "Jste si jisti, že chcete odstranit {user} z této skupiny?"
}, },
"delete": { "delete": {
"label": "", "label": "",
"description": "", "description": "",
"confirm": "", "confirm": "Jste si jisti, že chcete odstranit skupinu {name}?",
"notification": { "notification": {
"success": { "success": {
"message": "" "message": ""
}, },
"error": { "error": {
"message": "" "message": "Nelze odstranit skupinu {name}"
} }
} }
}, },
@@ -478,7 +478,7 @@
"message": "" "message": ""
}, },
"error": { "error": {
"message": "" "message": "Nelze uložit skupinu {name}"
} }
} }
}, },
@@ -612,6 +612,10 @@
}, },
"url": { "url": {
"label": "Url" "label": "Url"
},
"attemptSearchEngineCreation": {
"label": "",
"description": ""
} }
}, },
"action": { "action": {
@@ -674,7 +678,7 @@
}, },
"domainNotFound": { "domainNotFound": {
"title": "", "title": "",
"message": "" "message": "Doména nebyla nalezena"
}, },
"connectionRefused": { "connectionRefused": {
"title": "", "title": "",
@@ -691,29 +695,29 @@
} }
}, },
"secrets": { "secrets": {
"title": "", "title": "Tajné klíče",
"lastUpdated": "", "lastUpdated": "Naposledy aktualizováno {date}",
"notSet": { "notSet": {
"label": "", "label": "Žádná hodnota není nenastavena",
"tooltip": "" "tooltip": "Tento požadovaný tajný klíč ještě nebyl nastaven"
}, },
"secureNotice": "", "secureNotice": "Tento tajný klíč nelze získat po vytvoření",
"reset": { "reset": {
"title": "", "title": "Resetovat tajný klíč",
"message": "" "message": "Jste si jisti, že chcete resetovat tento tajný klíč?"
}, },
"noSecretsRequired": { "noSecretsRequired": {
"segmentTitle": "", "segmentTitle": "Žádné tajné klíče",
"text": "" "text": "Pro tuto integraci nejsou vyžadovány žádné tajné klíče"
}, },
"kind": { "kind": {
"username": { "username": {
"label": "Uživatelské jméno", "label": "Uživatelské jméno",
"newLabel": "" "newLabel": "Nové uživatelské jméno"
}, },
"apiKey": { "apiKey": {
"label": "", "label": "API klíč",
"newLabel": "" "newLabel": "Nový API klíč"
}, },
"password": { "password": {
"label": "Heslo", "label": "Heslo",
@@ -728,8 +732,8 @@
} }
}, },
"media": { "media": {
"plural": "", "plural": "Média",
"search": "", "search": "Najít mediální soubor",
"field": { "field": {
"name": "Název", "name": "Název",
"size": "Velikost", "size": "Velikost",
@@ -737,31 +741,31 @@
}, },
"action": { "action": {
"upload": { "upload": {
"label": "", "label": "Nahrát mediální soubor",
"file": "", "file": "Vybrat soubor",
"notification": { "notification": {
"success": { "success": {
"message": "" "message": "Mediální soubor byl úspěšně nahrán"
}, },
"error": { "error": {
"message": "" "message": "Nepodařilo se nahrát mediální soubor"
} }
} }
}, },
"delete": { "delete": {
"label": "", "label": "Vymazat mediální soubor",
"description": "", "description": "Jste si jisti, že chcete vymazat mediální soubor <bName></bName>?",
"notification": { "notification": {
"success": { "success": {
"message": "" "message": "Mediální soubor byl úspěšně odstraněn"
}, },
"error": { "error": {
"message": "" "message": "Nepodařilo se vymazat mediální soubor"
} }
} }
}, },
"copy": { "copy": {
"label": "" "label": "Zkopírovat URL"
} }
} }
}, },
@@ -897,7 +901,7 @@
}, },
"remove": { "remove": {
"title": "Odstranit dynamickou sekci", "title": "Odstranit dynamickou sekci",
"message": "" "message": "Jste si jisti, že chcete odstranit tuto dynamickou sekci? Položky budou přesunuty na stejné místo v nadřazené sekci."
} }
}, },
"category": { "category": {
@@ -921,7 +925,7 @@
}, },
"remove": { "remove": {
"title": "", "title": "",
"message": "" "message": "Jste si jisti, že chcete odstranit kategorii {name}?"
}, },
"edit": { "edit": {
"title": "", "title": "",
@@ -987,7 +991,7 @@
}, },
"remove": { "remove": {
"title": "", "title": "",
"message": "" "message": "Jste si jisti, že chcete tuto položku odstranit?"
} }
}, },
"widget": { "widget": {
@@ -1151,6 +1155,25 @@
} }
} }
}, },
"minecraftServerStatus": {
"name": "",
"description": "",
"option": {
"title": {
"label": ""
},
"domain": {
"label": ""
},
"isBedrockServer": {
"label": ""
}
},
"status": {
"online": "",
"offline": ""
}
},
"notebook": { "notebook": {
"name": "Zápisník", "name": "Zápisník",
"description": "", "description": "",
@@ -1596,7 +1619,7 @@
"resume": "", "resume": "",
"delete": { "delete": {
"title": "", "title": "",
"modalTitle": "", "modalTitle": "Jsou si jisti, že chcete smazat tento úkol?",
"entry": "", "entry": "",
"entryAndFiles": "" "entryAndFiles": ""
} }
@@ -1744,13 +1767,13 @@
"message": "" "message": ""
}, },
"error": { "error": {
"title": "", "title": "Nelze uložit změny",
"message": "" "message": "Plochu se nepodařilo uložit"
} }
}, },
"confirmLeave": { "confirmLeave": {
"title": "", "title": "",
"message": "" "message": "Máte neuložené změny, jste si jistí, že chcete odejít?"
} }
}, },
"oldImport": { "oldImport": {
@@ -1762,7 +1785,7 @@
}, },
"error": { "error": {
"title": "", "title": "",
"message": "" "message": "Plochu se nepodařilo importovat, zkontrolujte logy pro více informací"
} }
}, },
"form": { "form": {
@@ -1963,11 +1986,11 @@
"confirm": { "confirm": {
"public": { "public": {
"title": "", "title": "",
"description": "" "description": "Jste si jisti, že chcete tuto plochu učinit soukromou? Toto skryje tuto plochu před veřejností. Odkazy pro hosty přestanou fungovat."
}, },
"private": { "private": {
"title": "", "title": "",
"description": "" "description": "Jste si jisti, že chcete tuto plochu učinit veřejnou? Toto plochu zpřístupní všem."
} }
} }
}, },
@@ -1977,7 +2000,7 @@
"button": "", "button": "",
"confirm": { "confirm": {
"title": "Odstranit plochu", "title": "Odstranit plochu",
"description": "" "description": "Jste si jisti, že chcete odstranit tuto plochu? Toto trvale odstraní plochu a veškerý její obsah."
} }
} }
} }
@@ -2026,7 +2049,7 @@
}, },
"notFound": { "notFound": {
"title": "", "title": "",
"text": "" "text": "Nepodařilo se nalézt požadovaný zdroj"
}, },
"navbar": { "navbar": {
"items": { "items": {
@@ -2106,7 +2129,7 @@
"label": "Trvale smazat", "label": "Trvale smazat",
"confirm": { "confirm": {
"title": "Odstranit plochu", "title": "Odstranit plochu",
"description": "" "description": "Jste si jisti, že chcete vymazat plochu {name}?"
} }
} }
}, },
@@ -2134,7 +2157,7 @@
"general": { "general": {
"title": "Obecné", "title": "Obecné",
"item": { "item": {
"language": "", "language": "Jazyk & oblast",
"board": "", "board": "",
"firstDayOfWeek": "První den v týdnu", "firstDayOfWeek": "První den v týdnu",
"accessibility": "Přístupnost" "accessibility": "Přístupnost"
@@ -2199,12 +2222,12 @@
}, },
"delete": { "delete": {
"title": "Odstranit pozvánku", "title": "Odstranit pozvánku",
"description": "Jste si jisti, že chcete tuto pozvánku smazat? Uživatelé s tímto odkazem již nebudou moci pomocí tohoto odkazu vytvořit účet." "description": "Jste si jisti, že chcete tuto pozvánku smazat? Uživatelé s tímto odkazem si již nebudou moci pomocí tohoto odkazu vytvořit účet."
} }
}, },
"field": { "field": {
"id": { "id": {
"label": "" "label": "ID"
}, },
"creator": { "creator": {
"label": "Vytvořil/a" "label": "Vytvořil/a"
@@ -2310,7 +2333,7 @@
"culture": { "culture": {
"title": "", "title": "",
"defaultLocale": { "defaultLocale": {
"label": "" "label": "Výchozí jazyk"
} }
} }
} }
@@ -2324,6 +2347,9 @@
"error": "Chyba" "error": "Chyba"
}, },
"job": { "job": {
"minecraftServerStatus": {
"label": ""
},
"iconsUpdater": { "iconsUpdater": {
"label": "" "label": ""
}, },
@@ -2405,15 +2431,15 @@
}, },
"about": { "about": {
"version": "", "version": "",
"text": "", "text": "Homarr je komunitou řízený open source projekt, který je udržován dobrovolníky. Díky těmto lidem je Homarr od roku 2021 neustále rostoucím projektem. Náš tým na Homarru pracuje zcela na dálku z mnoha různých zemí ve svém volném čase bez jakékoli kompenzace.",
"accordion": { "accordion": {
"contributors": { "contributors": {
"title": "", "title": "Přispěvatelé",
"subtitle": "" "subtitle": "{count} udržuje kód & Homarr"
}, },
"translators": { "translators": {
"title": "", "title": "Překladatelé",
"subtitle": "" "subtitle": "{count} přispívá překladem do mnoha jazyků"
}, },
"libraries": { "libraries": {
"title": "", "title": "",
@@ -2463,7 +2489,7 @@
}, },
"error": { "error": {
"title": "", "title": "",
"message": "" "message": "Nepodařilo se spustit kontejnery"
} }
} }
}, },
@@ -2476,7 +2502,7 @@
}, },
"error": { "error": {
"title": "", "title": "",
"message": "" "message": "Nepodařilo se zastavit kontejnery"
} }
} }
}, },
@@ -2489,7 +2515,7 @@
}, },
"error": { "error": {
"title": "", "title": "",
"message": "" "message": "Nepodařilo se restartovat kontejnery"
} }
} }
}, },
@@ -2502,7 +2528,7 @@
}, },
"error": { "error": {
"title": "", "title": "",
"message": "" "message": "Nepodařilo se odstranit kontejnery"
} }
} }
}, },
@@ -2685,10 +2711,10 @@
"dark": "" "dark": ""
}, },
"language": { "language": {
"label": "", "label": "Změnit jazyk",
"children": { "children": {
"detail": { "detail": {
"title": "" "title": "Vyberte si preferovaný jazyk"
} }
} }
}, },
@@ -2722,6 +2748,11 @@
} }
} }
}, },
"media": {
"requestMovie": "",
"requestSeries": "",
"openIn": ""
},
"external": { "external": {
"help": "", "help": "",
"group": { "group": {
@@ -2926,7 +2957,7 @@
}, },
"error": { "error": {
"title": "", "title": "",
"message": "" "message": "Nepodařilo se vytvořit vyhledávač"
} }
} }
}, },
@@ -2938,8 +2969,8 @@
"message": "" "message": ""
}, },
"error": { "error": {
"title": "", "title": "Nelze uložit změny",
"message": "" "message": "Nepodařilo se uložit vyhledávač"
} }
}, },
"configControl": "", "configControl": "",
@@ -2950,7 +2981,7 @@
}, },
"delete": { "delete": {
"title": "", "title": "",
"message": "", "message": "Jste si jisti, že chcete odstranit vyhledávač '{name}'?",
"notification": { "notification": {
"success": { "success": {
"title": "", "title": "",
@@ -2958,7 +2989,23 @@
}, },
"error": { "error": {
"title": "", "title": "",
"message": "" "message": "Nepodařilo se odstranit vyhledávač"
}
}
}
},
"media": {
"request": {
"modal": {
"title": "",
"table": {
"header": {
"season": "",
"episodes": ""
}
},
"button": {
"send": ""
} }
} }
} }

View File

@@ -2,130 +2,130 @@
"init": { "init": {
"step": { "step": {
"start": { "start": {
"title": "", "title": "Velkommen til Homarr",
"subtitle": "", "subtitle": "Lad os komme i gang med at konfigurere din Homarr instans.",
"description": "", "description": "For at komme i gang, skal du vælge, hvordan du vil konfigurere din Homarr instans.",
"action": { "action": {
"scratch": "", "scratch": "Start fra bunden",
"importOldmarr": "" "importOldmarr": "Importer fra Homarr før 1.0"
} }
}, },
"import": { "import": {
"title": "", "title": "Importer data",
"subtitle": "", "subtitle": "Du kan importere data fra en eksisterende Homarr instans.",
"dropzone": { "dropzone": {
"title": "", "title": "Træk zip-filen her eller klik for at gennemse",
"description": "" "description": "Den uploadede zip vil blive behandlet, og du vil kunne vælge, hvad du vil importere"
}, },
"fileInfo": { "fileInfo": {
"action": { "action": {
"change": "" "change": "Ændre fil"
} }
}, },
"importSettings": { "importSettings": {
"title": "", "title": "Importer indstillinger",
"description": "" "description": "Konfigurer importadfærden"
}, },
"boardSelection": { "boardSelection": {
"title": "", "title": "Fundet {count} tavler",
"description": "", "description": "Vælg alle tavler med deres størrelser du vil importere",
"action": { "action": {
"selectAll": "", "selectAll": "Vælg alle",
"unselectAll": "" "unselectAll": "Fravælg alle"
} }
}, },
"summary": { "summary": {
"title": "", "title": "Importér sammendrag",
"description": "", "description": "I nedenstående oversigt kan du se hvad der vil blive importeret",
"action": { "action": {
"import": "" "import": "Bekræft import og fortsæt"
}, },
"entities": { "entities": {
"apps": "", "apps": "Apps",
"boards": "", "boards": "Tavler",
"integrations": "", "integrations": "Integrationer",
"credentialUsers": "" "credentialUsers": "Brugere, der er legitimerede"
} }
}, },
"tokenModal": { "tokenModal": {
"title": "", "title": "Angiv import token",
"field": { "field": {
"token": { "token": {
"label": "", "label": "Token",
"description": "" "description": "Indtast den viste import token fra din tidligere homarr instans"
} }
}, },
"notification": { "notification": {
"error": { "error": {
"title": "", "title": "Ugyldig token",
"message": "" "message": "Den indtastede token er ugyldig"
} }
} }
} }
}, },
"user": { "user": {
"title": "", "title": "Admin bruger",
"subtitle": "", "subtitle": "Angiv legitimationsoplysninger for din administrator bruger.",
"notification": { "notification": {
"success": { "success": {
"title": "", "title": "Bruger oprettet",
"message": "" "message": "Brugeren blev oprettet"
}, },
"error": { "error": {
"title": "" "title": "Brugeroprettelse mislykkedes"
} }
} }
}, },
"group": { "group": {
"title": "", "title": "Ekstern gruppe",
"subtitle": "", "subtitle": "Angiv den gruppe, der skal bruges til eksterne brugere.",
"form": { "form": {
"name": { "name": {
"label": "", "label": "Gruppenavn",
"description": "" "description": "Navn skal matche admin gruppe fra ekstern udbyder"
} }
} }
}, },
"settings": { "settings": {
"title": "Indstillinger", "title": "Indstillinger",
"subtitle": "" "subtitle": "Konfigurer serverindstillinger."
}, },
"finish": { "finish": {
"title": "", "title": "Afslut opsætningen",
"subtitle": "", "subtitle": "Du er klar!",
"description": "", "description": "Du har fuldført opsætningsprocessen. Du kan nu begynde at bruge Homarr. Vælg din næste handling:",
"action": { "action": {
"goToBoard": "", "goToBoard": "Gå til {name} tavle",
"createBoard": "", "createBoard": "Opret din første tavle",
"inviteUser": "", "inviteUser": "Inviter andre brugere",
"docs": "" "docs": "Læs dokumentationen"
} }
} }
}, },
"backToStart": "" "backToStart": "Tilbage til start"
}, },
"user": { "user": {
"title": "Brugere", "title": "Brugere",
"name": "Bruger", "name": "Bruger",
"page": { "page": {
"login": { "login": {
"title": "", "title": "Log ind på din konto",
"subtitle": "" "subtitle": "Velkommen tilbage! Indtast venligst dine legitimationsoplysninger"
}, },
"invite": { "invite": {
"title": "", "title": "Tilmeld Homarr",
"subtitle": "", "subtitle": "Velkommen til Homarr! Opret venligst din konto",
"description": "" "description": "Du blev inviteret af {username}"
}, },
"init": { "init": {
"title": "", "title": "Ny Homarr installation",
"subtitle": "" "subtitle": "Opret venligst den første administrator bruger"
} }
}, },
"field": { "field": {
"email": { "email": {
"label": "E-mail", "label": "E-mail",
"verified": "" "verified": "Verificeret"
}, },
"username": { "username": {
"label": "Brugernavn" "label": "Brugernavn"
@@ -133,46 +133,46 @@
"password": { "password": {
"label": "Adgangskode", "label": "Adgangskode",
"requirement": { "requirement": {
"length": "", "length": "Inkluderer mindst 8 tegn",
"lowercase": "Inkluderer små bogstaver", "lowercase": "Inkluderer små bogstaver",
"uppercase": "Inkluderer store bogstaver", "uppercase": "Inkluderer store bogstaver",
"number": "Inkluderer nummer", "number": "Inkluderer nummer",
"special": "" "special": "Inkluderer specielt symbol"
} }
}, },
"passwordConfirm": { "passwordConfirm": {
"label": "Bekræft kodeord" "label": "Bekræft kodeord"
}, },
"previousPassword": { "previousPassword": {
"label": "" "label": "Tidligere adgangskode"
}, },
"homeBoard": { "homeBoard": {
"label": "" "label": "Hjemme tavle"
}, },
"pingIconsEnabled": { "pingIconsEnabled": {
"label": "" "label": "Brug ikoner til pings"
} }
}, },
"error": { "error": {
"usernameTaken": "" "usernameTaken": "Brugernavn allerede taget"
}, },
"action": { "action": {
"login": { "login": {
"label": "Log ind", "label": "Log ind",
"labelWith": "", "labelWith": "Log ind med {provider}",
"notification": { "notification": {
"success": { "success": {
"title": "", "title": "Login lykkedes",
"message": "" "message": "Du er nu logget ind"
}, },
"error": { "error": {
"title": "", "title": "Login mislykkedes",
"message": "" "message": "Dit login mislykkedes"
} }
}, },
"forgotPassword": { "forgotPassword": {
"label": "", "label": "Glemt din adgangskode?",
"description": "" "description": "En administrator kan bruge følgende kommando til at nulstille din adgangskode:"
} }
}, },
"register": { "register": {
@@ -180,81 +180,81 @@
"notification": { "notification": {
"success": { "success": {
"title": "Konto oprettet", "title": "Konto oprettet",
"message": "" "message": "Log venligst på for at fortsætte"
}, },
"error": { "error": {
"title": "", "title": "Oprettelse af konto mislykkedes",
"message": "" "message": "Din konto kunne ikke oprettes"
} }
} }
}, },
"create": "Opret bruger", "create": "Opret bruger",
"changePassword": { "changePassword": {
"label": "", "label": "Skift adgangskode",
"notification": { "notification": {
"success": { "success": {
"message": "" "message": "Adgangskoden er blevet ændret"
}, },
"error": { "error": {
"message": "" "message": "Adgangskoden kunne ikke ændres"
} }
} }
}, },
"changeHomeBoard": { "changeHomeBoard": {
"notification": { "notification": {
"success": { "success": {
"message": "" "message": "Hjemmetavle blev ændret"
}, },
"error": { "error": {
"message": "" "message": "Kan ikke ændre hjemmetavle"
} }
} }
}, },
"changeFirstDayOfWeek": { "changeFirstDayOfWeek": {
"notification": { "notification": {
"success": { "success": {
"message": "" "message": "Første ugedag ændret med succes"
}, },
"error": { "error": {
"message": "" "message": "Kan ikke ændre den første ugedag"
} }
} }
}, },
"changePingIconsEnabled": { "changePingIconsEnabled": {
"notification": { "notification": {
"success": { "success": {
"message": "" "message": "Ping ikoner skiftet"
}, },
"error": { "error": {
"message": "" "message": "Kan ikke skifte ping-ikoner"
} }
} }
}, },
"manageAvatar": { "manageAvatar": {
"changeImage": { "changeImage": {
"label": "", "label": "Skift billede",
"notification": { "notification": {
"success": { "success": {
"message": "" "message": "Billedet blev ændret"
}, },
"error": { "error": {
"message": "" "message": "Kan ikke ændre billede"
}, },
"toLarge": { "toLarge": {
"title": "", "title": "Billedet er for stort",
"message": "" "message": "Maks billedstørrelse er {size}"
} }
} }
}, },
"removeImage": { "removeImage": {
"label": "", "label": "Fjern billede",
"confirm": "", "confirm": "Er du sikker på du vil fjerne billedet?",
"notification": { "notification": {
"success": { "success": {
"message": "" "message": "Billedet blev fjernet"
}, },
"error": { "error": {
"message": "" "message": "Kan ikke fjerne billede"
} }
} }
} }
@@ -262,15 +262,15 @@
"editProfile": { "editProfile": {
"notification": { "notification": {
"success": { "success": {
"message": "" "message": "Profilen blev opdateret"
}, },
"error": { "error": {
"message": "" "message": "Ikke i stand til at opdatere profil"
} }
} }
}, },
"delete": { "delete": {
"label": "", "label": "Slet brugeren permanent",
"description": "", "description": "",
"confirm": "" "confirm": ""
}, },
@@ -293,23 +293,23 @@
}, },
"permission": { "permission": {
"admin": { "admin": {
"title": "", "title": "Admin",
"item": { "item": {
"admin": { "admin": {
"label": "", "label": "Administrator",
"description": "" "description": "Medlemmer med denne tilladelse har fuld adgang til alle funktioner og indstillinger"
} }
} }
}, },
"app": { "app": {
"title": "", "title": "Apps",
"item": { "item": {
"create": { "create": {
"label": "", "label": "Opret apps",
"description": "" "description": "Tillad medlemmer at oprette apps"
}, },
"use-all": { "use-all": {
"label": "", "label": "Brug alle apps",
"description": "" "description": ""
}, },
"modify-all": { "modify-all": {
@@ -612,6 +612,10 @@
}, },
"url": { "url": {
"label": "" "label": ""
},
"attemptSearchEngineCreation": {
"label": "",
"description": ""
} }
}, },
"action": { "action": {
@@ -1151,6 +1155,25 @@
} }
} }
}, },
"minecraftServerStatus": {
"name": "",
"description": "",
"option": {
"title": {
"label": ""
},
"domain": {
"label": ""
},
"isBedrockServer": {
"label": ""
}
},
"status": {
"online": "",
"offline": ""
}
},
"notebook": { "notebook": {
"name": "Notesbog", "name": "Notesbog",
"description": "", "description": "",
@@ -2324,6 +2347,9 @@
"error": "Fejl" "error": "Fejl"
}, },
"job": { "job": {
"minecraftServerStatus": {
"label": ""
},
"iconsUpdater": { "iconsUpdater": {
"label": "" "label": ""
}, },
@@ -2722,6 +2748,11 @@
} }
} }
}, },
"media": {
"requestMovie": "",
"requestSeries": "",
"openIn": ""
},
"external": { "external": {
"help": "", "help": "",
"group": { "group": {
@@ -2962,6 +2993,22 @@
} }
} }
} }
},
"media": {
"request": {
"modal": {
"title": "",
"table": {
"header": {
"season": "",
"episodes": ""
}
},
"button": {
"send": ""
}
}
}
} }
} }
} }

View File

@@ -612,6 +612,10 @@
}, },
"url": { "url": {
"label": "URL" "label": "URL"
},
"attemptSearchEngineCreation": {
"label": "",
"description": ""
} }
}, },
"action": { "action": {
@@ -1151,6 +1155,25 @@
} }
} }
}, },
"minecraftServerStatus": {
"name": "",
"description": "",
"option": {
"title": {
"label": ""
},
"domain": {
"label": ""
},
"isBedrockServer": {
"label": ""
}
},
"status": {
"online": "",
"offline": ""
}
},
"notebook": { "notebook": {
"name": "Notizbuch", "name": "Notizbuch",
"description": "Ein einfaches Notizbuch Widget, das Markdown unterstützt", "description": "Ein einfaches Notizbuch Widget, das Markdown unterstützt",
@@ -2324,6 +2347,9 @@
"error": "Fehler" "error": "Fehler"
}, },
"job": { "job": {
"minecraftServerStatus": {
"label": ""
},
"iconsUpdater": { "iconsUpdater": {
"label": "" "label": ""
}, },
@@ -2722,6 +2748,11 @@
} }
} }
}, },
"media": {
"requestMovie": "",
"requestSeries": "",
"openIn": ""
},
"external": { "external": {
"help": "", "help": "",
"group": { "group": {
@@ -2962,6 +2993,22 @@
} }
} }
} }
},
"media": {
"request": {
"modal": {
"title": "",
"table": {
"header": {
"season": "",
"episodes": ""
}
},
"button": {
"send": ""
}
}
}
} }
} }
} }

View File

@@ -612,6 +612,10 @@
}, },
"url": { "url": {
"label": "" "label": ""
},
"attemptSearchEngineCreation": {
"label": "",
"description": ""
} }
}, },
"action": { "action": {
@@ -1151,6 +1155,25 @@
} }
} }
}, },
"minecraftServerStatus": {
"name": "",
"description": "",
"option": {
"title": {
"label": ""
},
"domain": {
"label": ""
},
"isBedrockServer": {
"label": ""
}
},
"status": {
"online": "",
"offline": ""
}
},
"notebook": { "notebook": {
"name": "Σημειωματάριο", "name": "Σημειωματάριο",
"description": "", "description": "",
@@ -2324,6 +2347,9 @@
"error": "Σφάλμα" "error": "Σφάλμα"
}, },
"job": { "job": {
"minecraftServerStatus": {
"label": ""
},
"iconsUpdater": { "iconsUpdater": {
"label": "" "label": ""
}, },
@@ -2722,6 +2748,11 @@
} }
} }
}, },
"media": {
"requestMovie": "",
"requestSeries": "",
"openIn": ""
},
"external": { "external": {
"help": "", "help": "",
"group": { "group": {
@@ -2962,6 +2993,22 @@
} }
} }
} }
},
"media": {
"request": {
"modal": {
"title": "",
"table": {
"header": {
"season": "",
"episodes": ""
}
},
"button": {
"send": ""
}
}
}
} }
} }
} }

View File

@@ -2,20 +2,20 @@
"init": { "init": {
"step": { "step": {
"start": { "start": {
"title": "", "title": "Bienvenido a Homarr",
"subtitle": "", "subtitle": "",
"description": "", "description": "",
"action": { "action": {
"scratch": "", "scratch": "Empezar de cero",
"importOldmarr": "" "importOldmarr": "Importar de Homarr antes de 1.0"
} }
}, },
"import": { "import": {
"title": "", "title": "Importar datos",
"subtitle": "", "subtitle": "",
"dropzone": { "dropzone": {
"title": "", "title": "Arrastre el archivo zip aquí o haga clic para navegar",
"description": "" "description": "El zip subido será procesado y podrás seleccionar lo que quieres importar"
}, },
"fileInfo": { "fileInfo": {
"action": { "action": {
@@ -23,7 +23,7 @@
} }
}, },
"importSettings": { "importSettings": {
"title": "", "title": "Importar ajustes",
"description": "" "description": ""
}, },
"boardSelection": { "boardSelection": {
@@ -612,6 +612,10 @@
}, },
"url": { "url": {
"label": "" "label": ""
},
"attemptSearchEngineCreation": {
"label": "",
"description": ""
} }
}, },
"action": { "action": {
@@ -1151,6 +1155,25 @@
} }
} }
}, },
"minecraftServerStatus": {
"name": "",
"description": "",
"option": {
"title": {
"label": ""
},
"domain": {
"label": ""
},
"isBedrockServer": {
"label": ""
}
},
"status": {
"online": "",
"offline": ""
}
},
"notebook": { "notebook": {
"name": "Bloc de notas", "name": "Bloc de notas",
"description": "", "description": "",
@@ -2324,6 +2347,9 @@
"error": "" "error": ""
}, },
"job": { "job": {
"minecraftServerStatus": {
"label": ""
},
"iconsUpdater": { "iconsUpdater": {
"label": "" "label": ""
}, },
@@ -2722,6 +2748,11 @@
} }
} }
}, },
"media": {
"requestMovie": "",
"requestSeries": "",
"openIn": ""
},
"external": { "external": {
"help": "", "help": "",
"group": { "group": {
@@ -2962,6 +2993,22 @@
} }
} }
} }
},
"media": {
"request": {
"modal": {
"title": "",
"table": {
"header": {
"season": "",
"episodes": ""
}
},
"button": {
"send": ""
}
}
}
} }
} }
} }

View File

@@ -612,6 +612,10 @@
}, },
"url": { "url": {
"label": "" "label": ""
},
"attemptSearchEngineCreation": {
"label": "",
"description": ""
} }
}, },
"action": { "action": {
@@ -1151,6 +1155,25 @@
} }
} }
}, },
"minecraftServerStatus": {
"name": "",
"description": "",
"option": {
"title": {
"label": ""
},
"domain": {
"label": ""
},
"isBedrockServer": {
"label": ""
}
},
"status": {
"online": "",
"offline": ""
}
},
"notebook": { "notebook": {
"name": "", "name": "",
"description": "", "description": "",
@@ -2324,6 +2347,9 @@
"error": "" "error": ""
}, },
"job": { "job": {
"minecraftServerStatus": {
"label": ""
},
"iconsUpdater": { "iconsUpdater": {
"label": "" "label": ""
}, },
@@ -2722,6 +2748,11 @@
} }
} }
}, },
"media": {
"requestMovie": "",
"requestSeries": "",
"openIn": ""
},
"external": { "external": {
"help": "", "help": "",
"group": { "group": {
@@ -2962,6 +2993,22 @@
} }
} }
} }
},
"media": {
"request": {
"modal": {
"title": "",
"table": {
"header": {
"season": "",
"episodes": ""
}
},
"button": {
"send": ""
}
}
}
} }
} }
} }

View File

@@ -612,6 +612,10 @@
}, },
"url": { "url": {
"label": "Url" "label": "Url"
},
"attemptSearchEngineCreation": {
"label": "",
"description": ""
} }
}, },
"action": { "action": {
@@ -1151,6 +1155,25 @@
} }
} }
}, },
"minecraftServerStatus": {
"name": "",
"description": "",
"option": {
"title": {
"label": ""
},
"domain": {
"label": ""
},
"isBedrockServer": {
"label": ""
}
},
"status": {
"online": "",
"offline": ""
}
},
"notebook": { "notebook": {
"name": "Bloc-notes", "name": "Bloc-notes",
"description": "", "description": "",
@@ -2324,6 +2347,9 @@
"error": "Erreur" "error": "Erreur"
}, },
"job": { "job": {
"minecraftServerStatus": {
"label": ""
},
"iconsUpdater": { "iconsUpdater": {
"label": "" "label": ""
}, },
@@ -2722,6 +2748,11 @@
} }
} }
}, },
"media": {
"requestMovie": "",
"requestSeries": "",
"openIn": ""
},
"external": { "external": {
"help": "", "help": "",
"group": { "group": {
@@ -2962,6 +2993,22 @@
} }
} }
} }
},
"media": {
"request": {
"modal": {
"title": "",
"table": {
"header": {
"season": "",
"episodes": ""
}
},
"button": {
"send": ""
}
}
}
} }
} }
} }

View File

@@ -612,6 +612,10 @@
}, },
"url": { "url": {
"label": "כתובת אתר" "label": "כתובת אתר"
},
"attemptSearchEngineCreation": {
"label": "",
"description": ""
} }
}, },
"action": { "action": {
@@ -1151,6 +1155,25 @@
} }
} }
}, },
"minecraftServerStatus": {
"name": "",
"description": "",
"option": {
"title": {
"label": ""
},
"domain": {
"label": ""
},
"isBedrockServer": {
"label": ""
}
},
"status": {
"online": "",
"offline": ""
}
},
"notebook": { "notebook": {
"name": "פנקס רשימות", "name": "פנקס רשימות",
"description": "ווידג'ט פשוט של מחברת התומך ב-markdown", "description": "ווידג'ט פשוט של מחברת התומך ב-markdown",
@@ -2324,6 +2347,9 @@
"error": "שגיאה" "error": "שגיאה"
}, },
"job": { "job": {
"minecraftServerStatus": {
"label": ""
},
"iconsUpdater": { "iconsUpdater": {
"label": "" "label": ""
}, },
@@ -2722,6 +2748,11 @@
} }
} }
}, },
"media": {
"requestMovie": "",
"requestSeries": "",
"openIn": ""
},
"external": { "external": {
"help": "", "help": "",
"group": { "group": {
@@ -2962,6 +2993,22 @@
} }
} }
} }
},
"media": {
"request": {
"modal": {
"title": "",
"table": {
"header": {
"season": "",
"episodes": ""
}
},
"button": {
"send": ""
}
}
}
} }
} }
} }

View File

@@ -612,6 +612,10 @@
}, },
"url": { "url": {
"label": "" "label": ""
},
"attemptSearchEngineCreation": {
"label": "",
"description": ""
} }
}, },
"action": { "action": {
@@ -1151,6 +1155,25 @@
} }
} }
}, },
"minecraftServerStatus": {
"name": "",
"description": "",
"option": {
"title": {
"label": ""
},
"domain": {
"label": ""
},
"isBedrockServer": {
"label": ""
}
},
"status": {
"online": "",
"offline": ""
}
},
"notebook": { "notebook": {
"name": "Bilježnica", "name": "Bilježnica",
"description": "", "description": "",
@@ -2324,6 +2347,9 @@
"error": "Pogreška" "error": "Pogreška"
}, },
"job": { "job": {
"minecraftServerStatus": {
"label": ""
},
"iconsUpdater": { "iconsUpdater": {
"label": "" "label": ""
}, },
@@ -2722,6 +2748,11 @@
} }
} }
}, },
"media": {
"requestMovie": "",
"requestSeries": "",
"openIn": ""
},
"external": { "external": {
"help": "", "help": "",
"group": { "group": {
@@ -2962,6 +2993,22 @@
} }
} }
} }
},
"media": {
"request": {
"modal": {
"title": "",
"table": {
"header": {
"season": "",
"episodes": ""
}
},
"button": {
"send": ""
}
}
}
} }
} }
} }

View File

@@ -612,6 +612,10 @@
}, },
"url": { "url": {
"label": "" "label": ""
},
"attemptSearchEngineCreation": {
"label": "",
"description": ""
} }
}, },
"action": { "action": {
@@ -1151,6 +1155,25 @@
} }
} }
}, },
"minecraftServerStatus": {
"name": "",
"description": "",
"option": {
"title": {
"label": ""
},
"domain": {
"label": ""
},
"isBedrockServer": {
"label": ""
}
},
"status": {
"online": "",
"offline": ""
}
},
"notebook": { "notebook": {
"name": "Jegyzettömb", "name": "Jegyzettömb",
"description": "Egy egyszerű notebook widget, amely támogatja a leértékelést", "description": "Egy egyszerű notebook widget, amely támogatja a leértékelést",
@@ -2324,6 +2347,9 @@
"error": "Hiba" "error": "Hiba"
}, },
"job": { "job": {
"minecraftServerStatus": {
"label": ""
},
"iconsUpdater": { "iconsUpdater": {
"label": "" "label": ""
}, },
@@ -2722,6 +2748,11 @@
} }
} }
}, },
"media": {
"requestMovie": "",
"requestSeries": "",
"openIn": ""
},
"external": { "external": {
"help": "", "help": "",
"group": { "group": {
@@ -2962,6 +2993,22 @@
} }
} }
} }
},
"media": {
"request": {
"modal": {
"title": "",
"table": {
"header": {
"season": "",
"episodes": ""
}
},
"button": {
"send": ""
}
}
}
} }
} }
} }

View File

@@ -612,6 +612,10 @@
}, },
"url": { "url": {
"label": "Url" "label": "Url"
},
"attemptSearchEngineCreation": {
"label": "",
"description": ""
} }
}, },
"action": { "action": {
@@ -1151,6 +1155,25 @@
} }
} }
}, },
"minecraftServerStatus": {
"name": "",
"description": "",
"option": {
"title": {
"label": ""
},
"domain": {
"label": ""
},
"isBedrockServer": {
"label": ""
}
},
"status": {
"online": "",
"offline": ""
}
},
"notebook": { "notebook": {
"name": "Blocco note", "name": "Blocco note",
"description": "", "description": "",
@@ -2324,6 +2347,9 @@
"error": "Errore" "error": "Errore"
}, },
"job": { "job": {
"minecraftServerStatus": {
"label": ""
},
"iconsUpdater": { "iconsUpdater": {
"label": "" "label": ""
}, },
@@ -2722,6 +2748,11 @@
} }
} }
}, },
"media": {
"requestMovie": "",
"requestSeries": "",
"openIn": ""
},
"external": { "external": {
"help": "", "help": "",
"group": { "group": {
@@ -2962,6 +2993,22 @@
} }
} }
} }
},
"media": {
"request": {
"modal": {
"title": "",
"table": {
"header": {
"season": "",
"episodes": ""
}
},
"button": {
"send": ""
}
}
}
} }
} }
} }

View File

@@ -612,6 +612,10 @@
}, },
"url": { "url": {
"label": "" "label": ""
},
"attemptSearchEngineCreation": {
"label": "",
"description": ""
} }
}, },
"action": { "action": {
@@ -1151,6 +1155,25 @@
} }
} }
}, },
"minecraftServerStatus": {
"name": "",
"description": "",
"option": {
"title": {
"label": ""
},
"domain": {
"label": ""
},
"isBedrockServer": {
"label": ""
}
},
"status": {
"online": "",
"offline": ""
}
},
"notebook": { "notebook": {
"name": "メモ帳", "name": "メモ帳",
"description": "", "description": "",
@@ -2324,6 +2347,9 @@
"error": "エラー" "error": "エラー"
}, },
"job": { "job": {
"minecraftServerStatus": {
"label": ""
},
"iconsUpdater": { "iconsUpdater": {
"label": "" "label": ""
}, },
@@ -2722,6 +2748,11 @@
} }
} }
}, },
"media": {
"requestMovie": "",
"requestSeries": "",
"openIn": ""
},
"external": { "external": {
"help": "", "help": "",
"group": { "group": {
@@ -2962,6 +2993,22 @@
} }
} }
} }
},
"media": {
"request": {
"modal": {
"title": "",
"table": {
"header": {
"season": "",
"episodes": ""
}
},
"button": {
"send": ""
}
}
}
} }
} }
} }

View File

@@ -612,6 +612,10 @@
}, },
"url": { "url": {
"label": "" "label": ""
},
"attemptSearchEngineCreation": {
"label": "",
"description": ""
} }
}, },
"action": { "action": {
@@ -1151,6 +1155,25 @@
} }
} }
}, },
"minecraftServerStatus": {
"name": "",
"description": "",
"option": {
"title": {
"label": ""
},
"domain": {
"label": ""
},
"isBedrockServer": {
"label": ""
}
},
"status": {
"online": "",
"offline": ""
}
},
"notebook": { "notebook": {
"name": "노트북", "name": "노트북",
"description": "", "description": "",
@@ -2324,6 +2347,9 @@
"error": "오류" "error": "오류"
}, },
"job": { "job": {
"minecraftServerStatus": {
"label": ""
},
"iconsUpdater": { "iconsUpdater": {
"label": "" "label": ""
}, },
@@ -2722,6 +2748,11 @@
} }
} }
}, },
"media": {
"requestMovie": "",
"requestSeries": "",
"openIn": ""
},
"external": { "external": {
"help": "", "help": "",
"group": { "group": {
@@ -2962,6 +2993,22 @@
} }
} }
} }
},
"media": {
"request": {
"modal": {
"title": "",
"table": {
"header": {
"season": "",
"episodes": ""
}
},
"button": {
"send": ""
}
}
}
} }
} }
} }

View File

@@ -612,6 +612,10 @@
}, },
"url": { "url": {
"label": "" "label": ""
},
"attemptSearchEngineCreation": {
"label": "",
"description": ""
} }
}, },
"action": { "action": {
@@ -1151,6 +1155,25 @@
} }
} }
}, },
"minecraftServerStatus": {
"name": "",
"description": "",
"option": {
"title": {
"label": ""
},
"domain": {
"label": ""
},
"isBedrockServer": {
"label": ""
}
},
"status": {
"online": "",
"offline": ""
}
},
"notebook": { "notebook": {
"name": "Užrašai", "name": "Užrašai",
"description": "", "description": "",
@@ -2324,6 +2347,9 @@
"error": "" "error": ""
}, },
"job": { "job": {
"minecraftServerStatus": {
"label": ""
},
"iconsUpdater": { "iconsUpdater": {
"label": "" "label": ""
}, },
@@ -2722,6 +2748,11 @@
} }
} }
}, },
"media": {
"requestMovie": "",
"requestSeries": "",
"openIn": ""
},
"external": { "external": {
"help": "", "help": "",
"group": { "group": {
@@ -2962,6 +2993,22 @@
} }
} }
} }
},
"media": {
"request": {
"modal": {
"title": "",
"table": {
"header": {
"season": "",
"episodes": ""
}
},
"button": {
"send": ""
}
}
}
} }
} }
} }

View File

@@ -11,7 +11,7 @@
} }
}, },
"import": { "import": {
"title": "", "title": "Importēt datus",
"subtitle": "", "subtitle": "",
"dropzone": { "dropzone": {
"title": "", "title": "",
@@ -612,6 +612,10 @@
}, },
"url": { "url": {
"label": "" "label": ""
},
"attemptSearchEngineCreation": {
"label": "",
"description": ""
} }
}, },
"action": { "action": {
@@ -1151,6 +1155,25 @@
} }
} }
}, },
"minecraftServerStatus": {
"name": "",
"description": "",
"option": {
"title": {
"label": ""
},
"domain": {
"label": ""
},
"isBedrockServer": {
"label": ""
}
},
"status": {
"online": "",
"offline": ""
}
},
"notebook": { "notebook": {
"name": "Piezīmes", "name": "Piezīmes",
"description": "", "description": "",
@@ -2324,6 +2347,9 @@
"error": "Kļūda" "error": "Kļūda"
}, },
"job": { "job": {
"minecraftServerStatus": {
"label": ""
},
"iconsUpdater": { "iconsUpdater": {
"label": "" "label": ""
}, },
@@ -2722,6 +2748,11 @@
} }
} }
}, },
"media": {
"requestMovie": "",
"requestSeries": "",
"openIn": ""
},
"external": { "external": {
"help": "", "help": "",
"group": { "group": {
@@ -2962,6 +2993,22 @@
} }
} }
} }
},
"media": {
"request": {
"modal": {
"title": "",
"table": {
"header": {
"season": "",
"episodes": ""
}
},
"button": {
"send": ""
}
}
}
} }
} }
} }

View File

@@ -612,6 +612,10 @@
}, },
"url": { "url": {
"label": "URL" "label": "URL"
},
"attemptSearchEngineCreation": {
"label": "",
"description": ""
} }
}, },
"action": { "action": {
@@ -1151,6 +1155,25 @@
} }
} }
}, },
"minecraftServerStatus": {
"name": "",
"description": "",
"option": {
"title": {
"label": ""
},
"domain": {
"label": ""
},
"isBedrockServer": {
"label": ""
}
},
"status": {
"online": "",
"offline": ""
}
},
"notebook": { "notebook": {
"name": "Notitieboek", "name": "Notitieboek",
"description": "Een eenvoudige notitie widget die markdown ondersteunt", "description": "Een eenvoudige notitie widget die markdown ondersteunt",
@@ -1381,7 +1404,7 @@
"memory": "Geheugen: {memory}GiB", "memory": "Geheugen: {memory}GiB",
"memoryAvailable": "Beschikbaar: {memoryAvailable}GiB ({percent}%)", "memoryAvailable": "Beschikbaar: {memoryAvailable}GiB ({percent}%)",
"version": "Versie: {version}", "version": "Versie: {version}",
"uptime": "Uptime: {days} Dagen, {hours} Uren, {minutes} Minuten", "uptime": "Uptime: {months} maanden, {days} dagen, {hours} uren, {minutes} minuten",
"loadAverage": "Gemiddelde belasting:", "loadAverage": "Gemiddelde belasting:",
"minute": "1 minuut", "minute": "1 minuut",
"minutes": "{count} minuten", "minutes": "{count} minuten",
@@ -2324,6 +2347,9 @@
"error": "Fout" "error": "Fout"
}, },
"job": { "job": {
"minecraftServerStatus": {
"label": ""
},
"iconsUpdater": { "iconsUpdater": {
"label": "Icoon updater" "label": "Icoon updater"
}, },
@@ -2722,6 +2748,11 @@
} }
} }
}, },
"media": {
"requestMovie": "",
"requestSeries": "",
"openIn": ""
},
"external": { "external": {
"help": "Gebruik een externe zoekmachine", "help": "Gebruik een externe zoekmachine",
"group": { "group": {
@@ -2962,6 +2993,22 @@
} }
} }
} }
},
"media": {
"request": {
"modal": {
"title": "",
"table": {
"header": {
"season": "",
"episodes": ""
}
},
"button": {
"send": ""
}
}
}
} }
} }
} }

View File

@@ -612,6 +612,10 @@
}, },
"url": { "url": {
"label": "" "label": ""
},
"attemptSearchEngineCreation": {
"label": "",
"description": ""
} }
}, },
"action": { "action": {
@@ -1151,6 +1155,25 @@
} }
} }
}, },
"minecraftServerStatus": {
"name": "",
"description": "",
"option": {
"title": {
"label": ""
},
"domain": {
"label": ""
},
"isBedrockServer": {
"label": ""
}
},
"status": {
"online": "",
"offline": ""
}
},
"notebook": { "notebook": {
"name": "Notisbok", "name": "Notisbok",
"description": "", "description": "",
@@ -2324,6 +2347,9 @@
"error": "Feil" "error": "Feil"
}, },
"job": { "job": {
"minecraftServerStatus": {
"label": ""
},
"iconsUpdater": { "iconsUpdater": {
"label": "" "label": ""
}, },
@@ -2722,6 +2748,11 @@
} }
} }
}, },
"media": {
"requestMovie": "",
"requestSeries": "",
"openIn": ""
},
"external": { "external": {
"help": "", "help": "",
"group": { "group": {
@@ -2962,6 +2993,22 @@
} }
} }
} }
},
"media": {
"request": {
"modal": {
"title": "",
"table": {
"header": {
"season": "",
"episodes": ""
}
},
"button": {
"send": ""
}
}
}
} }
} }
} }

View File

@@ -612,6 +612,10 @@
}, },
"url": { "url": {
"label": "" "label": ""
},
"attemptSearchEngineCreation": {
"label": "",
"description": ""
} }
}, },
"action": { "action": {
@@ -1151,6 +1155,25 @@
} }
} }
}, },
"minecraftServerStatus": {
"name": "",
"description": "",
"option": {
"title": {
"label": ""
},
"domain": {
"label": ""
},
"isBedrockServer": {
"label": ""
}
},
"status": {
"online": "",
"offline": ""
}
},
"notebook": { "notebook": {
"name": "Notatnik", "name": "Notatnik",
"description": "", "description": "",
@@ -2324,6 +2347,9 @@
"error": "Błąd" "error": "Błąd"
}, },
"job": { "job": {
"minecraftServerStatus": {
"label": ""
},
"iconsUpdater": { "iconsUpdater": {
"label": "" "label": ""
}, },
@@ -2722,6 +2748,11 @@
} }
} }
}, },
"media": {
"requestMovie": "",
"requestSeries": "",
"openIn": ""
},
"external": { "external": {
"help": "", "help": "",
"group": { "group": {
@@ -2962,6 +2993,22 @@
} }
} }
} }
},
"media": {
"request": {
"modal": {
"title": "",
"table": {
"header": {
"season": "",
"episodes": ""
}
},
"button": {
"send": ""
}
}
}
} }
} }
} }

View File

@@ -612,6 +612,10 @@
}, },
"url": { "url": {
"label": "" "label": ""
},
"attemptSearchEngineCreation": {
"label": "",
"description": ""
} }
}, },
"action": { "action": {
@@ -1151,6 +1155,25 @@
} }
} }
}, },
"minecraftServerStatus": {
"name": "",
"description": "",
"option": {
"title": {
"label": ""
},
"domain": {
"label": ""
},
"isBedrockServer": {
"label": ""
}
},
"status": {
"online": "",
"offline": ""
}
},
"notebook": { "notebook": {
"name": "Caderno de anotações", "name": "Caderno de anotações",
"description": "", "description": "",
@@ -2324,6 +2347,9 @@
"error": "Erro" "error": "Erro"
}, },
"job": { "job": {
"minecraftServerStatus": {
"label": ""
},
"iconsUpdater": { "iconsUpdater": {
"label": "" "label": ""
}, },
@@ -2722,6 +2748,11 @@
} }
} }
}, },
"media": {
"requestMovie": "",
"requestSeries": "",
"openIn": ""
},
"external": { "external": {
"help": "", "help": "",
"group": { "group": {
@@ -2962,6 +2993,22 @@
} }
} }
} }
},
"media": {
"request": {
"modal": {
"title": "",
"table": {
"header": {
"season": "",
"episodes": ""
}
},
"button": {
"send": ""
}
}
}
} }
} }
} }

View File

@@ -612,6 +612,10 @@
}, },
"url": { "url": {
"label": "" "label": ""
},
"attemptSearchEngineCreation": {
"label": "",
"description": ""
} }
}, },
"action": { "action": {
@@ -1151,6 +1155,25 @@
} }
} }
}, },
"minecraftServerStatus": {
"name": "",
"description": "",
"option": {
"title": {
"label": ""
},
"domain": {
"label": ""
},
"isBedrockServer": {
"label": ""
}
},
"status": {
"online": "",
"offline": ""
}
},
"notebook": { "notebook": {
"name": "Agendă", "name": "Agendă",
"description": "", "description": "",
@@ -2324,6 +2347,9 @@
"error": "Eroare" "error": "Eroare"
}, },
"job": { "job": {
"minecraftServerStatus": {
"label": ""
},
"iconsUpdater": { "iconsUpdater": {
"label": "" "label": ""
}, },
@@ -2722,6 +2748,11 @@
} }
} }
}, },
"media": {
"requestMovie": "",
"requestSeries": "",
"openIn": ""
},
"external": { "external": {
"help": "", "help": "",
"group": { "group": {
@@ -2962,6 +2993,22 @@
} }
} }
} }
},
"media": {
"request": {
"modal": {
"title": "",
"table": {
"header": {
"season": "",
"episodes": ""
}
},
"button": {
"send": ""
}
}
}
} }
} }
} }

View File

@@ -612,6 +612,10 @@
}, },
"url": { "url": {
"label": "URL-адрес" "label": "URL-адрес"
},
"attemptSearchEngineCreation": {
"label": "",
"description": ""
} }
}, },
"action": { "action": {
@@ -1151,6 +1155,25 @@
} }
} }
}, },
"minecraftServerStatus": {
"name": "",
"description": "",
"option": {
"title": {
"label": ""
},
"domain": {
"label": ""
},
"isBedrockServer": {
"label": ""
}
},
"status": {
"online": "",
"offline": ""
}
},
"notebook": { "notebook": {
"name": "Заметки", "name": "Заметки",
"description": "Простой виджет заметок с поддержкой markdown", "description": "Простой виджет заметок с поддержкой markdown",
@@ -2324,6 +2347,9 @@
"error": "Ошибка" "error": "Ошибка"
}, },
"job": { "job": {
"minecraftServerStatus": {
"label": ""
},
"iconsUpdater": { "iconsUpdater": {
"label": "Обновление иконок" "label": "Обновление иконок"
}, },
@@ -2722,6 +2748,11 @@
} }
} }
}, },
"media": {
"requestMovie": "",
"requestSeries": "",
"openIn": ""
},
"external": { "external": {
"help": "Использовать внешнюю поисковую систему", "help": "Использовать внешнюю поисковую систему",
"group": { "group": {
@@ -2962,6 +2993,22 @@
} }
} }
} }
},
"media": {
"request": {
"modal": {
"title": "",
"table": {
"header": {
"season": "",
"episodes": ""
}
},
"button": {
"send": ""
}
}
}
} }
} }
} }

View File

@@ -612,6 +612,10 @@
}, },
"url": { "url": {
"label": "Url" "label": "Url"
},
"attemptSearchEngineCreation": {
"label": "Vytvorte vyhľadávače",
"description": ""
} }
}, },
"action": { "action": {
@@ -1151,6 +1155,25 @@
} }
} }
}, },
"minecraftServerStatus": {
"name": "Minecraft Server Stav",
"description": "",
"option": {
"title": {
"label": "Názov"
},
"domain": {
"label": "Adresa servera"
},
"isBedrockServer": {
"label": "Bedrock server"
}
},
"status": {
"online": "Online",
"offline": "Odpojené"
}
},
"notebook": { "notebook": {
"name": "Poznámkový blok", "name": "Poznámkový blok",
"description": "Jednoduchý widget poznámkového bloku, ktorý podporuje markdown", "description": "Jednoduchý widget poznámkového bloku, ktorý podporuje markdown",
@@ -2324,6 +2347,9 @@
"error": "Chyba" "error": "Chyba"
}, },
"job": { "job": {
"minecraftServerStatus": {
"label": "Minecraft Server Stav"
},
"iconsUpdater": { "iconsUpdater": {
"label": "Aktualizátor ikon" "label": "Aktualizátor ikon"
}, },
@@ -2722,6 +2748,11 @@
} }
} }
}, },
"media": {
"requestMovie": "",
"requestSeries": "",
"openIn": ""
},
"external": { "external": {
"help": "Používanie externého vyhľadávača", "help": "Používanie externého vyhľadávača",
"group": { "group": {
@@ -2962,6 +2993,22 @@
} }
} }
} }
},
"media": {
"request": {
"modal": {
"title": "",
"table": {
"header": {
"season": "",
"episodes": ""
}
},
"button": {
"send": ""
}
}
}
} }
} }
} }

View File

@@ -612,6 +612,10 @@
}, },
"url": { "url": {
"label": "" "label": ""
},
"attemptSearchEngineCreation": {
"label": "",
"description": ""
} }
}, },
"action": { "action": {
@@ -1151,6 +1155,25 @@
} }
} }
}, },
"minecraftServerStatus": {
"name": "",
"description": "",
"option": {
"title": {
"label": ""
},
"domain": {
"label": ""
},
"isBedrockServer": {
"label": ""
}
},
"status": {
"online": "",
"offline": ""
}
},
"notebook": { "notebook": {
"name": "Beležnica", "name": "Beležnica",
"description": "", "description": "",
@@ -2324,6 +2347,9 @@
"error": "Napaka" "error": "Napaka"
}, },
"job": { "job": {
"minecraftServerStatus": {
"label": ""
},
"iconsUpdater": { "iconsUpdater": {
"label": "" "label": ""
}, },
@@ -2722,6 +2748,11 @@
} }
} }
}, },
"media": {
"requestMovie": "",
"requestSeries": "",
"openIn": ""
},
"external": { "external": {
"help": "", "help": "",
"group": { "group": {
@@ -2962,6 +2993,22 @@
} }
} }
} }
},
"media": {
"request": {
"modal": {
"title": "",
"table": {
"header": {
"season": "",
"episodes": ""
}
},
"button": {
"send": ""
}
}
}
} }
} }
} }

View File

@@ -612,6 +612,10 @@
}, },
"url": { "url": {
"label": "" "label": ""
},
"attemptSearchEngineCreation": {
"label": "",
"description": ""
} }
}, },
"action": { "action": {
@@ -1151,6 +1155,25 @@
} }
} }
}, },
"minecraftServerStatus": {
"name": "",
"description": "",
"option": {
"title": {
"label": ""
},
"domain": {
"label": ""
},
"isBedrockServer": {
"label": ""
}
},
"status": {
"online": "",
"offline": ""
}
},
"notebook": { "notebook": {
"name": "Anteckningsbok", "name": "Anteckningsbok",
"description": "", "description": "",
@@ -2324,6 +2347,9 @@
"error": "Fel" "error": "Fel"
}, },
"job": { "job": {
"minecraftServerStatus": {
"label": ""
},
"iconsUpdater": { "iconsUpdater": {
"label": "" "label": ""
}, },
@@ -2722,6 +2748,11 @@
} }
} }
}, },
"media": {
"requestMovie": "",
"requestSeries": "",
"openIn": ""
},
"external": { "external": {
"help": "", "help": "",
"group": { "group": {
@@ -2962,6 +2993,22 @@
} }
} }
} }
},
"media": {
"request": {
"modal": {
"title": "",
"table": {
"header": {
"season": "",
"episodes": ""
}
},
"button": {
"send": ""
}
}
}
} }
} }
} }

View File

@@ -147,7 +147,7 @@
"label": "Eski Şifre" "label": "Eski Şifre"
}, },
"homeBoard": { "homeBoard": {
"label": "Öntanımlı panel" "label": "Ana panel"
}, },
"pingIconsEnabled": { "pingIconsEnabled": {
"label": "Pingler İçin Simgeler Kullanın" "label": "Pingler İçin Simgeler Kullanın"
@@ -612,6 +612,10 @@
}, },
"url": { "url": {
"label": "Url" "label": "Url"
},
"attemptSearchEngineCreation": {
"label": "Arama Motoru Oluştur",
"description": "\"{kind}\" entegrasyonu arama motorlarıyla kullanılabilir. Arama motorunu otomatik olarak yapılandırmak için bunu işaretleyin."
} }
}, },
"action": { "action": {
@@ -1151,6 +1155,25 @@
} }
} }
}, },
"minecraftServerStatus": {
"name": "Minecraft Sunucu Durumu",
"description": "Minecraft sunucusunuzun durumunu görüntüler",
"option": {
"title": {
"label": "Başlık"
},
"domain": {
"label": "Sunucu adresi"
},
"isBedrockServer": {
"label": "Bedrock sunucusu"
}
},
"status": {
"online": "Çevrimiçi",
"offline": "Çevrimdışı"
}
},
"notebook": { "notebook": {
"name": "Not Defteri", "name": "Not Defteri",
"description": "Markdown'ı destekleyen basit bir not defteri bileşeni", "description": "Markdown'ı destekleyen basit bir not defteri bileşeni",
@@ -1185,7 +1208,7 @@
"decreaseIndent": "Girintiyi Azalt", "decreaseIndent": "Girintiyi Azalt",
"link": "Bağlantı", "link": "Bağlantı",
"unlink": "Bağlantıyı kaldır", "unlink": "Bağlantıyı kaldır",
"image": "Görsel Göm", "image": "Görsel Yerleştir",
"addTable": "Tablo ekle", "addTable": "Tablo ekle",
"deleteTable": "Tablo Sil", "deleteTable": "Tablo Sil",
"colorCell": "Renk Hücresi", "colorCell": "Renk Hücresi",
@@ -1653,7 +1676,7 @@
"description": "Medya kod dönüştürmenizin istatistikleri, geçerli kuyruğu ve çalışan durumu", "description": "Medya kod dönüştürmenizin istatistikleri, geçerli kuyruğu ve çalışan durumu",
"option": { "option": {
"defaultView": { "defaultView": {
"label": "Öntanımlı görünüm" "label": "Varsayılan Görünüm"
}, },
"queuePageSize": { "queuePageSize": {
"label": "Kuyruk Sayfa Boyutu" "label": "Kuyruk Sayfa Boyutu"
@@ -2324,6 +2347,9 @@
"error": "Hata" "error": "Hata"
}, },
"job": { "job": {
"minecraftServerStatus": {
"label": "Minecraft sunucu durumu"
},
"iconsUpdater": { "iconsUpdater": {
"label": "Simge Güncelleme" "label": "Simge Güncelleme"
}, },
@@ -2424,10 +2450,10 @@
} }
}, },
"docker": { "docker": {
"title": "Konteyner", "title": "Konteynerler",
"table": { "table": {
"updated": "Güncellendi {when}", "updated": "{when} Güncellendi",
"search": "{count} konteyner ara", "search": "{count} konteyner içinde ara",
"selected": "{selectCount} / {totalCount} konteyner seçildi" "selected": "{selectCount} / {totalCount} konteyner seçildi"
}, },
"field": { "field": {
@@ -2441,7 +2467,7 @@
"running": "Çalışıyor", "running": "Çalışıyor",
"paused": "Duraklatıldı", "paused": "Duraklatıldı",
"restarting": "Yeniden Başlatılıyor", "restarting": "Yeniden Başlatılıyor",
"exited": "Çıkıldı", "exited": "Durduruldu",
"removing": "Kaldırılıyor", "removing": "Kaldırılıyor",
"dead": "Ölü" "dead": "Ölü"
} }
@@ -2722,6 +2748,11 @@
} }
} }
}, },
"media": {
"requestMovie": "Filmi Talep Et",
"requestSeries": "Diziyi Talep Et",
"openIn": "{kind} üzerinde göster"
},
"external": { "external": {
"help": "Harici bir arama motoru kullanın", "help": "Harici bir arama motoru kullanın",
"group": { "group": {
@@ -2737,7 +2768,7 @@
"title": "Arama yapmak istediğiniz terimleri girin" "title": "Arama yapmak istediğiniz terimleri girin"
}, },
"searchResults": { "searchResults": {
"title": "Eylemler için bir arama sonucu seçin" "title": "Etkileşime geçmek için bir sonuç seçin"
} }
}, },
"option": { "option": {
@@ -2962,6 +2993,22 @@
} }
} }
} }
},
"media": {
"request": {
"modal": {
"title": "Talep Et \"{name}\"",
"table": {
"header": {
"season": "Sezon",
"episodes": "Bölüm"
}
},
"button": {
"send": "Talep Gönder"
}
}
}
} }
} }
} }

View File

@@ -2,130 +2,130 @@
"init": { "init": {
"step": { "step": {
"start": { "start": {
"title": "", "title": "Ласкаво просимо до Homarr",
"subtitle": "", "subtitle": "Почнемо з налаштування вашого Homarr.",
"description": "", "description": "Щоб почати, будь ласка, виберіть спосіб налаштування Вашого Homarr.",
"action": { "action": {
"scratch": "", "scratch": "Почати з нуля",
"importOldmarr": "" "importOldmarr": "Імпорт з Homarr пре-1.0"
} }
}, },
"import": { "import": {
"title": "", "title": "Імпорт даних",
"subtitle": "", "subtitle": "Ви можете імпортувати дані з наявного екземпляра Homarr.",
"dropzone": { "dropzone": {
"title": "", "title": "Перетягніть zip-файл сюди або клікніть для пошуку",
"description": "" "description": "Завантажений zip буде оброблений і ви зможете вибрати що ви хочете імпортувати"
}, },
"fileInfo": { "fileInfo": {
"action": { "action": {
"change": "" "change": "Змінити файл"
} }
}, },
"importSettings": { "importSettings": {
"title": "", "title": "Імпортувати налаштування",
"description": "" "description": "Конфігурація імпорту"
}, },
"boardSelection": { "boardSelection": {
"title": "", "title": "Знайдено {count} дощок",
"description": "", "description": "Оберіть всі дошки з розміром які ви хочете імпортувати",
"action": { "action": {
"selectAll": "", "selectAll": "Вибрати все",
"unselectAll": "" "unselectAll": "Прибрати всі"
} }
}, },
"summary": { "summary": {
"title": "", "title": "Підсумок імпорту",
"description": "", "description": "У наведеному нижче розділі ви можете побачити, що буде імпортовано",
"action": { "action": {
"import": "" "import": "Підтвердить імпорт та продовжуйте"
}, },
"entities": { "entities": {
"apps": "Додатки", "apps": "Додатки",
"boards": "Дошки", "boards": "Дошки",
"integrations": "", "integrations": "Інтеграції",
"credentialUsers": "" "credentialUsers": "Облікові записи"
} }
}, },
"tokenModal": { "tokenModal": {
"title": "", "title": "Введіть токен імпорту",
"field": { "field": {
"token": { "token": {
"label": "Токен.", "label": "Токен.",
"description": "" "description": "Введіть показаний токен імпорту з вашого попереднього екземпляра homarr"
} }
}, },
"notification": { "notification": {
"error": { "error": {
"title": "", "title": "Невірний токен",
"message": "" "message": "Введений вами токен невірний"
} }
} }
} }
}, },
"user": { "user": {
"title": "", "title": "Адміністратор",
"subtitle": "", "subtitle": "Вкажіть облікові дані для вашого адміністратора.",
"notification": { "notification": {
"success": { "success": {
"title": "", "title": "Користувача створено",
"message": "" "message": "Користувача успішно створено"
}, },
"error": { "error": {
"title": "" "title": "Не вдалося створити користувача"
} }
} }
}, },
"group": { "group": {
"title": "", "title": "Зовнішня група",
"subtitle": "", "subtitle": "Вкажіть групу, яку слід використовувати для зовнішніх користувачів.",
"form": { "form": {
"name": { "name": {
"label": "", "label": "Назва групи",
"description": "" "description": "Ім'я має відповідати групі адміністраторів зовнішнього провайдера"
} }
} }
}, },
"settings": { "settings": {
"title": "Налаштування", "title": "Налаштування",
"subtitle": "" "subtitle": "Налаштування сервера."
}, },
"finish": { "finish": {
"title": "", "title": "Завершити налаштування",
"subtitle": "", "subtitle": "Все готово!",
"description": "", "description": "Ви завершили процес налаштування. Тепер ви можете почати використовувати Homarr. Виберіть наступну дію:",
"action": { "action": {
"goToBoard": "", "goToBoard": "Перейти на {name} дошку",
"createBoard": "", "createBoard": "Створіть свою першу дошку",
"inviteUser": "", "inviteUser": "Запросити інших користувачів",
"docs": "" "docs": "Ознайомитися з документацією"
} }
} }
}, },
"backToStart": "" "backToStart": "На початок"
}, },
"user": { "user": {
"title": "Користувачі", "title": "Користувачі",
"name": "Користувач", "name": "Користувач",
"page": { "page": {
"login": { "login": {
"title": "", "title": "Увійти до облікового запису",
"subtitle": "" "subtitle": "З поверненням! Будь ласка, введіть свої облікові дані"
}, },
"invite": { "invite": {
"title": "", "title": "Приєднатися до Homarr",
"subtitle": "", "subtitle": "Ласкаво просимо до Homarr! Створіть обліковий запис",
"description": "" "description": "Вас запросив {username}"
}, },
"init": { "init": {
"title": "", "title": "Нова інсталяція Homarr",
"subtitle": "" "subtitle": "Будь ласка, створіть користувача-адміністратора"
} }
}, },
"field": { "field": {
"email": { "email": {
"label": "Електронна пошта", "label": "Електронна пошта",
"verified": "" "verified": "Підтверджено"
}, },
"username": { "username": {
"label": "Логін" "label": "Логін"
@@ -133,46 +133,46 @@
"password": { "password": {
"label": "Пароль", "label": "Пароль",
"requirement": { "requirement": {
"length": "", "length": "Включає принаймні 8 символів",
"lowercase": "Включає малу літеру", "lowercase": "Включає малу літеру",
"uppercase": "Включає велику літеру", "uppercase": "Включає велику літеру",
"number": "Включає кількість", "number": "Включає кількість",
"special": "" "special": "Включає спеціальні символи"
} }
}, },
"passwordConfirm": { "passwordConfirm": {
"label": "Підтвердити пароль" "label": "Підтвердити пароль"
}, },
"previousPassword": { "previousPassword": {
"label": "" "label": "Старий пароль"
}, },
"homeBoard": { "homeBoard": {
"label": "" "label": "Домашня дошка"
}, },
"pingIconsEnabled": { "pingIconsEnabled": {
"label": "" "label": "Використовувати значки для ping"
} }
}, },
"error": { "error": {
"usernameTaken": "" "usernameTaken": "Це ім'я користувача вже зайнято"
}, },
"action": { "action": {
"login": { "login": {
"label": "Логін", "label": "Логін",
"labelWith": "", "labelWith": "Увійти через {provider}",
"notification": { "notification": {
"success": { "success": {
"title": "", "title": "Вхід успішний",
"message": "" "message": "Ви ввійшли в систему"
}, },
"error": { "error": {
"title": "", "title": "Не вдалося увійти",
"message": "" "message": "Помилка входу"
} }
}, },
"forgotPassword": { "forgotPassword": {
"label": "", "label": "Забули пароль?",
"description": "" "description": "Адміністратор може використовувати наступну команду для відновлення пароля:"
} }
}, },
"register": { "register": {
@@ -180,81 +180,81 @@
"notification": { "notification": {
"success": { "success": {
"title": "Обліковий запис створено", "title": "Обліковий запис створено",
"message": "" "message": "Увійдіть, щоб продовжити"
}, },
"error": { "error": {
"title": "", "title": "Не вдалося створити обліковий запис",
"message": "" "message": "Не вдалося створити ваш обліковий запис"
} }
} }
}, },
"create": "Створити користувача", "create": "Створити користувача",
"changePassword": { "changePassword": {
"label": "", "label": "Змінити пароль",
"notification": { "notification": {
"success": { "success": {
"message": "" "message": "Пароль змінено"
}, },
"error": { "error": {
"message": "" "message": "Не вдалося змінити пароль"
} }
} }
}, },
"changeHomeBoard": { "changeHomeBoard": {
"notification": { "notification": {
"success": { "success": {
"message": "" "message": "Домашню дошку змінено"
}, },
"error": { "error": {
"message": "" "message": "Не вдалося змінити домашню дошку"
} }
} }
}, },
"changeFirstDayOfWeek": { "changeFirstDayOfWeek": {
"notification": { "notification": {
"success": { "success": {
"message": "" "message": "Початок тижня успішно змінено"
}, },
"error": { "error": {
"message": "" "message": "Не вдається змінити перший день тижня"
} }
} }
}, },
"changePingIconsEnabled": { "changePingIconsEnabled": {
"notification": { "notification": {
"success": { "success": {
"message": "" "message": "Іконки ping перемкнуто успішно"
}, },
"error": { "error": {
"message": "" "message": "Не вдалося перемикнути ping-значки"
} }
} }
}, },
"manageAvatar": { "manageAvatar": {
"changeImage": { "changeImage": {
"label": "", "label": "Змінити зображення",
"notification": { "notification": {
"success": { "success": {
"message": "" "message": "Зображення змінено"
}, },
"error": { "error": {
"message": "" "message": "Не вдалося змінити зображення"
}, },
"toLarge": { "toLarge": {
"title": "", "title": "Зображення занадто велике",
"message": "" "message": "Максимальний розмір зображення {size}"
} }
} }
}, },
"removeImage": { "removeImage": {
"label": "", "label": "Видалити зображення",
"confirm": "", "confirm": "Ви впевнені, що хочете видалити зображення?",
"notification": { "notification": {
"success": { "success": {
"message": "" "message": "Зображення видалено"
}, },
"error": { "error": {
"message": "" "message": "Не вдалося видалити зображення"
} }
} }
} }
@@ -262,42 +262,42 @@
"editProfile": { "editProfile": {
"notification": { "notification": {
"success": { "success": {
"message": "" "message": "Профіль оновлено"
}, },
"error": { "error": {
"message": "" "message": "Не вдалося оновити профіль"
} }
} }
}, },
"delete": { "delete": {
"label": "", "label": "Видалити користувача назавжди",
"description": "", "description": "Видаляє цього користувача, включаючи його налаштування. Не буде видалено жодної дошки. Користувач не буде сповіщений.",
"confirm": "" "confirm": "Ви впевнені, що хочете видалити користувача {username} разом з налаштуваннями?"
}, },
"select": { "select": {
"label": "", "label": "Вибрати користувача",
"notFound": "" "notFound": "Користувача не знайдено"
}, },
"transfer": { "transfer": {
"label": "" "label": "Виберіть нового власника"
} }
} }
}, },
"group": { "group": {
"title": "", "title": "Групи",
"name": "", "name": "Група",
"search": "", "search": "Знайти групу",
"field": { "field": {
"name": "Ім’я", "name": "Ім’я",
"members": "" "members": "Учасники"
}, },
"permission": { "permission": {
"admin": { "admin": {
"title": "Адміністратор", "title": "Адміністратор",
"item": { "item": {
"admin": { "admin": {
"label": "", "label": "Адміністратор",
"description": "" "description": "Учасники з цим дозволом мають повний доступ до всіх функцій і налаштувань"
} }
} }
}, },
@@ -305,7 +305,7 @@
"title": "Додатки", "title": "Додатки",
"item": { "item": {
"create": { "create": {
"label": "", "label": "Створення додатків",
"description": "" "description": ""
}, },
"use-all": { "use-all": {
@@ -433,58 +433,58 @@
"confirm": "", "confirm": "",
"notification": { "notification": {
"success": { "success": {
"message": "" "message": "Група {group} перенесена до {user}"
}, },
"error": { "error": {
"message": "" "message": "Не вдалося передати право власності"
} }
} }
}, },
"addMember": { "addMember": {
"label": "" "label": "Додати учасника"
}, },
"removeMember": { "removeMember": {
"label": "", "label": "Видалити учасника",
"confirm": "" "confirm": "Ви впевнені, що хочете видалити {user} з цієї групи?"
}, },
"delete": { "delete": {
"label": "", "label": "Видалити групу",
"description": "", "description": "Як тільки ви видалите групу, то вже не зможете її відновити. Впевніться у своєму рішенні.",
"confirm": "", "confirm": "Ви дійсно бажаєте видалити групу {name}?",
"notification": { "notification": {
"success": { "success": {
"message": "" "message": "Групу {name} видалено"
}, },
"error": { "error": {
"message": "" "message": "Не вдалося видалити групу {name}"
} }
} }
}, },
"changePermissions": { "changePermissions": {
"notification": { "notification": {
"success": { "success": {
"title": "", "title": "Дозволи збережено",
"message": "" "message": "Дозволи збережено"
}, },
"error": { "error": {
"title": "", "title": "Дозволи не збережено",
"message": "" "message": "Дозволи не збережено"
} }
} }
}, },
"update": { "update": {
"notification": { "notification": {
"success": { "success": {
"message": "" "message": "Групу {name} збережено"
}, },
"error": { "error": {
"message": "" "message": "Не вдалося зберегти групу {name}"
} }
} }
}, },
"select": { "select": {
"label": "", "label": "Виберіть групу",
"notFound": "" "notFound": "Груп не знайдено"
} }
} }
}, },
@@ -493,47 +493,47 @@
"list": { "list": {
"title": "Додатки", "title": "Додатки",
"noResults": { "noResults": {
"title": "", "title": "Поки що немає додатків",
"action": "" "action": "Створити свій перший додаток"
} }
}, },
"create": { "create": {
"title": "", "title": "Новий додаток",
"notification": { "notification": {
"success": { "success": {
"title": "", "title": "Успішно",
"message": "" "message": "Додаток створено"
}, },
"error": { "error": {
"title": "", "title": "Не вдалося створити",
"message": "" "message": "Не вдалося створити додаток"
} }
} }
}, },
"edit": { "edit": {
"title": "", "title": "Редагувати додаток",
"notification": { "notification": {
"success": { "success": {
"title": "", "title": "Зміни застосовано",
"message": "" "message": "Додаток збережено"
}, },
"error": { "error": {
"title": "", "title": "Не вдалося застосувати зміни",
"message": "" "message": "Не вдалося зберегти додаток"
} }
} }
}, },
"delete": { "delete": {
"title": "", "title": "Видалити додаток",
"message": "", "message": "Ви дійсно бажаєте видалити додаток {name}?",
"notification": { "notification": {
"success": { "success": {
"title": "", "title": "Успішно видалено",
"message": "" "message": "Додаток видалено"
}, },
"error": { "error": {
"title": "", "title": "Не вдалося видалити",
"message": "" "message": "Неможливо видалити додаток"
} }
} }
} }
@@ -543,46 +543,46 @@
"label": "Ім’я" "label": "Ім’я"
}, },
"description": { "description": {
"label": "" "label": "Опис"
}, },
"url": { "url": {
"label": "" "label": "URL-адреса"
} }
}, },
"action": { "action": {
"select": { "select": {
"label": "", "label": "Оберіть додаток",
"notFound": "" "notFound": "Додатків не знайдено"
} }
} }
}, },
"integration": { "integration": {
"page": { "page": {
"list": { "list": {
"title": "", "title": "Інтеграції",
"search": "", "search": "Пошук інтеграцій",
"noResults": { "noResults": {
"title": "" "title": "Тут ще немає інтеграції"
} }
}, },
"create": { "create": {
"title": "", "title": "Нова інтеграція з {name}",
"notification": { "notification": {
"success": { "success": {
"title": "", "title": "Успішно створено",
"message": "" "message": "Інтеграцію створено"
}, },
"error": { "error": {
"title": "", "title": "Не вдалося створити",
"message": "" "message": "Не вдалося створити інтеграцію"
} }
} }
}, },
"edit": { "edit": {
"title": "", "title": "Редагування інтеграцію {name}",
"notification": { "notification": {
"success": { "success": {
"title": "", "title": "Зміни застосовано",
"message": "" "message": ""
}, },
"error": { "error": {
@@ -612,6 +612,10 @@
}, },
"url": { "url": {
"label": "" "label": ""
},
"attemptSearchEngineCreation": {
"label": "",
"description": ""
} }
}, },
"action": { "action": {
@@ -695,21 +699,21 @@
"lastUpdated": "", "lastUpdated": "",
"notSet": { "notSet": {
"label": "", "label": "",
"tooltip": "" "tooltip": "Обов’язковий ключ ще не був встановлений"
}, },
"secureNotice": "", "secureNotice": "Цей секрет неможливо буде побачити після створення",
"reset": { "reset": {
"title": "", "title": "Скинути секрет",
"message": "" "message": "Ви впевнені, що хочете скинути цей секрет?"
}, },
"noSecretsRequired": { "noSecretsRequired": {
"segmentTitle": "", "segmentTitle": "Немає секретів",
"text": "" "text": "Для цієї інтеграції не потрібні секрети"
}, },
"kind": { "kind": {
"username": { "username": {
"label": "Логін", "label": "Логін",
"newLabel": "" "newLabel": "Нове ім'я користувача"
}, },
"apiKey": { "apiKey": {
"label": "", "label": "",
@@ -1151,6 +1155,25 @@
} }
} }
}, },
"minecraftServerStatus": {
"name": "",
"description": "",
"option": {
"title": {
"label": ""
},
"domain": {
"label": ""
},
"isBedrockServer": {
"label": ""
}
},
"status": {
"online": "",
"offline": ""
}
},
"notebook": { "notebook": {
"name": "Блокнот", "name": "Блокнот",
"description": "", "description": "",
@@ -2324,6 +2347,9 @@
"error": "Помилка" "error": "Помилка"
}, },
"job": { "job": {
"minecraftServerStatus": {
"label": ""
},
"iconsUpdater": { "iconsUpdater": {
"label": "" "label": ""
}, },
@@ -2722,6 +2748,11 @@
} }
} }
}, },
"media": {
"requestMovie": "",
"requestSeries": "",
"openIn": ""
},
"external": { "external": {
"help": "", "help": "",
"group": { "group": {
@@ -2962,6 +2993,22 @@
} }
} }
} }
},
"media": {
"request": {
"modal": {
"title": "",
"table": {
"header": {
"season": "",
"episodes": ""
}
},
"button": {
"send": ""
}
}
}
} }
} }
} }

View File

@@ -612,6 +612,10 @@
}, },
"url": { "url": {
"label": "" "label": ""
},
"attemptSearchEngineCreation": {
"label": "",
"description": ""
} }
}, },
"action": { "action": {
@@ -1151,6 +1155,25 @@
} }
} }
}, },
"minecraftServerStatus": {
"name": "",
"description": "",
"option": {
"title": {
"label": ""
},
"domain": {
"label": ""
},
"isBedrockServer": {
"label": ""
}
},
"status": {
"online": "",
"offline": ""
}
},
"notebook": { "notebook": {
"name": "Ghi chú", "name": "Ghi chú",
"description": "", "description": "",
@@ -2324,6 +2347,9 @@
"error": "Lỗi" "error": "Lỗi"
}, },
"job": { "job": {
"minecraftServerStatus": {
"label": ""
},
"iconsUpdater": { "iconsUpdater": {
"label": "" "label": ""
}, },
@@ -2722,6 +2748,11 @@
} }
} }
}, },
"media": {
"requestMovie": "",
"requestSeries": "",
"openIn": ""
},
"external": { "external": {
"help": "", "help": "",
"group": { "group": {
@@ -2962,6 +2993,22 @@
} }
} }
} }
},
"media": {
"request": {
"modal": {
"title": "",
"table": {
"header": {
"season": "",
"episodes": ""
}
},
"button": {
"send": ""
}
}
}
} }
} }
} }

View File

@@ -612,6 +612,10 @@
}, },
"url": { "url": {
"label": "" "label": ""
},
"attemptSearchEngineCreation": {
"label": "",
"description": ""
} }
}, },
"action": { "action": {
@@ -1151,6 +1155,25 @@
} }
} }
}, },
"minecraftServerStatus": {
"name": "",
"description": "",
"option": {
"title": {
"label": ""
},
"domain": {
"label": ""
},
"isBedrockServer": {
"label": ""
}
},
"status": {
"online": "",
"offline": ""
}
},
"notebook": { "notebook": {
"name": "", "name": "",
"description": "", "description": "",
@@ -2324,6 +2347,9 @@
"error": "" "error": ""
}, },
"job": { "job": {
"minecraftServerStatus": {
"label": ""
},
"iconsUpdater": { "iconsUpdater": {
"label": "" "label": ""
}, },
@@ -2722,6 +2748,11 @@
} }
} }
}, },
"media": {
"requestMovie": "",
"requestSeries": "",
"openIn": ""
},
"external": { "external": {
"help": "", "help": "",
"group": { "group": {
@@ -2962,6 +2993,22 @@
} }
} }
} }
},
"media": {
"request": {
"modal": {
"title": "",
"table": {
"header": {
"season": "",
"episodes": ""
}
},
"button": {
"send": ""
}
}
}
} }
} }
} }

View File

@@ -26,7 +26,7 @@
"@homarr/definitions": "workspace:^0.1.0", "@homarr/definitions": "workspace:^0.1.0",
"@homarr/translation": "workspace:^0.1.0", "@homarr/translation": "workspace:^0.1.0",
"zod": "^3.24.1", "zod": "^3.24.1",
"zod-form-data": "^2.0.4" "zod-form-data": "^2.0.5"
}, },
"devDependencies": { "devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0", "@homarr/eslint-config": "workspace:^0.2.0",

356
pnpm-lock.yaml generated
View File

@@ -18,28 +18,28 @@ importers:
version: link:tooling/prettier version: link:tooling/prettier
'@semantic-release/changelog': '@semantic-release/changelog':
specifier: ^6.0.3 specifier: ^6.0.3
version: 6.0.3(semantic-release@24.2.0(typescript@5.7.2)) version: 6.0.3(semantic-release@24.2.1(typescript@5.7.2))
'@semantic-release/commit-analyzer': '@semantic-release/commit-analyzer':
specifier: ^13.0.0 specifier: ^13.0.1
version: 13.0.0(semantic-release@24.2.0(typescript@5.7.2)) version: 13.0.1(semantic-release@24.2.1(typescript@5.7.2))
'@semantic-release/git': '@semantic-release/git':
specifier: ^10.0.1 specifier: ^10.0.1
version: 10.0.1(semantic-release@24.2.0(typescript@5.7.2)) version: 10.0.1(semantic-release@24.2.1(typescript@5.7.2))
'@semantic-release/github': '@semantic-release/github':
specifier: ^11.0.1 specifier: ^11.0.1
version: 11.0.1(semantic-release@24.2.0(typescript@5.7.2)) version: 11.0.1(semantic-release@24.2.1(typescript@5.7.2))
'@semantic-release/npm': '@semantic-release/npm':
specifier: ^12.0.1 specifier: ^12.0.1
version: 12.0.1(semantic-release@24.2.0(typescript@5.7.2)) version: 12.0.1(semantic-release@24.2.1(typescript@5.7.2))
'@semantic-release/release-notes-generator': '@semantic-release/release-notes-generator':
specifier: ^14.0.2 specifier: ^14.0.3
version: 14.0.2(semantic-release@24.2.0(typescript@5.7.2)) version: 14.0.3(semantic-release@24.2.1(typescript@5.7.2))
'@turbo/gen': '@turbo/gen':
specifier: ^2.3.3 specifier: ^2.3.3
version: 2.3.3(@types/node@22.10.2)(typescript@5.7.2) version: 2.3.3(@types/node@22.10.5)(typescript@5.7.2)
'@vitejs/plugin-react': '@vitejs/plugin-react':
specifier: ^4.3.4 specifier: ^4.3.4
version: 4.3.4(vite@5.4.5(@types/node@22.10.2)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0)) version: 4.3.4(vite@5.4.5(@types/node@22.10.5)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0))
'@vitest/coverage-v8': '@vitest/coverage-v8':
specifier: ^2.1.8 specifier: ^2.1.8
version: 2.1.8(vitest@2.1.8) version: 2.1.8(vitest@2.1.8)
@@ -59,8 +59,8 @@ importers:
specifier: ^3.4.2 specifier: ^3.4.2
version: 3.4.2 version: 3.4.2
semantic-release: semantic-release:
specifier: ^24.2.0 specifier: ^24.2.1
version: 24.2.0(typescript@5.7.2) version: 24.2.1(typescript@5.7.2)
testcontainers: testcontainers:
specifier: ^10.16.0 specifier: ^10.16.0
version: 10.16.0 version: 10.16.0
@@ -72,10 +72,10 @@ importers:
version: 5.7.2 version: 5.7.2
vite-tsconfig-paths: vite-tsconfig-paths:
specifier: ^5.1.4 specifier: ^5.1.4
version: 5.1.4(typescript@5.7.2)(vite@5.4.5(@types/node@22.10.2)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0)) version: 5.1.4(typescript@5.7.2)(vite@5.4.5(@types/node@22.10.5)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0))
vitest: vitest:
specifier: ^2.1.8 specifier: ^2.1.8
version: 2.1.8(@types/node@22.10.2)(@vitest/ui@2.1.8)(jsdom@25.0.1)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0) version: 2.1.8(@types/node@22.10.5)(@vitest/ui@2.1.8)(jsdom@25.0.1)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0)
apps/nextjs: apps/nextjs:
dependencies: dependencies:
@@ -176,23 +176,23 @@ importers:
specifier: ^3.26.0 specifier: ^3.26.0
version: 3.26.0(react@19.0.0) version: 3.26.0(react@19.0.0)
'@tanstack/react-query': '@tanstack/react-query':
specifier: ^5.62.11 specifier: ^5.62.12
version: 5.62.11(react@19.0.0) version: 5.62.12(react@19.0.0)
'@tanstack/react-query-devtools': '@tanstack/react-query-devtools':
specifier: ^5.62.11 specifier: ^5.62.12
version: 5.62.11(@tanstack/react-query@5.62.11(react@19.0.0))(react@19.0.0) version: 5.62.12(@tanstack/react-query@5.62.12(react@19.0.0))(react@19.0.0)
'@tanstack/react-query-next-experimental': '@tanstack/react-query-next-experimental':
specifier: 5.62.11 specifier: 5.62.12
version: 5.62.11(@tanstack/react-query@5.62.11(react@19.0.0))(next@14.2.22(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0))(react@19.0.0) version: 5.62.12(@tanstack/react-query@5.62.12(react@19.0.0))(next@14.2.22(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0))(react@19.0.0)
'@trpc/client': '@trpc/client':
specifier: next specifier: next
version: 11.0.0-rc.682(@trpc/server@11.0.0-rc.682(typescript@5.7.2))(typescript@5.7.2) version: 11.0.0-rc.682(@trpc/server@11.0.0-rc.682(typescript@5.7.2))(typescript@5.7.2)
'@trpc/next': '@trpc/next':
specifier: next specifier: next
version: 11.0.0-rc.682(@tanstack/react-query@5.62.11(react@19.0.0))(@trpc/client@11.0.0-rc.682(@trpc/server@11.0.0-rc.682(typescript@5.7.2))(typescript@5.7.2))(@trpc/react-query@11.0.0-rc.682(@tanstack/react-query@5.62.11(react@19.0.0))(@trpc/client@11.0.0-rc.682(@trpc/server@11.0.0-rc.682(typescript@5.7.2))(typescript@5.7.2))(@trpc/server@11.0.0-rc.682(typescript@5.7.2))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.2))(@trpc/server@11.0.0-rc.682(typescript@5.7.2))(next@14.2.22(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.2) version: 11.0.0-rc.682(@tanstack/react-query@5.62.12(react@19.0.0))(@trpc/client@11.0.0-rc.682(@trpc/server@11.0.0-rc.682(typescript@5.7.2))(typescript@5.7.2))(@trpc/react-query@11.0.0-rc.682(@tanstack/react-query@5.62.12(react@19.0.0))(@trpc/client@11.0.0-rc.682(@trpc/server@11.0.0-rc.682(typescript@5.7.2))(typescript@5.7.2))(@trpc/server@11.0.0-rc.682(typescript@5.7.2))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.2))(@trpc/server@11.0.0-rc.682(typescript@5.7.2))(next@14.2.22(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.2)
'@trpc/react-query': '@trpc/react-query':
specifier: next specifier: next
version: 11.0.0-rc.682(@tanstack/react-query@5.62.11(react@19.0.0))(@trpc/client@11.0.0-rc.682(@trpc/server@11.0.0-rc.682(typescript@5.7.2))(typescript@5.7.2))(@trpc/server@11.0.0-rc.682(typescript@5.7.2))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.2) version: 11.0.0-rc.682(@tanstack/react-query@5.62.12(react@19.0.0))(@trpc/client@11.0.0-rc.682(@trpc/server@11.0.0-rc.682(typescript@5.7.2))(typescript@5.7.2))(@trpc/server@11.0.0-rc.682(typescript@5.7.2))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.2)
'@trpc/server': '@trpc/server':
specifier: next specifier: next
version: 11.0.0-rc.682(typescript@5.7.2) version: 11.0.0-rc.682(typescript@5.7.2)
@@ -231,7 +231,7 @@ importers:
version: 2.0.0-beta.7(@mantine/core@7.15.2(@mantine/hooks@7.15.2(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/dates@7.15.2(@mantine/core@7.15.2(@mantine/hooks@7.15.2(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.2(react@19.0.0))(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.2(react@19.0.0))(@tabler/icons-react@3.26.0(react@19.0.0))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) version: 2.0.0-beta.7(@mantine/core@7.15.2(@mantine/hooks@7.15.2(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/dates@7.15.2(@mantine/core@7.15.2(@mantine/hooks@7.15.2(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.2(react@19.0.0))(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.2(react@19.0.0))(@tabler/icons-react@3.26.0(react@19.0.0))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
next: next:
specifier: ^14.2.22 specifier: ^14.2.22
version: 14.2.22(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) version: 14.2.22(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0)
postcss-preset-mantine: postcss-preset-mantine:
specifier: ^1.17.0 specifier: ^1.17.0
version: 1.17.0(postcss@8.4.47) version: 1.17.0(postcss@8.4.47)
@@ -276,8 +276,8 @@ importers:
specifier: 2.4.5 specifier: 2.4.5
version: 2.4.5 version: 2.4.5
'@types/node': '@types/node':
specifier: ^22.10.2 specifier: ^22.10.5
version: 22.10.2 version: 22.10.5
'@types/prismjs': '@types/prismjs':
specifier: ^1.26.5 specifier: ^1.26.5
version: 1.26.5 version: 1.26.5
@@ -376,8 +376,8 @@ importers:
specifier: workspace:^0.1.0 specifier: workspace:^0.1.0
version: link:../../tooling/typescript version: link:../../tooling/typescript
'@types/node': '@types/node':
specifier: ^22.10.2 specifier: ^22.10.5
version: 22.10.2 version: 22.10.5
dotenv-cli: dotenv-cli:
specifier: ^8.0.0 specifier: ^8.0.0
version: 8.0.0 version: 8.0.0
@@ -544,7 +544,7 @@ importers:
version: 11.0.0-rc.682(@trpc/server@11.0.0-rc.682(typescript@5.7.2))(typescript@5.7.2) version: 11.0.0-rc.682(@trpc/server@11.0.0-rc.682(typescript@5.7.2))(typescript@5.7.2)
'@trpc/react-query': '@trpc/react-query':
specifier: next specifier: next
version: 11.0.0-rc.682(@tanstack/react-query@5.62.11(react@19.0.0))(@trpc/client@11.0.0-rc.682(@trpc/server@11.0.0-rc.682(typescript@5.7.2))(typescript@5.7.2))(@trpc/server@11.0.0-rc.682(typescript@5.7.2))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.2) version: 11.0.0-rc.682(@tanstack/react-query@5.62.12(react@19.0.0))(@trpc/client@11.0.0-rc.682(@trpc/server@11.0.0-rc.682(typescript@5.7.2))(typescript@5.7.2))(@trpc/server@11.0.0-rc.682(typescript@5.7.2))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.2)
'@trpc/server': '@trpc/server':
specifier: next specifier: next
version: 11.0.0-rc.682(typescript@5.7.2) version: 11.0.0-rc.682(typescript@5.7.2)
@@ -556,7 +556,7 @@ importers:
version: 4.5.0 version: 4.5.0
next: next:
specifier: ^14.2.22 specifier: ^14.2.22
version: 14.2.22(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) version: 14.2.22(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0)
react: react:
specifier: ^19.0.0 specifier: ^19.0.0
version: 19.0.0 version: 19.0.0
@@ -577,8 +577,8 @@ importers:
specifier: workspace:^0.1.0 specifier: workspace:^0.1.0
version: link:../../tooling/typescript version: link:../../tooling/typescript
'@types/dockerode': '@types/dockerode':
specifier: ^3.3.32 specifier: ^3.3.33
version: 3.3.32 version: 3.3.33
eslint: eslint:
specifier: ^9.17.0 specifier: ^9.17.0
version: 9.17.0 version: 9.17.0
@@ -626,10 +626,10 @@ importers:
version: 7.3.0 version: 7.3.0
next: next:
specifier: ^14.2.22 specifier: ^14.2.22
version: 14.2.22(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) version: 14.2.22(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0)
next-auth: next-auth:
specifier: 5.0.0-beta.25 specifier: 5.0.0-beta.25
version: 5.0.0-beta.25(next@14.2.22(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0))(react@19.0.0) version: 5.0.0-beta.25(next@14.2.22(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0))(react@19.0.0)
react: react:
specifier: ^19.0.0 specifier: ^19.0.0
version: 19.0.0 version: 19.0.0
@@ -706,7 +706,7 @@ importers:
version: 1.11.13 version: 1.11.13
next: next:
specifier: ^14.2.22 specifier: ^14.2.22
version: 14.2.22(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) version: 14.2.22(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0)
react: react:
specifier: ^19.0.0 specifier: ^19.0.0
version: 19.0.0 version: 19.0.0
@@ -1195,7 +1195,7 @@ importers:
version: 1.11.13 version: 1.11.13
next: next:
specifier: ^14.2.22 specifier: ^14.2.22
version: 14.2.22(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) version: 14.2.22(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0)
react: react:
specifier: ^19.0.0 specifier: ^19.0.0
version: 19.0.0 version: 19.0.0
@@ -1290,7 +1290,7 @@ importers:
version: 0.5.16 version: 0.5.16
next: next:
specifier: ^14.2.22 specifier: ^14.2.22
version: 14.2.22(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) version: 14.2.22(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0)
react: react:
specifier: ^19.0.0 specifier: ^19.0.0
version: 19.0.0 version: 19.0.0
@@ -1301,8 +1301,8 @@ importers:
specifier: ^3.24.1 specifier: ^3.24.1
version: 3.24.1 version: 3.24.1
zod-form-data: zod-form-data:
specifier: ^2.0.4 specifier: ^2.0.5
version: 2.0.4(@rvf/set-get@7.0.0)(zod@3.24.1) version: 2.0.5(zod@3.24.1)
devDependencies: devDependencies:
'@homarr/eslint-config': '@homarr/eslint-config':
specifier: workspace:^0.2.0 specifier: workspace:^0.2.0
@@ -1530,7 +1530,7 @@ importers:
version: 2.11.0(@types/react@18.3.13)(react@19.0.0) version: 2.11.0(@types/react@18.3.13)(react@19.0.0)
next: next:
specifier: ^14.2.22 specifier: ^14.2.22
version: 14.2.22(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) version: 14.2.22(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0)
react: react:
specifier: ^19.0.0 specifier: ^19.0.0
version: 19.0.0 version: 19.0.0
@@ -1573,10 +1573,10 @@ importers:
version: 2.0.0-beta.7(@mantine/core@7.15.2(@mantine/hooks@7.15.2(react@19.0.0))(@types/react@18.3.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/dates@7.15.2(@mantine/core@7.15.2(@mantine/hooks@7.15.2(react@19.0.0))(@types/react@18.3.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.2(react@19.0.0))(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.2(react@19.0.0))(@tabler/icons-react@3.26.0(react@19.0.0))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) version: 2.0.0-beta.7(@mantine/core@7.15.2(@mantine/hooks@7.15.2(react@19.0.0))(@types/react@18.3.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/dates@7.15.2(@mantine/core@7.15.2(@mantine/hooks@7.15.2(react@19.0.0))(@types/react@18.3.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.2(react@19.0.0))(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.2(react@19.0.0))(@tabler/icons-react@3.26.0(react@19.0.0))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
next: next:
specifier: ^14.2.22 specifier: ^14.2.22
version: 14.2.22(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) version: 14.2.22(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0)
next-intl: next-intl:
specifier: 3.26.3 specifier: 3.26.3
version: 3.26.3(next@14.2.22(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0))(react@19.0.0) version: 3.26.3(next@14.2.22(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0))(react@19.0.0)
react: react:
specifier: ^19.0.0 specifier: ^19.0.0
version: 19.0.0 version: 19.0.0
@@ -1631,7 +1631,7 @@ importers:
version: 2.0.0-beta.7(@mantine/core@7.15.2(@mantine/hooks@7.15.2(react@19.0.0))(@types/react@18.3.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/dates@7.15.2(@mantine/core@7.15.2(@mantine/hooks@7.15.2(react@19.0.0))(@types/react@18.3.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.2(react@19.0.0))(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.2(react@19.0.0))(@tabler/icons-react@3.26.0(react@19.0.0))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) version: 2.0.0-beta.7(@mantine/core@7.15.2(@mantine/hooks@7.15.2(react@19.0.0))(@types/react@18.3.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/dates@7.15.2(@mantine/core@7.15.2(@mantine/hooks@7.15.2(react@19.0.0))(@types/react@18.3.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.2(react@19.0.0))(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.2(react@19.0.0))(@tabler/icons-react@3.26.0(react@19.0.0))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
next: next:
specifier: ^14.2.22 specifier: ^14.2.22
version: 14.2.22(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) version: 14.2.22(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0)
react: react:
specifier: ^19.0.0 specifier: ^19.0.0
version: 19.0.0 version: 19.0.0
@@ -1667,8 +1667,8 @@ importers:
specifier: ^3.24.1 specifier: ^3.24.1
version: 3.24.1 version: 3.24.1
zod-form-data: zod-form-data:
specifier: ^2.0.4 specifier: ^2.0.5
version: 2.0.4(@rvf/set-get@7.0.0)(zod@3.24.1) version: 2.0.5(zod@3.24.1)
devDependencies: devDependencies:
'@homarr/eslint-config': '@homarr/eslint-config':
specifier: workspace:^0.2.0 specifier: workspace:^0.2.0
@@ -1804,7 +1804,7 @@ importers:
version: 2.0.0-beta.7(@mantine/core@7.15.2(@mantine/hooks@7.15.2(react@19.0.0))(@types/react@18.3.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/dates@7.15.2(@mantine/core@7.15.2(@mantine/hooks@7.15.2(react@19.0.0))(@types/react@18.3.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.2(react@19.0.0))(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.2(react@19.0.0))(@tabler/icons-react@3.26.0(react@19.0.0))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) version: 2.0.0-beta.7(@mantine/core@7.15.2(@mantine/hooks@7.15.2(react@19.0.0))(@types/react@18.3.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/dates@7.15.2(@mantine/core@7.15.2(@mantine/hooks@7.15.2(react@19.0.0))(@types/react@18.3.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.2(react@19.0.0))(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.2(react@19.0.0))(@tabler/icons-react@3.26.0(react@19.0.0))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
next: next:
specifier: ^14.2.22 specifier: ^14.2.22
version: 14.2.22(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) version: 14.2.22(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0)
react: react:
specifier: ^19.0.0 specifier: ^19.0.0
version: 19.0.0 version: 19.0.0
@@ -3341,6 +3341,11 @@ packages:
resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==}
engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
'@playwright/test@1.49.1':
resolution: {integrity: sha512-Ky+BVzPz8pL6PQxHqNRW1k3mIyv933LML7HktS8uik0bUXNCdPhoS/kLihiO1tMf/egaJb4IutXd7UywvXEW+g==}
engines: {node: '>=18'}
hasBin: true
'@pnpm/config.env-replace@1.1.0': '@pnpm/config.env-replace@1.1.0':
resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==}
engines: {node: '>=12.22.0'} engines: {node: '>=12.22.0'}
@@ -3462,9 +3467,6 @@ packages:
'@rtsao/scc@1.1.0': '@rtsao/scc@1.1.0':
resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==}
'@rvf/set-get@7.0.0':
resolution: {integrity: sha512-mseFkwanF/heWzO2Eey741P4m+Fovl9GWwa7Bfgw4YW2E7dcA6d7KAYl012rTGdW4L9KP5GOSA48CkEA1mC2eg==}
'@scarf/scarf@1.4.0': '@scarf/scarf@1.4.0':
resolution: {integrity: sha512-xxeapPiUXdZAE3che6f3xogoJPeZgig6omHEy1rIY5WVsB3H2BHNnZH+gHG6x91SCWyQCzWGsuL2Hh3ClO5/qQ==} resolution: {integrity: sha512-xxeapPiUXdZAE3che6f3xogoJPeZgig6omHEy1rIY5WVsB3H2BHNnZH+gHG6x91SCWyQCzWGsuL2Hh3ClO5/qQ==}
@@ -3477,8 +3479,8 @@ packages:
peerDependencies: peerDependencies:
semantic-release: '>=18.0.0' semantic-release: '>=18.0.0'
'@semantic-release/commit-analyzer@13.0.0': '@semantic-release/commit-analyzer@13.0.1':
resolution: {integrity: sha512-KtXWczvTAB1ZFZ6B4O+w8HkfYm/OgQb1dUGNFZtDgQ0csggrmkq8sTxhd+lwGF8kMb59/RnG9o4Tn7M/I8dQ9Q==} resolution: {integrity: sha512-wdnBPHKkr9HhNhXOhZD5a2LNl91+hs8CC2vsAVYxtZH3y0dV3wKn+uZSN61rdJQZ8EGxzWB3inWocBHV9+u/CQ==}
engines: {node: '>=20.8.1'} engines: {node: '>=20.8.1'}
peerDependencies: peerDependencies:
semantic-release: '>=20.1.0' semantic-release: '>=20.1.0'
@@ -3509,8 +3511,8 @@ packages:
peerDependencies: peerDependencies:
semantic-release: '>=20.1.0' semantic-release: '>=20.1.0'
'@semantic-release/release-notes-generator@14.0.2': '@semantic-release/release-notes-generator@14.0.3':
resolution: {integrity: sha512-ur2l2tVLBfX3fSEO2rCy2X6Kzg5S7BHGqdwTHvJrpWp4mOEN7W4K/2kWAjvfAlwMenEKjMnDIhBbxxjnP0S9hw==} resolution: {integrity: sha512-XxAZRPWGwO5JwJtS83bRdoIhCiYIx8Vhr+u231pQAsdFIAbm19rSVJLdnBN+Avvk7CKvNQE/nJ4y7uqKH6WTiw==}
engines: {node: '>=20.8.1'} engines: {node: '>=20.8.1'}
peerDependencies: peerDependencies:
semantic-release: '>=20.1.0' semantic-release: '>=20.1.0'
@@ -3650,27 +3652,27 @@ packages:
resolution: {integrity: sha512-Wo1iKt2b9OT7d+YGhvEPD3DXvPv2etTusIMhMUoG7fbhmxcXCtIjJDEygy91Y2JFlwGyjqiBPRozme7UD8hoqg==} resolution: {integrity: sha512-Wo1iKt2b9OT7d+YGhvEPD3DXvPv2etTusIMhMUoG7fbhmxcXCtIjJDEygy91Y2JFlwGyjqiBPRozme7UD8hoqg==}
engines: {node: '>=12'} engines: {node: '>=12'}
'@tanstack/query-core@5.62.9': '@tanstack/query-core@5.62.12':
resolution: {integrity: sha512-lwePd8hNYhyQ4nM/iRQ+Wz2cDtspGeZZHFZmCzHJ7mfKXt+9S301fULiY2IR2byJYY6Z03T427E5PoVfMexHjw==} resolution: {integrity: sha512-6igFeBgymHkCxVgaEk+yiLwkMf9haui/EQLmI3o9CatOyDThEoFKe8toLWvWliZC/Jf+h7NwHi/zjfyLArr1ow==}
'@tanstack/query-devtools@5.62.9': '@tanstack/query-devtools@5.62.9':
resolution: {integrity: sha512-b1NZzDLVf6laJsB1Cfm3ieuYzM+WqoO8qpm9v+3Etwd+Ph4zkhUMiT+wcWj5AhEPsXiRodKYiiW048VDNdBxNg==} resolution: {integrity: sha512-b1NZzDLVf6laJsB1Cfm3ieuYzM+WqoO8qpm9v+3Etwd+Ph4zkhUMiT+wcWj5AhEPsXiRodKYiiW048VDNdBxNg==}
'@tanstack/react-query-devtools@5.62.11': '@tanstack/react-query-devtools@5.62.12':
resolution: {integrity: sha512-i0vKgdM4ORRzqduz7UeUF52UhLrvRp4sNY/DnLsd5NqNyiKct3a0bLQMWE2fqjF5tEExQ0d0xY60ILXW/T62xA==} resolution: {integrity: sha512-UvkqYOplVRn6D5wMC14XHu1MCJC0ssi3FJuiQW1iSYA4cxh4GD/cy8ScMCEOtcY7j2JCFw2d3grSWxT4c66cdg==}
peerDependencies: peerDependencies:
'@tanstack/react-query': ^5.62.11 '@tanstack/react-query': ^5.62.12
react: ^18 || ^19 react: ^18 || ^19
'@tanstack/react-query-next-experimental@5.62.11': '@tanstack/react-query-next-experimental@5.62.12':
resolution: {integrity: sha512-8mSweAv3Vzs/FW2O7xFDvanoRz/MF7WhBxwZ79Qv0lxPTTYsoFQxdFm6mH7j5u1q2Wf2Y+09S75hJvpJDuu6VQ==} resolution: {integrity: sha512-6otw/+R4pm6OBnf6mO6Icw37ViNS4Sc7RuzHWIr8z7J9tBwt3xZKD2HPDXs3AbzJCY9s4bJAOsCzhUPwQO1SiA==}
peerDependencies: peerDependencies:
'@tanstack/react-query': ^5.62.11 '@tanstack/react-query': ^5.62.12
next: ^13 || ^14 || ^15 next: ^13 || ^14 || ^15
react: ^18 || ^19 react: ^18 || ^19
'@tanstack/react-query@5.62.11': '@tanstack/react-query@5.62.12':
resolution: {integrity: sha512-Xb1nw0cYMdtFmwkvH9+y5yYFhXvLRCnXoqlzSw7UkqtCVFq3cG8q+rHZ2Yz1XrC+/ysUaTqbLKJqk95mCgC1oQ==} resolution: {integrity: sha512-yt8p7l5MlHA3QCt6xF1Cu9dw1Anf93yTK+DMDJQ64h/mshAymVAtcwj8TpsyyBrZNWAAZvza/m76bnTSR79ZtQ==}
peerDependencies: peerDependencies:
react: ^18 || ^19 react: ^18 || ^19
@@ -4013,8 +4015,8 @@ packages:
'@types/docker-modem@3.0.6': '@types/docker-modem@3.0.6':
resolution: {integrity: sha512-yKpAGEuKRSS8wwx0joknWxsmLha78wNMe9R2S3UNsVOkZded8UqOrV8KoeDXoXsjndxwyF3eIhyClGbO1SEhEg==} resolution: {integrity: sha512-yKpAGEuKRSS8wwx0joknWxsmLha78wNMe9R2S3UNsVOkZded8UqOrV8KoeDXoXsjndxwyF3eIhyClGbO1SEhEg==}
'@types/dockerode@3.3.32': '@types/dockerode@3.3.33':
resolution: {integrity: sha512-xxcG0g5AWKtNyh7I7wswLdFvym4Mlqks5ZlKzxEUrGHS0r0PUOfxm2T0mspwu10mHQqu3Ck3MI3V2HqvLWE1fg==} resolution: {integrity: sha512-7av8lVOhkW7Xd11aZTSq5zhdpyNraldXwQR0pxUCiSNTvIzsP86KrFrmrZgxtrXD2Zrtzwt4H6OYLbATONWzWg==}
'@types/estree@1.0.5': '@types/estree@1.0.5':
resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
@@ -4070,8 +4072,8 @@ packages:
'@types/node@18.19.50': '@types/node@18.19.50':
resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==}
'@types/node@22.10.2': '@types/node@22.10.5':
resolution: {integrity: sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==} resolution: {integrity: sha512-F8Q+SeGimwOo86fiovQh8qiXfFEh2/ocYv7tU5pJ3EXMSSxk1Joj5wefpFK2fHTf/N6HKGSxIDBT9f3gCxXPkQ==}
'@types/normalize-package-data@2.4.4': '@types/normalize-package-data@2.4.4':
resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==}
@@ -6207,9 +6209,9 @@ packages:
resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
engines: {node: '>=6'} engines: {node: '>=6'}
import-from-esm@1.3.4: import-from-esm@2.0.0:
resolution: {integrity: sha512-7EyUlPFC0HOlBDpUFGfYstsU7XHxZJKAAMzCT8wZ0hMW7b+hG51LIKTDcsgtz8Pu6YC0HqRVbX+rVUtsGMUKvg==} resolution: {integrity: sha512-YVt14UZCgsX1vZQ3gKjkWVdBdHQ6eu3MPU1TBgL1H5orXe2+jWD006WCPPtOuwlQm10NuzOW5WawiF1Q9veW8g==}
engines: {node: '>=16.20'} engines: {node: '>=18.20'}
import-lazy@2.1.0: import-lazy@2.1.0:
resolution: {integrity: sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==} resolution: {integrity: sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==}
@@ -7580,11 +7582,21 @@ packages:
engines: {node: '>=18'} engines: {node: '>=18'}
hasBin: true hasBin: true
playwright-core@1.49.1:
resolution: {integrity: sha512-BzmpVcs4kE2CH15rWfzpjzVGhWERJfmnXmniSyKeRZUs9Ws65m+RGIi7mjJK/euCegfn3i7jvqWeWyHe9y3Vgg==}
engines: {node: '>=18'}
hasBin: true
playwright@1.49.0: playwright@1.49.0:
resolution: {integrity: sha512-eKpmys0UFDnfNb3vfsf8Vx2LEOtflgRebl0Im2eQQnYMA4Aqd+Zw8bEOB+7ZKvN76901mRnqdsiOGKxzVTbi7A==} resolution: {integrity: sha512-eKpmys0UFDnfNb3vfsf8Vx2LEOtflgRebl0Im2eQQnYMA4Aqd+Zw8bEOB+7ZKvN76901mRnqdsiOGKxzVTbi7A==}
engines: {node: '>=18'} engines: {node: '>=18'}
hasBin: true hasBin: true
playwright@1.49.1:
resolution: {integrity: sha512-VYL8zLoNTBxVOrJBbDuRgDWa3i+mfQgDTrL8Ah9QXZ7ax4Dsj0MSq5bYgytRnDVVe+njoKnfsYkH3HzqVj5UZA==}
engines: {node: '>=18'}
hasBin: true
possible-typed-array-names@1.0.0: possible-typed-array-names@1.0.0:
resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
@@ -8198,8 +8210,8 @@ packages:
resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==}
engines: {node: '>= 10.13.0'} engines: {node: '>= 10.13.0'}
semantic-release@24.2.0: semantic-release@24.2.1:
resolution: {integrity: sha512-fQfn6e/aYToRtVJYKqneFM1Rg3KP2gh3wSWtpYsLlz6uaPKlISrTzvYAFn+mYWo07F0X1Cz5ucU89AVE8X1mbg==} resolution: {integrity: sha512-z0/3cutKNkLQ4Oy0HTi3lubnjTsdjjgOqmxdPjeYWe6lhFqUPfwslZxRHv3HDZlN4MhnZitb9SLihDkZNxOXfQ==}
engines: {node: '>=20.8.1'} engines: {node: '>=20.8.1'}
hasBin: true hasBin: true
@@ -9516,10 +9528,9 @@ packages:
resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==} resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==}
engines: {node: '>= 14'} engines: {node: '>= 14'}
zod-form-data@2.0.4: zod-form-data@2.0.5:
resolution: {integrity: sha512-9OrcgjNN51kf4r+zgTXyTi7lS5OkqO6Wo0CLWpin9pgfGzpBBTIV0E+tyQDbNUvn2yrqNx3OXca+CDwb4kZDbg==} resolution: {integrity: sha512-T7dV6lTBCwkd8PyvJVCnjXKpgXomU8gEm/TcvEZY7qNdRhIo9T17HrdlHIK68PzTAYaV2HxR9rgwpTSWv0L+QQ==}
peerDependencies: peerDependencies:
'@rvf/set-get': '>= 6.0.3 < 8.0.0'
zod: '>= 3.11.0' zod: '>= 3.11.0'
zod-openapi@2.19.0: zod-openapi@2.19.0:
@@ -10776,6 +10787,11 @@ snapshots:
'@pkgr/core@0.1.1': {} '@pkgr/core@0.1.1': {}
'@playwright/test@1.49.1':
dependencies:
playwright: 1.49.1
optional: true
'@pnpm/config.env-replace@1.1.0': {} '@pnpm/config.env-replace@1.1.0': {}
'@pnpm/network.ca-file@1.0.2': '@pnpm/network.ca-file@1.0.2':
@@ -10859,31 +10875,29 @@ snapshots:
'@rtsao/scc@1.1.0': {} '@rtsao/scc@1.1.0': {}
'@rvf/set-get@7.0.0': {}
'@scarf/scarf@1.4.0': {} '@scarf/scarf@1.4.0': {}
'@sec-ant/readable-stream@0.4.1': {} '@sec-ant/readable-stream@0.4.1': {}
'@semantic-release/changelog@6.0.3(semantic-release@24.2.0(typescript@5.7.2))': '@semantic-release/changelog@6.0.3(semantic-release@24.2.1(typescript@5.7.2))':
dependencies: dependencies:
'@semantic-release/error': 3.0.0 '@semantic-release/error': 3.0.0
aggregate-error: 3.1.0 aggregate-error: 3.1.0
fs-extra: 11.2.0 fs-extra: 11.2.0
lodash: 4.17.21 lodash: 4.17.21
semantic-release: 24.2.0(typescript@5.7.2) semantic-release: 24.2.1(typescript@5.7.2)
'@semantic-release/commit-analyzer@13.0.0(semantic-release@24.2.0(typescript@5.7.2))': '@semantic-release/commit-analyzer@13.0.1(semantic-release@24.2.1(typescript@5.7.2))':
dependencies: dependencies:
conventional-changelog-angular: 8.0.0 conventional-changelog-angular: 8.0.0
conventional-changelog-writer: 8.0.0 conventional-changelog-writer: 8.0.0
conventional-commits-filter: 5.0.0 conventional-commits-filter: 5.0.0
conventional-commits-parser: 6.0.0 conventional-commits-parser: 6.0.0
debug: 4.3.7 debug: 4.4.0
import-from-esm: 1.3.4 import-from-esm: 2.0.0
lodash-es: 4.17.21 lodash-es: 4.17.21
micromatch: 4.0.8 micromatch: 4.0.8
semantic-release: 24.2.0(typescript@5.7.2) semantic-release: 24.2.1(typescript@5.7.2)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@@ -10891,7 +10905,7 @@ snapshots:
'@semantic-release/error@4.0.0': {} '@semantic-release/error@4.0.0': {}
'@semantic-release/git@10.0.1(semantic-release@24.2.0(typescript@5.7.2))': '@semantic-release/git@10.0.1(semantic-release@24.2.1(typescript@5.7.2))':
dependencies: dependencies:
'@semantic-release/error': 3.0.0 '@semantic-release/error': 3.0.0
aggregate-error: 3.1.0 aggregate-error: 3.1.0
@@ -10901,11 +10915,11 @@ snapshots:
lodash: 4.17.21 lodash: 4.17.21
micromatch: 4.0.8 micromatch: 4.0.8
p-reduce: 2.1.0 p-reduce: 2.1.0
semantic-release: 24.2.0(typescript@5.7.2) semantic-release: 24.2.1(typescript@5.7.2)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@semantic-release/github@11.0.1(semantic-release@24.2.0(typescript@5.7.2))': '@semantic-release/github@11.0.1(semantic-release@24.2.1(typescript@5.7.2))':
dependencies: dependencies:
'@octokit/core': 6.1.2 '@octokit/core': 6.1.2
'@octokit/plugin-paginate-rest': 11.3.6(@octokit/core@6.1.2) '@octokit/plugin-paginate-rest': 11.3.6(@octokit/core@6.1.2)
@@ -10922,12 +10936,12 @@ snapshots:
lodash-es: 4.17.21 lodash-es: 4.17.21
mime: 4.0.4 mime: 4.0.4
p-filter: 4.1.0 p-filter: 4.1.0
semantic-release: 24.2.0(typescript@5.7.2) semantic-release: 24.2.1(typescript@5.7.2)
url-join: 5.0.0 url-join: 5.0.0
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@semantic-release/npm@12.0.1(semantic-release@24.2.0(typescript@5.7.2))': '@semantic-release/npm@12.0.1(semantic-release@24.2.1(typescript@5.7.2))':
dependencies: dependencies:
'@semantic-release/error': 4.0.0 '@semantic-release/error': 4.0.0
aggregate-error: 5.0.0 aggregate-error: 5.0.0
@@ -10940,23 +10954,23 @@ snapshots:
rc: 1.2.8 rc: 1.2.8
read-pkg: 9.0.1 read-pkg: 9.0.1
registry-auth-token: 5.0.2 registry-auth-token: 5.0.2
semantic-release: 24.2.0(typescript@5.7.2) semantic-release: 24.2.1(typescript@5.7.2)
semver: 7.6.3 semver: 7.6.3
tempy: 3.1.0 tempy: 3.1.0
'@semantic-release/release-notes-generator@14.0.2(semantic-release@24.2.0(typescript@5.7.2))': '@semantic-release/release-notes-generator@14.0.3(semantic-release@24.2.1(typescript@5.7.2))':
dependencies: dependencies:
conventional-changelog-angular: 8.0.0 conventional-changelog-angular: 8.0.0
conventional-changelog-writer: 8.0.0 conventional-changelog-writer: 8.0.0
conventional-commits-filter: 5.0.0 conventional-commits-filter: 5.0.0
conventional-commits-parser: 6.0.0 conventional-commits-parser: 6.0.0
debug: 4.3.7 debug: 4.4.0
get-stream: 7.0.1 get-stream: 7.0.1
import-from-esm: 1.3.4 import-from-esm: 2.0.0
into-stream: 7.0.0 into-stream: 7.0.0
lodash-es: 4.17.21 lodash-es: 4.17.21
read-package-up: 11.0.0 read-package-up: 11.0.0
semantic-release: 24.2.0(typescript@5.7.2) semantic-release: 24.2.1(typescript@5.7.2)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@@ -11331,25 +11345,25 @@ snapshots:
dependencies: dependencies:
remove-accents: 0.5.0 remove-accents: 0.5.0
'@tanstack/query-core@5.62.9': {} '@tanstack/query-core@5.62.12': {}
'@tanstack/query-devtools@5.62.9': {} '@tanstack/query-devtools@5.62.9': {}
'@tanstack/react-query-devtools@5.62.11(@tanstack/react-query@5.62.11(react@19.0.0))(react@19.0.0)': '@tanstack/react-query-devtools@5.62.12(@tanstack/react-query@5.62.12(react@19.0.0))(react@19.0.0)':
dependencies: dependencies:
'@tanstack/query-devtools': 5.62.9 '@tanstack/query-devtools': 5.62.9
'@tanstack/react-query': 5.62.11(react@19.0.0) '@tanstack/react-query': 5.62.12(react@19.0.0)
react: 19.0.0 react: 19.0.0
'@tanstack/react-query-next-experimental@5.62.11(@tanstack/react-query@5.62.11(react@19.0.0))(next@14.2.22(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0))(react@19.0.0)': '@tanstack/react-query-next-experimental@5.62.12(@tanstack/react-query@5.62.12(react@19.0.0))(next@14.2.22(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0))(react@19.0.0)':
dependencies: dependencies:
'@tanstack/react-query': 5.62.11(react@19.0.0) '@tanstack/react-query': 5.62.12(react@19.0.0)
next: 14.2.22(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) next: 14.2.22(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0)
react: 19.0.0 react: 19.0.0
'@tanstack/react-query@5.62.11(react@19.0.0)': '@tanstack/react-query@5.62.12(react@19.0.0)':
dependencies: dependencies:
'@tanstack/query-core': 5.62.9 '@tanstack/query-core': 5.62.12
react: 19.0.0 react: 19.0.0
'@tanstack/react-table@8.20.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': '@tanstack/react-table@8.20.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
@@ -11588,21 +11602,21 @@ snapshots:
'@trpc/server': 11.0.0-rc.682(typescript@5.7.2) '@trpc/server': 11.0.0-rc.682(typescript@5.7.2)
typescript: 5.7.2 typescript: 5.7.2
'@trpc/next@11.0.0-rc.682(@tanstack/react-query@5.62.11(react@19.0.0))(@trpc/client@11.0.0-rc.682(@trpc/server@11.0.0-rc.682(typescript@5.7.2))(typescript@5.7.2))(@trpc/react-query@11.0.0-rc.682(@tanstack/react-query@5.62.11(react@19.0.0))(@trpc/client@11.0.0-rc.682(@trpc/server@11.0.0-rc.682(typescript@5.7.2))(typescript@5.7.2))(@trpc/server@11.0.0-rc.682(typescript@5.7.2))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.2))(@trpc/server@11.0.0-rc.682(typescript@5.7.2))(next@14.2.22(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.2)': '@trpc/next@11.0.0-rc.682(@tanstack/react-query@5.62.12(react@19.0.0))(@trpc/client@11.0.0-rc.682(@trpc/server@11.0.0-rc.682(typescript@5.7.2))(typescript@5.7.2))(@trpc/react-query@11.0.0-rc.682(@tanstack/react-query@5.62.12(react@19.0.0))(@trpc/client@11.0.0-rc.682(@trpc/server@11.0.0-rc.682(typescript@5.7.2))(typescript@5.7.2))(@trpc/server@11.0.0-rc.682(typescript@5.7.2))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.2))(@trpc/server@11.0.0-rc.682(typescript@5.7.2))(next@14.2.22(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.2)':
dependencies: dependencies:
'@trpc/client': 11.0.0-rc.682(@trpc/server@11.0.0-rc.682(typescript@5.7.2))(typescript@5.7.2) '@trpc/client': 11.0.0-rc.682(@trpc/server@11.0.0-rc.682(typescript@5.7.2))(typescript@5.7.2)
'@trpc/server': 11.0.0-rc.682(typescript@5.7.2) '@trpc/server': 11.0.0-rc.682(typescript@5.7.2)
next: 14.2.22(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) next: 14.2.22(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0)
react: 19.0.0 react: 19.0.0
react-dom: 19.0.0(react@19.0.0) react-dom: 19.0.0(react@19.0.0)
typescript: 5.7.2 typescript: 5.7.2
optionalDependencies: optionalDependencies:
'@tanstack/react-query': 5.62.11(react@19.0.0) '@tanstack/react-query': 5.62.12(react@19.0.0)
'@trpc/react-query': 11.0.0-rc.682(@tanstack/react-query@5.62.11(react@19.0.0))(@trpc/client@11.0.0-rc.682(@trpc/server@11.0.0-rc.682(typescript@5.7.2))(typescript@5.7.2))(@trpc/server@11.0.0-rc.682(typescript@5.7.2))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.2) '@trpc/react-query': 11.0.0-rc.682(@tanstack/react-query@5.62.12(react@19.0.0))(@trpc/client@11.0.0-rc.682(@trpc/server@11.0.0-rc.682(typescript@5.7.2))(typescript@5.7.2))(@trpc/server@11.0.0-rc.682(typescript@5.7.2))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.2)
'@trpc/react-query@11.0.0-rc.682(@tanstack/react-query@5.62.11(react@19.0.0))(@trpc/client@11.0.0-rc.682(@trpc/server@11.0.0-rc.682(typescript@5.7.2))(typescript@5.7.2))(@trpc/server@11.0.0-rc.682(typescript@5.7.2))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.2)': '@trpc/react-query@11.0.0-rc.682(@tanstack/react-query@5.62.12(react@19.0.0))(@trpc/client@11.0.0-rc.682(@trpc/server@11.0.0-rc.682(typescript@5.7.2))(typescript@5.7.2))(@trpc/server@11.0.0-rc.682(typescript@5.7.2))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.2)':
dependencies: dependencies:
'@tanstack/react-query': 5.62.11(react@19.0.0) '@tanstack/react-query': 5.62.12(react@19.0.0)
'@trpc/client': 11.0.0-rc.682(@trpc/server@11.0.0-rc.682(typescript@5.7.2))(typescript@5.7.2) '@trpc/client': 11.0.0-rc.682(@trpc/server@11.0.0-rc.682(typescript@5.7.2))(typescript@5.7.2)
'@trpc/server': 11.0.0-rc.682(typescript@5.7.2) '@trpc/server': 11.0.0-rc.682(typescript@5.7.2)
react: 19.0.0 react: 19.0.0
@@ -11623,7 +11637,7 @@ snapshots:
'@tsconfig/svelte@1.0.13': {} '@tsconfig/svelte@1.0.13': {}
'@turbo/gen@2.3.3(@types/node@22.10.2)(typescript@5.7.2)': '@turbo/gen@2.3.3(@types/node@22.10.5)(typescript@5.7.2)':
dependencies: dependencies:
'@turbo/workspaces': 2.3.3 '@turbo/workspaces': 2.3.3
commander: 10.0.1 commander: 10.0.1
@@ -11633,7 +11647,7 @@ snapshots:
node-plop: 0.26.3 node-plop: 0.26.3
picocolors: 1.0.1 picocolors: 1.0.1
proxy-agent: 6.4.0 proxy-agent: 6.4.0
ts-node: 10.9.2(@types/node@22.10.2)(typescript@5.7.2) ts-node: 10.9.2(@types/node@22.10.5)(typescript@5.7.2)
update-check: 1.5.4 update-check: 1.5.4
validate-npm-package-name: 5.0.1 validate-npm-package-name: 5.0.1
transitivePeerDependencies: transitivePeerDependencies:
@@ -11659,11 +11673,11 @@ snapshots:
'@types/adm-zip@0.5.7': '@types/adm-zip@0.5.7':
dependencies: dependencies:
'@types/node': 22.10.2 '@types/node': 22.10.5
'@types/asn1@0.2.4': '@types/asn1@0.2.4':
dependencies: dependencies:
'@types/node': 22.10.2 '@types/node': 22.10.5
'@types/aws-lambda@8.10.146': {} '@types/aws-lambda@8.10.146': {}
@@ -11690,22 +11704,22 @@ snapshots:
'@types/bcrypt@5.0.2': '@types/bcrypt@5.0.2':
dependencies: dependencies:
'@types/node': 22.10.2 '@types/node': 22.10.5
'@types/better-sqlite3@7.6.12': '@types/better-sqlite3@7.6.12':
dependencies: dependencies:
'@types/node': 22.10.2 '@types/node': 22.10.5
'@types/body-parser@1.19.5': '@types/body-parser@1.19.5':
dependencies: dependencies:
'@types/connect': 3.4.38 '@types/connect': 3.4.38
'@types/node': 22.10.2 '@types/node': 22.10.5
'@types/chroma-js@2.4.5': {} '@types/chroma-js@2.4.5': {}
'@types/connect@3.4.38': '@types/connect@3.4.38':
dependencies: dependencies:
'@types/node': 22.10.2 '@types/node': 22.10.5
'@types/cookie@0.4.1': {} '@types/cookie@0.4.1': {}
@@ -11716,11 +11730,11 @@ snapshots:
'@types/connect': 3.4.38 '@types/connect': 3.4.38
'@types/express': 4.17.21 '@types/express': 4.17.21
'@types/keygrip': 1.0.6 '@types/keygrip': 1.0.6
'@types/node': 22.10.2 '@types/node': 22.10.5
'@types/cors@2.8.17': '@types/cors@2.8.17':
dependencies: dependencies:
'@types/node': 22.10.2 '@types/node': 22.10.5
'@types/css-font-loading-module@0.0.7': {} '@types/css-font-loading-module@0.0.7': {}
@@ -11728,13 +11742,13 @@ snapshots:
'@types/docker-modem@3.0.6': '@types/docker-modem@3.0.6':
dependencies: dependencies:
'@types/node': 22.10.2 '@types/node': 22.10.5
'@types/ssh2': 1.15.1 '@types/ssh2': 1.15.1
'@types/dockerode@3.3.32': '@types/dockerode@3.3.33':
dependencies: dependencies:
'@types/docker-modem': 3.0.6 '@types/docker-modem': 3.0.6
'@types/node': 22.10.2 '@types/node': 22.10.5
'@types/ssh2': 1.15.1 '@types/ssh2': 1.15.1
'@types/estree@1.0.5': {} '@types/estree@1.0.5': {}
@@ -11743,7 +11757,7 @@ snapshots:
'@types/express-serve-static-core@4.19.5': '@types/express-serve-static-core@4.19.5':
dependencies: dependencies:
'@types/node': 22.10.2 '@types/node': 22.10.5
'@types/qs': 6.9.16 '@types/qs': 6.9.16
'@types/range-parser': 1.2.7 '@types/range-parser': 1.2.7
'@types/send': 0.17.4 '@types/send': 0.17.4
@@ -11758,7 +11772,7 @@ snapshots:
'@types/glob@7.2.0': '@types/glob@7.2.0':
dependencies: dependencies:
'@types/minimatch': 5.1.2 '@types/minimatch': 5.1.2
'@types/node': 22.10.2 '@types/node': 22.10.5
'@types/hast@2.3.10': '@types/hast@2.3.10':
dependencies: dependencies:
@@ -11796,7 +11810,7 @@ snapshots:
dependencies: dependencies:
undici-types: 5.26.5 undici-types: 5.26.5
'@types/node@22.10.2': '@types/node@22.10.5':
dependencies: dependencies:
undici-types: 6.20.0 undici-types: 6.20.0
@@ -11834,21 +11848,21 @@ snapshots:
'@types/send@0.17.4': '@types/send@0.17.4':
dependencies: dependencies:
'@types/mime': 1.3.5 '@types/mime': 1.3.5
'@types/node': 22.10.2 '@types/node': 22.10.5
'@types/serve-static@1.15.7': '@types/serve-static@1.15.7':
dependencies: dependencies:
'@types/http-errors': 2.0.4 '@types/http-errors': 2.0.4
'@types/node': 22.10.2 '@types/node': 22.10.5
'@types/send': 0.17.4 '@types/send': 0.17.4
'@types/ssh2-streams@0.1.12': '@types/ssh2-streams@0.1.12':
dependencies: dependencies:
'@types/node': 22.10.2 '@types/node': 22.10.5
'@types/ssh2@0.5.52': '@types/ssh2@0.5.52':
dependencies: dependencies:
'@types/node': 22.10.2 '@types/node': 22.10.5
'@types/ssh2-streams': 0.1.12 '@types/ssh2-streams': 0.1.12
'@types/ssh2@1.15.1': '@types/ssh2@1.15.1':
@@ -11861,7 +11875,7 @@ snapshots:
'@types/through@0.0.33': '@types/through@0.0.33':
dependencies: dependencies:
'@types/node': 22.10.2 '@types/node': 22.10.5
'@types/tinycolor2@1.4.6': {} '@types/tinycolor2@1.4.6': {}
@@ -11877,11 +11891,11 @@ snapshots:
'@types/ws@8.5.13': '@types/ws@8.5.13':
dependencies: dependencies:
'@types/node': 22.10.2 '@types/node': 22.10.5
'@types/xml2js@0.4.14': '@types/xml2js@0.4.14':
dependencies: dependencies:
'@types/node': 22.10.2 '@types/node': 22.10.5
'@typescript-eslint/eslint-plugin@8.19.0(@typescript-eslint/parser@8.19.0(eslint@9.17.0)(typescript@5.7.2))(eslint@9.17.0)(typescript@5.7.2)': '@typescript-eslint/eslint-plugin@8.19.0(@typescript-eslint/parser@8.19.0(eslint@9.17.0)(typescript@5.7.2))(eslint@9.17.0)(typescript@5.7.2)':
dependencies: dependencies:
@@ -11990,14 +12004,14 @@ snapshots:
global: 4.4.0 global: 4.4.0
is-function: 1.0.2 is-function: 1.0.2
'@vitejs/plugin-react@4.3.4(vite@5.4.5(@types/node@22.10.2)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0))': '@vitejs/plugin-react@4.3.4(vite@5.4.5(@types/node@22.10.5)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0))':
dependencies: dependencies:
'@babel/core': 7.26.0 '@babel/core': 7.26.0
'@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.0)
'@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.0)
'@types/babel__core': 7.20.5 '@types/babel__core': 7.20.5
react-refresh: 0.14.2 react-refresh: 0.14.2
vite: 5.4.5(@types/node@22.10.2)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0) vite: 5.4.5(@types/node@22.10.5)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@@ -12015,7 +12029,7 @@ snapshots:
std-env: 3.8.0 std-env: 3.8.0
test-exclude: 7.0.1 test-exclude: 7.0.1
tinyrainbow: 1.2.0 tinyrainbow: 1.2.0
vitest: 2.1.8(@types/node@22.10.2)(@vitest/ui@2.1.8)(jsdom@25.0.1)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0) vitest: 2.1.8(@types/node@22.10.5)(@vitest/ui@2.1.8)(jsdom@25.0.1)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@@ -12026,13 +12040,13 @@ snapshots:
chai: 5.1.2 chai: 5.1.2
tinyrainbow: 1.2.0 tinyrainbow: 1.2.0
'@vitest/mocker@2.1.8(vite@5.4.5(@types/node@22.10.2)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0))': '@vitest/mocker@2.1.8(vite@5.4.5(@types/node@22.10.5)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0))':
dependencies: dependencies:
'@vitest/spy': 2.1.8 '@vitest/spy': 2.1.8
estree-walker: 3.0.3 estree-walker: 3.0.3
magic-string: 0.30.12 magic-string: 0.30.12
optionalDependencies: optionalDependencies:
vite: 5.4.5(@types/node@22.10.2)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0) vite: 5.4.5(@types/node@22.10.5)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0)
'@vitest/pretty-format@2.1.8': '@vitest/pretty-format@2.1.8':
dependencies: dependencies:
@@ -12062,7 +12076,7 @@ snapshots:
sirv: 3.0.0 sirv: 3.0.0
tinyglobby: 0.2.10 tinyglobby: 0.2.10
tinyrainbow: 1.2.0 tinyrainbow: 1.2.0
vitest: 2.1.8(@types/node@22.10.2)(@vitest/ui@2.1.8)(jsdom@25.0.1)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0) vitest: 2.1.8(@types/node@22.10.5)(@vitest/ui@2.1.8)(jsdom@25.0.1)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0)
'@vitest/utils@2.1.8': '@vitest/utils@2.1.8':
dependencies: dependencies:
@@ -13248,7 +13262,7 @@ snapshots:
dependencies: dependencies:
'@types/cookie': 0.4.1 '@types/cookie': 0.4.1
'@types/cors': 2.8.17 '@types/cors': 2.8.17
'@types/node': 22.10.2 '@types/node': 22.10.5
accepts: 1.3.8 accepts: 1.3.8
base64id: 2.0.0 base64id: 2.0.0
cookie: 0.7.2 cookie: 0.7.2
@@ -14348,7 +14362,7 @@ snapshots:
parent-module: 1.0.1 parent-module: 1.0.1
resolve-from: 4.0.0 resolve-from: 4.0.0
import-from-esm@1.3.4: import-from-esm@2.0.0:
dependencies: dependencies:
debug: 4.4.0 debug: 4.4.0
import-meta-resolve: 4.1.0 import-meta-resolve: 4.1.0
@@ -14761,7 +14775,7 @@ snapshots:
jest-worker@27.5.1: jest-worker@27.5.1:
dependencies: dependencies:
'@types/node': 22.10.2 '@types/node': 22.10.5
merge-stream: 2.0.0 merge-stream: 2.0.0
supports-color: 8.1.1 supports-color: 8.1.1
@@ -15225,21 +15239,21 @@ snapshots:
netmask@2.0.2: {} netmask@2.0.2: {}
next-auth@5.0.0-beta.25(next@14.2.22(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0))(react@19.0.0): next-auth@5.0.0-beta.25(next@14.2.22(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0))(react@19.0.0):
dependencies: dependencies:
'@auth/core': 0.37.2 '@auth/core': 0.37.2
next: 14.2.22(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) next: 14.2.22(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0)
react: 19.0.0 react: 19.0.0
next-intl@3.26.3(next@14.2.22(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0))(react@19.0.0): next-intl@3.26.3(next@14.2.22(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0))(react@19.0.0):
dependencies: dependencies:
'@formatjs/intl-localematcher': 0.5.5 '@formatjs/intl-localematcher': 0.5.5
negotiator: 1.0.0 negotiator: 1.0.0
next: 14.2.22(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) next: 14.2.22(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0)
react: 19.0.0 react: 19.0.0
use-intl: 3.26.3(react@19.0.0) use-intl: 3.26.3(react@19.0.0)
next@14.2.22(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0): next@14.2.22(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0):
dependencies: dependencies:
'@next/env': 14.2.22 '@next/env': 14.2.22
'@swc/helpers': 0.5.5 '@swc/helpers': 0.5.5
@@ -15260,6 +15274,7 @@ snapshots:
'@next/swc-win32-arm64-msvc': 14.2.22 '@next/swc-win32-arm64-msvc': 14.2.22
'@next/swc-win32-ia32-msvc': 14.2.22 '@next/swc-win32-ia32-msvc': 14.2.22
'@next/swc-win32-x64-msvc': 14.2.22 '@next/swc-win32-x64-msvc': 14.2.22
'@playwright/test': 1.49.1
sass: 1.83.0 sass: 1.83.0
transitivePeerDependencies: transitivePeerDependencies:
- '@babel/core' - '@babel/core'
@@ -15693,12 +15708,22 @@ snapshots:
playwright-core@1.49.0: {} playwright-core@1.49.0: {}
playwright-core@1.49.1:
optional: true
playwright@1.49.0: playwright@1.49.0:
dependencies: dependencies:
playwright-core: 1.49.0 playwright-core: 1.49.0
optionalDependencies: optionalDependencies:
fsevents: 2.3.2 fsevents: 2.3.2
playwright@1.49.1:
dependencies:
playwright-core: 1.49.1
optionalDependencies:
fsevents: 2.3.2
optional: true
possible-typed-array-names@1.0.0: {} possible-typed-array-names@1.0.0: {}
postcss-js@4.0.1(postcss@8.4.47): postcss-js@4.0.1(postcss@8.4.47):
@@ -16465,16 +16490,16 @@ snapshots:
ajv: 6.12.6 ajv: 6.12.6
ajv-keywords: 3.5.2(ajv@6.12.6) ajv-keywords: 3.5.2(ajv@6.12.6)
semantic-release@24.2.0(typescript@5.7.2): semantic-release@24.2.1(typescript@5.7.2):
dependencies: dependencies:
'@semantic-release/commit-analyzer': 13.0.0(semantic-release@24.2.0(typescript@5.7.2)) '@semantic-release/commit-analyzer': 13.0.1(semantic-release@24.2.1(typescript@5.7.2))
'@semantic-release/error': 4.0.0 '@semantic-release/error': 4.0.0
'@semantic-release/github': 11.0.1(semantic-release@24.2.0(typescript@5.7.2)) '@semantic-release/github': 11.0.1(semantic-release@24.2.1(typescript@5.7.2))
'@semantic-release/npm': 12.0.1(semantic-release@24.2.0(typescript@5.7.2)) '@semantic-release/npm': 12.0.1(semantic-release@24.2.1(typescript@5.7.2))
'@semantic-release/release-notes-generator': 14.0.2(semantic-release@24.2.0(typescript@5.7.2)) '@semantic-release/release-notes-generator': 14.0.3(semantic-release@24.2.1(typescript@5.7.2))
aggregate-error: 5.0.0 aggregate-error: 5.0.0
cosmiconfig: 9.0.0(typescript@5.7.2) cosmiconfig: 9.0.0(typescript@5.7.2)
debug: 4.3.7 debug: 4.4.0
env-ci: 11.1.0 env-ci: 11.1.0
execa: 9.5.2 execa: 9.5.2
figures: 6.1.0 figures: 6.1.0
@@ -16483,7 +16508,7 @@ snapshots:
git-log-parser: 1.2.1 git-log-parser: 1.2.1
hook-std: 3.0.0 hook-std: 3.0.0
hosted-git-info: 8.0.2 hosted-git-info: 8.0.2
import-from-esm: 1.3.4 import-from-esm: 2.0.0
lodash-es: 4.17.21 lodash-es: 4.17.21
marked: 12.0.2 marked: 12.0.2
marked-terminal: 7.2.1(marked@12.0.2) marked-terminal: 7.2.1(marked@12.0.2)
@@ -17094,7 +17119,7 @@ snapshots:
testcontainers@10.16.0: testcontainers@10.16.0:
dependencies: dependencies:
'@balena/dockerignore': 1.0.2 '@balena/dockerignore': 1.0.2
'@types/dockerode': 3.3.32 '@types/dockerode': 3.3.33
archiver: 7.0.1 archiver: 7.0.1
async-lock: 1.4.1 async-lock: 1.4.1
byline: 5.0.0 byline: 5.0.0
@@ -17242,14 +17267,14 @@ snapshots:
ts-mixer@6.0.4: {} ts-mixer@6.0.4: {}
ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2): ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2):
dependencies: dependencies:
'@cspotcode/source-map-support': 0.8.1 '@cspotcode/source-map-support': 0.8.1
'@tsconfig/node10': 1.0.11 '@tsconfig/node10': 1.0.11
'@tsconfig/node12': 1.0.11 '@tsconfig/node12': 1.0.11
'@tsconfig/node14': 1.0.3 '@tsconfig/node14': 1.0.3
'@tsconfig/node16': 1.0.4 '@tsconfig/node16': 1.0.4
'@types/node': 22.10.2 '@types/node': 22.10.5
acorn: 8.14.0 acorn: 8.14.0
acorn-walk: 8.3.4 acorn-walk: 8.3.4
arg: 4.1.3 arg: 4.1.3
@@ -17669,13 +17694,13 @@ snapshots:
dependencies: dependencies:
global: 4.4.0 global: 4.4.0
vite-node@2.1.8(@types/node@22.10.2)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0): vite-node@2.1.8(@types/node@22.10.5)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0):
dependencies: dependencies:
cac: 6.7.14 cac: 6.7.14
debug: 4.4.0 debug: 4.4.0
es-module-lexer: 1.5.4 es-module-lexer: 1.5.4
pathe: 1.1.2 pathe: 1.1.2
vite: 5.4.5(@types/node@22.10.2)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0) vite: 5.4.5(@types/node@22.10.5)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0)
transitivePeerDependencies: transitivePeerDependencies:
- '@types/node' - '@types/node'
- less - less
@@ -17687,33 +17712,33 @@ snapshots:
- supports-color - supports-color
- terser - terser
vite-tsconfig-paths@5.1.4(typescript@5.7.2)(vite@5.4.5(@types/node@22.10.2)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0)): vite-tsconfig-paths@5.1.4(typescript@5.7.2)(vite@5.4.5(@types/node@22.10.5)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0)):
dependencies: dependencies:
debug: 4.3.7 debug: 4.3.7
globrex: 0.1.2 globrex: 0.1.2
tsconfck: 3.1.3(typescript@5.7.2) tsconfck: 3.1.3(typescript@5.7.2)
optionalDependencies: optionalDependencies:
vite: 5.4.5(@types/node@22.10.2)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0) vite: 5.4.5(@types/node@22.10.5)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
- typescript - typescript
vite@5.4.5(@types/node@22.10.2)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0): vite@5.4.5(@types/node@22.10.5)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0):
dependencies: dependencies:
esbuild: 0.21.5 esbuild: 0.21.5
postcss: 8.4.47 postcss: 8.4.47
rollup: 4.21.3 rollup: 4.21.3
optionalDependencies: optionalDependencies:
'@types/node': 22.10.2 '@types/node': 22.10.5
fsevents: 2.3.3 fsevents: 2.3.3
sass: 1.83.0 sass: 1.83.0
sugarss: 4.0.1(postcss@8.4.47) sugarss: 4.0.1(postcss@8.4.47)
terser: 5.32.0 terser: 5.32.0
vitest@2.1.8(@types/node@22.10.2)(@vitest/ui@2.1.8)(jsdom@25.0.1)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0): vitest@2.1.8(@types/node@22.10.5)(@vitest/ui@2.1.8)(jsdom@25.0.1)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0):
dependencies: dependencies:
'@vitest/expect': 2.1.8 '@vitest/expect': 2.1.8
'@vitest/mocker': 2.1.8(vite@5.4.5(@types/node@22.10.2)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0)) '@vitest/mocker': 2.1.8(vite@5.4.5(@types/node@22.10.5)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0))
'@vitest/pretty-format': 2.1.8 '@vitest/pretty-format': 2.1.8
'@vitest/runner': 2.1.8 '@vitest/runner': 2.1.8
'@vitest/snapshot': 2.1.8 '@vitest/snapshot': 2.1.8
@@ -17729,11 +17754,11 @@ snapshots:
tinyexec: 0.3.1 tinyexec: 0.3.1
tinypool: 1.0.1 tinypool: 1.0.1
tinyrainbow: 1.2.0 tinyrainbow: 1.2.0
vite: 5.4.5(@types/node@22.10.2)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0) vite: 5.4.5(@types/node@22.10.5)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0)
vite-node: 2.1.8(@types/node@22.10.2)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0) vite-node: 2.1.8(@types/node@22.10.5)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0)
why-is-node-running: 2.3.0 why-is-node-running: 2.3.0
optionalDependencies: optionalDependencies:
'@types/node': 22.10.2 '@types/node': 22.10.5
'@vitest/ui': 2.1.8(vitest@2.1.8) '@vitest/ui': 2.1.8(vitest@2.1.8)
jsdom: 25.0.1 jsdom: 25.0.1
transitivePeerDependencies: transitivePeerDependencies:
@@ -18042,9 +18067,8 @@ snapshots:
compress-commons: 6.0.2 compress-commons: 6.0.2
readable-stream: 4.5.2 readable-stream: 4.5.2
zod-form-data@2.0.4(@rvf/set-get@7.0.0)(zod@3.24.1): zod-form-data@2.0.5(zod@3.24.1):
dependencies: dependencies:
'@rvf/set-get': 7.0.0
zod: 3.24.1 zod: 3.24.1
zod-openapi@2.19.0(zod@3.24.1): zod-openapi@2.19.0(zod@3.24.1):