From bf51ae465644c1e60b89c0c7f8e4ce5298180c6e Mon Sep 17 00:00:00 2001 From: Rodrigo Verdiani Date: Sun, 26 Oct 2025 21:45:53 -0300 Subject: [PATCH 01/11] woodpecker test --- .woodpecker/pipeline.yaml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/.woodpecker/pipeline.yaml b/.woodpecker/pipeline.yaml index c3422aa..a786bb1 100644 --- a/.woodpecker/pipeline.yaml +++ b/.woodpecker/pipeline.yaml @@ -28,3 +28,22 @@ steps: - npm run build when: event: [push, pull_request] + + - name: docker-build + image: docker:24 + privileged: true + environment: + DOCKER_REGISTRY: git.badger-pirarucu.ts.net + DOCKER_USER: ${DOCKER_USER} + DOCKER_PASSWORD: ${DOCKER_PASSWORD} + IMAGE_NAME: ${DOCKER_REGISTRY}/username/nextjs-app + commands: + - echo "Logging into Gitea Docker registry..." + - echo $DOCKER_PASSWORD | docker login $DOCKER_REGISTRY -u $DOCKER_USER --password-stdin + - echo "Building Docker image..." + - docker build -t $IMAGE_NAME:latest . + - echo "Pushing Docker image..." + - docker push $IMAGE_NAME:latest + when: + event: [push] + -- 2.49.1 From 21f6fc1a0ec23d8fe4703fb25ed349d0c9f5d734 Mon Sep 17 00:00:00 2001 From: Rodrigo Verdiani Date: Sun, 26 Oct 2025 21:49:24 -0300 Subject: [PATCH 02/11] woodpecker test 1 --- .woodpecker/pipeline.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.woodpecker/pipeline.yaml b/.woodpecker/pipeline.yaml index a786bb1..98b2fc0 100644 --- a/.woodpecker/pipeline.yaml +++ b/.woodpecker/pipeline.yaml @@ -32,6 +32,8 @@ steps: - name: docker-build image: docker:24 privileged: true + volumes: + - /var/run/docker.sock:/var/run/docker.sock environment: DOCKER_REGISTRY: git.badger-pirarucu.ts.net DOCKER_USER: ${DOCKER_USER} -- 2.49.1 From fa52533b1ad31b1fd5081fbf8cabf51d218cc355 Mon Sep 17 00:00:00 2001 From: Rodrigo Verdiani Date: Sun, 26 Oct 2025 21:51:44 -0300 Subject: [PATCH 03/11] woodpecker test 2 --- .woodpecker/pipeline.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.woodpecker/pipeline.yaml b/.woodpecker/pipeline.yaml index 98b2fc0..2d0d2f8 100644 --- a/.woodpecker/pipeline.yaml +++ b/.woodpecker/pipeline.yaml @@ -31,7 +31,6 @@ steps: - name: docker-build image: docker:24 - privileged: true volumes: - /var/run/docker.sock:/var/run/docker.sock environment: -- 2.49.1 From ab8640a8317ce8dd88b2aa1afbf5856676557420 Mon Sep 17 00:00:00 2001 From: Rodrigo Verdiani Date: Sun, 26 Oct 2025 21:53:42 -0300 Subject: [PATCH 04/11] woodpecker test 3 --- .woodpecker/pipeline.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.woodpecker/pipeline.yaml b/.woodpecker/pipeline.yaml index 2d0d2f8..4e814fb 100644 --- a/.woodpecker/pipeline.yaml +++ b/.woodpecker/pipeline.yaml @@ -15,7 +15,7 @@ steps: - name: install image: node:18-alpine commands: - - echo "🔧 Installing dependencies..." + - echo "🔧 Installing dependencies.." - npm ci --silent when: event: [push, pull_request] -- 2.49.1 From c14ef1bc56627fa10547fdd0ae21be891721f6a4 Mon Sep 17 00:00:00 2001 From: Rodrigo Verdiani Date: Sun, 26 Oct 2025 21:58:43 -0300 Subject: [PATCH 05/11] woodpecker test 4 --- .woodpecker/pipeline.yaml | 47 ++++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 25 deletions(-) diff --git a/.woodpecker/pipeline.yaml b/.woodpecker/pipeline.yaml index 4e814fb..49d3b5c 100644 --- a/.woodpecker/pipeline.yaml +++ b/.woodpecker/pipeline.yaml @@ -1,50 +1,47 @@ -# .woodpecker.yml +trigger: + event: + - push + - pull_request + branch: + - main + - develop + - feat/* + - feature/* -# Run pipeline on pushes to main and pull requests -when: - event: [push, pull_request] - branch: [main, develop, feat/*, feature/*] - -# Define environment variables environment: NODE_ENV: production -# Pipeline steps steps: - # Install dependencies + # Step 1: Install dependencies - name: install image: node:18-alpine commands: - - echo "🔧 Installing dependencies.." + - echo "🔧 Installing dependencies..." - npm ci --silent - when: - event: [push, pull_request] - # Build application + # Step 2: Build Next.js - name: build image: node:18-alpine commands: - echo "🏗️ Building application..." - npm run build - when: - event: [push, pull_request] + # Step 3: Build and push Docker image - name: docker-build image: docker:24 + # Use host Docker daemon; no privileged mode needed volumes: - /var/run/docker.sock:/var/run/docker.sock environment: DOCKER_REGISTRY: git.badger-pirarucu.ts.net DOCKER_USER: ${DOCKER_USER} DOCKER_PASSWORD: ${DOCKER_PASSWORD} - IMAGE_NAME: ${DOCKER_REGISTRY}/username/nextjs-app commands: - - echo "Logging into Gitea Docker registry..." - - echo $DOCKER_PASSWORD | docker login $DOCKER_REGISTRY -u $DOCKER_USER --password-stdin - - echo "Building Docker image..." - - docker build -t $IMAGE_NAME:latest . - - echo "Pushing Docker image..." - - docker push $IMAGE_NAME:latest - when: - event: [push] - + - echo "🔑 Logging into Gitea Docker registry..." + - echo "$DOCKER_PASSWORD" | docker login "$DOCKER_REGISTRY" -u "$DOCKER_USER" --password-stdin + - IMAGE_NAME="$DOCKER_REGISTRY/username/nextjs-app" + - echo "🐳 Building Docker image..." + - docker build -t "$IMAGE_NAME:latest" . + - echo "🚀 Pushing Docker image..." + - docker push "$IMAGE_NAME:latest" + -- 2.49.1 From 7475e8abae76be1edba4bff15c07a5abd8d42274 Mon Sep 17 00:00:00 2001 From: Rodrigo Verdiani Date: Sun, 26 Oct 2025 21:59:57 -0300 Subject: [PATCH 06/11] woodpecker test 5 --- .woodpecker/pipeline.yaml | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/.woodpecker/pipeline.yaml b/.woodpecker/pipeline.yaml index 49d3b5c..9736bb3 100644 --- a/.woodpecker/pipeline.yaml +++ b/.woodpecker/pipeline.yaml @@ -10,32 +10,43 @@ trigger: environment: NODE_ENV: production + HOME: /tmp # Fix for UID 0 "user does not exist" steps: - # Step 1: Install dependencies + # Step 1: Restore cached node_modules + - name: restore-cache + image: node:18-alpine + commands: + - echo "📦 Restoring cached node_modules..." + - mkdir -p /cache + - if [ -f /cache/node_modules.tar.gz ]; then tar -xzf /cache/node_modules.tar.gz; fi + + # Step 2: Install dependencies - name: install image: node:18-alpine commands: - echo "🔧 Installing dependencies..." - npm ci --silent + - echo "💾 Saving node_modules to cache..." + - tar -czf /cache/node_modules.tar.gz node_modules - # Step 2: Build Next.js + # Step 3: Build Next.js - name: build image: node:18-alpine commands: - - echo "🏗️ Building application..." + - echo "🏗️ Building Next.js app..." - npm run build - # Step 3: Build and push Docker image + # Step 4: Build and push Docker image - name: docker-build image: docker:24 - # Use host Docker daemon; no privileged mode needed volumes: - /var/run/docker.sock:/var/run/docker.sock environment: DOCKER_REGISTRY: git.badger-pirarucu.ts.net DOCKER_USER: ${DOCKER_USER} DOCKER_PASSWORD: ${DOCKER_PASSWORD} + HOME: /tmp commands: - echo "🔑 Logging into Gitea Docker registry..." - echo "$DOCKER_PASSWORD" | docker login "$DOCKER_REGISTRY" -u "$DOCKER_USER" --password-stdin -- 2.49.1 From b5bb6c7e8733687f85e52f8dac5aec7f06630a2b Mon Sep 17 00:00:00 2001 From: Rodrigo Verdiani Date: Sun, 26 Oct 2025 22:08:17 -0300 Subject: [PATCH 07/11] woodpecker test 6 --- .woodpecker/pipeline.yaml | 70 ++++++++++++++++----------------------- 1 file changed, 28 insertions(+), 42 deletions(-) diff --git a/.woodpecker/pipeline.yaml b/.woodpecker/pipeline.yaml index 9736bb3..e0e463f 100644 --- a/.woodpecker/pipeline.yaml +++ b/.woodpecker/pipeline.yaml @@ -1,58 +1,44 @@ -trigger: - event: - - push - - pull_request - branch: - - main - - develop - - feat/* - - feature/* +# .woodpecker.yml +# Run pipeline on pushes to main and pull requests +when: + event: [push, pull_request] + branch: [main, develop, feat/*, feature/*] + +# Define environment variables environment: NODE_ENV: production - HOME: /tmp # Fix for UID 0 "user does not exist" +# Pipeline steps steps: - # Step 1: Restore cached node_modules - - name: restore-cache - image: node:18-alpine - commands: - - echo "📦 Restoring cached node_modules..." - - mkdir -p /cache - - if [ -f /cache/node_modules.tar.gz ]; then tar -xzf /cache/node_modules.tar.gz; fi - - # Step 2: Install dependencies + # Install dependencies - name: install image: node:18-alpine commands: - echo "🔧 Installing dependencies..." - npm ci --silent - - echo "💾 Saving node_modules to cache..." - - tar -czf /cache/node_modules.tar.gz node_modules + when: + event: [push, pull_request] - # Step 3: Build Next.js + # Build application - name: build image: node:18-alpine commands: - - echo "🏗️ Building Next.js app..." + - echo "🏗️ Building application..." - npm run build + when: + event: [push, pull_request] - # Step 4: Build and push Docker image - - name: docker-build - image: docker:24 - volumes: - - /var/run/docker.sock:/var/run/docker.sock - environment: - DOCKER_REGISTRY: git.badger-pirarucu.ts.net - DOCKER_USER: ${DOCKER_USER} - DOCKER_PASSWORD: ${DOCKER_PASSWORD} - HOME: /tmp - commands: - - echo "🔑 Logging into Gitea Docker registry..." - - echo "$DOCKER_PASSWORD" | docker login "$DOCKER_REGISTRY" -u "$DOCKER_USER" --password-stdin - - IMAGE_NAME="$DOCKER_REGISTRY/username/nextjs-app" - - echo "🐳 Building Docker image..." - - docker build -t "$IMAGE_NAME:latest" . - - echo "🚀 Pushing Docker image..." - - docker push "$IMAGE_NAME:latest" - + - name: publish + image: woodpeckerci/plugin-docker-buildx + settings: + platforms: linux/amd64 + repo: git.badger-pirarucu.ts.net/mangamochi/frontend + registry: git.badger-pirarucu.ts.net + username: + from_secret: DOCKER_USER + password: + from_secret: DOCKER_PASSWORD + when: + event: [push, pull_request] + -- 2.49.1 From b5fff43393fb62a174701f732573aae917d5d1d3 Mon Sep 17 00:00:00 2001 From: Rodrigo Verdiani Date: Tue, 28 Oct 2025 19:18:59 -0300 Subject: [PATCH 08/11] woodpecker test 7 --- orval.config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/orval.config.ts b/orval.config.ts index a82530b..33ce015 100644 --- a/orval.config.ts +++ b/orval.config.ts @@ -7,7 +7,7 @@ module.exports = { target: "api/mangamochi.ts", client: "react-query", httpClient: "axios", - baseUrl: "http://mangamochi.badger-pirarucu.ts.net:8080", + baseUrl: "http://mangamochia.badger-pirarucu.ts.net:8080", urlEncodeParameters: true, override: { mutator: { -- 2.49.1 From 9b5572c97034143a24c7d314f0d2f7a6b8967aff Mon Sep 17 00:00:00 2001 From: Rodrigo Verdiani Date: Tue, 28 Oct 2025 19:21:53 -0300 Subject: [PATCH 09/11] woodpecker test 8 --- .woodpecker/pipeline.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.woodpecker/pipeline.yaml b/.woodpecker/pipeline.yaml index e0e463f..1b504ef 100644 --- a/.woodpecker/pipeline.yaml +++ b/.woodpecker/pipeline.yaml @@ -24,7 +24,7 @@ steps: - name: build image: node:18-alpine commands: - - echo "🏗️ Building application..." + - echo "🏗️ Building application...." - npm run build when: event: [push, pull_request] -- 2.49.1 From 8196548f1de064f9a5432c8d50a424e6e6c4cf6b Mon Sep 17 00:00:00 2001 From: Rodrigo Verdiani Date: Tue, 28 Oct 2025 19:22:45 -0300 Subject: [PATCH 10/11] woodpecker test 9 --- .woodpecker/pipeline.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.woodpecker/pipeline.yaml b/.woodpecker/pipeline.yaml index 1b504ef..e0e463f 100644 --- a/.woodpecker/pipeline.yaml +++ b/.woodpecker/pipeline.yaml @@ -24,7 +24,7 @@ steps: - name: build image: node:18-alpine commands: - - echo "🏗️ Building application...." + - echo "🏗️ Building application..." - npm run build when: event: [push, pull_request] -- 2.49.1 From f6177dadb0f25ab60d6970432e37e6e1c78e5dcf Mon Sep 17 00:00:00 2001 From: Rodrigo Verdiani Date: Tue, 28 Oct 2025 22:27:56 -0300 Subject: [PATCH 11/11] feature: ci/cd pipeline --- .gitignore | 4 +- .woodpecker/pipeline.yaml | 79 +++++++++++-------- Dockerfile | 6 ++ api/api.ts | 2 +- api/mangamochi.ts | 56 ++++++------- .../[id]/chapter/[chapterNumber]/page.tsx | 3 +- app/manga/[id]/page.tsx | 2 +- components/manga-card.tsx | 2 +- orval.config.ts | 1 - 9 files changed, 88 insertions(+), 67 deletions(-) diff --git a/.gitignore b/.gitignore index 7332353..f23ba7c 100644 --- a/.gitignore +++ b/.gitignore @@ -142,7 +142,7 @@ yarn-error.log* .pnpm-debug.log* # local env files -.env*.local +.env.development # vercel .vercel @@ -226,7 +226,7 @@ web_modules/ .env.development.local .env.test.local .env.production.local -.env.local +.env.development # parcel-bundler cache (https://parceljs.org/) .cache diff --git a/.woodpecker/pipeline.yaml b/.woodpecker/pipeline.yaml index e0e463f..6d1bfb1 100644 --- a/.woodpecker/pipeline.yaml +++ b/.woodpecker/pipeline.yaml @@ -1,44 +1,61 @@ -# .woodpecker.yml +# .pipeline.yml +# ----------------- -# Run pipeline on pushes to main and pull requests when: - event: [push, pull_request] - branch: [main, develop, feat/*, feature/*] + event: [ push ] -# Define environment variables -environment: - NODE_ENV: production - -# Pipeline steps steps: - # Install dependencies - - name: install - image: node:18-alpine - commands: - - echo "🔧 Installing dependencies..." - - npm ci --silent - when: - event: [push, pull_request] - - # Build application - - name: build - image: node:18-alpine - commands: - - echo "🏗️ Building application..." - - npm run build - when: - event: [push, pull_request] - - - name: publish + - name: publish-image image: woodpeckerci/plugin-docker-buildx settings: platforms: linux/amd64 repo: git.badger-pirarucu.ts.net/mangamochi/frontend registry: git.badger-pirarucu.ts.net + dockerfile: Dockerfile + context: . username: from_secret: DOCKER_USER password: from_secret: DOCKER_PASSWORD - when: - event: [push, pull_request] - + build_args: + NEXT_PUBLIC_API_BASE_URL: + from_secret: NEXT_PUBLIC_API_BASE_URL + NEXT_PUBLIC_OMV_BASE_URL: + from_secret: NEXT_PUBLIC_OMV_BASE_URL + tags: + - latest + - ${CI_COMMIT_SHA} + when: + event: [ push ] + branch: [ main ] + + - name: deploy + depends_on: [ publish-image ] + image: alpine:3.20 + environment: + DEPLOY_USER: rov + DEPLOY_HOST: mangamochi.badger-pirarucu.ts.net + DEPLOY_PORT: 22 + IMAGE: git.badger-pirarucu.ts.net/mangamochi/frontend:${CI_COMMIT_SHA} + DEPLOY_SSH_KEY: + from_secret: DEPLOY_SSH_KEY + commands: + - echo "🚀 Deploying Next.js app to $DEPLOY_HOST...." + - apk add --no-cache openssh-client docker-cli + - mkdir -p ~/.ssh + - echo "$DEPLOY_SSH_KEY" > ~/.ssh/id_rsa + - chmod 600 ~/.ssh/id_rsa + - ssh-keyscan -p $DEPLOY_PORT $DEPLOY_HOST >> ~/.ssh/known_hosts + - > + ssh -p $DEPLOY_PORT $DEPLOY_USER@$DEPLOY_HOST " + docker pull $IMAGE && + docker stop mangamochi-frontend 2>/dev/null || true && + docker rm mangamochi-frontend 2>/dev/null || true && + docker run -d --name mangamochi-frontend \ + --restart always \ + -p 80:3000 \ + $IMAGE + " + when: + event: [ push ] + branch: [ main ] diff --git a/Dockerfile b/Dockerfile index 92bccdc..4f6c7e7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,6 +14,12 @@ RUN npm ci COPY . . # Build the application +ARG NEXT_PUBLIC_API_BASE_URL +ENV NEXT_PUBLIC_API_BASE_URL=${NEXT_PUBLIC_API_BASE_URL} + +ARG NEXT_PUBLIC_OMV_BASE_URL +ENV NEXT_PUBLIC_OMV_BASE_URL=${NEXT_PUBLIC_OMV_BASE_URL} + RUN npm run build # Stage 2: Production stage diff --git a/api/api.ts b/api/api.ts index 33ba9e9..8fefde1 100644 --- a/api/api.ts +++ b/api/api.ts @@ -3,7 +3,7 @@ import { User } from "@/contexts/auth-context"; import { toast } from "sonner"; export const Api = axios.create({ - baseURL: "http://localhost:8080", + baseURL: process.env.NEXT_PUBLIC_API_BASE_URL, responseType: "json", }); diff --git a/api/mangamochi.ts b/api/mangamochi.ts index 2277b67..0372a64 100644 --- a/api/mangamochi.ts +++ b/api/mangamochi.ts @@ -109,18 +109,18 @@ export interface PageMangaListDTO { content?: MangaListDTO[]; number?: number; pageable?: PageableObject; - sort?: SortObject; first?: boolean; last?: boolean; + sort?: SortObject; numberOfElements?: number; empty?: boolean; } export interface PageableObject { offset?: number; + paged?: boolean; pageNumber?: number; pageSize?: number; - paged?: boolean; sort?: SortObject; unpaged?: boolean; } @@ -279,7 +279,7 @@ export const sendRecord = ( return customInstance( - {url: `http://mangamochi.badger-pirarucu.ts.net:8080/records`, method: 'POST', + {url: `/records`, method: 'POST', headers: {'Content-Type': 'application/json', }, data: updateMangaDataCommand, signal }, @@ -342,7 +342,7 @@ export const fetchMangaChapters = ( return customInstance( - {url: `http://mangamochi.badger-pirarucu.ts.net:8080/mangas/${encodeURIComponent(String(mangaProviderId))}/fetch-chapters`, method: 'POST', signal + {url: `/mangas/${encodeURIComponent(String(mangaProviderId))}/fetch-chapters`, method: 'POST', signal }, options); } @@ -406,7 +406,7 @@ export const fetchAllChapters = ( return customInstance( - {url: `http://mangamochi.badger-pirarucu.ts.net:8080/mangas/${encodeURIComponent(String(mangaProviderId))}/fetch-all-chapters`, method: 'POST', signal + {url: `/mangas/${encodeURIComponent(String(mangaProviderId))}/fetch-all-chapters`, method: 'POST', signal }, options); } @@ -470,7 +470,7 @@ export const setUnfavorite = ( return customInstance( - {url: `http://mangamochi.badger-pirarucu.ts.net:8080/mangas/${encodeURIComponent(String(id))}/unfavorite`, method: 'POST', signal + {url: `/mangas/${encodeURIComponent(String(id))}/unfavorite`, method: 'POST', signal }, options); } @@ -534,7 +534,7 @@ export const setFavorite = ( return customInstance( - {url: `http://mangamochi.badger-pirarucu.ts.net:8080/mangas/${encodeURIComponent(String(id))}/favorite`, method: 'POST', signal + {url: `/mangas/${encodeURIComponent(String(id))}/favorite`, method: 'POST', signal }, options); } @@ -598,7 +598,7 @@ export const markAsRead = ( return customInstance( - {url: `http://mangamochi.badger-pirarucu.ts.net:8080/mangas/chapters/${encodeURIComponent(String(chapterId))}/mark-as-read`, method: 'POST', signal + {url: `/mangas/chapters/${encodeURIComponent(String(chapterId))}/mark-as-read`, method: 'POST', signal }, options); } @@ -662,7 +662,7 @@ export const fetchChapter = ( return customInstance( - {url: `http://mangamochi.badger-pirarucu.ts.net:8080/mangas/chapters/${encodeURIComponent(String(chapterId))}/fetch`, method: 'POST', signal + {url: `/mangas/chapters/${encodeURIComponent(String(chapterId))}/fetch`, method: 'POST', signal }, options); } @@ -727,7 +727,7 @@ export const downloadChapterArchive = ( return customInstance( - {url: `http://mangamochi.badger-pirarucu.ts.net:8080/mangas/chapters/${encodeURIComponent(String(chapterId))}/download`, method: 'POST', + {url: `/mangas/chapters/${encodeURIComponent(String(chapterId))}/download`, method: 'POST', params, responseType: 'blob', signal }, @@ -796,7 +796,7 @@ formData.append(`malId`, importMultipleFilesBody.malId) importMultipleFilesBody.files.forEach(value => formData.append(`files`, value)); return customInstance( - {url: `http://mangamochi.badger-pirarucu.ts.net:8080/manga/import/upload`, method: 'POST', + {url: `/manga/import/upload`, method: 'POST', headers: {'Content-Type': 'multipart/form-data', }, data: formData, signal }, @@ -862,7 +862,7 @@ export const getImportReviews = ( return customInstance( - {url: `http://mangamochi.badger-pirarucu.ts.net:8080/manga/import/review`, method: 'GET', signal + {url: `/manga/import/review`, method: 'GET', signal }, options); } @@ -872,7 +872,7 @@ export const getImportReviews = ( export const getGetImportReviewsQueryKey = () => { return [ - `http://mangamochi.badger-pirarucu.ts.net:8080/manga/import/review` + `/manga/import/review` ] as const; } @@ -955,7 +955,7 @@ export const resolveImportReview = ( return customInstance( - {url: `http://mangamochi.badger-pirarucu.ts.net:8080/manga/import/review`, method: 'POST', + {url: `/manga/import/review`, method: 'POST', params, signal }, options); @@ -1020,7 +1020,7 @@ export const importFromMangaDex = ( return customInstance( - {url: `http://mangamochi.badger-pirarucu.ts.net:8080/manga/import/manga-dex`, method: 'POST', + {url: `/manga/import/manga-dex`, method: 'POST', headers: {'Content-Type': 'application/json', }, data: importMangaDexRequestDTO, signal }, @@ -1086,7 +1086,7 @@ export const registerUser = ( return customInstance( - {url: `http://mangamochi.badger-pirarucu.ts.net:8080/auth/register`, method: 'POST', + {url: `/auth/register`, method: 'POST', headers: {'Content-Type': 'application/json', }, data: registrationRequestDTO, signal }, @@ -1152,7 +1152,7 @@ export const authenticateUser = ( return customInstance( - {url: `http://mangamochi.badger-pirarucu.ts.net:8080/auth/login`, method: 'POST', + {url: `/auth/login`, method: 'POST', headers: {'Content-Type': 'application/json', }, data: authenticationRequestDTO, signal }, @@ -1218,7 +1218,7 @@ export const getMangas = ( return customInstance( - {url: `http://mangamochi.badger-pirarucu.ts.net:8080/mangas`, method: 'GET', + {url: `/mangas`, method: 'GET', params, signal }, options); @@ -1229,7 +1229,7 @@ export const getMangas = ( export const getGetMangasQueryKey = (params?: GetMangasParams,) => { return [ - `http://mangamochi.badger-pirarucu.ts.net:8080/mangas`, ...(params ? [params]: []) + `/mangas`, ...(params ? [params]: []) ] as const; } @@ -1312,7 +1312,7 @@ export const getMangaChapters = ( return customInstance( - {url: `http://mangamochi.badger-pirarucu.ts.net:8080/mangas/${encodeURIComponent(String(mangaProviderId))}/chapters`, method: 'GET', signal + {url: `/mangas/${encodeURIComponent(String(mangaProviderId))}/chapters`, method: 'GET', signal }, options); } @@ -1322,7 +1322,7 @@ export const getMangaChapters = ( export const getGetMangaChaptersQueryKey = (mangaProviderId?: number,) => { return [ - `http://mangamochi.badger-pirarucu.ts.net:8080/mangas/${mangaProviderId}/chapters` + `/mangas/${mangaProviderId}/chapters` ] as const; } @@ -1405,7 +1405,7 @@ export const getManga = ( return customInstance( - {url: `http://mangamochi.badger-pirarucu.ts.net:8080/mangas/${encodeURIComponent(String(mangaId))}`, method: 'GET', signal + {url: `/mangas/${encodeURIComponent(String(mangaId))}`, method: 'GET', signal }, options); } @@ -1415,7 +1415,7 @@ export const getManga = ( export const getGetMangaQueryKey = (mangaId?: number,) => { return [ - `http://mangamochi.badger-pirarucu.ts.net:8080/mangas/${mangaId}` + `/mangas/${mangaId}` ] as const; } @@ -1498,7 +1498,7 @@ export const getMangaChapterImages = ( return customInstance( - {url: `http://mangamochi.badger-pirarucu.ts.net:8080/mangas/chapters/${encodeURIComponent(String(chapterId))}/images`, method: 'GET', signal + {url: `/mangas/chapters/${encodeURIComponent(String(chapterId))}/images`, method: 'GET', signal }, options); } @@ -1508,7 +1508,7 @@ export const getMangaChapterImages = ( export const getGetMangaChapterImagesQueryKey = (chapterId?: number,) => { return [ - `http://mangamochi.badger-pirarucu.ts.net:8080/mangas/chapters/${chapterId}/images` + `/mangas/chapters/${chapterId}/images` ] as const; } @@ -1591,7 +1591,7 @@ export const getGenres = ( return customInstance( - {url: `http://mangamochi.badger-pirarucu.ts.net:8080/genres`, method: 'GET', signal + {url: `/genres`, method: 'GET', signal }, options); } @@ -1601,7 +1601,7 @@ export const getGenres = ( export const getGetGenresQueryKey = () => { return [ - `http://mangamochi.badger-pirarucu.ts.net:8080/genres` + `/genres` ] as const; } @@ -1683,7 +1683,7 @@ export const deleteImportReview = ( return customInstance( - {url: `http://mangamochi.badger-pirarucu.ts.net:8080/manga/import/review/${encodeURIComponent(String(id))}`, method: 'DELETE' + {url: `/manga/import/review/${encodeURIComponent(String(id))}`, method: 'DELETE' }, options); } diff --git a/app/manga/[id]/chapter/[chapterNumber]/page.tsx b/app/manga/[id]/chapter/[chapterNumber]/page.tsx index 1f5a3ab..79e4285 100644 --- a/app/manga/[id]/chapter/[chapterNumber]/page.tsx +++ b/app/manga/[id]/chapter/[chapterNumber]/page.tsx @@ -142,8 +142,7 @@ export default function ChapterReaderPage() { {/* Manga Page */}