5 Commits

5 changed files with 159 additions and 126 deletions

View File

@@ -85,6 +85,4 @@ steps:
# Trigger rules # Trigger rules
trigger: trigger:
event: event:
- push
- tag - tag
- custom

5
.idea/codeStyles/codeStyleConfig.xml generated Normal file
View File

@@ -0,0 +1,5 @@
<component name="ProjectCodeStyleConfiguration">
<state>
<option name="PREFERRED_PROJECT_CODE_STYLE" value="Default" />
</state>
</component>

View File

@@ -1,4 +1,5 @@
import React from 'react'; import React from 'react';
import Box from '@mui/material/Box';
import {Grid, Paper, Link, Typography} from '@mui/material'; import {Grid, Paper, Link, Typography} from '@mui/material';
interface ServiceList { interface ServiceList {
@@ -14,6 +15,12 @@ interface ServiceListProps {
const ServiceList: React.FC<ServiceListProps> = ({serviceList}) => { const ServiceList: React.FC<ServiceListProps> = ({serviceList}) => {
return ( return (
<Box
sx={{
flex: 1,
overflowY: 'auto', // ✅ Scroll only inside this
}}
>
<Grid container spacing={3} justifyContent="center"> <Grid container spacing={3} justifyContent="center">
{serviceList.map((s) => ( {serviceList.map((s) => (
<Paper <Paper
@@ -35,6 +42,7 @@ const ServiceList: React.FC<ServiceListProps> = ({serviceList}) => {
</Paper> </Paper>
))} ))}
</Grid> </Grid>
</Box>
); );
}; };

View File

@@ -18,9 +18,24 @@ const items = [
icon: <PermMediaIcon/>, icon: <PermMediaIcon/>,
title: 'The Vox Sanctum', title: 'The Vox Sanctum',
serviceList: [ serviceList: [
{ name: "Jellyseerr", url: "http://jellyseerr.aetoskia.com", desc: "Summon films and series from the digital void.", external: true }, {
{ name: "Sonarr", url: "http://sonarr.aetoskia.com", desc: "Keep the endless chronicles of TV under iron control.", external: true }, name: "Jellyseerr",
{ name: "Radarr", url: "http://radarr.aetoskia.com", desc: "Command the legions of cinema, enforce cinematic order.", external: true }, url: "http://jellyseerr.aetoskia.com",
desc: "Summon films and series from the digital void.",
external: true
},
{
name: "Sonarr",
url: "http://sonarr.aetoskia.com",
desc: "Keep the endless chronicles of TV under iron control.",
external: true
},
{
name: "Radarr",
url: "http://radarr.aetoskia.com",
desc: "Command the legions of cinema, enforce cinematic order.",
external: true
},
], ],
description: description:
"Behold the archive of visual legends, where the eternal campaigns of film and series march forth in eternal crusade against chaos and forgetfulness.", "Behold the archive of visual legends, where the eternal campaigns of film and series march forth in eternal crusade against chaos and forgetfulness.",
@@ -29,9 +44,24 @@ const items = [
icon: <CodeIcon/>, icon: <CodeIcon/>,
title: 'The Forge Conclave', title: 'The Forge Conclave',
serviceList: [ serviceList: [
{ name: "Gitea", url: "http://gitea.aetoskia.com", desc: "Forge and safeguard code like a sacred relic.", external: true }, {
{ name: "Registry", url: "http://registry.aetoskia.com", desc: "Monitor core constructs of the digital empire.", external: true }, name: "Gitea",
{ name: "Drone", url: "http://drone.aetoskia.com", desc: "Automaton architect, building pipelines of perfection.", external: true }, url: "http://gitea.aetoskia.com",
desc: "Forge and safeguard code like a sacred relic.",
external: true
},
{
name: "Registry",
url: "http://registry.aetoskia.com",
desc: "Monitor core constructs of the digital empire.",
external: true
},
{
name: "Drone",
url: "http://drone.aetoskia.com",
desc: "Automaton architect, building pipelines of perfection.",
external: true
},
], ],
description: description:
"The bastion of creation — where code is forged in the fires of discipline, guarded like relics, and deployed with unyielding precision to uphold the empire's might.", "The bastion of creation — where code is forged in the fires of discipline, guarded like relics, and deployed with unyielding precision to uphold the empire's might.",
@@ -40,8 +70,18 @@ const items = [
icon: <MonitorHeartIcon/>, icon: <MonitorHeartIcon/>,
title: 'The Vigilant Watch', title: 'The Vigilant Watch',
serviceList: [ serviceList: [
{ name: "Portainer", url: "http://portainer.aetoskia.com", desc: "Oversee the fleet of containers with unyielding vigilance.", external: true }, {
{ name: "Traefik", url: "http://traefik.aetoskia.com", desc: "Marshal your gateways and protect the flow between realms.", external: true }, name: "Portainer",
url: "http://portainer.aetoskia.com",
desc: "Oversee the fleet of containers with unyielding vigilance.",
external: true
},
{
name: "Traefik",
url: "http://traefik.aetoskia.com",
desc: "Marshal your gateways and protect the flow between realms.",
external: true
},
], ],
description: description:
"Eyes ever watchful, guarding the realms sanctity — these sentinels oversee the flow of life and command the paths between digital dominions.", "Eyes ever watchful, guarding the realms sanctity — these sentinels oversee the flow of life and command the paths between digital dominions.",
@@ -142,7 +182,6 @@ export default function Services() {
gap: 2, gap: 2,
}} }}
> >
<div>
<Box <Box
sx={{ sx={{
display: {xs: 'none', sm: 'flex'}, display: {xs: 'none', sm: 'flex'},
@@ -198,7 +237,6 @@ export default function Services() {
handleItemClick={handleItemClick} handleItemClick={handleItemClick}
selectedFeature={selectedFeature} selectedFeature={selectedFeature}
/> />
</div>
<Box <Box
sx={{ sx={{
display: {xs: 'none', sm: 'flex'}, display: {xs: 'none', sm: 'flex'},
@@ -209,6 +247,7 @@ export default function Services() {
variant="outlined" variant="outlined"
sx={{ sx={{
display: {xs: 'none', sm: 'flex'}, display: {xs: 'none', sm: 'flex'},
maxHeight: '50vh',
}} }}
> >
<ServiceList serviceList={selectedFeature.serviceList} /> <ServiceList serviceList={selectedFeature.serviceList} />

View File

@@ -13,23 +13,6 @@ export function meta() {
]; ];
} }
const services = {
media: [
{ name: "Jellyseerr", url: "http://jellyseerr.aetoskia.com", desc: "Summon films and series from the digital void.", external: true },
{ name: "Sonarr", url: "http://sonarr.aetoskia.com", desc: "Keep the endless chronicles of TV under iron control.", external: true },
{ name: "Radarr", url: "http://radarr.aetoskia.com", desc: "Command the legions of cinema, enforce cinematic order.", external: true },
{ name: "qBit", url: "http://qbit.aetoskia.com", desc: "Torrent war engine, fetching data across the nether realms.", external: true },
],
codebase: [
{ name: "Gitea", url: "http://gitea.aetoskia.com", desc: "Forge and safeguard code like a sacred relic.", external: true },
{ name: "Registry", url: "http://registry.aetoskia.com", desc: "Monitor core constructs of the digital empire.", external: true },
{ name: "Drone", url: "http://drone.aetoskia.com", desc: "Automaton architect, building pipelines of perfection.", external: true },
],
monitoring: [
{ name: "Portainer", url: "http://portainer.aetoskia.com", desc: "Oversee the fleet of containers with unyielding vigilance.", external: true },
],
};
export default function Home() { export default function Home() {
return ( return (
<Container <Container