import { Fragment, useContext, useEffect, useRef, useState } from "react" import { useRouter } from "next/router" import { Event, getAllLocalStorageItems, getRefValue, getRefValues, isTrue, preventDefault, refs, spreadArraysOrObjects, uploadFiles, useEventLoop } from "/utils/state" import { ColorModeContext, EventLoopContext, initialEvents, StateContext } from "/utils/context.js" import "focus-visible/dist/focus-visible" import { Box, Button, Heading, HStack, Image, Link, List, ListItem, Menu, MenuButton, MenuDivider, MenuItem, MenuList, Modal, ModalBody, ModalContent, ModalHeader, ModalOverlay, OrderedList, Spacer, Text, VStack, Wrap, WrapItem } from "@chakra-ui/react" import { getEventURL } from "/utils/state.js" import NextLink from "next/link" import { HamburgerIcon } from "@chakra-ui/icons" import NextHead from "next/head" export default function Component() { const state = useContext(StateContext) const router = useRouter() const [ colorMode, toggleColorMode ] = useContext(ColorModeContext) const focusRef = useRef(); // Main event loop. const [addEvents, connectError] = useContext(EventLoopContext) // Set focus to the specified element. useEffect(() => { if (focusRef.current) { focusRef.current.focus(); } }) // Route after the initial page hydration. useEffect(() => { const change_complete = () => addEvents(initialEvents()) router.events.on('routeChangeComplete', change_complete) return () => { router.events.off('routeChangeComplete', change_complete) } }, [router]) return ( {isTrue(connectError !== null) ? ( {`Connection Error`} {`Cannot connect to server: `} {(connectError !== null) ? connectError.message : ''} {`. Check if server is reachable at `} {getEventURL().href} ) : ( )} {`Strona główna`} {`Dashboard`} {`Settings`} {`Witaj w BlurMe!`} {`Aplikacja do anonimizacji zdjęć: usunięcie wybranych informacji identyfikujących ze zdjęć z wydarzeń i miejsc publicznych nigdy nie było tak proste!`} {`Tu będzie obrazek`} {` `} {`Dlaczego Blurme?`} {`Prywatność: `} {`Nasza aplikacja zapewnia pełną ochronę prywatności, eliminując ryzyko identyfikacji osób niezwiązanych z anonimizacją.`} {`Prost obsługa: `} {`Intuicyjny interfejs użytkownika sprawia, że korzystanie z Blurme jest łatwe dla każdego.`} {`Elastyczność: `} {`Wybierz, która twarz na zdjęciu ma pozostać niezmieniona, a my zadbamy o resztę. Indywidualizuj swoje zdjęcia zgodnie z własnymi potrzebami.`} {`Jak to działa?`} {`Wgraj Zdjęcie: `} {`Prosty proces rozpoczyna się od dodania zdjęcia, które chcesz anonimizować.`} {`Zaznacz Twarz do Ochrony: `} {`Oznacz twarz, którą chcesz zachować.`} {`Anonimizuj Resztę: `} {`Naciśnij przycisk, a Blurme automatycznie zastosuje efekt rozmycia do wszystkich obszarów poza zaznaczoną twarzą.`} {`Pobierz i Podziel Się: `} {`Gotowe! Pobierz anonimizowane zdjęcie i dziel się nim bez obaw o prywatność.`} {`Do Czego?`} {`Ochrona Tożsamości: `} {`Idealne do usuwania twarzy nieznajomych lub przypadkowych przechodniów z tła.`} {`Zachowanie Prywatności: `} {`Przydatne w sytuacjach, gdzie chcesz udostępnić zdjęcia publicznie, ale z zachowaniem prywatności pewnych osób.`} {`Kreatywność: `} {`Wyraź swoją kreatywność, zachowując jednocześnie istotne elementy na zdjęciach.`} {`Blurme to więcej niż tylko narzędzie - to rozwiązanie, które pozwala Ci kontrolować, jak prezentujesz swoje zdjęcia online, zachowując jednocześnie pełną prywatność. Przekształć swoje obrazy już teraz!`} {`Strona główna`} {`Dashboard`} {`Settings`} {`About`} {`Contact`} {`Strona główna`} ) }