Spaces:
Sleeping
Sleeping
v4.1: Analyze page — admin unlimited access, no upgrade modal, fixed scan limit display
Browse files
web/app/dashboard-pages/analyze/page.tsx
CHANGED
|
@@ -196,7 +196,7 @@ export default function AnalyzePage() {
|
|
| 196 |
setUserPlan(data.plan || "free");
|
| 197 |
setUserRole(data.role || "user");
|
| 198 |
setScanCount(data.analyses_this_month || 0);
|
| 199 |
-
setScanLimit(data.scan_limit =
|
| 200 |
setCanUpload(data.can_upload || false);
|
| 201 |
})
|
| 202 |
.catch(() => {});
|
|
@@ -221,7 +221,7 @@ export default function AnalyzePage() {
|
|
| 221 |
async function handleFileUpload(e: React.ChangeEvent<HTMLInputElement>) {
|
| 222 |
const file = e.target.files?.[0];
|
| 223 |
if (!file) return;
|
| 224 |
-
if (!canUpload) { setShowUpgrade(true); return; }
|
| 225 |
setLoading(true); setError("");
|
| 226 |
try {
|
| 227 |
const formData = new FormData(); formData.append("file", file);
|
|
@@ -340,7 +340,7 @@ export default function AnalyzePage() {
|
|
| 340 |
</h1>
|
| 341 |
<p className="mt-1 text-xs sm:text-sm text-zinc-500 max-w-xl">Paste text or upload a file. Get 41-category clause detection, risk scoring, ML NER, NLI contradictions, compliance checks, and obligation tracking.</p>
|
| 342 |
</div>
|
| 343 |
-
{userPlan === "free" && !isAdmin && (
|
| 344 |
<span className="self-start text-xs text-zinc-400 border border-zinc-200 px-2.5 py-1 rounded-md whitespace-nowrap">{scanCount}/{scanLimit === Infinity ? "\u221E" : scanLimit} scans</span>
|
| 345 |
)}
|
| 346 |
</div>
|
|
|
|
| 196 |
setUserPlan(data.plan || "free");
|
| 197 |
setUserRole(data.role || "user");
|
| 198 |
setScanCount(data.analyses_this_month || 0);
|
| 199 |
+
setScanLimit(data.scan_limit >= 9999 ? Infinity : (data.scan_limit || 10));
|
| 200 |
setCanUpload(data.can_upload || false);
|
| 201 |
})
|
| 202 |
.catch(() => {});
|
|
|
|
| 221 |
async function handleFileUpload(e: React.ChangeEvent<HTMLInputElement>) {
|
| 222 |
const file = e.target.files?.[0];
|
| 223 |
if (!file) return;
|
| 224 |
+
if (!canUpload && !isAdmin) { setShowUpgrade(true); return; }
|
| 225 |
setLoading(true); setError("");
|
| 226 |
try {
|
| 227 |
const formData = new FormData(); formData.append("file", file);
|
|
|
|
| 340 |
</h1>
|
| 341 |
<p className="mt-1 text-xs sm:text-sm text-zinc-500 max-w-xl">Paste text or upload a file. Get 41-category clause detection, risk scoring, ML NER, NLI contradictions, compliance checks, and obligation tracking.</p>
|
| 342 |
</div>
|
| 343 |
+
{userPlan === "free" && !isAdmin && scanLimit !== Infinity && (
|
| 344 |
<span className="self-start text-xs text-zinc-400 border border-zinc-200 px-2.5 py-1 rounded-md whitespace-nowrap">{scanCount}/{scanLimit === Infinity ? "\u221E" : scanLimit} scans</span>
|
| 345 |
)}
|
| 346 |
</div>
|