Skip to content

feat: add es.mangaoni - #845

Open
camilod529 wants to merge 1 commit into
Aidoku-Community:mainfrom
camilod529:feat/es.mangaoni
Open

camilod529 wants to merge 1 commit into
Aidoku-Community:mainfrom
camilod529:feat/es.mangaoni

Conversation

@camilod529

Copy link
Copy Markdown
Contributor

Adds MangaOni (https://manga-oni.com), a Spanish manga/manhwa/manhua/novel site. It's a port of keiyoushi's es/mangamx extension. The site is server-rendered HTML with no Cloudflare challenge and no image hotlink protection.

Features

  • Populares and Últimas actualizaciones listings, plus a home page
  • Title search, and filters that match the site (sort, Estado, Tipo, Género, Contenido +18)
  • Status, content rating (+18 badge / Ecchi) and viewer (by series type) set on details
  • Deep links for series and chapters, on manga-oni.com and www.manga-oni.com
  • "Ocultar contenido +18" setting, like keiyoushi's

Notes

  • Manga keys are the series path (e.g. /manhwa/secret-class/), because the type is part of the URL and the wrong type returns 404.
  • Chapter keys are the numeric chapter id, because the site's chapter links sometimes end in /cascada/ and sometimes don't.
  • Novels on this site are scanned page images, so they use the same reader.

AI usage

This source was written with AI assistance (Claude Code), following the structure of my earlier es.olympusscanlation source and the keiyoushi extension. I reviewed the code, checked the site's behaviour myself and tested every feature in the app. I'm happy to make any changes from review.

Testing

  • Tested in the Aidoku app (via aidoku serve): home, both listings, search, every filter, reading direction, manga/manhwa/novel chapters, and series and chapter deep links.

Comment on lines +8 to +11
"default": {
"index": 0,
"ascending": false
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is the default automatically and doesn't need to be explicitly set.

"type": "switch",
"key": "hideNsfw",
"title": "Ocultar contenido +18",
"default": false,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if the content rating remains 1, then I would default this to true. otherwise, you could change the source content rating to 2.

Comment on lines +23 to +27
const HIDE_NSFW_SETTING: &str = "hideNsfw";

fn hide_nsfw() -> bool {
defaults_get::<bool>(HIDE_NSFW_SETTING).unwrap_or(false)
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

even though this is minimal, I would still put it in a settings.rs file to follow other source conventions.

Comment on lines +161 to +181
HomeComponent {
title: Some("Top manga".into()),
subtitle: None,
value: HomeComponentValue::empty_manga_list(),
},
HomeComponent {
title: Some("Últimas actualizaciones".into()),
subtitle: None,
value: HomeComponentValue::empty_manga_chapter_list(),
},
HomeComponent {
title: Some("Nuevos".into()),
subtitle: None,
value: HomeComponentValue::empty_scroller(),
},
HomeComponent {
title: Some("Populares".into()),
subtitle: None,
value: HomeComponentValue::empty_scroller(),
},
],

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this should be reordered a bit to match the website home page, with Nuevos first, followed by Populares, then Actualizado and Top manga.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants