You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
747 B
27 lines
747 B
import { Banner } from "@/components/Banner"; |
|
import { useBannerSize } from "@/hooks/useBanner"; |
|
import { useIsOnline } from "@/hooks/usePing"; |
|
import { ReactNode } from "react"; |
|
import { useTranslation } from "react-i18next"; |
|
|
|
export function Layout(props: { children: ReactNode }) { |
|
const { t } = useTranslation(); |
|
const isOnline = useIsOnline(); |
|
const bannerSize = useBannerSize(); |
|
|
|
return ( |
|
<div> |
|
<div className="fixed inset-x-0 z-[1000]"> |
|
{!isOnline ? <Banner type="error">{t("errors.offline")}</Banner> : null} |
|
</div> |
|
<div |
|
style={{ |
|
paddingTop: `${bannerSize}px`, |
|
}} |
|
className="flex min-h-screen flex-col" |
|
> |
|
{props.children} |
|
</div> |
|
</div> |
|
); |
|
}
|
|
|