Skip to content
This repository has been archived by the owner on Jul 14, 2024. It is now read-only.

Commit

Permalink
Update v3.8.5 - Merged Beta to Main (#32)
Browse files Browse the repository at this point in the history
* initial commit

* Update_v.3.6.7-beta-v1.2

* Update_v.3.6.7-beta-v1.3

* Update_v.3.6.7-beta-v1.3

> update API

* Fixed mediaList won't update

* added .env disqus shortname

* Update_v3.6.7-beta-v1.4

>Implementing database

* Create main.yml

* Update v3.6.7-beta-v1.5

small patch

* title home page

* Update content.js

* Delete db-test.js

* Update content.js

* Update home page card

* Update v3.7.0

* Update v3.7.1-beta

> migrating backend to main code
> fixed schedule component

* Update v3.8.0

> Added dub options
> Moved schedule backend

* Update v.3.8.1

> Fixed episodes on watch page isn't dubbed

* Update v3.8.1-patch-1

* Update v3.8.1-patch-2

> Another patch for dub

* Update v3.8.2

> Removed prisma configuration for database since it's not stable yet

* Update v3.8.3

> Fixed different provider have same id

* Update v.3.8.3

> Fixed player bug where the controls won't hide after updating anilist progress

* Update v3.8.4-patch-2

* Update v3.8.5

> Update readme.md
> Update .env.example
  • Loading branch information
DevanAbinaya authored Aug 4, 2023
1 parent 9d54cb1 commit 1eb5313
Show file tree
Hide file tree
Showing 35 changed files with 2,614 additions and 1,679 deletions.
8 changes: 7 additions & 1 deletion .env.example
Original file line number Diff line number Diff line change
@@ -1,8 +1,14 @@
## AniList
CLIENT_ID="get the id from here https://anilist.co/settings/developer"
CLIENT_SECRET="get the secret from here https://anilist.co/settings/developer"
GRAPHQL_ENDPOINT="https://graphql.anilist.co"

## NextAuth
NEXTAUTH_SECRET='run this cmd in your bash terminal (openssl rand -base64 32) with no bracket, and paste it here'
NEXTAUTH_URL="for development use http://localhost:3000/ and for production use your domain url"

## NextJS
PROXY_URI="I recommend you to use this cors-anywhere as a proxy https://github.com/Rob--W/cors-anywhere follow the instruction on how to use it there. Skip this if you only use gogoanime as a source"
API_URI="host your own API from this repo https://github.com/consumet/api.consumet.org. Don't put / at the end of the url."
API_KEY="this API key is for manga page. get the key from https://anify.tv/discord"
API_KEY="this API key is used for schedules and manga page. get the key from https://anify.tv/discord"
DISQUS_SHORTNAME='put your disqus shortname here. (optional)'
29 changes: 29 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
on:
push:
# Sequence of patterns matched against refs/tags
tags:
- 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10

name: Create Release

jobs:
build:
name: Create Release
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token
with:
tag_name: ${{ github.ref }}
release_name: Release ${{ github.ref }}
body: |
Changes in this Release
- First Change
- Second Change
draft: false
prerelease: false
29 changes: 21 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,21 +29,21 @@
<details>
<summary>More Screenshots</summary>

<h5 align="center">Home page after you login</h5>
<h3 align="center">Home page after you login</h3>
<img src="https://user-images.githubusercontent.com/97084324/234463979-4b4fa1ba-34cb-4ae4-b4e1-59500b24ac6f.png"/>

<h5 align="center">Profile Page</h5>
<h3 align="center">Profile Page</h3>
<img src="https://user-images.githubusercontent.com/97084324/234556937-76ec236c-a077-4af5-a910-0cb85e900e38.gif"/>

<h5 align="center">Info page for PC/Mobile</h5>
<h3 align="center">Info page for PC/Mobile</h3>
<p align="center">
<img src="https://user-images.githubusercontent.com/97084324/234508708-082b8d64-1dea-4525-98a5-51a5a95e8db3.png"/>
</p>

<h5 align="center">Watch Page</h5>
<img src="https://user-images.githubusercontent.com/97084324/234466915-c2107ee5-5cfe-4cf5-9da4-9ad02aaf066a.png"/>
<h3 align="center">Watch Page</h3>
<img src="https://github.com/Ani-Moopa/Moopa/assets/97084324/c654aa13-76d7-47fe-ac02-924fbbb40f76"/>

<h5 align="center">Read Page</h5>
<h3 align="center">Manga Reader</h3>
<img src="https://github.com/DevanAbinaya/Ani-Moopa/assets/97084324/ccd2ee11-4ee3-411c-b634-d48c84f1a9e2"/>

</details>
Expand All @@ -56,6 +56,8 @@

- Free ad-supported streaming service
- Anime tracking through Anilist API
- Skip OP/ED buttons
- Dub Anime support
- User-friendly interface
- Mobile-responsive design
- PWA supported
Expand All @@ -70,7 +72,7 @@
- [x] Ability to auto track anime after watching >= 90% through the video
- [x] Create a user profile page to see lists of anime watched
- [x] Ability to edit list inside detail page
- [X] Working on Manga pages
- [x] Working on Manga pages

## Bug Report

Expand All @@ -93,14 +95,20 @@ npm install
3. Create `.env` file in the root folder and put this inside the file :

```bash
## AniList
CLIENT_ID="get the id from here https://anilist.co/settings/developer"
CLIENT_SECRET="get the secret from here https://anilist.co/settings/developer"
GRAPHQL_ENDPOINT="https://graphql.anilist.co"

## NextAuth
NEXTAUTH_SECRET='run this cmd in your bash terminal (openssl rand -base64 32) with no bracket, and paste it here'
NEXTAUTH_URL="for development use http://localhost:3000/ and for production use your domain url"

## NextJS
PROXY_URI="I recommend you to use this cors-anywhere as a proxy https://github.com/Rob--W/cors-anywhere follow the instruction on how to use it there. Skip this if you only use gogoanime as a source"
API_URI="host your own API from this repo https://github.com/consumet/api.consumet.org. Don't put / at the end of the url."
API_KEY="this API key is for manga page. get the key from https://anify.tv/discord (key doesn't contain any special character in it)"
API_KEY="this API key is used for schedules and manga page. get the key from https://anify.tv/discord"
DISQUS_SHORTNAME='put your disqus shortname here. (optional)'
```

4. Add this endpoint as Redirect Url on AniList Developer :
Expand All @@ -115,6 +123,10 @@ https://your-website-url/api/auth/callback/AniListProvider
npm run dev
```

## Disclaimer

If you want to host this web app yourself, please try to make significant changes to give it a unique look. The main reason I'm sharing this project as open source is to help others find some guidance, not to encourage copying and pasting. If you end up using this code for your own project, I'd love to see what you come up with! Feel free to share it with me, as I'm excited to see the creative things you can build using this code. :)

## Credits

- [Consumet API](https://github.com/consumet/api.consumet.org) for anime sources
Expand All @@ -129,6 +141,7 @@ This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md
## Contact

Thank You for passing by!!

If you have any questions or feedback, please reach out to us at [[email protected]](mailto:[email protected]?subject=[Moopa]%20-%20Your%20Subject), or you can join our [discord sever](https://discord.gg/4xTGhr85BG).
<br>
or you can DM me on Discord `Factiven#9110`/`CritenDust#3704`. (just contact me on one of these account)
Expand Down
107 changes: 107 additions & 0 deletions components/anime/changeView.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
import { useEffect, useState } from "react";

export default function ChangeView({ view, setView, episode }) {
// const [view, setView] = useState(1);
// const episode = null;
return (
<div className="flex gap-3 rounded-sm items-center p-2">
<div
className={
episode?.length > 0
? episode?.some((item) => item?.title === null)
? "pointer-events-none"
: "cursor-pointer"
: "pointer-events-none"
}
onClick={() => {
setView(1);
localStorage.setItem("view", 1);
}}
>
<svg
xmlns="http://www.w3.org/2000/svg"
width="31"
height="20"
fill="none"
viewBox="0 0 31 20"
>
<rect
width="31"
height="20"
className={`${
episode?.length > 0
? episode?.some((item) => item?.title === null)
? "fill-[#1c1c22]"
: view === 1
? "fill-action"
: "fill-[#3A3A44]"
: "fill-[#1c1c22]"
}`}
rx="3"
></rect>
</svg>
</div>
<div
className={
episode?.length > 0
? episode?.some((item) => item?.title === null)
? "pointer-events-none"
: "cursor-pointer"
: "pointer-events-none"
}
onClick={() => {
setView(2);
localStorage.setItem("view", 2);
}}
>
<svg
xmlns="http://www.w3.org/2000/svg"
width="33"
height="20"
fill="none"
className={`${
episode?.length > 0
? episode?.some((item) => item?.title === null)
? "fill-[#1c1c22]"
: view === 2
? "fill-action"
: "fill-[#3A3A44]"
: "fill-[#1c1c22]"
}`}
viewBox="0 0 33 20"
>
<rect width="33" height="7" y="1" rx="3"></rect>
<rect width="33" height="7" y="12" rx="3"></rect>
</svg>
</div>
<div
className={
episode?.length > 0 ? `cursor-pointer` : "pointer-events-none"
}
onClick={() => {
setView(3);
localStorage.setItem("view", 3);
}}
>
<svg
xmlns="http://www.w3.org/2000/svg"
width="33"
height="20"
fill="none"
className={`${
episode?.length > 0
? view === 3
? "fill-action"
: "fill-[#3A3A44]"
: "fill-[#1c1c22]"
}`}
viewBox="0 0 33 20"
>
<rect width="29" height="4" x="2" y="2" rx="2"></rect>
<rect width="29" height="4" x="2" y="8" rx="2"></rect>
<rect width="16" height="4" x="2" y="14" rx="2"></rect>
</svg>
</div>
</div>
);
}
Loading

0 comments on commit 1eb5313

Please sign in to comment.