feat: market price card shows current + base costs, search modal uses adjusted prices
This commit is contained in:
@@ -28,7 +28,7 @@ export function SearchRequestModal({
|
|||||||
const [loading, setLoading] = useState(false);
|
const [loading, setLoading] = useState(false);
|
||||||
|
|
||||||
const getTVCost = (item: any) => {
|
const getTVCost = (item: any) => {
|
||||||
const base = costs.tv;
|
const base = costs.tvAdjusted || costs.tv;
|
||||||
const eps = item.numberOfEpisodes || 0;
|
const eps = item.numberOfEpisodes || 0;
|
||||||
if (eps <= 50) return base;
|
if (eps <= 50) return base;
|
||||||
if (eps <= 100) return Math.round(base * 1.3);
|
if (eps <= 100) return Math.round(base * 1.3);
|
||||||
@@ -54,7 +54,7 @@ export function SearchRequestModal({
|
|||||||
|
|
||||||
const request = async (item: any, mediaType: string) => {
|
const request = async (item: any, mediaType: string) => {
|
||||||
try {
|
try {
|
||||||
const cost = mediaType === "movie" ? costs.movie : getTVCost(item);
|
const cost = mediaType === "movie" ? (costs.movieAdjusted || costs.movie) : getTVCost(item);
|
||||||
await api.post("/overseer/request", {
|
await api.post("/overseer/request", {
|
||||||
mediaType,
|
mediaType,
|
||||||
mediaId: item.id || item.tmdbId,
|
mediaId: item.id || item.tmdbId,
|
||||||
@@ -109,7 +109,7 @@ export function SearchRequestModal({
|
|||||||
<div className="max-h-[50vh] overflow-y-auto pr-2 space-y-4 scrollbar-hide">
|
<div className="max-h-[50vh] overflow-y-auto pr-2 space-y-4 scrollbar-hide">
|
||||||
{results.map((r) => {
|
{results.map((r) => {
|
||||||
const itemCost =
|
const itemCost =
|
||||||
r.mediaType === "movie" ? costs.movie : getTVCost(r);
|
r.mediaType === "movie" ? (costs.movieAdjusted || costs.movie) : getTVCost(r);
|
||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
key={r.id || r.tmdbId}
|
key={r.id || r.tmdbId}
|
||||||
|
|||||||
@@ -39,6 +39,8 @@ export default function DashboardPage() {
|
|||||||
const [requestCosts, setRequestCosts] = useState({
|
const [requestCosts, setRequestCosts] = useState({
|
||||||
movie: 500,
|
movie: 500,
|
||||||
tv: 1000,
|
tv: 1000,
|
||||||
|
movieAdjusted: 500,
|
||||||
|
tvAdjusted: 1000,
|
||||||
scarcityMultiplier: 1,
|
scarcityMultiplier: 1,
|
||||||
});
|
});
|
||||||
const [totalRequests, setTotalRequests] = useState(0);
|
const [totalRequests, setTotalRequests] = useState(0);
|
||||||
@@ -200,9 +202,12 @@ export default function DashboardPage() {
|
|||||||
Market Price
|
Market Price
|
||||||
</div>
|
</div>
|
||||||
<div className="mt-2 text-2xl font-black text-accent-foreground">
|
<div className="mt-2 text-2xl font-black text-accent-foreground">
|
||||||
{requestCosts.movie}{" "}
|
{requestCosts.movieAdjusted || requestCosts.movie}{" "}
|
||||||
<span className="text-sm">/</span>{" "}
|
<span className="text-sm">/</span>{" "}
|
||||||
{requestCosts.tv}
|
{requestCosts.tvAdjusted || requestCosts.tv}
|
||||||
|
</div>
|
||||||
|
<div className="text-xs font-bold text-accent-foreground/40 line-through">
|
||||||
|
{requestCosts.movie} / {requestCosts.tv}
|
||||||
</div>
|
</div>
|
||||||
<div className="text-[10px] font-bold text-accent-foreground/50 uppercase">
|
<div className="text-[10px] font-bold text-accent-foreground/50 uppercase">
|
||||||
Movie / TV Series
|
Movie / TV Series
|
||||||
|
|||||||
Reference in New Issue
Block a user