From fd86dc15734f3b7126d88f0130897c597100e30a Mon Sep 17 00:00:00 2001 From: polwex Date: Thu, 15 May 2025 20:32:25 +0700 Subject: m --- src/zoom/App.tsx | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 src/zoom/App.tsx (limited to 'src/zoom/App.tsx') diff --git a/src/zoom/App.tsx b/src/zoom/App.tsx new file mode 100644 index 0000000..d41dd7f --- /dev/null +++ b/src/zoom/App.tsx @@ -0,0 +1,98 @@ +"use client"; +import React, { useEffect, useState } from "react"; +import { motion } from "framer-motion"; +import FullText from "./FullText"; +import "./zoom.css"; +import { useZoom, ZoomProvider } from "./hooks/useZoom"; +import { NLP } from "sortug-ai"; +import { Loader2 } from "lucide-react"; + +const App: React.FC = () => { + const { viewState } = useZoom(); + const [isLoading, setLoading] = useState(true); + const [spacy, setSpacy] = useState(); + const [stanza, setStanza] = useState(); + useEffect(() => { + const sp = sessionStorage.getItem("spacyres"); + const st = sessionStorage.getItem("stanzares"); + if (sp) setSpacy(JSON.parse(sp)); + if (st) setStanza(JSON.parse(st)); + setLoading(false); + }, []); + console.log(viewState.level, "level"); + return ( + <> + +

+ Click on any text element to zoom in, exploring language from: +
+ + + Text + + + + Paragraph + + + + Sentence + + + + Clause + + + + Word + + + + Syllable + + + + Phoneme + + +
+ Click the Back button or on empty space to return to the previous + level. +

+
+ +
+ {isLoading ? ( + + ) : spacy ? ( + + ) : ( +

Oops

+ )} +
+ + +

A language learning tool with seamless zoom animations

+
+ + ); +}; +export default function () { + return ( + + + + ); +} -- cgit v1.2.3