github.com/pelicanplatform/pelican@v1.0.5/web_ui/frontend/app/origin/layout.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  import {Box, Tooltip} from "@mui/material";
    20  
    21  import {Sidebar} from "@/components/layout/Sidebar";
    22  import Link from "next/link";
    23  import Image from "next/image";
    24  import PelicanLogo from "@/public/static/images/PelicanPlatformLogo_Icon.png";
    25  import IconButton from "@mui/material/IconButton";
    26  import BuildIcon from "@mui/icons-material/Build";
    27  
    28  export const metadata = {
    29      title: 'Pelican Origin',
    30      description: 'Software designed to make data distribution easy',
    31  }
    32  
    33  export default function RootLayout({
    34                                         children,
    35                                     }: {
    36      children: React.ReactNode
    37  }) {
    38      return (
    39          <Box display={"flex"} flexDirection={"row"}>
    40              <Sidebar>
    41                  <Link href={"/index.html"}>
    42                      <Image
    43                          src={PelicanLogo}
    44                          alt={"Pelican Logo"}
    45                          width={36}
    46                          height={36}
    47                      />
    48                  </Link>
    49                  <Box pt={1}>
    50                      <Tooltip title={"Config"} placement={"right"}>
    51                          <Link href={"/config/index.html"}>
    52                              <IconButton>
    53                                  <BuildIcon/>
    54                              </IconButton>
    55                          </Link>
    56                      </Tooltip>
    57                  </Box>
    58              </Sidebar>
    59              <Box component={"main"} p={2} pl={"90px"} display={"flex"} minHeight={"100vh"} flexGrow={1}>
    60                  {children}
    61              </Box>
    62          </Box>
    63      )
    64  }