fix: Herzen weiß/rot mit expliziter Farbe, Admin-Hinweis in Favoritenliste, Tooltip weiß
This commit is contained in:
@@ -226,8 +226,9 @@ function MovieCard({ movie, favIds, hasXrel, onToggleFav, onOpenModal }) {
|
|||||||
<button onClick={e => { e.stopPropagation(); onToggleFav(movie, isFav); }} style={{
|
<button onClick={e => { e.stopPropagation(); onToggleFav(movie, isFav); }} style={{
|
||||||
position:'absolute', top:5, right:5, background:'rgba(0,0,0,0.65)',
|
position:'absolute', top:5, right:5, background:'rgba(0,0,0,0.65)',
|
||||||
border:'none', borderRadius:'50%', width:30, height:30, cursor:'pointer',
|
border:'none', borderRadius:'50%', width:30, height:30, cursor:'pointer',
|
||||||
fontSize:14, display:'flex', alignItems:'center', justifyContent:'center',
|
fontSize:16, display:'flex', alignItems:'center', justifyContent:'center',
|
||||||
}}>{isFav ? '❤' : '🤍'}</button>
|
color: isFav ? '#f87171' : '#ffffff',
|
||||||
|
}}>{isFav ? '♥' : '♥'}</button>
|
||||||
</div>
|
</div>
|
||||||
<div style={{ padding:'8px 10px', flex:1, display:'flex', flexDirection:'column', gap:3 }}
|
<div style={{ padding:'8px 10px', flex:1, display:'flex', flexDirection:'column', gap:3 }}
|
||||||
onClick={() => onOpenModal({ id: movie.id, media_type: movie.media_type || 'movie' })}>
|
onClick={() => onOpenModal({ id: movie.id, media_type: movie.media_type || 'movie' })}>
|
||||||
@@ -762,6 +763,18 @@ function FavoritenKalender({ onOpenModal }) {
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
{isAdmin && allFavs.filter(f=>!f.acknowledged).length > 0 && (
|
||||||
|
<div style={{background:'rgba(245,158,11,0.1)',border:'1px solid rgba(245,158,11,0.4)',
|
||||||
|
borderRadius:8,padding:'8px 12px',color:'#f59e0b',fontFamily:'monospace',fontSize:11,
|
||||||
|
display:'flex',alignItems:'center',gap:8,marginBottom:4}}>
|
||||||
|
⚠ {allFavs.filter(f=>!f.acknowledged).length} unquittierte Favoriten
|
||||||
|
<button onClick={()=>setAdminTab(true)}
|
||||||
|
style={{background:'rgba(245,158,11,0.2)',border:'1px solid rgba(245,158,11,0.4)',
|
||||||
|
borderRadius:6,padding:'2px 10px',color:'#f59e0b',fontFamily:'monospace',fontSize:10,cursor:'pointer'}}>
|
||||||
|
→ Ansehen
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
{filmeFavs.length > 0 && (
|
{filmeFavs.length > 0 && (
|
||||||
<CollapsibleSection label="🎬 FILME" count={filmeFavs.length}>
|
<CollapsibleSection label="🎬 FILME" count={filmeFavs.length}>
|
||||||
{Object.entries(filmGroups).sort(([a],[b]) => a.localeCompare(b)).map(([key, group]) => (
|
{Object.entries(filmGroups).sort(([a],[b]) => a.localeCompare(b)).map(([key, group]) => (
|
||||||
@@ -969,9 +982,9 @@ function MovieModal({ tmdbId, mediaType='movie', onClose, mobile, onHasXrel, noY
|
|||||||
position:'absolute', top:12, right:54,
|
position:'absolute', top:12, right:54,
|
||||||
background:'rgba(0,0,0,0.75)', border:'none', borderRadius:'50%',
|
background:'rgba(0,0,0,0.75)', border:'none', borderRadius:'50%',
|
||||||
width:34, height:34, cursor:'pointer', zIndex:10,
|
width:34, height:34, cursor:'pointer', zIndex:10,
|
||||||
color: isFav ? '#f87171' : 'rgba(255,255,255,0.6)',
|
color: isFav ? '#f87171' : '#ffffff',
|
||||||
fontSize:18, display:'flex', alignItems:'center', justifyContent:'center',
|
fontSize:18, display:'flex', alignItems:'center', justifyContent:'center',
|
||||||
}}>{isFav ? '❤' : '🤍'}</button>
|
}}>♥</button>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
{/* Scrollbarer Inhalt */}
|
{/* Scrollbarer Inhalt */}
|
||||||
|
|||||||
@@ -337,7 +337,8 @@ export default function Statistik({ mobile }) {
|
|||||||
<BarChart data={data.monthlyData} margin={{top:0,right:0,bottom:0,left:0}}>
|
<BarChart data={data.monthlyData} margin={{top:0,right:0,bottom:0,left:0}}>
|
||||||
<XAxis dataKey="month" tickFormatter={fmtMonth} tick={{fill:'rgba(255,255,255,0.3)',fontSize:10}} axisLine={false} tickLine={false}/>
|
<XAxis dataKey="month" tickFormatter={fmtMonth} tick={{fill:'rgba(255,255,255,0.3)',fontSize:10}} axisLine={false} tickLine={false}/>
|
||||||
<YAxis tick={{fill:'rgba(255,255,255,0.3)',fontSize:10}} axisLine={false} tickLine={false} tickFormatter={v=>`${v}€`} width={45}/>
|
<YAxis tick={{fill:'rgba(255,255,255,0.3)',fontSize:10}} axisLine={false} tickLine={false} tickFormatter={v=>`${v}€`} width={45}/>
|
||||||
<Tooltip contentStyle={{background:'#1a1d2e',border:'1px solid rgba(255,255,255,0.1)',borderRadius:8,fontFamily:'monospace',fontSize:11}}
|
<Tooltip contentStyle={{background:'#1a1d2e',border:'1px solid rgba(255,255,255,0.1)',borderRadius:8,fontFamily:'monospace',fontSize:11,color:'#fff'}}
|
||||||
|
labelStyle={{color:'rgba(255,255,255,0.6)'}} itemStyle={{color:'#fff'}}
|
||||||
formatter={(v,n)=>[`${v.toFixed(2)} €`, n==='revenue'?'Einnahmen':'Ausgaben']}
|
formatter={(v,n)=>[`${v.toFixed(2)} €`, n==='revenue'?'Einnahmen':'Ausgaben']}
|
||||||
labelFormatter={fmtMonth}/>
|
labelFormatter={fmtMonth}/>
|
||||||
<Bar dataKey="revenue" fill="#4ade80" radius={[4,4,0,0]} maxBarSize={28}/>
|
<Bar dataKey="revenue" fill="#4ade80" radius={[4,4,0,0]} maxBarSize={28}/>
|
||||||
@@ -356,7 +357,8 @@ export default function Statistik({ mobile }) {
|
|||||||
<LineChart data={data.cumulativeData} margin={{top:5,right:5,bottom:0,left:0}}>
|
<LineChart data={data.cumulativeData} margin={{top:5,right:5,bottom:0,left:0}}>
|
||||||
<XAxis dataKey="month" tickFormatter={fmtMonth} tick={{fill:'rgba(255,255,255,0.3)',fontSize:9}} axisLine={false} tickLine={false}/>
|
<XAxis dataKey="month" tickFormatter={fmtMonth} tick={{fill:'rgba(255,255,255,0.3)',fontSize:9}} axisLine={false} tickLine={false}/>
|
||||||
<YAxis tick={{fill:'rgba(255,255,255,0.3)',fontSize:9}} axisLine={false} tickLine={false} tickFormatter={v=>`${v}€`} width={42}/>
|
<YAxis tick={{fill:'rgba(255,255,255,0.3)',fontSize:9}} axisLine={false} tickLine={false} tickFormatter={v=>`${v}€`} width={42}/>
|
||||||
<Tooltip contentStyle={{background:'#1a1d2e',border:'1px solid rgba(255,255,255,0.1)',borderRadius:8,fontFamily:'monospace',fontSize:11}}
|
<Tooltip contentStyle={{background:'#1a1d2e',border:'1px solid rgba(255,255,255,0.1)',borderRadius:8,fontFamily:'monospace',fontSize:11,color:'#fff'}}
|
||||||
|
labelStyle={{color:'rgba(255,255,255,0.6)'}} itemStyle={{color:'#4ecdc4'}}
|
||||||
formatter={v=>[`${v.toFixed(2)} €`, 'Gewinn kumuliert']} labelFormatter={fmtMonth}/>
|
formatter={v=>[`${v.toFixed(2)} €`, 'Gewinn kumuliert']} labelFormatter={fmtMonth}/>
|
||||||
<Line type="monotone" dataKey="value" stroke="#4ecdc4" strokeWidth={2} dot={false}/>
|
<Line type="monotone" dataKey="value" stroke="#4ecdc4" strokeWidth={2} dot={false}/>
|
||||||
</LineChart>
|
</LineChart>
|
||||||
@@ -375,7 +377,8 @@ export default function Statistik({ mobile }) {
|
|||||||
<Cell key={name} fill={CAT_COLORS[name]||'#888'}/>
|
<Cell key={name} fill={CAT_COLORS[name]||'#888'}/>
|
||||||
))}
|
))}
|
||||||
</Pie>
|
</Pie>
|
||||||
<Tooltip contentStyle={{background:'#1a1d2e',border:'1px solid rgba(255,255,255,0.1)',borderRadius:8,fontFamily:'monospace',fontSize:11}}
|
<Tooltip contentStyle={{background:'#1a1d2e',border:'1px solid rgba(255,255,255,0.1)',borderRadius:8,fontFamily:'monospace',fontSize:11,color:'#fff'}}
|
||||||
|
labelStyle={{color:'rgba(255,255,255,0.6)'}} itemStyle={{color:'#fff'}}
|
||||||
formatter={v=>[`${v.toFixed(2)} €`]}/>
|
formatter={v=>[`${v.toFixed(2)} €`]}/>
|
||||||
<Legend iconType="circle" iconSize={8}
|
<Legend iconType="circle" iconSize={8}
|
||||||
formatter={v=><span style={{color:'rgba(255,255,255,0.5)',fontFamily:'monospace',fontSize:9}}>{v}</span>}/>
|
formatter={v=><span style={{color:'rgba(255,255,255,0.5)',fontFamily:'monospace',fontSize:9}}>{v}</span>}/>
|
||||||
|
|||||||
Reference in New Issue
Block a user