/* eslint-disable react/no-array-index-key */ import useSWR from "swr"; import Head from "next/head"; import dynamic from "next/dynamic"; import { useTranslation } from "react-i18next"; import { useEffect, useContext } from "react"; import { BiError } from "react-icons/bi"; import ServicesGroup from "components/services/group"; import BookmarksGroup from "components/bookmarks/group"; import Widget from "components/widget"; import Revalidate from "components/revalidate"; import createLogger from "utils/logger"; import { getSettings } from "utils/config"; import { ColorContext } from "utils/color-context"; import { ThemeContext } from "utils/theme-context"; import { SettingsContext } from "utils/settings-context"; const ThemeToggle = dynamic(() => import("components/theme-toggle"), { ssr: false, }); const ColorToggle = dynamic(() => import("components/color-toggle"), { ssr: false, }); const Version = dynamic(() => import("components/version"), { ssr: false, }); const rightAlignedWidgets = ["weatherapi", "openweathermap", "weather", "search", "datetime"]; export function getStaticProps() { let logger; try { logger = createLogger("index"); const { providers, ...settings } = getSettings(); return { props: { initialSettings: settings, }, }; } catch (e) { if (logger) { logger.error(e); } return { props: { initialSettings: {}, }, }; } } export default function Index({ initialSettings }) { const { data: errorsData } = useSWR("/api/validate"); if (errorsData && errorsData.length > 0) { return (
{error.reason}
{error.mark.snippet}