GithubHelp home page GithubHelp logo

tonymushah / special-eureka Goto Github PK

View Code? Open in Web Editor NEW
22.0 4.0 0.0 85.08 MB

A desktop mangareader built in Tauri and React

License: GNU General Public License v3.0

JavaScript 0.14% Rust 42.71% TypeScript 28.86% HTML 0.03% Svelte 27.58% MDX 0.37% SCSS 0.30%
manga manga-downloader mangadex tauri special-eureka rust typescript bilibili-comics manga-reader tauri-plugin

special-eureka's Introduction

Special Eureka

build-test Dev Builds

A desktop manga reader which support for :

It's build in Tauri and React

Features

Mangadex

  • Accurate UI (pretty much the same as in Mangadex)
  • Chapter Downloading
  • Offline Chapter Reading
  • Single Page, Double Page, WideStrip, LongStrip Reading Mode
  • RTL Support for Chapter Reading
  • Zoom for Chapter Reading (Single Page and Double Page Only)
  • Light and dark theme

Why I Created this project??

I love reading manga.

There is many website that allows you to read manga for free like Mangadex, Manga Plus, RawKuma for raws.

The problem is that these are website, you need internet connection to access them. And me, who live in a country where internet connection is SLOW and EXPENSIVE, want to read manga without worrying about internet connection.

There was two solutions :

  • be rich (which i can't do due to my complicated situations)
  • create or use a tool that allow me to download manga from website

I decided to take the second solution.

There is some great alternatives like : mangadesk and Mangal for Terminal, or Tachiyomi for Mobile, etc,... (i recommend visiting wotaku if you want to know more about those).

But they don't satisfy my own need, like :

  • Having a desktop app πŸ˜…
  • Reading Chapter and Manga on both offline and online
  • Having the same user experience as the website
  • Zoom for chapter
  • Customization
  • Exports
  • etc,...

So with those goals in mind, i decided to create my own manga reader app for Desktop.

Why choosing Tauri??

Tauri is a toolkit for building desktop apps (they will support mobile soon too!), kinda like Electron but built in Rust.

Now, i wanted to use Tauri for fun, just to see of how can it go and such. But even if the Tauri ecosystem is still growing, it has so many great features that make me fall off.

Why use React??

It was a mistake at first, but React is amazing. I know that there is good alternative like Solid, Vue, Svelte, and such,... but I'm still learning while building project.

Bug reporting

If you find a bug or something like that, please create an issue.

Feedbacks

If you want to give some feedback, please put them to :

Using the source directly

Before we start, make sure you have meet the Tauri Prerequisites and done the Tauri Quick Start With Vite.

And, this project also use pnpm as a package manager, so make sure you have installed it.

If that's done, then let's get started.

First, clone the repository

git clone https://github.com/tonymushah/special-eureka.git

Second, install the frontend dependencies:

pnpm install

Note : Make sure you have pnpm installed

Last, but at least :

pnpm dev

The build might take a long time, like 30 minutes so i recommend doing else instead.

License

GPL-3.0 license

special-eureka's People

Contributors

anotherduckling avatar dependabot[bot] avatar renovate[bot] avatar tonymushah avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

special-eureka's Issues

A way to delete downloaded chapters

So actually, the actual chapter componnent is (approximately) the same as Mangadex but the problem is that, the users (like me :3) can't delete their downloaded chapters that they want.

The function is already here but the problem is the UI and UX

I found some solution for that:

  • Use a Context Menu
  • Show a trash-can icon near the flag icon when the chapter is downloaded
  • Use some keyboard shorcut
  • Use some drag and drop to a trash can icon on the sidebar

i use the trash-icon in the end

Recent Popular Manga on Mangadex Home

Goal :

Listing the top ten recently popular titles in mangadex

It's like in the Mangadex Home Page

Tasks :

  • Create a new React Component that use (approximately) the same as Mangadex website
  • Find the actual API request that give the recently popular titles
  • Create a new React Swipper Component that contain the top list

Optional :

  • Create a page to see the full top list
  • Create a route to go to that page
  • Find a way to go to this page via the sidebar

Manga Page Covers List

In the Mangadex Manga page,

  • Display all covers available covers in the covers tab
  • On a cover image hover, it display its volume number
  • On a cover image click, it's display the cover in a overlay mode

On the overlay mode,

  • The cover can be zoomed
  • the users can switch between covers

also,

  • Add a realist animation when you switch between normal and overlay mode

Note : use frame/motion for the animation

Action Required: Fix Renovate Configuration

There is an error with this repository's Renovate configuration that needs to be fixed. As a precaution, Renovate will stop PRs until it is resolved.

Location: renovate.json
Error type: The renovate configuration file contains some invalid settings
Message: Invalid configuration option: label

Update All mutations functions

add a queryKey to all of these useMutation declaration on:

  • src/mangadex/resources/componnents/Collection/CollectionComponnent_WithQuery.tsx:30
  • src/mangadex/resources/componnents/Collection/CollectionComponnent_WithQuery.tsx:66
  • src/mangadex/resources/componnents/Collection/CollectionComponnent_WithQuery.tsx:102
  • src/mangadex/resources/componnents/Collection/CollectionComponnent_WithQuery.tsx:138
  • src/mangadex/resources/componnents/download/All_downloaded_Manga_Consumer.tsx:36
  • src/mangadex/resources/componnents/download/All_downloaded_Manga_Consumer.tsx:71
  • src/mangadex/resources/hooks/ChapterStateHooks.tsx:21
  • src/mangadex/resources/hooks/ChapterStateHooks.tsx:150
  • src/mangadex/resources/hooks/ChapterStateHooks.tsx:198
  • src/mangadex/resources/hooks/MangaManagerState.tsx:22
  • src/mangadex/resources/hooks/MangaStateHooks.tsx:20
  • src/mangadex/resources/hooks/MangaStateHooks.tsx:77

I'll add more if there is more.

Window Test Realease

Hi, for everyone who is wondering why?? because I developped this app on Fedora Linux

Language Bug

Bug

  1. English as the language is selected, it is still showing other languages content. (also it's not clear which language it's indicating. original source language or translation language.)
    image
    image

Originally posted by @anotherduckling in #36 (comment)

Fixing the chapter page listing in Windows

For the one how don't know i use Fedora as my primary OS but sometimes i use Windows for testing the application on that one.
On Special-Eureka v0.1.3, the offline chapter reading doesn't work well. It's doesn't put the chapters in order.
Example :
let's assume that you have a chapter with 30 pages like that :
1.jpg 2.jpg 3.jpg ... 30.jpg
In fedora, it's work well but in windows... it's work like
1.jpg 10.jpg 11.jpg .. 2.jpg 20.jpg 21.jpg ... 3.jpg 30.jpg

it annoying when you want to read the chapter in a right order

If some one has some suggestions or advice to fix this bug, please write a comment below

Apply herta on all mangadex spinner when active

There is just a few spinner that apply this herta easter egg.
So the next step is to :

  • Create a componnent MangadexSpinner that only apply for Mangadex
  • Use the same props as the Chakra.Spinner
  • Create a condition with the isActiveAtom
    if isActiveAtom is true then apply herta, use the chakra spinner if not

Note : the size should be proportional with the initial spinner.

Also sometimes , jotai (our state manager) doesn't sync value proprely beetween componnents, so it's preferable to use @tanstack/query instead.

Fix the tauri-action problem

The latest action doesn't execute as intended.
So the problem is that :

  • When built, the tauri-action export it to the src-tauri/target/realease
  • But, when looking for the built artifacts, it search it from src-tauri/examples/target/release

Suggested Solution :

  • Update tauri-action to the latest version
  • create a new job in the workflow to create a new realease before the actual build
  • Delete or exclude examples in build

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Warning

These dependencies are deprecated:

Datasource Name Replacement PR?
npm @storybook/testing-library Unavailable

Rate-Limited

These updates are currently rate-limited. Click on a checkbox below to force their creation now.

  • chore(deps) Update Rust crate regex to v1.10.5 (main)
  • chore(deps) Update Rust crate reqwest to v0.12.5 (main)
  • chore(deps) Update Rust crate serde_json to v1.0.118 (main)
  • chore(deps) Update Rust crate url to v2.5.2 (main)
  • chore(deps) Update dependency @sveltejs/adapter-static to v3.0.2 (main)
  • chore(deps) Update dependency @sveltejs/kit to v2.5.17 (main)
  • chore(deps) Update dependency @types/lodash to v4.17.5 (main)
  • chore(deps) Update dependency tslib to v2.6.3 (main)
  • chore(deps) Update dependency vite-plugin-kit-routes to v0.6.2 (main)
  • chore(deps) Update fontsource monorepo (main) (@fontsource-variable/josefin-sans, @fontsource/poppins)
  • chore(deps) Update tauri monorepo (main) (@tauri-apps/api, @tauri-apps/cli, tauri)
  • chore(deps) Update Rust crate uuid to v1.9.1 (main)
  • chore(deps) Update dependency @melt-ui/svelte to ^0.81.0 (main)
  • chore(deps) Update dependency @playwright/test to v1.45.0 (main)
  • chore(deps) Update dependency @sveltejs/adapter-auto to v3.2.2 (main)
  • chore(deps) Update dependency @sveltejs/vite-plugin-svelte to v3.1.1 (main)
  • chore(deps) Update dependency @urql/svelte to v4.2.0 (main)
  • chore(deps) Update dependency eslint to v9.5.0 (main)
  • chore(deps) Update dependency eslint-plugin-svelte to v2.41.0 (main)
  • chore(deps) Update dependency fast-xml-parser to v4.4.0 (main)
  • chore(deps) Update dependency graphiql to v3.3.1 (main)
  • chore(deps) Update dependency graphql to v16.9.0 (main)
  • chore(deps) Update dependency prettier to v3.3.2 (main)
  • chore(deps) Update dependency sass to v1.77.6 (main)
  • chore(deps) Update dependency svelte-check to v3.8.3 (main)
  • chore(deps) Update dependency swiper to v11.1.4 (main)
  • chore(deps) Update dependency typescript to v5.5.2 (main)
  • chore(deps) Update dependency vite to v5.3.1 (main)
  • chore(deps) Update dependency vitest to v1.6.0 (main)
  • chore(deps) Update pnpm to v9.4.0 (main)
  • chore(deps) Update storybook monorepo to v8.1.10 (main) (@storybook/addon-a11y, @storybook/addon-essentials, @storybook/addon-interactions, @storybook/addon-links, @storybook/blocks, @storybook/svelte, @storybook/sveltekit, @storybook/test, storybook)
  • chore(deps) Update dependency uuid to v10 (main) (uuid, @types/uuid)
  • chore(deps) Update Rust crate anyhow to v1.0.86 (v0.1.x)
  • chore(deps) Update Rust crate serde to v1.0.203 (v0.1.x)
  • chore(deps) Update Rust crate serde_json to v1.0.118 (v0.1.x)
  • chore(deps) Update babel monorepo to v7.24.7 (v0.1.x) (@babel/core, @babel/runtime)
  • chore(deps) Update dependency @preact/signals-react to v2.0.2 (v0.1.x)
  • chore(deps) Update dependency @react-pdf/renderer to v3.4.4 (v0.1.x)
  • chore(deps) Update dependency @swc-jotai/react-refresh to v0.1.1 (v0.1.x)
  • chore(deps) Update dependency @textea/json-viewer to v3.4.1 (v0.1.x)
  • chore(deps) Update dependency @types/mdx to v2.0.13 (v0.1.x)
  • chore(deps) Update dependency eslint-plugin-react to v7.34.3 (v0.1.x)
  • chore(deps) Update dependency flag-icons to v7.2.3 (v0.1.x)
  • chore(deps) Update dependency formik to v2.4.6 (v0.1.x)
  • chore(deps) Update dependency javascript-time-ago to v2.5.10 (v0.1.x)
  • chore(deps) Update dependency qs to v6.12.1 (v0.1.x) (qs, @types/qs)
  • chore(deps) Update dependency react-time-ago to v7.3.3 (v0.1.x)
  • chore(deps) Update dependency sharp to v0.33.4 (v0.1.x)
  • chore(deps) Update dependency swagger-typescript-api to v13.0.9 (v0.1.x)
  • chore(deps) Update dependency tauri-settings to v0.3.5 (v0.1.x)
  • chore(deps) Update dependency ts-jest to v29.1.5 (v0.1.x)
  • chore(deps) Update dependency tslib to v2.6.3 (v0.1.x)
  • chore(deps) Update dependency vite-plugin-image-optimizer to v1.1.8 (v0.1.x)
  • chore(deps) Update fullcalendar monorepo to v6.1.14 (v0.1.x) (@fullcalendar/core, @fullcalendar/daygrid, @fullcalendar/react)
  • chore(deps) Update swc monorepo (v0.1.x) (@swc-node/register, @swc/cli, @swc/core, @swc/helpers)
  • chore(deps) Update tauri monorepo (v0.1.x) (@tauri-apps/api, @tauri-apps/cli, tauri, tauri-build)
  • chore(deps) Update Rust crate mangadex-api-schema-rust to 0.9.0 (v0.1.x)
  • chore(deps) Update Rust crate mangadex-api-types-rust to 0.9.0 (v0.1.x)
  • chore(deps) Update Rust crate reqwest to 0.12.0 (v0.1.x)
  • chore(deps) Update Rust crate sentry-tauri to 0.3 (v0.1.x)
  • chore(deps) Update Rust crate tauri-plugin-aptabase to v0.5.1 (v0.1.x)
  • chore(deps) Update Rust crate tokio to v1.38.0 (v0.1.x)
  • chore(deps) Update dependency @generouted/react-router to v1.19.5 (v0.1.x)
  • chore(deps) Update dependency @microsoft/eslint-formatter-sarif to v3.1.0 (v0.1.x)
  • chore(deps) Update dependency @radix-ui/react-context-menu to v2.2.1 (v0.1.x)
  • chore(deps) Update dependency @sentry/vite-plugin to v2.20.1 (v0.1.x)
  • chore(deps) Update dependency @tanstack/react-virtual to v3.7.0 (v0.1.x)
  • chore(deps) Update dependency @types/node to v20.14.9 (v0.1.x)
  • chore(deps) Update dependency @vitejs/plugin-react to v4.3.1 (v0.1.x)
  • chore(deps) Update dependency @vitejs/plugin-react-swc to v3.7.0 (v0.1.x)
  • chore(deps) Update dependency axios to v1.7.2 (v0.1.x)
  • chore(deps) Update dependency eslint to ~8.57.0 (v0.1.x)
  • chore(deps) Update dependency framer-motion to v11.2.12 (v0.1.x)
  • chore(deps) Update dependency jotai to v2.8.3 (v0.1.x)
  • chore(deps) Update dependency jotai-optics to ^0.4.0 (v0.1.x)
  • chore(deps) Update dependency preact to v10.22.0 (v0.1.x)
  • chore(deps) Update dependency react-icons to v5.2.1 (v0.1.x)
  • chore(deps) Update dependency react-image-size to v2.4.0 (v0.1.x)
  • chore(deps) Update dependency react-intersection-observer to v9.10.3 (v0.1.x)
  • chore(deps) Update dependency react-medium-image-zoom to v5.2.5 (v0.1.x)
  • chore(deps) Update dependency react-number-format to v5.4.0 (v0.1.x)
  • chore(deps) Update dependency react-spinners to ^0.14.0 (v0.1.x)
  • chore(deps) Update dependency react-zoom-pan-pinch to v3.5.1 (v0.1.x)
  • chore(deps) Update dependency sass to v1.77.6 (v0.1.x)
  • chore(deps) Update dependency svgo to v3.3.2 (v0.1.x)
  • chore(deps) Update dependency swiper to v11.1.4 (v0.1.x)
  • chore(deps) Update dependency terser to v5.31.1 (v0.1.x)
  • chore(deps) Update dependency typescript to v5.5.2 (v0.1.x)
  • chore(deps) Update dependency vite to v5.3.1 (v0.1.x)
  • chore(deps) Update dependency webdriverio to v8.39.0 (v0.1.x)
  • chore(deps) Update react monorepo (v0.1.x) (@types/react, @types/react-dom, react, react-dom)
  • chore(deps) Update react-router monorepo to v6.24.0 (v0.1.x) (react-router, react-router-dom)
  • chore(deps) Update sentry-javascript monorepo to v7.118.0 (v0.1.x) (@sentry/browser, @sentry/react, @sentry/types)
  • chore(deps) Update storybook monorepo to v8.1.10 (v0.1.x) (@storybook/addon-a11y, @storybook/addon-essentials, @storybook/addon-interactions, @storybook/addon-links, @storybook/blocks, @storybook/builder-vite, @storybook/react, @storybook/react-vite, storybook)
  • chore(deps) Update typescript-eslint monorepo to v7.14.1 (v0.1.x) (@typescript-eslint/eslint-plugin, @typescript-eslint/parser)
  • chore(deps) Update vitest monorepo to v1.6.0 (v0.1.x) (@vitest/browser, vitest)
  • chore(deps) Update dependency eslint to v9 (v0.1.x)
  • chore(deps) Update dependency uuid to v10 (v0.1.x) (uuid, @types/uuid)
  • chore(deps) Update sentry-javascript monorepo to v8 (v0.1.x) (major) (@sentry/browser, @sentry/react, @sentry/types)
  • πŸ” Create all rate-limited PRs at once πŸ”

Errored

These updates encountered an error and will be retried. Click on a checkbox below to force a retry now.

  • chore(deps) Update dependency svelte to v4.2.18 (main)
  • chore(deps) Update dependency svelte2tsx to v0.7.12 (main)
  • chore(deps) Update react monorepo (main) (@types/react, @types/react-dom, react, react-dom)
  • chore(deps) Update typescript-eslint monorepo to v7.14.1 (main) (@typescript-eslint/eslint-plugin, @typescript-eslint/parser)

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Ignored or Blocked

These are blocked by an existing closed PR and will not be recreated unless you click a checkbox below.

Detected dependencies

Branch main
cargo
src-tauri/Cargo.toml
  • serde_json 1.0
  • serde 1.0
  • tauri 1.6.2
  • tokio 1
  • anyhow 1
  • window-shadows 0.2
  • uuid 1
  • tauri-build 1.5.1
src-tauri/mangadex/Cargo.toml
  • tauri 1.6.2
  • serde 1.0
  • tokio 1
  • thiserror 1
  • reqwest 0.12
  • log ^0.4.21
  • once_cell 1
  • serde_json 1
  • mangadex-api 3.3
  • mangadex-api-schema-rust 0.9
  • mangadex-api-types-rust 0.9
  • async-graphql 7
  • convert_case 0.6
  • tokio-stream 0
  • regex 1
  • bytes 1
  • async-stream 0
  • favicon-picker 1.0.0
  • mangadex-desktop-api2 0.6.0-alpha.6
  • mangadex-api-input-types 0.5
  • mizuki 0.2.0
  • url 2.5.0
  • uuid 1.8
  • time 0.3
github-actions
.github/workflows/build.yaml
  • actions/checkout v4
  • actions/setup-node v4
  • pnpm/action-setup v2
  • tauri-apps/tauri-action v0
.github/workflows/dev-build.yaml
  • actions/checkout v4
  • actions/setup-node v4
  • pnpm/action-setup v2
  • josStorer/get-current-time v2
  • tauri-apps/tauri-action v0
.github/workflows/test-build.yml
  • actions/checkout v4
  • actions/setup-node v4
  • pnpm/action-setup v2
  • actions-rs/toolchain v1
.github/workflows/vite-build-test.yaml
  • actions/checkout v4
  • actions/setup-node v4
  • pnpm/action-setup v2
  • actions/checkout v4
  • actions-rs/toolchain v1
npm
package.json
  • @floating-ui/dom ^1.6.1
  • @fontsource-variable/josefin-sans ^5.0.19
  • @fontsource-variable/noto-sans-jp ^5.0.19
  • @fontsource/pacifico ^5.0.13
  • @fontsource/poppins ^5.0.8
  • @graphiql/toolkit ^0.9.1
  • @graphql-typed-document-node/core ^3.2.0
  • @panzoom/panzoom ^4.5.1
  • @storybook/addon-a11y ^8.0.0
  • @storybook/testing-library ^0.2.2
  • @tauri-apps/api ^1.5.3
  • @types/lodash ^4.17.0
  • @types/uuid ^9.0.7
  • @urql/svelte ^4.0.4
  • fast-xml-parser ^4.3.6
  • flag-icons ^7.1.0
  • graphiql ^3.1.0
  • lodash ^4.17.21
  • medium-zoom ^1.1.0
  • millify ^6.1.0
  • mizuki-urql-adapter ^0.1.2
  • panzoom ^9.4.3
  • svelte-feather-icons ^4.1.0
  • swiper ^11.0.6
  • timeago.js ^4.0.2
  • toastify-js ^1.12.0
  • uuid ^9.0.1
  • @graphql-codegen/cli ^5.0.0
  • @graphql-codegen/client-preset ^4.1.0
  • @melt-ui/pp ^0.3.2
  • @melt-ui/svelte ^0.79.1
  • @parcel/watcher ^2.3.0
  • @playwright/test ^1.40.1
  • @storybook/addon-essentials ^8.0.0
  • @storybook/addon-interactions ^8.0.0
  • @storybook/addon-links ^8.0.0
  • @storybook/blocks ^8.0.0
  • @storybook/svelte ^8.0.0
  • @storybook/sveltekit ^8.0.0
  • @storybook/test ^8.0.0
  • @sveltejs/adapter-auto ^3.1.0
  • @sveltejs/adapter-static ^3.0.1
  • @sveltejs/kit ^2.4.3
  • @sveltejs/vite-plugin-svelte ^3.0.1
  • @tauri-apps/cli ^1.5.9
  • @types/react ^18.2.48
  • @types/react-dom ^18.2.18
  • @types/toastify-js ^1.12.3
  • @typescript-eslint/eslint-plugin ^7.0.0
  • @typescript-eslint/parser ^7.0.0
  • eslint ^9.0.0
  • eslint-config-prettier ^9.1.0
  • eslint-plugin-storybook ^0.8.0
  • eslint-plugin-svelte ^2.35.1
  • graphql ^16.8.1
  • graphql-config ^5.0.3
  • less ^4.2.0
  • prettier ^3.1.1
  • prettier-plugin-svelte ^3.1.2
  • react ^18.2.0
  • react-dom ^18.2.0
  • sass ^1.70.0
  • storybook ^8.0.0
  • svelte ^4.2.8
  • svelte-check ^3.6.2
  • svelte-markdown ^0.4.1
  • svelte2tsx ^0.7.0
  • tslib ^2.6.2
  • typescript ^5.3.3
  • vite ^5.0.12
  • vite-plugin-kit-routes ^0.6.0
  • vitest ^1.1.3
  • node >=18.13.0
  • pnpm 9.1.0
Branch v0.1.x
cargo
src-tauri/Cargo.toml
  • serde_json 1.0
  • serde 1.0
  • tauri 1.6.1
  • tokio 1
  • tauri-plugin-aptabase 0
  • sentry-tauri 0.2
  • anyhow 1
  • window-shadows 0.2
  • tauri-build 1.5.1
src/bilibili-comics/plugin/tauri-plugin/Cargo.toml
  • tauri 1.6.1
  • serde 1.0
  • thiserror 1.0
src/mangadex/plugin/tauri-plugin/Cargo.toml
  • tauri 1.6.1
  • serde 1.0
  • tokio 1
  • thiserror 1
  • reqwest 0.11.27
  • log ^0.4.21
  • actix-web 4
  • once_cell 1
  • serde_json 1
  • mangadex-api 2.3.1
  • mangadex-api-schema-rust 0.4.1
  • mangadex-api-types-rust 0.4.0
  • mangadex-desktop-api2 0.5.7
src/template/plugin/tauri-plugin/Cargo.toml
  • tauri 1.6.1
  • serde 1.0
  • thiserror 1.0
github-actions
.github/workflows/build.yaml
  • actions/checkout v4
  • actions/setup-node v4
  • pnpm/action-setup v2
  • tauri-apps/tauri-action v0
.github/workflows/dev-build.yaml
  • actions/checkout v4
  • actions/setup-node v4
  • pnpm/action-setup v2
  • josStorer/get-current-time v2
  • tauri-apps/tauri-action v0
.github/workflows/test-build.yml
  • actions/checkout v4
  • actions/setup-node v4
  • pnpm/action-setup v2
  • actions-rs/toolchain v1
.github/workflows/vite-build-test.yaml
  • actions/checkout v4
  • actions/setup-node v4
  • pnpm/action-setup v2
  • actions/checkout v4
  • actions-rs/toolchain v1
npm
package.json
  • @aptabase/tauri ^0.4.1
  • @babel/core ^7.23.5
  • @babel/runtime ^7.23.5
  • @builder.io/partytown ^0.10.0
  • @chakra-ui/icons ^2.1.1
  • @chakra-ui/react ^2.8.2
  • @chakra-ui/system ^2.6.2
  • @dnd-kit/core ^6.1.0
  • @emotion/react ^11.11.1
  • @emotion/server ^11.11.0
  • @emotion/styled ^11.11.0
  • @fontsource-variable/josefin-sans ^5.0.18
  • @fontsource/poppins ^5.0.8
  • @fullcalendar/core ^6.1.10
  • @fullcalendar/daygrid ^6.1.10
  • @fullcalendar/react ^6.1.10
  • @generouted/react-router ^1.16.1
  • @mdx-js/loader ^3.0.0
  • @mdx-js/mdx ^3.0.0
  • @mdx-js/react ^3.0.0
  • @mdx-js/rollup ^3.0.0
  • @popperjs/core ^2.11.8
  • @preact/signals-react ^2.0.0
  • @radix-ui/react-context-menu ^2.1.5
  • @react-pdf/renderer ^3.1.14
  • @sentry/browser ^7.84.0
  • @sentry/react ^7.84.0
  • @sentry/types ^7.84.0
  • @sentry/vite-plugin ^2.10.2
  • @tanstack/react-query ^4.36.1
  • @tanstack/react-query-devtools ^4.36.1
  • @tanstack/react-virtual 3.2.1
  • @tauri-apps/api ^1.5.1
  • @textea/json-viewer ^3.2.3
  • @types/mdx ^2.0.10
  • @types/node ^20.10.1
  • @types/qs ^6.9.10
  • @types/react-inner-image-zoom ^3.0.3
  • @types/react-timeago ^4.1.6
  • @types/uuid ^9.0.7
  • @vitejs/plugin-react ^4.2.0
  • axios ^1.6.2
  • axios-tauri-adapter ^0.3.0
  • axios-tauri-api-adapter ^0.2.0
  • build-url-ts ^6.1.5
  • csstype ^3.1.2
  • emoji-country-code ^1.1.0
  • feed-reader ^6.1.3
  • file-extension ^4.0.5
  • flag-icons ^7.0.2
  • formik ^2.4.5
  • framer-motion ^11.0.0
  • iso-3166 ^4.3.0
  • iso-639-1 ^3.1.0
  • javascript-time-ago ^2.5.9
  • jotai ^2.6.0
  • jotai-optics ^0.3.1
  • kute.js ^2.2.4
  • minidenticons ^4.2.0
  • optics-ts ^2.4.1
  • preact ^10.19.2
  • prop-types ^15.8.1
  • qs ^6.11.2
  • query-string ^9.0.0
  • random-int ^3.0.0
  • react ^18.2.0
  • react-dom ^18.2.0
  • react-hot-keys ^2.7.2
  • react-hotkeys-hook ^4.4.1
  • react-icons ^5.0.0
  • react-image-size ^2.3.2
  • react-inner-image-zoom ^3.0.2
  • react-intersection-observer ^9.5.3
  • react-markdown ^9.0.1
  • react-medium-image-zoom ^5.1.8
  • react-number-format ^5.3.1
  • react-pro-sidebar 1.1.0
  • react-query-kit ^2.0.10
  • react-router ^6.20.0
  • react-router-dom ^6.20.0
  • react-spinners ^0.13.8
  • react-time-ago ^7.2.1
  • react-timeago ^7.2.0
  • react-use ^17.4.1
  • react-viewer ^3.2.2
  • react-zoom-pan-pinch ^3.3.0
  • sass ^1.69.5
  • storybook-addon-react-router-v6 ^2.0.10
  • swiper ^11.0.5
  • tauri-settings ^0.3.4
  • tsconfig-paths ^4.2.0
  • tslib ^2.6.2
  • use-image ^1.1.1
  • uuid ^9.0.1
  • vite-plugin-remark-rehype ^1.1.0
  • @chakra-ui/storybook-addon ^5.1.0
  • @microsoft/eslint-formatter-sarif ^3.0.0
  • @nabla/vite-plugin-eslint ^2.0.2
  • @phenomnomnominal/tsquery 6.1.3
  • @rollup/plugin-eslint ^9.0.5
  • @storybook/addon-a11y ^8.0.0
  • @storybook/addon-essentials 8.0.2
  • @storybook/addon-interactions 8.0.2
  • @storybook/addon-links 8.0.2
  • @storybook/blocks 8.0.2
  • @storybook/builder-vite ^8.0.0
  • @storybook/react 8.0.2
  • @storybook/react-vite 8.0.2
  • @storybook/testing-library 0.2.2
  • @swc-jotai/react-refresh ^0.1.0
  • @swc-node/register ^1.6.8
  • @swc/cli ^0.3.0
  • @swc/core ^1.3.100
  • @swc/helpers ~0.5.3
  • @tanstack/eslint-plugin-query ^4.36.1
  • @tauri-apps/cli ^1.5.6
  • @types/jest ^29.5.10
  • @types/react ^18.2.39
  • @types/react-dom ^18.2.17
  • @typescript-eslint/eslint-plugin ^7.0.0
  • @typescript-eslint/parser ^7.0.0
  • @vitejs/plugin-react-swc ^3.5.0
  • @vitest/browser ^1.0.0
  • array-shuffle ^3.0.0
  • eslint ~8.56.0
  • eslint-config-prettier 9.1.0
  • eslint-formatter-markdown ^1.0.4
  • eslint-plugin-react ^7.33.2
  • eslint-plugin-storybook ^0.6.15
  • jest ^29.7.0
  • jest-environment-jsdom ^29.7.0
  • jsonc-eslint-parser ^2.4.0
  • less ^4.2.0
  • sharp ^0.33.0
  • storybook ^8.0.0
  • svgo ^3.0.5
  • swagger-typescript-api ^13.0.3
  • terser ^5.24.0
  • ts-jest ^29.1.1
  • ts-node 10.9.2
  • typescript ^5.3.2
  • vite ^5.0.0
  • vite-plugin-checker ^0.6.2
  • vite-plugin-image-optimizer ^1.1.7
  • vite-plugin-svgr ^4.2.0
  • vite-tsconfig-paths ^4.2.1
  • vitest ^1.0.0
  • webdriverio ^8.24.6

  • Check this box to trigger a request for Renovate to run again on this repository

Chapter Reading Options

I will change now change the Chapter page and add

  • a drawer (for no fullscreen mode)
  • a sidebar (for fullscreen mode)

Excepted option :

  • image width
  • online Chapter list
  • offline Chapter list
  • Next and previous Chapter
  • Reading mode switching
  • Thread Id (for forums discussion)
  • an exit button on fullscreen mode
  • Page list and switching

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.