-
{{ episodesWithProgress.length }} épisode{{ episodesWithProgress.length > 1 ? 's' : '' }}
-
-
-
S{{ String(ep.season_number).padStart(2,'0') }}E{{ String(ep.episode_number).padStart(2,'0') }}
-
- {{ ep.priority === 0 ? 'ignoré' : ep.progress >= 100 ? '✓' : `${ep.progress}%` }}
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ torrent.serieName && !torrent.name.startsWith(torrent.serieName) ? torrent.serieName : torrent.name }}
+
+
+
+
+
{{ badge.label }}
+
{{ clientLine }}
+
{{ clampedProgress }} %
-
-
{{ torrent.serieName }}
-
- {{ stateBadge(torrent.state).label }}
- {{ torrent.client_name }}
-
-
-
-
{{ clampedProgress }}%
-
{{ formatSize(torrent.downloaded) }} / {{ formatSize(torrent.size) }}
-
-
-
-
-
-
-
-
-
↓ {{ formatSpeed(torrent.speed) }}
-
ETA {{ formatEta(torrent.eta) }}
-
- Complété
- R {{ torrent.ratio?.toFixed(2) ?? '0.00' }}
- ↑ {{ formatSize(torrent.uploaded ?? 0) }}
- {{ formatSpeed(torrent.upspeed) }}
+
+
+
+
+ {{ formatSpeed(torrent.speed ?? 0) }}
+ reste {{ formatDuration(torrent.eta) }}
+ Le client signale une erreur sur ce torrent
+ {{ formatSize(torrent.downloaded) }} sur {{ formatSize(torrent.size) }}
+
- État non remonté par le client
-
-
-
-
-
-
-
-
{{ torrent.errorFiles.length }} erreur{{ torrent.errorFiles.length > 1 ? 's' : '' }}
-
-
-
Fichiers en erreur
-
-
{{ e.file }}
+
+
+
+
+
{{ errorSummary }}
+
+
-
-
-
- {{ torrent.organizeState === 'done'
- ? `Importé (${torrent.organizeProgress?.done}/${torrent.organizeProgress?.total})`
- : torrent.organizeState === 'partial'
- ? `En cours (${torrent.organizeProgress?.done}/${torrent.organizeProgress?.total})`
- : 'Non importé' }}
-
-
-
-
-
-
-
-
-
-
- {{ tab === 'active' ? 'Annuler ce téléchargement ?' : 'Supprimer ce torrent ?' }}
-
-
-
-
-
-
+
+
+ {{ torrent.organizeProgress.total }} fichiers · {{ formatSize(torrent.size) }}
+
+ État non remonté par le client
+ importé {{ formatRelative(torrent.importedAt) }}
+ import automatique {{ autoImportIn }}
+ ↑ {{ formatSize(torrent.uploaded) }}
+ {{ formatSpeed(torrent.upspeed) }}
-
-
+
-
+
+
+
+ {{ torrent.serieName ? (autoImport ? 'Import auto à la fin' : 'Import manuel à la fin') : 'Série non reconnue' }}
+
+
+
+ Importé {{ torrent.organizeProgress?.done }}/{{ torrent.organizeProgress?.total }}
+
+
+ {{ torrent.organizeState === 'partial' ? `Importé ${torrent.organizeProgress?.done}/${torrent.organizeProgress?.total}` : 'Non importé' }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/nav/MobileHeader.vue b/src/components/nav/MobileHeader.vue
new file mode 100644
index 0000000..4829c1a
--- /dev/null
+++ b/src/components/nav/MobileHeader.vue
@@ -0,0 +1,107 @@
+
+
+
+
+ FanKarr
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/nav/MobileTabBar.vue b/src/components/nav/MobileTabBar.vue
new file mode 100644
index 0000000..27f6e79
--- /dev/null
+++ b/src/components/nav/MobileTabBar.vue
@@ -0,0 +1,39 @@
+
+
+
+
+
diff --git a/src/components/nav/SidebarNav.vue b/src/components/nav/SidebarNav.vue
index 4c7472a..ae887f1 100644
--- a/src/components/nav/SidebarNav.vue
+++ b/src/components/nav/SidebarNav.vue
@@ -1,53 +1,11 @@
-