import { Button, Container, createStyles, Group, List, Text, ThemeIcon, Title, } from "@mantine/core"; import { NextLink } from "@mantine/next"; import getConfig from "next/config"; import Image from "next/image"; import { useRouter } from "next/router"; import { TbCheck } from "react-icons/tb"; import Meta from "../components/Meta"; import useUser from "../hooks/user.hook"; const { publicRuntimeConfig } = getConfig(); const useStyles = createStyles((theme) => ({ inner: { display: "flex", justifyContent: "space-between", paddingTop: theme.spacing.xl * 4, paddingBottom: theme.spacing.xl * 4, }, content: { maxWidth: 480, marginRight: theme.spacing.xl * 3, [theme.fn.smallerThan("md")]: { maxWidth: "100%", marginRight: 0, }, }, title: { color: theme.colorScheme === "dark" ? theme.white : theme.black, fontSize: 44, lineHeight: 1.2, fontWeight: 900, [theme.fn.smallerThan("xs")]: { fontSize: 28, }, }, control: { [theme.fn.smallerThan("xs")]: { flex: 1, }, }, image: { [theme.fn.smallerThan("md")]: { display: "none", }, }, highlight: { position: "relative", backgroundColor: theme.colorScheme === "dark" ? theme.fn.rgba(theme.colors[theme.primaryColor][6], 0.55) : theme.colors[theme.primaryColor][0], borderRadius: theme.radius.sm, padding: "4px 12px", }, })); export default function Home() { const user = useUser(); const { classes } = useStyles(); const router = useRouter(); if (user || publicRuntimeConfig.ALLOW_UNAUTHENTICATED_SHARES == "true") { router.replace("/upload"); } else if (publicRuntimeConfig.SHOW_HOME_PAGE == "false") { router.replace("/auth/signIn"); } else { return ( <>
A <span className={classes.highlight}>self-hosted</span> <br />{" "} file sharing platform. Do you really want to give your personal files in the hand of third parties like WeTransfer? } >
Self-Hosted - Host Pingvin Share on your own machine.
Privacy - Your files are your files and should never get into the hands of third parties.
No annoying file size limit - Upload as big files as you want. Only your hard drive will be your limit.
Pingvin Share Logo
); } }