github.com/pelicanplatform/pelican@v1.0.5/web_ui/frontend/app/(landing)/page.tsx (about) 1 /*************************************************************** 2 * 3 * Copyright (C) 2023, Pelican Project, Morgridge Institute for Research 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); you 6 * may not use this file except in compliance with the License. You may 7 * obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 * 17 ***************************************************************/ 18 19 "use client" 20 21 import RateGraph from "@/components/graphs/RateGraph"; 22 import StatusBox from "@/components/StatusBox"; 23 24 import {TimeDuration} from "@/components/graphs/prometheus"; 25 26 import {Box, Container, Grid, Typography} from "@mui/material"; 27 import FederationOverview from "@/components/FederationOverview"; 28 import Link from "next/link"; 29 30 function TextCenteredBox({text} : {text: string}) { 31 return ( 32 <Box sx={{ 33 aspectRatio: 1, 34 width: "100%", 35 display: "flex", 36 textTransform: "capitalize", 37 bgcolor: "primary.light", 38 borderRadius: "1rem", 39 40 }}> 41 <Box m={"auto"}> 42 <Typography variant={"h4"} align={"center"}>{text}</Typography> 43 </Box> 44 </Box> 45 ) 46 } 47 48 49 export default function Home() { 50 51 const pelicanServices = ["origin", "director", "registry"] 52 53 return ( 54 <Box width={"100%"} pt={5}> 55 <Container maxWidth={"xl"}> 56 <Typography pb={5} textAlign={"center"} variant={"h3"}>Pelican Services</Typography> 57 <Grid container justifyContent={"center"} spacing={2}> 58 {pelicanServices.map((service) => { 59 return ( 60 <Grid key={service} item xs={2}> 61 <Link href={`./${service}/index.html`}> 62 <TextCenteredBox text={service}/> 63 </Link> 64 </Grid> 65 ) 66 })} 67 </Grid> 68 </Container> 69 </Box> 70 ) 71 }