From 7631b9d830e1a6010c504d29362093aba86488fe Mon Sep 17 00:00:00 2001 From: Vishesh 'ironeagle' Bangotra Date: Mon, 22 Sep 2025 19:19:29 +0530 Subject: [PATCH] Aetos Hideout --- app/routes/home.tsx | 170 ++++++++++++++++++++++++++++++++++++-------- package-lock.json | 33 ++++++++- package.json | 8 ++- 3 files changed, 177 insertions(+), 34 deletions(-) diff --git a/app/routes/home.tsx b/app/routes/home.tsx index 2eea78c..b25b20d 100644 --- a/app/routes/home.tsx +++ b/app/routes/home.tsx @@ -1,42 +1,156 @@ -import * as React from 'react'; -import Container from '@mui/material/Container'; -import Typography from '@mui/material/Typography'; -import Box from '@mui/material/Box'; -import Link from '@mui/material/Link'; -import { Link as ReactRouterLink } from 'react-router'; -import ProTip from '~/components/ProTip'; -import Copyright from '~/components/Copyright'; +import * as React from "react"; +import Container from "@mui/material/Container"; +import Typography from "@mui/material/Typography"; +import Box from "@mui/material/Box"; +import Link from "@mui/material/Link"; +import Grid from "@mui/material/Grid"; +import Paper from "@mui/material/Paper"; +import { Link as ReactRouterLink } from "react-router"; +import ProTip from "~/components/ProTip"; +import Copyright from "~/components/Copyright"; + export function meta() { return [ - { title: 'Material UI - React Router example in TypeScript' }, + { title: "Material UI - React Router example in TypeScript" }, { - name: 'description', - content: 'Welcome to Material UI - React Router example in TypeScript!', + name: "description", + content: + "Welcome to Material UI - React Router example in TypeScript!", }, ]; } +const services = { + media: [ + { + name: "Jellyseerr", + url: "http://jellyseerr.aetoskia.com", + desc: "Request movies & TV shows", + }, + // { + // name: "Ombi", + // url: "http://ombi.aetoskia.com", + // desc: "Request movies & TV shows", + // }, + { + name: "Sonarr", + url: "http://sonarr.aetoskia.com", + desc: "TV series management", + }, + { + name: "Radarr", + url: "http://radarr.aetoskia.com", + desc: "Movie management", + }, + { + name: "Prowlarr", + url: "http://prowlarr.aetoskia.com", + desc: "Indexer management", + }, + { + name: "qBittorrent", + url: "http://qbit.aetoskia.com", + desc: "Download client & torrent manager", + external: true, + }, + ], + core: [ + { + name: "Gitea", + url: "http://gitea.aetoskia.com", + desc: "Hosted on Core Server", + external: true, + }, + ], +}; + export default function Home() { - return ( + // @ts-ignore + return ( - - - Material UI - Next.js App Router example in TypeScript + {/* Dashboard section */} + + + Aetos Hideout - - Go to the about page - - - + + + Core Services + + + {services.core.map((s) => ( + + + + {s.name} + + + {s.desc} + + + + ))} + + + + Media Services + + + {services.media.map((s) => ( + + + + {s.name} + + + {s.desc} + + + + ))} + ); diff --git a/package-lock.json b/package-lock.json index 2deb2d7..4a8f02b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,10 +7,12 @@ "name": "material-ui-react-router-ts", "dependencies": { "@emotion/cache": "latest", - "@emotion/react": "latest", + "@emotion/react": "^11.14.0", "@emotion/server": "latest", - "@emotion/styled": "latest", - "@mui/material": "latest", + "@emotion/styled": "^11.14.1", + "@mui/icons-material": "^7.3.2", + "@mui/material": "^7.3.2", + "@mui/system": "^7.3.2", "@react-router/node": "latest", "@react-router/serve": "latest", "isbot": "latest", @@ -1104,6 +1106,31 @@ "url": "https://opencollective.com/mui-org" } }, + "node_modules/@mui/icons-material": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-7.3.2.tgz", + "integrity": "sha512-TZWazBjWXBjR6iGcNkbKklnwodcwj0SrChCNHc9BhD9rBgET22J1eFhHsEmvSvru9+opDy3umqAimQjokhfJlQ==", + "dependencies": { + "@babel/runtime": "^7.28.3" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@mui/material": "^7.3.2", + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, "node_modules/@mui/material": { "version": "7.3.2", "resolved": "https://registry.npmjs.org/@mui/material/-/material-7.3.2.tgz", diff --git a/package.json b/package.json index 8527a35..6e6d4ef 100644 --- a/package.json +++ b/package.json @@ -10,10 +10,12 @@ }, "dependencies": { "@emotion/cache": "latest", - "@emotion/react": "latest", + "@emotion/react": "^11.14.0", "@emotion/server": "latest", - "@emotion/styled": "latest", - "@mui/material": "latest", + "@emotion/styled": "^11.14.1", + "@mui/icons-material": "^7.3.2", + "@mui/material": "^7.3.2", + "@mui/system": "^7.3.2", "@react-router/node": "latest", "@react-router/serve": "latest", "isbot": "latest",