From 3b2bc07a10d1fb5623b919d882251d0e80698391 Mon Sep 17 00:00:00 2001
From: Clement <46396830+Klaiment@users.noreply.github.com>
Date: Thu, 12 Oct 2023 12:34:53 +0200
Subject: [PATCH 01/17] Update .gitignore
---
.gitignore | 1 -
1 file changed, 1 deletion(-)
diff --git a/.gitignore b/.gitignore
index ab61217..5db693f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,7 +4,6 @@
client/.next
data/
config.js
-config.example.js
yarn.lock
.DS_Store
dist/
From 1cdc2b8714a81a4a7bc4a4b95f93638046eb5013 Mon Sep 17 00:00:00 2001
From: Clement <46396830+Klaiment@users.noreply.github.com>
Date: Thu, 12 Oct 2023 12:35:53 +0200
Subject: [PATCH 02/17] Update .gitignore
---
.gitignore | 1 -
1 file changed, 1 deletion(-)
diff --git a/.gitignore b/.gitignore
index 5db693f..3394cc7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,7 +4,6 @@
client/.next
data/
config.js
-yarn.lock
.DS_Store
dist/
letsencrypt/
From c310838c0b91dcb84b026c8b22b2dcb61f5b16f9 Mon Sep 17 00:00:00 2001
From: Clement <46396830+Klaiment@users.noreply.github.com>
Date: Thu, 12 Oct 2023 12:36:17 +0200
Subject: [PATCH 03/17] Update Dockerfile
---
api/Dockerfile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/api/Dockerfile b/api/Dockerfile
index a68bcde..9cd92df 100644
--- a/api/Dockerfile
+++ b/api/Dockerfile
@@ -1,9 +1,9 @@
FROM node:16-alpine
-ENV NODE_ENV=development
+ENV NODE_ENV=production
ENV SENTRY_DSN="https://9b9761216607428180ea3b32bd1c8e58@o140996.ingest.sentry.io/4504645996576768"
LABEL org.opencontainers.image.source=https://github.com/tdjsnelling/sqtracker
WORKDIR /sqtracker/app
COPY . .
RUN yarn install
EXPOSE 3001
-CMD yarn start
\ No newline at end of file
+CMD yarn start
From 4bd8d4875e2ffb69ae797bcf1feb3c7327aac581 Mon Sep 17 00:00:00 2001
From: Clement <46396830+Klaiment@users.noreply.github.com>
Date: Thu, 12 Oct 2023 12:38:56 +0200
Subject: [PATCH 04/17] Update Dockerfile
---
client/Dockerfile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/client/Dockerfile b/client/Dockerfile
index 1108e35..eed21cd 100644
--- a/client/Dockerfile
+++ b/client/Dockerfile
@@ -11,7 +11,7 @@ RUN echo "{}" > /config.js
RUN ./node_modules/.bin/next build
FROM node:16-alpine
-ENV NODE_ENV=development
+ENV NODE_ENV=production
ENV SENTRY_DSN="https://22bc43683da04040aa90e7683ffe022a@o140996.ingest.sentry.io/4504646040616960"
LABEL org.opencontainers.image.source=https://github.com/tdjsnelling/sqtracker
WORKDIR /sqtracker/client
From cf47dfd6e4fc43fc15e1a8b3569cbf8d870b4c38 Mon Sep 17 00:00:00 2001
From: Clement <46396830+Klaiment@users.noreply.github.com>
Date: Thu, 12 Oct 2023 18:15:32 +0200
Subject: [PATCH 05/17] Update torrent.js
---
api/src/controllers/torrent.js | 1 -
1 file changed, 1 deletion(-)
diff --git a/api/src/controllers/torrent.js b/api/src/controllers/torrent.js
index b308361..e82bdc2 100644
--- a/api/src/controllers/torrent.js
+++ b/api/src/controllers/torrent.js
@@ -508,7 +508,6 @@ export const getTorrentsPage = async ({
created: 1,
freeleech: 1,
tags: 1,
- poster: 1,
confidenceScore: 1,
},
},
From 54276bc9fb5b632569f82614544bf49e2f61f370 Mon Sep 17 00:00:00 2001
From: Clement <46396830+Klaiment@users.noreply.github.com>
Date: Thu, 12 Oct 2023 18:16:26 +0200
Subject: [PATCH 06/17] Update Dockerfile
---
client/Dockerfile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/client/Dockerfile b/client/Dockerfile
index eed21cd..0b19958 100644
--- a/client/Dockerfile
+++ b/client/Dockerfile
@@ -1,6 +1,6 @@
FROM node:16-alpine AS builder
ARG SENTRY_AUTH_TOKEN
-ENV NODE_ENV=development
+ENV NODE_ENV=production
ENV SENTRY_ORG=tdjsnelling
ENV SENTRY_PROJECT=sqtracker-frontend
ENV SENTRY_AUTH_TOKEN=${SENTRY_AUTH_TOKEN}
From 7f3d6e131fa19fe543c0e70dcaff6cbb41d34eb9 Mon Sep 17 00:00:00 2001
From: Clement <46396830+Klaiment@users.noreply.github.com>
Date: Thu, 12 Oct 2023 18:18:09 +0200
Subject: [PATCH 07/17] Update config.example.js
---
config.example.js | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/config.example.js b/config.example.js
index cf4a015..a4344f2 100644
--- a/config.example.js
+++ b/config.example.js
@@ -74,13 +74,13 @@ module.exports = {
SQ_EXTENSION_BLACKLIST: ["exe"],
// The URL of your tracker site.
- SQ_BASE_URL: "http://localhost",
+ SQ_BASE_URL: "https://sqtracker.dev",
// The URL of your API. Under the recommended setup, it should be `${SQ_BASE_URL}/api`.
- SQ_API_URL: "http://localhost/api",
+ SQ_API_URL: "https://sqtracker.dev/api",
// The URL of your MongoDB server. Under the recommended setup, it should be `mongodb://sq_mongodb/sqtracker`.
- SQ_MONGO_URL: "mongodb://localhost:27017",
+ SQ_MONGO_URL: "mongodb://sq_mongodb/sqtracker",
// The email address that mail will be sent from.
SQ_MAIL_FROM_ADDRESS: "mail@sqtracker.dev",
From 13f0411cafdaefe514175075d91ee766ec904c57 Mon Sep 17 00:00:00 2001
From: Clement <46396830+Klaiment@users.noreply.github.com>
Date: Thu, 12 Oct 2023 18:21:48 +0200
Subject: [PATCH 08/17] Update docker-compose.dev.yml
---
docker-compose.dev.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml
index ac807a0..8874d31 100644
--- a/docker-compose.dev.yml
+++ b/docker-compose.dev.yml
@@ -21,7 +21,7 @@ services:
container_name: sq_mongodb
image: mongo:6.0
ports:
- - "0.0.0.0:27017:27017"
+ - "127.0.0.1:27017:27017"
volumes:
- ./data:/data/db
api:
From f99252f7a7300dc4eb17cbf52dc4dd1c224490c2 Mon Sep 17 00:00:00 2001
From: Clement <46396830+Klaiment@users.noreply.github.com>
Date: Thu, 12 Oct 2023 18:27:14 +0200
Subject: [PATCH 09/17] Update upload.js
---
client/pages/upload.js | 2 --
1 file changed, 2 deletions(-)
diff --git a/client/pages/upload.js b/client/pages/upload.js
index 26927ee..33495b4 100644
--- a/client/pages/upload.js
+++ b/client/pages/upload.js
@@ -249,13 +249,11 @@ const Upload = ({ token, userId }) => {
};
reader.onerror = () => {
console.log(`[DEBUG] Poster upload error: ${reader.error}`);
- // Gérer les erreurs, si nécessaire
};
reader.readAsDataURL(file);
}
} catch (e) {
console.error(e);
- // Gérer les erreurs, si nécessaire
}
}, []);
From 8bf508bd9c503119d946b9df69fceb01732320c2 Mon Sep 17 00:00:00 2001
From: Clement <46396830+Klaiment@users.noreply.github.com>
Date: Thu, 12 Oct 2023 18:27:44 +0200
Subject: [PATCH 10/17] Update [infoHash].js
---
client/pages/torrent/[infoHash].js | 1 -
1 file changed, 1 deletion(-)
diff --git a/client/pages/torrent/[infoHash].js b/client/pages/torrent/[infoHash].js
index 7301724..690f276 100644
--- a/client/pages/torrent/[infoHash].js
+++ b/client/pages/torrent/[infoHash].js
@@ -708,7 +708,6 @@ const Torrent = ({ token, torrent = {}, userId, userRole, uid, userStats }) => {
)}
- {console.log(torrent)}
Date: Thu, 12 Oct 2023 18:42:26 +0200
Subject: [PATCH 11/17] CamelCase & alphabetical order
---
client/locales/de.json | 10 +++++-----
client/locales/en.json | 8 ++++----
client/locales/eo.json | 8 ++++----
client/locales/fr.json | 8 ++++----
client/locales/ru.json | 8 ++++----
client/locales/zh.json | 8 ++++----
6 files changed, 25 insertions(+), 25 deletions(-)
diff --git a/client/locales/de.json b/client/locales/de.json
index 186a6c2..0154202 100644
--- a/client/locales/de.json
+++ b/client/locales/de.json
@@ -6,6 +6,11 @@
"username": "Benutzername",
"usernameRules": "Nur Buchstaben, Zahlen, und “.” erlaubt.",
"password": "Passwort",
+ "passwordResetRequestSuccess": "Bestätigung versand, falls ein Konto mit dieser E-Mail Adresse existiert",
+ "passwordResetRequestFailed": "Passwort zurücksetzen konnte nicht initiallisiert werden",
+ "passwordResetSuccess": "Passwort wurde erfolgreich zurückgesetzt",
+ "passwordResetFailed": "Passwort wurde nicht erfolgreich zurückgesetzt",
+ "posterImage": "Poster",
"totp": "Einmalpasswort",
"resetPassword": "Passwort zurücksetzen",
"newPassword": "Neues Passwort",
@@ -14,12 +19,7 @@
"welcome": "Willkommen",
"registerFailed": "Registrierung fehlgeschlagen",
"registrationClosed": "Registrierung geschlossen",
- "passwordResetRequestSuccess": "Bestätigung versand, falls ein Konto mit dieser E-Mail Adresse existiert",
- "passwordResetRequestFailed": "Passwort zurücksetzen konnte nicht initiallisiert werden",
- "passwordResetSuccess": "Passwort wurde erfolgreich zurückgesetzt",
- "passwordResetFailed": "Passwort wurde nicht erfolgreich zurückgesetzt",
"tokenError": "Token Fehler",
"uploadPosterImage": "Posterdatei",
- "PosterImage": "Poster",
"uploadDragDropClickSelectPoster": "Ziehen Sie Ihre Posterdatei hierher oder klicken Sie, um sie auszuwählen"
}
diff --git a/client/locales/en.json b/client/locales/en.json
index ea8eded..e7900a1 100644
--- a/client/locales/en.json
+++ b/client/locales/en.json
@@ -117,6 +117,7 @@
"passwordResetRequestFailed": "Could not initiate password reset",
"passwordResetRequestSuccess": "If an account with that email address exists, you will receive an email shortly",
"passwordResetSuccess": "Password was reset successfully",
+ "posterImage": "Poster",
"poweredBy": "Powered by",
"register": "Register",
"registerFailed": "Could not register",
@@ -241,6 +242,7 @@
"uploadCouldNotUploadTorrent": "Could not upload .torrent",
"uploadDescription": "Description",
"uploadDragDropClickSelect": "Drag and drop .torrent file here, or click to select",
+ "uploadDragDropClickSelectPoster": "Drag and drop your poster file here, or click to select",
"uploadDropFileHere": "Drop the file here...",
"uploadGroupWith": "Group with",
"uploadGroupWithThisTorrent": "Group with this torrent",
@@ -250,6 +252,7 @@
"uploadMarkdownSupport": "Markdown supported",
"uploadMediaInfo": "MediaInfo",
"uploadName": "Name",
+ "uploadPosterImage": "Poster file",
"uploadSource": "Source",
"uploadTags": "Tags",
"uploadTorrentFile": "Torrent file",
@@ -304,8 +307,5 @@
"wikiPages": "Pages",
"wikiSaveChanges": "Save changes",
"wikiThereNothingHereYet": "There is nothing here yet.",
- "wikiDelThisPageQ": "Are you sure you want to delete this wiki page? This cannot be undone.",
- "uploadPosterImage": "Poster file",
- "PosterImage": "Poster",
- "uploadDragDropClickSelectPoster": "Drag and drop your poster file here, or click to select"
+ "wikiDelThisPageQ": "Are you sure you want to delete this wiki page? This cannot be undone."
}
diff --git a/client/locales/eo.json b/client/locales/eo.json
index acf5021..c2ab023 100644
--- a/client/locales/eo.json
+++ b/client/locales/eo.json
@@ -116,6 +116,7 @@
"passwordResetRequestFailed": "Ne eblis komenci pasvortigon",
"passwordResetRequestSuccess": "Se konto kun tiu retadreso ekzistas, vi ricevos retmesaĝon baldaŭ",
"passwordResetSuccess": "Pasvorto estis restarigita sukcese",
+ "posterImage": "Afiŝo",
"poweredBy": "Funkciigita de",
"register": "Registriĝi",
"registerFailed": "Ne eblis registri",
@@ -239,6 +240,7 @@
"uploadCouldNotUploadTorrent": "Ne eblis alŝuti .torrent",
"uploadDescription": "Priskribo",
"uploadDragDropClickSelect": "Trenu kaj faligi .torrent-dosieron ĉi tie, aŭ alklaku por elekti",
+ "uploadDragDropClickSelectPoster": "Tiri kaj demeti vian afiŝo-dosieron ĉi tien, aŭ klaku por elekti",
"uploadDropFileHere": "Faligi la dosieron ĉi tie...",
"uploadGroupWith": "Grupu kun",
"uploadGroupWithThisTorrent": "Grupu kun ĉi tiu torento",
@@ -248,6 +250,7 @@
"uploadMarkdownSupport": "Markdown subtenata",
"uploadMediaInfo": "MediaInfo",
"uploadName": "Nomo",
+ "uploadPosterImage": "Alŝuti afiŝo-dosieron",
"uploadSource": "Fonto",
"uploadTags": "Etikedoj",
"uploadTorrentFile": "Torenta dosiero",
@@ -302,8 +305,5 @@
"wikiPages": "Paĝoj",
"wikiSaveChanges": "Konservi ŝanĝojn",
"wikiThereNothingHereYet": "Ankoraŭ estas nenio ĉi tie.",
- "wikiDelThisPageQ": "Ĉu vi certas, ke vi volas forigi ĉi tiun vikipaĝon? Ĉi tio ne povas esti malfarita.",
- "uploadPosterImage": "Alŝuti afiŝo-dosieron",
- "PosterImage": "Afiŝo",
- "uploadDragDropClickSelectPoster": "Tiri kaj demeti vian afiŝo-dosieron ĉi tien, aŭ klaku por elekti"
+ "wikiDelThisPageQ": "Ĉu vi certas, ke vi volas forigi ĉi tiun vikipaĝon? Ĉi tio ne povas esti malfarita."
}
diff --git a/client/locales/fr.json b/client/locales/fr.json
index 69dd9a4..aea886a 100644
--- a/client/locales/fr.json
+++ b/client/locales/fr.json
@@ -117,6 +117,7 @@
"passwordResetRequestFailed": "Impossible d'initier la réinitialisation du mot de passe",
"passwordResetRequestSuccess": "Si un compte avec cette adresse e-mail existe, vous recevrez bientôt un e-mail",
"passwordResetSuccess": "Le mot de passe a été réinitialisé avec succès",
+ "posterImage": "Affiche",
"poweredBy": "Propulsé par",
"register": "S'inscrire",
"registerFailed": "Impossible de s'inscrire",
@@ -241,7 +242,9 @@
"uploadCouldNotUploadTorrent": "Impossible de télécharger le fichier .torrent",
"uploadDescription": "Description",
"uploadDragDropClickSelect": "Faites glisser et déposez un fichier .torrent ici, ou cliquez pour sélectionner",
+ "uploadDragDropClickSelectPoster": "Glissez et déposez votre fichier d'affiche ici, ou cliquez pour sélectionner",
"uploadDropFileHere": "Déposez le fichier ici...",
+ "uploadPosterImage": "Uploader le fichier d'affiche",
"uploadGroupWith": "Regrouper avec",
"uploadGroupWithThisTorrent": "Regrouper avec ce torrent",
"uploadInfoBox1": "Les extensions de fichier suivantes sont interdites. Tout torrent contenant des fichiers de ces types ne sera pas téléchargé.",
@@ -349,8 +352,5 @@
"wikiEditDiscussionCouldNotCreate": "Impossible de créer la discussion",
"wikiEditDiscussionEdit": "Modifier la discussion",
"wikiEditDiscussionEditSuccess": "Discussion modifiée avec succès",
- "wikiEditDiscussionCouldNotEdit": "Impossible de modifier la discussion",
- "uploadPosterImage": "Uploader le fichier d'affiche",
- "PosterImage": "Affiche",
- "uploadDragDropClickSelectPoster": "Glissez et déposez votre fichier d'affiche ici, ou cliquez pour sélectionner"
+ "wikiEditDiscussionCouldNotEdit": "Impossible de modifier la discussion"
}
diff --git a/client/locales/ru.json b/client/locales/ru.json
index 4b93ae6..3c31b96 100644
--- a/client/locales/ru.json
+++ b/client/locales/ru.json
@@ -115,6 +115,7 @@
"passwordResetRequestFailed": "Не удалось инициировать сброс пароля",
"passwordResetRequestSuccess": "Если учетная запись с таким адресом эл. почты существует, вы вскоре получите эл. письмо.",
"passwordResetSuccess": "Пароль успешно сброшен",
+ "posterImage": "Плакат",
"register": "Регистрация",
"registerFailed": "Не удалось зарегистрироваться",
"registrationClosed": "Регистрация закрыта",
@@ -238,6 +239,7 @@
"uploadCouldNotUploadTorrent": "Не удалось загрузить .torrent",
"uploadDescription": "Описание",
"uploadDragDropClickSelect": "Перетащите файл .torrent сюда или щелкните, чтобы выбрать",
+ "uploadDragDropClickSelectPoster": "Перетащите ваш файл плаката сюда или щелкните, чтобы выбрать",
"uploadDropFileHere": "Перетащите файл сюда...",
"uploadGroupWith": "Группа с",
"uploadGroupWithThisTorrent": "Группа с этим торрентом",
@@ -247,6 +249,7 @@
"uploadMarkdownSupport": "Поддержка Markdown",
"uploadMediaInfo": "Медиаинфо",
"uploadName": "Имя",
+ "uploadPosterImage": "Загрузить файл плаката",
"uploadSource": "Источник",
"uploadTags": "Метки",
"uploadTorrentFile": "Торрент файл",
@@ -301,8 +304,5 @@
"wikiPages": "Страницы",
"wikiSaveChanges": "Сохранить изменения",
"wikiThereNothingHereYet": "Здесь пока ничего нет.",
- "wikiDelThisPageQ": "Вы уверены, что хотите удалить эту wiki страницу? Действие необратимо.",
- "uploadPosterImage": "Загрузить файл плаката",
- "PosterImage": "Плакат",
- "uploadDragDropClickSelectPoster": "Перетащите ваш файл плаката сюда или щелкните, чтобы выбрать"
+ "wikiDelThisPageQ": "Вы уверены, что хотите удалить эту wiki страницу? Действие необратимо."
}
diff --git a/client/locales/zh.json b/client/locales/zh.json
index 4e9d479..e721e17 100644
--- a/client/locales/zh.json
+++ b/client/locales/zh.json
@@ -113,6 +113,7 @@
"passwordResetRequestFailed": "无法发起密码重置",
"passwordResetRequestSuccess": "如果存在该邮箱地址的帐户,将很快收到邮件",
"passwordResetSuccess": "密码重置成功",
+ "posterImage": "海报",
"poweredBy": "Powered by",
"register": "注册",
"registerFailed": "无法注册",
@@ -231,6 +232,7 @@
"uploadCouldNotUploadTorrent": "无法上传 .torrent",
"uploadDescription": "描述",
"uploadDragDropClickSelect": "将 .torrent 文件拖放到此处,或单击选择",
+ "uploadDragDropClickSelectPoster": "拖拽您的海报文件至此,或点击以选择",
"uploadDropFileHere": "将文件拖放到此处...",
"uploadGroupWith": "与以下种子同组",
"uploadGroupWithThisTorrent": "与此种子同组",
@@ -240,6 +242,7 @@
"uploadMarkdownSupport": "支持 Markdown",
"uploadMediaInfo": "MediaInfo",
"uploadName": "名称",
+ "uploadPosterImage": "上传海报文件",
"uploadSource": "来源",
"uploadTags": "标签",
"uploadTorrentFile": "Torrent 文件",
@@ -291,8 +294,5 @@
"wikiPages": "页面",
"wikiSaveChanges": "保存更改",
"wikiThereNothingHereYet": "目前还没有内容。",
- "wikiDelThisPageQ": "您确定要删除这个Wiki页面吗?此操作无法撤销。",
- "uploadPosterImage": "上传海报文件",
- "PosterImage": "海报",
- "uploadDragDropClickSelectPoster": "拖拽您的海报文件至此,或点击以选择"
+ "wikiDelThisPageQ": "您确定要删除这个Wiki页面吗?此操作无法撤销。"
}
From 375db3336f988eeca141e4f715f4abe36b1af4b7 Mon Sep 17 00:00:00 2001
From: Klaiment
Date: Thu, 12 Oct 2023 18:44:58 +0200
Subject: [PATCH 12/17] Poster => Cover image
---
client/locales/en.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/client/locales/en.json b/client/locales/en.json
index e7900a1..478b51a 100644
--- a/client/locales/en.json
+++ b/client/locales/en.json
@@ -117,7 +117,7 @@
"passwordResetRequestFailed": "Could not initiate password reset",
"passwordResetRequestSuccess": "If an account with that email address exists, you will receive an email shortly",
"passwordResetSuccess": "Password was reset successfully",
- "posterImage": "Poster",
+ "posterImage": "Cover image",
"poweredBy": "Powered by",
"register": "Register",
"registerFailed": "Could not register",
From 3b8604b1ce739d9dd622291fc02c539ba7fd95b8 Mon Sep 17 00:00:00 2001
From: Klaiment
Date: Thu, 12 Oct 2023 19:24:59 +0200
Subject: [PATCH 13/17] Fix to make cover image not required. and optimization
of my personal code following the comments made on the Pull request
---
api/src/controllers/torrent.js | 1 -
client/pages/torrent/[infoHash].js | 37 +++++++++++++++++++-----------
client/pages/upload.js | 22 ++++++++++--------
3 files changed, 35 insertions(+), 25 deletions(-)
diff --git a/api/src/controllers/torrent.js b/api/src/controllers/torrent.js
index b308361..e82bdc2 100644
--- a/api/src/controllers/torrent.js
+++ b/api/src/controllers/torrent.js
@@ -508,7 +508,6 @@ export const getTorrentsPage = async ({
created: 1,
freeleech: 1,
tags: 1,
- poster: 1,
confidenceScore: 1,
},
},
diff --git a/client/pages/torrent/[infoHash].js b/client/pages/torrent/[infoHash].js
index 7301724..d4d7ac6 100644
--- a/client/pages/torrent/[infoHash].js
+++ b/client/pages/torrent/[infoHash].js
@@ -523,10 +523,12 @@ const Torrent = ({ token, torrent = {}, userId, userRole, uid, userStats }) => {
userStats.ratio < Number(SQ_MINIMUM_RATIO)) ||
(Number(SQ_MAXIMUM_HIT_N_RUNS) !== -1 &&
userStats.hitnruns > Number(SQ_MAXIMUM_HIT_N_RUNS));
+
function isPngImage(data) {
const pngHeader = "data:image/png;base64,";
return data.startsWith(pngHeader);
}
+
return (
<>
@@ -664,19 +666,27 @@ const Torrent = ({ token, torrent = {}, userId, userRole, uid, userStats }) => {
: [getLocaleString("torrNo")],
}}
/>
-
-
- {getLocaleString("PosterImage")}
-
-
-
+ {torrent.poster && (
+
+
+ {getLocaleString("posterImage")}
+
+
+
+ )}
+
{
)}
- {console.log(torrent)}
{
"image/png": [".png"],
},
maxFiles: 1,
+ maxSize: 5242880, //5Mo
});
function isPngImage(data) {
const pngHeader = "data:image/png;base64,";
@@ -287,9 +288,7 @@ const Upload = ({ token, userId }) => {
const form = new FormData(e.target);
try {
- form.append("poster", posterFile.b64); // Ajoutez la valeur de l'image de l'affiche à la requête
if (!torrentFile) throw new Error("No .torrent file added");
-
const uploadRes = await fetch(`${SQ_API_URL}/torrent/upload`, {
method: "POST",
headers: {
@@ -306,7 +305,7 @@ const Upload = ({ token, userId }) => {
tags: form.get("tags"),
groupWith,
mediaInfo: form.get("mediaInfo"),
- poster: posterFile.b64,
+ poster: posterFile ? posterFile.b64 : null,
}),
});
@@ -436,18 +435,21 @@ const Upload = ({ token, userId }) => {
width={"auto"}
height={200}
/>
- ) : isPosterDragActive ? (
-
- {getLocaleString("uploadDropImageHere")}
-
) : (
-
- {getLocaleString("uploadDragDropClickSelectPoster")}
-
+ isPosterDragActive ? (
+
+ {getLocaleString("uploadDropImageHere")}
+
+ ) : (
+
+ {getLocaleString("uploadDragDropClickSelectPoster")}
+
+ )
)}
+
Date: Thu, 12 Oct 2023 19:29:31 +0200
Subject: [PATCH 14/17] Update [infoHash].js
---
client/pages/torrent/[infoHash].js | 3 ---
1 file changed, 3 deletions(-)
diff --git a/client/pages/torrent/[infoHash].js b/client/pages/torrent/[infoHash].js
index d4d7ac6..54424d1 100644
--- a/client/pages/torrent/[infoHash].js
+++ b/client/pages/torrent/[infoHash].js
@@ -608,7 +608,6 @@ const Torrent = ({ token, torrent = {}, userId, userRole, uid, userStats }) => {
)}
-
{
/>
)}
-
-
Date: Wed, 18 Oct 2023 00:50:21 +0200
Subject: [PATCH 15/17] Added German translations
---
client/locales/de.json | 318 ++++++++++++++++++++++++++++++++++++++---
1 file changed, 302 insertions(+), 16 deletions(-)
diff --git a/client/locales/de.json b/client/locales/de.json
index eb23c7b..3ab8c41 100644
--- a/client/locales/de.json
+++ b/client/locales/de.json
@@ -1,22 +1,308 @@
{
- "poweredBy": "Powered by",
+ "404NotFound": "Nicht gefunden",
+ "404PageDoesNotExist": "Die angeforderte Seite existiert nicht",
+ "404ReturnHome": "Zurück zur Startseite",
+ "acc2FADisabled": "2FA deaktiviert",
+ "acc2FAEnabled": "2FA aktiviert",
+ "acc2FAScanQR": "Scannen sie den QR Code mit ihrer Authenticator App und geben Sie den Einmal-Code ein.",
+ "acc2FAText1": "2FA wurde erfolgreich aktiviert. Diese Backup codes können für den Login benutzt werden, falls Sie Zugriff auf ihre Authenticator App verlieren. Speichern Sie sie jetzt! Sie werden nicht noch einmal angezeigt werden.",
+ "acc2FAUseApp": "Nutzen Sie eine Authenticator App für eine zusätzliche Sicherung",
+ "acc2FAuth": "Zwei Faktor Authentifizierung",
+ "accBonusPoints": "Bonus Punkte",
+ "accBonusPointsHave": "Bonus Punkt(e)",
+ "accBuy": "Kaufen",
+ "accCancel": "Abbrechen",
+ "accChangePass": "Passwort ändern",
+ "accClaimed": "Beansprucht",
+ "accCopyLink": "Link kopieren",
+ "accCouldNotBuyItems": "Konnte keine Items kaufen",
+ "accCouldNotChangePass": "Konnte das Passwort nicht ändern",
+ "accCouldNotDelAcc": "Account konnte nicht gelöscht werden",
+ "accCouldNotSendInvite": "Einladung konnte nicht verschickt werden",
+ "accCouldNotToggle2FA": "Konnte 2FA nicht umschalten",
+ "accCreated": "Erstellt",
+ "accCurrentPass": "Aktuelles Passwort",
+ "accDangerZone": "Gefahrenzone",
+ "accDelAccText1": "Sind sie sicher, dass sie ihren Account löschen möchten? Diese Aktion kann nicht rückgängig gemacht werden und Sie werden nicht in der Lage sein sich erneut zu registrieren. Ihre persönlichen Informationen werden gelöscht, aber ihre hochgeladenen Torrents verbleiben.",
+ "accDeleteMyAcc": "Lösche meinen Account",
+ "accDeleteMyAccYes": "Ja, lösche meinen Account",
+ "accDisable": "Deaktivieren",
+ "accEnable": "Aktivieren",
+ "accEnable2FA": "Aktiviere 2FA",
+ "accEveryRequestYouFulfill": "für jede Anfrage, die Sie erfüllen, oder",
+ "accForEveryGBYouUpload": "für jedes GB, das Sie hochladen",
+ "accIfYouAreAlsUploaderAcceptTorrent": "wenn Sie auch der Uploader des akzeptierten Torrents sind",
+ "accInviteLinkCopiedClipboard": "Einladungslink wurde in die Zwischenablage kopiert",
+ "accInvites": "Einladungen",
+ "accRemaining": "verbleibend",
+ "accRoleUser": "Rolle: Nutzer",
+ "accRoleAdmin": "Rolle: Admin",
+ "accInviteSentSuccess": "Einladung erfolgreich gesendet",
+ "accInviteText1": "Geben Sie eine E-Mail Adresse ein, um die Einladung zu senden. Der eingeladene Nutzer muss sich mit der selben E-Mail Addresse registrieren. Sobald die Einladung generiert ist, können sie auch einen direkten Link kopieren.",
+ "accItemsPurchasedSuccess": "Die Items wurden erfolgreich gekauft",
+ "accMyAccount": "Mein Account",
+ "accPassChangedSuccess": "Das Passwort wurde erfolgreich geändert",
+ "accPurchaseInvites": "Kaufe Einladungen",
+ "accPurchaseUpload1GB": "Kaufe Upload (1 GB)",
+ "accRole": "Rolle",
+ "accSendInvite": "Eine Einladung senden",
+ "accThisIsAdminAcc": "Dies ist ein Admin Account.",
+ "accValidUntil": "Gültig bis",
+ "accYouCurrentlyHave": "Sie haben aktuell",
+ "accYouWillEarn": "Sie werden verdienen",
+ "accNotAvailableToBuy": "Nicht zum Kauf verfügbar",
+ "annPinnedAnnounce": "Angepinnte Bekanntmachungen",
+ "annOtherAnnounce": "Andere Bekanntmachungen",
+ "annAnnounceCreatSuccess": "Bekanntmachung erfolgreich erstellt",
+ "annCouldNotCreateAnnounce": "Konnte Bekanntmachung nicht erstellen",
+ "annNewAnnounce": "Neue Bekanntmachung",
+ "annBody": "Inhalt",
+ "annPinThisAnnounceQ": "Diese Bekanntmachung pinnen?",
+ "annAllowCommentsQ": "Kommentare erlauben?",
+ "annCreateAnnounce": "Eine Bekanntmachung erstellen",
+ "annAnnounceDelSuccess": "Bekanntmachung wurde erfolgreich gelöscht",
+ "annCouldNotDelAnnounce": "Konnte Bekanntmachung nicht löschen",
+ "annUnpin": "Loslösen",
+ "annPin": "Pinnen",
+ "annUnpinned": "Losgelöst",
+ "annPinned": "Angepinnt",
+ "annLastUpdated": "Zuletzt aktualisiert",
+ "annCommentsDisabled": "Kommentare deaktiviert.",
+ "annAreYouSureYouWantToDelThisannounceQ": "Sind Sie sicher, dass sie diese Ankündigung löschen möchten? Dies kann nicht rückgängig gemacht werden.",
+ "annAnnounceUpdatedSuccess": "Die Ankündigung wurde erfolgreich aktualisiert",
+ "annCouldNotUpdateAnnounce": "Die Ankündigung konnte nicht aktualisiert werden",
+ "annEditAnnounce": "Ankündigung bearbeiten",
+ "annUpdateAnnounce": "Ankündigung aktualisieren",
+ "annAnnounce": "Ankündigung",
+ "bmYourBM": "Deine Lesezeichen",
+ "bmYouNotHaveAnyBM": "Du hast keine Lesezeichen.",
+ "catCategories": "Kategorien",
+ "catNoCategoryHaveBeenDefined": "Es wurden keine Kategorien festgelegt.",
+ "catNoTagsHaveBeenDefined": "Es wurden keine Tags definiert.",
+ "catNoResults": "Keine Ergebnisse.",
+ "comCommentBy": "Kommentar von",
+ "comDelUser": "Gelöschter Benutzer",
+ "comOn": "an",
+ "email": "Email",
+ "errSomethingWentWrong": "Etwas ist schief gelaufen",
+ "errTooManyRequests": "Zu viele Anfragen! Sie wurden limitiert. Bitte warten Sie eine kurze Zeit bevor Sie es erneut versuchen.",
+ "errIfErrorPersist": "Wenn der Fehler weiterhin besteht, bitte",
+ "errReportIt": "Melde ihn",
+ "errForNow": "Für jetzt,",
+ "indexLatestAnnounce": "Letzte Bekanntmachungen",
+ "indexLatestTorrents": "Letzte Torrents",
+ "indexSearch": "Suche",
+ "indexSearchTorrents": "Suche Torrents",
+ "indexText1": "Ihre E-Mail Adresse ist noch nicht verifiziert. Sie können keine Daten hoch / runterladen, bevor ihre E-Mail nicht verifiziert wurde.",
+ "indexTime": "HH:mm Do MMM YYYY",
+ "listNoItemShow": "Keine Items zum Anzeigen.",
"logIn": "Anmelden",
- "register": "Registrieren",
- "email": "E-Mail",
- "username": "Benutzername",
- "usernameRules": "Nur Buchstaben, Zahlen, und “.” erlaubt.",
- "password": "Passwort",
- "totp": "Einmalpasswort",
- "resetPassword": "Passwort zurücksetzen",
+ "logInFailed": "Anmeldung fehlgeschlagen",
+ "mdMarkdownPreview": "Markdown Vorschau",
+ "navAnnouncements": "Ankündigungen",
+ "navBookmarks": "Lesezeichen",
+ "navBrowse": "Durchsuchen",
+ "navHome": "Start",
+ "navLogOut": "Ausloggen",
+ "navReports": "Meldungen",
+ "navRequests": "Anfragen",
+ "navRSS": "RSS",
+ "navSearch": "Suche",
+ "navStats": "Statistiken",
+ "navUpload": "Upload",
+ "navWiki": "Wiki",
"newPassword": "Neues Passwort",
- "welcomeBack": "Willkommen zurück",
- "logInFailed": "Anmeldung fehgeschlagen",
- "welcome": "Willkommen",
+ "password": "Passwort",
+ "passwordResetFailed": "Das Zurücksetzen des Passworts konnte nicht abgeschlossen werden",
+ "passwordResetRequestFailed": "Das Zurücksetzen des Passworts konnte nicht eingeleitet werden",
+ "passwordResetRequestSuccess": "Wenn ein Konto mit dieser E-Mail-Adresse existiert, erhalten Sie in Kürze eine E-Mail",
+ "passwordResetSuccess": "Das Passwort wurde erfolgreich zurückgesetzt",
+ "poweredBy": "Powered by",
+ "register": "Registrieren",
"registerFailed": "Registrierung fehlgeschlagen",
"registrationClosed": "Registrierung geschlossen",
- "passwordResetRequestSuccess": "Bestätigung versand, falls ein Konto mit dieser E-Mail Adresse existiert",
- "passwordResetRequestFailed": "Passwort zurücksetzen konnte nicht initiallisiert werden",
- "passwordResetSuccess": "Passwort wurde erfolgreich zurückgesetzt",
- "passwordResetFailed": "Passwort wurde nicht erfolgreich zurückgesetzt",
- "tokenError": "Token Fehler"
+ "reqCreateNew": "Erstelle Neu",
+ "reqCreateReq": "Erstelle Anfrage",
+ "reqTitle": "Titel",
+ "reqPostedBy": "Geschrieben von",
+ "reqPost": "Post",
+ "reqRequestCreatedSuccess": "Anfrage erfolgreich erstellt",
+ "reqCouldNotCreateReq": "Konnte Anfrage nicht erstellen",
+ "reqNewRequest": "Neue Anfrage",
+ "reqWhatYouLookForQ": "Nach was suchen Sie?",
+ "reqRequestDelSuccess": "Anfrage wurde erfolgreich gelöscht",
+ "reqCouldNotDelReq": "Anfrage konnte nicht gelöscht werden",
+ "reqCommentPostSuccess": "Kommentar wurde erfolgreich gepostet",
+ "reqCommentNotPost": "Kommentar konnte nicht gepostet werden",
+ "reqSuggestionAddSuccess": "Vorschlag erfolgreich hinzugefügt",
+ "reqSuggestionNotAdded": "Vorschlag konnte nicht hinzugefügt werden",
+ "reqSuggestionAcceptSuccess": "Vorschlag wurde erfolgreich akzeptiert",
+ "reqCouldNotAcceptSuggestion": "Vorschlag konnte nicht akzeptiert werden",
+ "reqDelete": "Löschen",
+ "reqSuggestedTorrents": "Vorgeschlagene Torrents",
+ "reqSuggestATorrent": "Schlag einen Torrent vor",
+ "reqAccepted": "Akzeptiert",
+ "reqAccept": "Akzeptieren",
+ "reqNoTorrentsHaveBeenSuggestedYet": "Es wurden noch keine Torrents vorgeschlagen.",
+ "reqPostAComment": "Poste einen Kommentar",
+ "reqEnterInfohashTorrentBelow": "Gib den Info Hash eines Torrens unten ein.",
+ "reqFulfilled": "Erfüllt",
+ "reqPosted": "Gesendet",
+ "reqBy": "von",
+ "reqInfohash": "Info Hash",
+ "reqSuggest": "Vorschlagen",
+ "repUnresolvedRep": "Ungelöste Berichte",
+ "repRepBy": "Gemeldet von",
+ "repReason": "Grund",
+ "repRepMarkSolved": "Meldung als gelöst markiert",
+ "repCouldNotResolveRep": "Die Meldung konnte nicht gelöst werden",
+ "repRepOn": "Berichten über",
+ "repMarkSolved": "Als gelöst markieren",
+ "repRep": "Gemeldet",
+ "repTorrDetail": "Torrent Einzelheiten",
+ "resetPassword": "Passwort zurücksetzen",
+ "rssThereRSSFeedAt": "Es gibt einen RSS Feed",
+ "rssToAuthenticateYourself": "Um sich zu authentifizieren, müssen Sie Ihre Cookies übermitteln",
+ "rssAnd": "und",
+ "rssToRSSEndpoint": "an den RSS-Endpunkt, der Ihren Benutzernamen bzw. Ihr Passwort enthält.",
+ "rssNoQueryParametersAreProvided": "Wenn keine Abfrageparameter angegeben werden, enthält der RSS-Feed die 100 neuesten Torrents.",
+ "rssOnlyIncludeMatchingResults": "Um nur passende Ergebnisse in den Feed aufzunehmen, können Sie Folgendes hinzufügen",
+ "rssQueryParameter": "Abfrageparameter, z.B.",
+ "searchSearchResults": "Suchergebnisse für",
+ "searchSearchError": "Suchfehler",
+ "statYouNotPermission": "Sie haben keine Erlaubnis dies zu tun.",
+ "statTrackerStat": "Tracker Statistiken",
+ "statActiveTorrents": "Aktive Torrents",
+ "statBannedUsers": "Gebannte Nutzer",
+ "statCompletedDownloads": "Abgeschlossene Downloads",
+ "statFilledRequests": "Erfüllte Anfragen",
+ "statInvitesAccepted": "Akzeptierte Einladungen",
+ "statLeechers": "Leechers",
+ "statPeers": "Peers",
+ "statRegisteredUsers": "Registrierte Nutzer",
+ "statSeeders": "Seeders",
+ "statTotalComments": "Alle Kommentare",
+ "statTotalInvitesSent": "Alle gesendeten Einladungen",
+ "statTotalRequests": "Alle Anfragen",
+ "statUploadedTorrents": "Hochgeladene Torrents",
+ "tagTaggedWith": "Markiert mit",
+ "tokenError": "Token Fehler",
+ "torrSeeders": "Seeders",
+ "torrLeechers": "Leechers",
+ "torrDownloads": "Downloads",
+ "torrUploaded": "Hochgeladen",
+ "torrTorrEditSuccess": "Torrent erfolgreich bearbeitet",
+ "torrCouldEditTorr": "Konnte den Torrent nicht bearbeiten",
+ "torrTorrDelSuccess": "Torrent wurde erfolgreich gelöscht",
+ "torrCouldNotDelTorr": "Torrent konnte nicht gelöscht werden",
+ "torrVoteSubmitSuccess": "Abstimmung erfolgreich eingereicht",
+ "torrCouldNotSubmitVote": "Stimme konnte nicht abgegeben werden.",
+ "torrReportSubmitSuccess": "Meldung erfolgreich eingereicht",
+ "torrCouldNotSubmitReport": "Meldung konnte nicht eingereicht werden",
+ "torrFLToggleSuccess": "Freeleech erfolgreich umgeschaltet",
+ "torrCouldNotToggleFL": "Konnte freeleech nicht umschalten",
+ "torrTorrRemFromGroupSuccess": "Der Torrent wurde von der Gruppe entfernt",
+ "torrCouldNotRemTorrFromGroup": "Konnte den Torrent nicht von der Gruppe entfernen",
+ "torrTorrent": "Torrent",
+ "torrCouldNotBookmarkTorr": "Torrent konnte nicht als Lesezeichen gespeichert werden",
+ "torrFL": "FL!",
+ "torrEdit": "Bearbeiten",
+ "torrDownload": "Herunterladen",
+ "torrLogInDownload": "Einloggen zum Herunterladen",
+ "torrFiles": "Dateien",
+ "torrReport": "Melden",
+ "torrRemTorr": "Entferne diesen Torrent",
+ "torrAddTorr": "Einen Torrent hinzufügen",
+ "torrReasonForReport": "Grund für Meldung",
+ "torrSureDeleteTorr": "Sind Sie sich sicher, dass Sie den Torrent löschen möchten? Dies kann nicht rückgängig gemacht werden.",
+ "torrFreeleech": "Freeleech",
+ "torrUnset": "Unset",
+ "torrSet": "Set",
+ "torrUploadedBy": "Hochgeladen von",
+ "torrDate": "Datum",
+ "torrSize": "Größe",
+ "torrYes": "Ja",
+ "torrNo": "Nein",
+ "torrGroupTorr": "Gruppierte Torrents",
+ "torrThereAreNoOtherTorrGroup": "Es sind keine anderen Torrents in dieser Gruppe.",
+ "torrResults": "Ergebnisse",
+ "torrPage": "Seite",
+ "torrOf": "von",
+ "torrRemovedFrom": "entfernt von",
+ "torrAddedTo": "hinzugefügt zu",
+ "torrTorrNoTags": "Dieser Torrent hat keine Markierung.",
+ "totp": "Einmal code",
+ "uploadAddTag": "Füge eine Markierung hinzu",
+ "uploadAnnounceURL": "Announce URL",
+ "uploadAnonymousUpload": "Anonymer Upload",
+ "uploadCategory": "Kategorie",
+ "uploadCouldNotGetGroupSuggestions": "Es konnten keine Gruppenvorschläge abgerufen werden",
+ "uploadCouldNotUploadFile": "Die Datei konnte nicht hochgeladen werden",
+ "uploadCouldNotUploadTorrent": "Konnte .torrent nicht hochladen",
+ "uploadDescription": "Beschreibung",
+ "uploadDragDropClickSelect": "Ziehen Sie die Torrent-Datei per Drag-and-Drop hierher oder klicken Sie, um sie auszuwählen",
+ "uploadDropFileHere": "Legen Sie die Datei hier ab...",
+ "uploadGroupWith": "Gruppe mit",
+ "uploadGroupWithThisTorrent": "Gruppe mit diesem Torrent",
+ "uploadInfoBox1": "Die folgenden Dateierweiterungen stehen auf der schwarzen Liste. Torrents, die Dateien dieser Art enthalten, werden nicht hochgeladen.",
+ "uploadInfoBox2": "Es sieht so aus, als hätten diese vorhandenen Torrents ähnliche Namen. Möchten Sie Ihren Upload mit einem davon gruppieren? Gruppen sollten nur sehr ähnliche Inhalte enthalten, z.B. den gleichen Film in verschiedenen Formaten.",
+ "uploadInfoBox3": "Hinweis: Wenn Sie vor dem Hochladen mit dem Seeding eines Torrents begonnen haben, müssen Sie möglicherweise die Tracker in Ihrem Torrent-Client aktualisieren, sobald der Upload abgeschlossen ist.",
+ "uploadMarkdownSupport": "Markdown unterstützt",
+ "uploadMediaInfo": "Medien Information",
+ "uploadName": "Name",
+ "uploadSource": "Quelle",
+ "uploadTags": "Markierungen",
+ "uploadTorrentFile": "Torrent Datei",
+ "uploadTorrentUploadSuccess": "Torrent erfolgreich hochgeladen",
+ "uploadUpload": "Hochladen",
+ "uploadRemove": "Entfernen",
+ "username": "Nutzername",
+ "userUser": "Nutzer",
+ "userSuccessfully": "erfolgreich",
+ "userCouldNot": "Konnte nicht",
+ "userProfile": "Profil",
+ "userUserSince": "Nutzer seit",
+ "userUserSinceTime": "Do MMM YYYY",
+ "userOnlyAdminsSee": "Nur Admins können dies sehen",
+ "userInvitedBy": "Eingeladen von",
+ "userEmailVerified": "Email verifiziert",
+ "userRemainingInvites": "Verbleibende Einladungen",
+ "userRatio": "Ratio",
+ "userHitNRuns": "Hit'n'runs",
+ "userDownloaded": "Heruntergeladen",
+ "userComments": "Kommentare",
+ "userNoComments": "Keine Kommentare.",
+ "userYouSureWant": "Sind Sie sicher, dass Sie das möchten?",
+ "userThisUserQ": "dieser Nutzer??",
+ "userUploaded": "Hochgeladen",
+ "userMyUploads": "Meine Uploads",
+ "usernameRules": "Darf nur aus Buchstaben, Zahlen und „.“ bestehen.“",
+ "userUnban": "entsperren",
+ "userBan": "sperren",
+ "userUnbanned": "entsperrt",
+ "userBanned": "gesperrt",
+ "userAdmin": "Admin",
+ "veCouldNotVerifyEmailAddress": "Konnte diese E-Mail Adresse nicht verifizieren:",
+ "veEmailAddressVerifiedSuccess": "E-Mail wurde erfolgreich verifiziert.",
+ "veNoVerificationTokenProvided": "Kein Verifizierungs-Token angegeben",
+ "veVerifyEmail": "Verifiziere E-Mail",
+ "welcome": "Willkommen",
+ "welcomeBack": "Willkommen zurück",
+ "wikiPath": "Pfad",
+ "wikiPageWillBeVisibleAt": "Die Seite wird sichtbar sein am",
+ "wikiAllowUnregisteredView": "Nicht registrierte Ansicht zulassen",
+ "wikiPageCreateSuccess": "Wiki-Seite erfolgreich erstellt",
+ "wikiCouldNotCreatePage": "Konnte die Wiki-Seite nicht erstellen",
+ "wikiNewPage": "Neue Wiki-Seite",
+ "wikiCreatePage": "Erstelle Wiki-Seite",
+ "wikiPageDelSuccess": "Wiki-Seite wurde erfolgreich gelöscht",
+ "wikiCouldNotDelPage": "Konnte die Wiki-Seite nicht löschen",
+ "wikiPageUpdateSuccess": "Die Wiki-Seite wurde erfolgreich aktualisiert",
+ "wikiCouldNotUpdatePage": "Die Wiki-Seite konnte nicht aktualisiert werden",
+ "wikiAddPage": "Füge eine Seite hinzu",
+ "wikiLastEdited": "Zuletzt geändert",
+ "wikiPages": "Seiten",
+ "wikiSaveChanges": "Änderungen speichern",
+ "wikiThereNothingHereYet": "Hier ist noch nichts",
+ "wikiDelThisPageQ": "Sind Sie sicher, dass Sie diese Wiki-Seite löschen möchten? Das kann nicht rückgängig gemacht werden."
}
From c49c8e71838ee0d1fe054b98ae30cac77bcf9e48 Mon Sep 17 00:00:00 2001
From: Tom Snelling
Date: Sun, 29 Oct 2023 14:13:25 +0000
Subject: [PATCH 16/17] cover image tweaks
---
client/components/Input.js | 28 ++++++++-
client/components/Select.js | 6 +-
client/locales/en.json | 3 +-
client/locales/eo.json | 1 -
client/locales/fr.json | 1 -
client/locales/ru.json | 1 -
client/locales/zh.json | 1 -
client/pages/torrent/[infoHash].js | 9 ++-
client/pages/upload.js | 99 ++++++++++++++++--------------
9 files changed, 88 insertions(+), 61 deletions(-)
diff --git a/client/components/Input.js b/client/components/Input.js
index c01b49d..9415317 100644
--- a/client/components/Input.js
+++ b/client/components/Input.js
@@ -56,18 +56,40 @@ export const WrapLabel = ({ label, children, as = "label", ...rest }) =>
children
);
-const Input = ({ label, rows, my, mt, mb, width, forwardedRef, ...rest }) => {
+const Input = ({
+ label,
+ rows,
+ my,
+ mt,
+ mb,
+ width,
+ forwardedRef,
+ required,
+ ...rest
+}) => {
return (
-
+
{rows ? (
) : (
-
+
)}
);
diff --git a/client/components/Select.js b/client/components/Select.js
index c76f35c..20f2a3f 100644
--- a/client/components/Select.js
+++ b/client/components/Select.js
@@ -31,11 +31,11 @@ const StyledSelect = styled.select(
typography
);
-const Select = ({ label, fRef, ...rest }) => {
+const Select = ({ label, required, fRef, ...rest }) => {
return (
-
+
-
+
{
>
{getLocaleString("posterImage")}
-
)}
diff --git a/client/pages/upload.js b/client/pages/upload.js
index cacae4f..9e0a600 100644
--- a/client/pages/upload.js
+++ b/client/pages/upload.js
@@ -235,6 +235,7 @@ const Upload = ({ token, userId }) => {
setDropError(e.message);
}
}, []);
+
const onPosterDrop = useCallback((acceptedFiles) => {
try {
const [file] = acceptedFiles;
@@ -395,46 +396,54 @@ const Upload = ({ token, userId }) => {
)}