Skip to content

Commit

Permalink
feat: cleanup demo
Browse files Browse the repository at this point in the history
  • Loading branch information
mbret committed Jun 26, 2024
1 parent e0ac75f commit bede458
Show file tree
Hide file tree
Showing 22 changed files with 79 additions and 157 deletions.
55 changes: 30 additions & 25 deletions packages/demo/src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import React, { FC, memo, useEffect } from "react"
import { BrowserRouter as Router, Routes, Route, Navigate } from "react-router-dom"
import { useSetRecoilState } from "recoil"
import { Home as ComicsHome } from "./comics/Home"
import { Home } from "./Home"
import { Home } from "./home/Home"
import { ChakraProvider, ColorModeProvider } from "@chakra-ui/react"
import { theme } from "./theme/theme"
import { ReaderInstance } from "./types"
Expand All @@ -11,36 +11,41 @@ import { isZoomingState } from "./state"
import { ErrorBoundary } from "./common/ErrorBoundary"
import { useReader } from "./reader/useReader"
import { Subscribe } from "@react-rxjs/core"
import { Reader } from "./Reader"
import { Reader } from "./reader/Reader"
import "@fontsource/dancing-script/400.css"
import { QueryClient, QueryClientProvider } from "reactjrx"

const queryClient = new QueryClient()

export const App = memo(() => {
const { reader, setReader } = useReader()

return (
<Subscribe>
<ChakraProvider theme={theme}>
<ColorModeProvider value="dark" options={{ initialColorMode: `dark`, useSystemColorMode: false }}>
<Router>
<Routes>
<Route
path="/reader/:url"
element={
<ErrorBoundary>
<Reader onReader={setReader} />
</ErrorBoundary>
}
/>
<Route path="/books" element={<ClassicHome />} />
<Route path="/comics" element={<ComicsHome />} />
<Route path="/" element={<Home />} />
<Route path="*" element={<Navigate to="/" />} />
</Routes>
</Router>
</ColorModeProvider>
</ChakraProvider>
<Effects reader={reader} />
</Subscribe>
<QueryClientProvider client={queryClient}>
<Subscribe>
<ChakraProvider theme={theme}>
<ColorModeProvider value="dark" options={{ initialColorMode: `dark`, useSystemColorMode: false }}>
<Router>
<Routes>
<Route
path="/reader/:url"
element={
<ErrorBoundary>
<Reader onReader={setReader} />
</ErrorBoundary>
}
/>
<Route path="/books" element={<ClassicHome />} />
<Route path="/comics" element={<ComicsHome />} />
<Route path="/" element={<Home />} />
<Route path="*" element={<Navigate to="/" />} />
</Routes>
</Router>
</ColorModeProvider>
</ChakraProvider>
<Effects reader={reader} />
</Subscribe>
</QueryClientProvider>
)
})

Expand Down
2 changes: 1 addition & 1 deletion packages/demo/src/classic/ClassicSettings.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import { Settings } from "../common/Settings"
import { ArrowDownIcon, ArrowUpIcon, ArrowBackIcon, ArrowForwardIcon } from "@chakra-ui/icons"
import { OtherSettings } from "../common/OtherSettings"
import { useReaderSettings } from "../common/useReaderSettings"
import { FONT_SCALE_MAX, FONT_SCALE_MIN } from "../constants"
import { FONT_SCALE_MAX, FONT_SCALE_MIN } from "../constants.shared"

type Theme = Parameters<Reader[`theme`][`set`]>[0]

Expand Down
16 changes: 8 additions & 8 deletions packages/demo/src/classic/Reader.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { useRecoilState, useRecoilValue, useSetRecoilState } from "recoil"
import { useGestureHandler } from "./useGestureHandler"
import { Reader as ReactReader } from "@prose-reader/react"
import { Manifest } from "@prose-reader/core"
import { QuickMenu } from "../QuickMenu"
import { QuickMenu } from "../reader/QuickMenu"
import {
bookReadyState,
isHelpOpenState,
Expand All @@ -14,17 +14,17 @@ import {
useResetStateOnUnMount
} from "../state"
import { ClassicSettings } from "./ClassicSettings"
import { Loading } from "../Loading"
import { Loading } from "../reader/Loading"
import { createAppReader, ReactReaderProps, ReaderInstance } from "../types"
import { useBookmarks } from "../useBookmarks"
import { useBookmarks } from "../reader/useBookmarks"
import { useParams } from "react-router"
import { BookError } from "../BookError"
import { BookError } from "../reader/BookError"
import { getEpubUrlFromLocation } from "../serviceWorker/utils"
import { HighlightMenu } from "../HighlightMenu"
import { SearchDialog } from "../SearchDialog"
import { HelpDialog } from "../HelpDialog"
import { HighlightMenu } from "../reader/HighlightMenu"
import { SearchDialog } from "../reader/SearchDialog"
import { HelpDialog } from "../reader/HelpDialog"
import { useReader } from "../reader/useReader"
import { FONT_SCALE_MAX, FONT_SCALE_MIN } from "../constants"
import { FONT_SCALE_MAX, FONT_SCALE_MIN } from "../constants.shared"

export const Reader = ({
onReader,
Expand Down
10 changes: 5 additions & 5 deletions packages/demo/src/comics/Reader.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@ import { useEffect } from "react"
import { useRecoilState, useRecoilValue, useSetRecoilState } from "recoil"
import { useGestureHandler } from "./useGestureHandler"
import { Reader as ReactReader } from "@prose-reader/react"
import { QuickMenu } from "../QuickMenu"
import { QuickMenu } from "../reader/QuickMenu"
import { bookReadyState, isMenuOpenState, manifestState, useResetStateOnUnMount } from "../state"
import { ComicsSettings } from "./ComicsSettings"
import { Loading } from "../Loading"
import { useBookmarks } from "../useBookmarks"
import { Loading } from "../reader/Loading"
import { useBookmarks } from "../reader/useBookmarks"
import { useParams } from "react-router"
import { BookError } from "../BookError"
import { BookError } from "../reader/BookError"
import { getEpubUrlFromLocation } from "../serviceWorker/utils"
import { HighlightMenu } from "../HighlightMenu"
import { HighlightMenu } from "../reader/HighlightMenu"
import { ZoomingIndicator } from "../common/ZoomingIndicator"
import { Manifest } from "@prose-reader/core"
import { createAppReader, ReactReaderProps, ReaderInstance } from "../types"
Expand Down
4 changes: 3 additions & 1 deletion packages/demo/src/constants.shared.ts
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
export const PROJECT_NAME = `@prose/web-reader`
export const PROJECT_NAME = `@prose/web-reader`
export const FONT_SCALE_MIN = 0.2
export const FONT_SCALE_MAX = 5
2 changes: 0 additions & 2 deletions packages/demo/src/constants.ts

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import React from "react"
import { Link } from "react-router-dom"
import { Button as ChakraButton, Text, Box, Heading, Link as ChakraLink } from "@chakra-ui/react"
import { OrDivider } from "./common/OrDivider"
import { OrDivider } from "../common/OrDivider"
import { ExternalLinkIcon } from "@chakra-ui/icons"

export const Home = () => {
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { List, ListIcon, ListItem } from "@chakra-ui/react"
import React from "react"
import { FullScreenModal } from "./common/FullScreenModal"
import { usePagination } from "./reader/state"
import { useReader } from "./reader/useReader"
import { FullScreenModal } from "../common/FullScreenModal"
import { usePagination } from "./state"
import { useReader } from "./useReader"

export const HelpDialog = ({ onExit, isOpen }: { onExit: () => void; isOpen: boolean }) => {
const { reader$ } = useReader()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import React, { useCallback } from "react"
import { useRecoilState } from "recoil"
import { Button } from "./common/Button"
import { currentHighlight } from "./state"
import { useReader } from "./reader/useReader"
import { Button } from "../common/Button"
import { currentHighlight } from "../state"
import { useReader } from "./useReader"

export const HighlightMenu = () => {
const { reader } = useReader()
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ import { useRecoilValue, useSetRecoilState } from "recoil"
import { IconButton, Box } from "@chakra-ui/react"
import { ArrowBackIcon, ArrowForwardIcon, SettingsIcon, SearchIcon, HamburgerIcon, QuestionOutlineIcon } from "@chakra-ui/icons"
import { Scrubber } from "./Scrubber"
import { bookTitleState, isComicState, isHelpOpenState, isSearchOpenState, isTocOpenState } from "./state"
import { AppBar } from "./common/AppBar"
import { useReader } from "./reader/useReader"
import { usePagination } from "./reader/state"
import { bookTitleState, isComicState, isHelpOpenState, isSearchOpenState, isTocOpenState } from "../state"
import { AppBar } from "../common/AppBar"
import { useReader } from "./useReader"
import { usePagination } from "./state"
import { useObserve } from "reactjrx"
import { NEVER } from "rxjs"

Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import React, { memo } from "react"
import { ReaderInstance } from "./types"
import { ReaderInstance } from "../types"
import { useManifest } from "./useManifest"
import { Reader as ClassicReader } from "./classic/Reader"
import { Reader as ComicsReader } from "./comics/Reader"
import { Reader as ClassicReader } from "../classic/Reader"
import { Reader as ComicsReader } from "../comics/Reader"
import { useParams } from "react-router-dom"
import { TocDialog } from "./TocDialog"
import { useRecoilState } from "recoil"
import { isTocOpenState } from "./state"
import { isTocOpenState } from "../state"

export const Reader = memo(({ onReader }: { onReader: (instance: ReaderInstance | undefined) => void }) => {
const { url = `` } = useParams<`url`>()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ import React, { useCallback, useEffect, useState } from "react"
import RcSlider from "rc-slider"
import "rc-slider/assets/index.css"
import { useRecoilValue } from "recoil"
import { isComicState, manifestState } from "./state"
import { useReader } from "./reader/useReader"
import { usePagination } from "./reader/state"
import { isComicState, manifestState } from "../state"
import { useReader } from "./useReader"
import { usePagination } from "./state"

export const Scrubber = () => {
const { reader, reader$ } = useReader()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ import React, { useCallback, useEffect, useState } from "react"
import { tap } from "rxjs/operators"
import { SearchResult } from "@prose-reader/enhancer-search"
import { groupBy } from "@prose-reader/core"
import { FullScreenModal } from "./common/FullScreenModal"
import { useReader } from "./reader/useReader"
import { FullScreenModal } from "../common/FullScreenModal"
import { useReader } from "./useReader"

export const SearchDialog = ({ onExit, isOpen }: { onExit: () => void; isOpen: boolean }) => {
const [text, setText] = useState("")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ import { CheckCircleIcon } from "@chakra-ui/icons"
import { List, ListIcon, ListItem, Text } from "@chakra-ui/react"
import React, { useEffect, useState } from "react"
import { useRecoilValue } from "recoil"
import { manifestState } from "./state"
import { FullScreenModal } from "./common/FullScreenModal"
import { useReader } from "./reader/useReader"
import { usePagination } from "./reader/state"
import { manifestState } from "../state"
import { FullScreenModal } from "../common/FullScreenModal"
import { useReader } from "./useReader"
import { usePagination } from "./state"

export const TocDialog = ({ onExit, isOpen }: { onExit: () => void; isOpen: boolean }) => {
const { nav, renditionLayout } = useRecoilValue(manifestState) || {}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { useEffect } from "react"
import { tap, switchMap } from "rxjs/operators"
import { Report } from "./report"
import { ReaderInstance } from "./types"
import { ReaderInstance } from "../types"

type Bookmark = Parameters<ReaderInstance[`bookmarks`][`load`]>[0][number]

Expand All @@ -17,7 +16,7 @@ export const useBookmarks = (reader: ReaderInstance | undefined, bookKey: string
const importableBookmarks = reader.bookmarks.mapToImportable(bookmarks)
persist(bookKey, importableBookmarks)

Report.log(`persisted bookmarks`, importableBookmarks)
console.log(`persisted bookmarks`, importableBookmarks)
})
)
)
Expand All @@ -36,7 +35,7 @@ export const useBookmarks = (reader: ReaderInstance | undefined, bookKey: string
useEffect(() => {
const bookmarksForBook = restore(bookKey)

Report.log(`restored bookmarks`, bookmarksForBook)
console.log(`restored bookmarks`, bookmarksForBook)

reader?.bookmarks.load(bookmarksForBook)
}, [reader, bookKey])
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { useEffect } from "react"
import { ReaderInstance } from "./types"
import { ReaderInstance } from "../types"
import { tap } from "rxjs/operators"
import { useSetRecoilState } from "recoil"
import { currentHighlight, isMenuOpenState } from "./state"
import { currentHighlight, isMenuOpenState } from "../state"

export const useHighlights = (reader: ReaderInstance | undefined) => {
const setMenuOpenState = useSetRecoilState(isMenuOpenState)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { Manifest } from "@prose-reader/core"
import { useQuery } from "react-query"
import { Report } from "./report"
import { STREAMER_URL_PREFIX } from "./serviceWorker/constants"
import { STREAMER_URL_PREFIX } from "../serviceWorker/constants"

export const useManifest = (epubUrl: string) =>
useQuery(
Expand All @@ -18,6 +17,6 @@ export const useManifest = (epubUrl: string) =>
refetchOnMount: false,
refetchOnReconnect: false,
refetchOnWindowFocus: false,
onError: Report.error
onError: console.error
}
)
74 changes: 0 additions & 74 deletions packages/demo/src/report.ts

This file was deleted.

3 changes: 1 addition & 2 deletions packages/demo/src/serviceWorker/loadEpub.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import { loadAsync } from "jszip"
import { Report } from "../report"
import { createArchiveFromText, Archive, createArchiveFromJszip } from "@prose-reader/streamer"
import localforage from "localforage"
import { getEpubFilenameFromUrl } from "./utils"
Expand All @@ -14,7 +13,7 @@ const cleanup = () => {
cleanupInterval = setInterval(
() => {
if (!loading && archive) {
Report.log(`serviceWorker`, `cleaning up unused epub archive reference (after 5mn)`)
console.log(`serviceWorker`, `cleaning up unused epub archive reference (after 5mn)`)
archive = undefined
lastUrl = undefined
}
Expand Down
Loading

0 comments on commit bede458

Please sign in to comment.