Basic downloads stack translation

This commit is contained in:
Simon Caron
2024-12-31 13:34:32 -05:00
parent 2c0ba18b49
commit 373d83a0d5
5 changed files with 59 additions and 17 deletions

View File

@@ -36,19 +36,19 @@ export default function IndexLayout() {
<Stack.Screen
name="downloads/index"
options={{
title: "Downloads",
title: t("home.downloads.downloads_title"),
}}
/>
<Stack.Screen
name="downloads/[seriesId]"
options={{
title: "TV-Series",
title: t("home.downloads.tvseries"),
}}
/>
<Stack.Screen
name="settings"
options={{
title: "Settings",
title: t("home.settings.settings_title"),
}}
/>
{Object.entries(nestedTabPageScreenOptions).map(([name, options]) => (

View File

@@ -16,9 +16,11 @@ import {DownloadSize} from "@/components/downloads/DownloadSize";
import {BottomSheetBackdrop, BottomSheetBackdropProps, BottomSheetModal, BottomSheetView} from "@gorhom/bottom-sheet";
import {toast} from "sonner-native";
import {writeToLog} from "@/utils/log";
import { useTranslation } from "react-i18next";
export default function page() {
const navigation = useNavigation();
const { t } = useTranslation();
const [queue, setQueue] = useAtom(queueAtom);
const { removeProcess, downloadedFiles, deleteFileByType } = useDownload();
const router = useRouter();
@@ -92,9 +94,9 @@ export default function page() {
<View className="mb-4 flex flex-col space-y-4 px-4">
{settings?.downloadMethod === "remux" && (
<View className="bg-neutral-900 p-4 rounded-2xl">
<Text className="text-lg font-bold">Queue</Text>
<Text className="text-lg font-bold">{t("home.downloads.queue")}</Text>
<Text className="text-xs opacity-70 text-red-600">
Queue and downloads will be lost on app restart
{t("home.downloads.queue_hint")}
</Text>
<View className="flex flex-col space-y-2 mt-2">
{queue.map((q, index) => (
@@ -125,7 +127,7 @@ export default function page() {
</View>
{queue.length === 0 && (
<Text className="opacity-50">No items in queue</Text>
<Text className="opacity-50">{t("home.downloads.no_items_in_queue")}</Text>
)}
</View>
)}
@@ -136,7 +138,7 @@ export default function page() {
{movies.length > 0 && (
<View className="mb-4">
<View className="flex flex-row items-center justify-between mb-2 px-4">
<Text className="text-lg font-bold">Movies</Text>
<Text className="text-lg font-bold">{t("home.downloads.movies")}</Text>
<View className="bg-purple-600 rounded-full h-6 w-6 flex items-center justify-center">
<Text className="text-xs font-bold">{movies?.length}</Text>
</View>
@@ -155,7 +157,7 @@ export default function page() {
{groupedBySeries.length > 0 && (
<View className="mb-4">
<View className="flex flex-row items-center justify-between mb-2 px-4">
<Text className="text-lg font-bold">TV-Series</Text>
<Text className="text-lg font-bold">{t("home.downloads.tvseries")}</Text>
<View className="bg-purple-600 rounded-full h-6 w-6 flex items-center justify-center">
<Text className="text-xs font-bold">{groupedBySeries?.length}</Text>
</View>
@@ -176,7 +178,7 @@ export default function page() {
)}
{downloadedFiles?.length === 0 && (
<View className="flex px-4">
<Text className="opacity-50">No downloaded items</Text>
<Text className="opacity-50">{t("home.downloads.no_downloaded_items")}</Text>
</View>
)}
</View>
@@ -200,9 +202,9 @@ export default function page() {
>
<BottomSheetView>
<View className="p-4 space-y-4 mb-4">
<Button color="purple" onPress={deleteMovies}>Delete all Movies</Button>
<Button color="purple" onPress={deleteShows}>Delete all TV-Series</Button>
<Button color="red" onPress={deleteAllMedia}>Delete all</Button>
<Button color="purple" onPress={deleteMovies}>{t("home.downloads.delete_all_movies_button")}</Button>
<Button color="purple" onPress={deleteShows}>{t("home.downloads.delete_all_tvseries_button")}</Button>
<Button color="red" onPress={deleteAllMedia}>{t("home.downloads.delete_all_button")}</Button>
</View>
</BottomSheetView>
</BottomSheetModal>

View File

@@ -22,22 +22,24 @@ import { Button } from "../Button";
import { Image } from "expo-image";
import { useMemo } from "react";
import { storage } from "@/utils/mmkv";
import { useTranslation } from "react-i18next";
interface Props extends ViewProps {}
export const ActiveDownloads: React.FC<Props> = ({ ...props }) => {
const { processes } = useDownload();
const { t } = useTranslation();
if (processes?.length === 0)
return (
<View {...props} className="bg-neutral-900 p-4 rounded-2xl">
<Text className="text-lg font-bold">Active download</Text>
<Text className="opacity-50">No active downloads</Text>
<Text className="text-lg font-bold">{t("home.downloads.active_download")}</Text>
<Text className="opacity-50">{t("home.downloads.no_active_downloads")}</Text>
</View>
);
return (
<View {...props} className="bg-neutral-900 p-4 rounded-2xl">
<Text className="text-lg font-bold mb-2">Active downloads</Text>
<Text className="text-lg font-bold mb-2">{t("home.downloads.active_downloads")}</Text>
<View className="space-y-2">
{processes?.map((p) => (
<DownloadCard key={p.item.Id} process={p} />

View File

@@ -26,7 +26,26 @@
"nextUp": "Next Up",
"recentlyAddedIn": "Recently Added in {{libraryName}}",
"suggestedMovies": "Suggested Movies",
"suggestedEpisodes": "Suggested Episodes"
"suggestedEpisodes": "Suggested Episodes",
"settings": {
"settings_title": "Settings"
},
"downloads": {
"downloads_title": "Downloads",
"tvseries": "TV-Series",
"movies": "Movies",
"queue": "Queue",
"queue_hint": "Queue and downloads will be lost on app restart",
"no_items_in_queue": "No items in queue",
"no_downloaded_items": "No downloaded items",
"delete_all_movies_button": "Delete all Movies",
"delete_all_tvseries_button": "Delete all TV-Series",
"delete_button": "Delete all",
"active_download": "Active download",
"no_active_downloads": "No active downloads",
"active_downloads": "Active downloads",
"toasts": {}
}
},
"search": {
"search_title": "Search",

View File

@@ -26,7 +26,26 @@
"nextUp": "À suivre",
"recentlyAddedIn": "Ajoutés récemment dans {{libraryName}}",
"suggestedMovies": "Films suggérés",
"suggestedEpisodes": "Épisodes suggérés"
"suggestedEpisodes": "Épisodes suggérés",
"settings": {
"settings_title": "Paramètres"
},
"downloads": {
"downloads_title": "Téléchargements",
"tvseries": "Séries TV",
"movies": "Films",
"queue": "File d'attente",
"queue_hint": "La file d'attente et les téléchargements seront perdus au redémarrage de l'application",
"no_items_in_queue": "Aucun item dans la file d'attente",
"no_downloaded_items": "Aucun item téléchargé",
"delete_all_movies_button": "Supprimer tous les films",
"delete_all_tvseries_button": "Supprimer toutes les séries",
"delete_all_button": "Supprimer tout",
"active_download": "Téléchargement actif",
"no_active_downloads": "Aucun téléchargements actifs",
"active_downloads": "Téléchargements actifs",
"toasts": {}
}
},
"search": {
"search_title": "Recherche",