toggleRow(container)} transitionDuration={0} />
|
-
- {container.Names[0].replace('/', '')}
-
+
+
+
+ {containerName}
+
+
|
{width > MIN_WIDTH_MOBILE && (
diff --git a/src/pages/onboard.tsx b/src/pages/onboard.tsx
index de85c4eff..7b98b3da1 100644
--- a/src/pages/onboard.tsx
+++ b/src/pages/onboard.tsx
@@ -26,7 +26,7 @@ export default function OnboardPage({
const [onboardingSteps, { open: showOnboardingSteps }] = useDisclosure(false);
- const isUpgradeFromSchemaOne = configSchemaVersions.includes(1);
+ const isUpgradeFromSchemaOne = false;
return (
<>
@@ -81,12 +81,12 @@ export default function OnboardPage({
}
export const getServerSideProps: GetServerSideProps = async (ctx) => {
- const userCount = await getTotalUserCountAsync();
- if (userCount >= 1) {
- return {
- notFound: true,
- };
- }
+ // const userCount = await getTotalUserCountAsync();
+ // if (userCount >= 1) {
+ // return {
+ // notFound: true,
+ // };
+ // }
const files = fs.readdirSync('./data/configs').filter((file) => file.endsWith('.json'));
const configs = files.map((file) => getConfig(file));
diff --git a/src/server/api/routers/board.ts b/src/server/api/routers/board.ts
index 05c74c2e4..5c03d0dcc 100644
--- a/src/server/api/routers/board.ts
+++ b/src/server/api/routers/board.ts
@@ -41,6 +41,7 @@ export const boardRouter = createTRPCRouter({
apps: z.array(
z.object({
name: z.string(),
+ icon: z.string().optional(),
port: z.number().optional(),
})
),
@@ -71,6 +72,10 @@ export const boardRouter = createTRPCRouter({
...defaultApp,
name: container.name,
url: address,
+ appearance: {
+ ...defaultApp.appearance,
+ icon: container.icon,
+ },
behaviour: {
...defaultApp.behaviour,
externalUrl: address,
diff --git a/src/server/api/routers/icon.ts b/src/server/api/routers/icon.ts
index a5b6c2493..2ad4d2ad7 100644
--- a/src/server/api/routers/icon.ts
+++ b/src/server/api/routers/icon.ts
@@ -1,35 +1,36 @@
+import { GitHubIconsRepository } from '~/tools/server/images/github-icons-repository';
import { JsdelivrIconsRepository } from '~/tools/server/images/jsdelivr-icons-repository';
import { LocalIconsRepository } from '~/tools/server/images/local-icons-repository';
import { UnpkgIconsRepository } from '~/tools/server/images/unpkg-icons-repository';
-import { GitHubIconsRepository } from '~/tools/server/images/github-icons-repository';
import { createTRPCRouter, publicProcedure } from '../trpc';
+const respositories = [
+ new LocalIconsRepository(),
+ new GitHubIconsRepository(
+ GitHubIconsRepository.walkxcode,
+ 'Walkxcode Dashboard Icons',
+ 'Walkxcode on Github'
+ ),
+ new UnpkgIconsRepository(
+ UnpkgIconsRepository.tablerRepository,
+ 'Tabler Icons',
+ 'Tabler Icons - GitHub (MIT)'
+ ),
+ new JsdelivrIconsRepository(
+ JsdelivrIconsRepository.papirusRepository,
+ 'Papirus Icons',
+ 'Papirus Development Team on GitHub (Apache 2.0)'
+ ),
+ new JsdelivrIconsRepository(
+ JsdelivrIconsRepository.homelabSvgAssetsRepository,
+ 'Homelab Svg Assets',
+ 'loganmarchione on GitHub (MIT)'
+ ),
+];
+
export const iconRouter = createTRPCRouter({
all: publicProcedure.query(async () => {
- const respositories = [
- new LocalIconsRepository(),
- new GitHubIconsRepository(
- GitHubIconsRepository.walkxcode,
- 'Walkxcode Dashboard Icons',
- 'Walkxcode on Github'
- ),
- new UnpkgIconsRepository(
- UnpkgIconsRepository.tablerRepository,
- 'Tabler Icons',
- 'Tabler Icons - GitHub (MIT)'
- ),
- new JsdelivrIconsRepository(
- JsdelivrIconsRepository.papirusRepository,
- 'Papirus Icons',
- 'Papirus Development Team on GitHub (Apache 2.0)'
- ),
- new JsdelivrIconsRepository(
- JsdelivrIconsRepository.homelabSvgAssetsRepository,
- 'Homelab Svg Assets',
- 'loganmarchione on GitHub (MIT)'
- ),
- ];
const fetches = respositories.map((rep) => rep.fetch());
const data = await Promise.all(fetches);
return data;
diff --git a/src/server/api/routers/overseerr.ts b/src/server/api/routers/overseerr.ts
index 222082603..ff29e5de2 100644
--- a/src/server/api/routers/overseerr.ts
+++ b/src/server/api/routers/overseerr.ts
@@ -7,10 +7,10 @@ import { OriginalLanguage, Result } from '~/modules/overseerr/SearchResult';
import { TvShowResult } from '~/modules/overseerr/TvShow';
import { getConfig } from '~/tools/config/getConfig';
-import { createTRPCRouter, publicProcedure } from '../trpc';
+import { adminProcedure, createTRPCRouter, publicProcedure } from '../trpc';
export const overseerrRouter = createTRPCRouter({
- search: publicProcedure
+ search: adminProcedure
.input(
z.object({
configName: z.string(),
|