mirror of
https://github.com/R0m1k3/podcastic.git
synced 2026-10-19 05:06:20 +02:00
Résout tous les conflits de merge
- podcastController: createPodcastFromRss sans feedData (parse le RSS réel) - Discover.tsx: stub vide (remplacé par /trending et /add) - App.tsx + Navigation.tsx: conflits déjà résolus Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
ad1c65b1f5
commit
177917c06e
3 files changed
+13
-23
No files matched your search
@@ -243,15 +243,11 @@ export const subscribeFromDiscovery = async (req: Request, res: Response) => {
|
||||
// Check if podcast already in database
|
||||
let podcast = await Podcast.findOne({ rssUrl });
|
||||
|
||||
// If not in database, create it from RSS
|
||||
// If not in database, create it from RSS (parse feed for real episodes)
|
||||
if (!podcast) {
|
||||
try {
|
||||
const result = await rssParserService.createPodcastFromRss(rssUrl, {
|
||||
title: title || 'Unknown Podcast',
|
||||
author: author || '',
|
||||
imageUrl: imageUrl,
|
||||
});
|
||||
// Refetch as a proper Mongoose document
|
||||
const result = await rssParserService.createPodcastFromRss(rssUrl);
|
||||
// Refetch as a proper Mongoose document (result.podcast is a plain object)
|
||||
podcast = await Podcast.findById(result.podcast._id);
|
||||
} catch (error: any) {
|
||||
if (error.message.includes('already in database')) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Link, useLocation } from 'react-router-dom';
|
||||
import { Home, Flame, PlusCircle, BookOpen, Music2, Search, Library } from 'lucide-react';
|
||||
import { Home, Flame, PlusCircle, BookOpen, Library } from 'lucide-react';
|
||||
|
||||
export default function Navigation() {
|
||||
const location = useLocation();
|
||||
@@ -7,10 +7,10 @@ export default function Navigation() {
|
||||
const isActive = (path: string) => location.pathname === path;
|
||||
|
||||
const navItems = [
|
||||
{ path: '/dashboard', label: 'Dashboard', icon: Home, color: 'text-accent-indigo' },
|
||||
{ path: '/trending', label: 'Trending', icon: Flame, color: 'text-accent-rose' },
|
||||
{ path: '/library', label: 'Library', icon: Library, color: 'text-accent-cyan' },
|
||||
{ path: '/add', label: 'Add Podcast', icon: PlusCircle, color: 'text-accent-violet' },
|
||||
{ path: '/dashboard', label: 'Tableau de bord', icon: Home, color: 'text-accent-indigo' },
|
||||
{ path: '/trending', label: 'Tendances', icon: Flame, color: 'text-accent-rose' },
|
||||
{ path: '/library', label: 'Bibliothèque', icon: Library, color: 'text-accent-cyan' },
|
||||
{ path: '/add', label: 'Ajouter', icon: PlusCircle, color: 'text-accent-violet' },
|
||||
];
|
||||
|
||||
return (
|
||||
@@ -44,7 +44,7 @@ export default function Navigation() {
|
||||
}`}
|
||||
>
|
||||
{active && (
|
||||
<div className={`absolute left-0 w-1.5 h-6 rounded-full bg-accent-indigo shadow-[0_0_12px_rgba(99,102,241,0.8)]`} />
|
||||
<div className="absolute left-0 w-1.5 h-6 rounded-full bg-accent-indigo shadow-[0_0_12px_rgba(99,102,241,0.8)]" />
|
||||
)}
|
||||
<ActiveIcon className={`w-5 h-5 transition-transform group-hover:scale-110 ${active ? 'text-accent-indigo' : ''}`} />
|
||||
<span className="text-sm font-semibold tracking-wide">{item.label}</span>
|
||||
@@ -53,16 +53,9 @@ export default function Navigation() {
|
||||
})}
|
||||
</div>
|
||||
|
||||
{/* Footer info/stats */}
|
||||
<div className="mt-auto pt-6 border-t border-white/5 space-y-4">
|
||||
<div className="p-4 rounded-3xl bg-white/[0.03] border border-white/[0.05]">
|
||||
<p className="text-[10px] text-slate-500 font-bold uppercase mb-2">My Stats</p>
|
||||
<div className="flex justify-between items-end">
|
||||
<span className="text-2xl font-display font-extrabold text-white">2.4k</span>
|
||||
<span className="text-[10px] text-accent-indigo font-bold">Mins Listened</span>
|
||||
</div>
|
||||
</div>
|
||||
<p className="px-2 text-[10px] text-slate-600 font-medium">Podcastic Premium © 2026</p>
|
||||
{/* Footer */}
|
||||
<div className="mt-auto pt-6 border-t border-white/5">
|
||||
<p className="px-2 text-[10px] text-slate-600 font-medium">Podcastic © 2026</p>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// Cette page est remplacée par /trending et /add
|
||||
export default function Discover() {
|
||||
return null;
|
||||
}
|
||||
Reference in new issue
Block a user