feat: signup flow improvements and CBT exam test visibility for dual targets

This commit is contained in:
2026-09-24 14:56:00 +05:30
parent 1249da54fb
commit 48350bc996
3 changed files with 9 additions and 6 deletions

View File

@@ -319,6 +319,9 @@ def login(payload: LoginPayload, session: Session = Depends(get_session)):
def list_active_tests(exam_pattern: Optional[str] = None, type: Optional[str] = None, session: Session = Depends(get_session), current_user: models.User = Depends(require_tier([models.TierEnum.PRO, models.TierEnum.AI_COACH]))): def list_active_tests(exam_pattern: Optional[str] = None, type: Optional[str] = None, session: Session = Depends(get_session), current_user: models.User = Depends(require_tier([models.TierEnum.PRO, models.TierEnum.AI_COACH]))):
query = select(models.Test).where(models.Test.is_active == True) query = select(models.Test).where(models.Test.is_active == True)
if exam_pattern: if exam_pattern:
if exam_pattern == 'JEE_NEET':
pass
else:
query = query.where(models.Test.exam_pattern == exam_pattern) query = query.where(models.Test.exam_pattern == exam_pattern)
if type: if type:
query = query.where(models.Test.type == type) query = query.where(models.Test.type == type)

View File

@@ -414,7 +414,7 @@ export default function DashboardLayout({ children }: { children: ReactNode }) {
{trialInfo.isTrialActive && ( {trialInfo.isTrialActive && (
<div className="bg-primary text-primary-foreground px-4 py-2.5 text-center text-sm font-bold flex justify-center items-center gap-2 shadow-sm shrink-0 z-30"> <div className="bg-primary text-primary-foreground px-4 py-2.5 text-center text-sm font-bold flex justify-center items-center gap-2 shadow-sm shrink-0 z-30">
<span className="size-2 rounded-full bg-primary-foreground animate-pulse"></span> <span className="size-2 rounded-full bg-primary-foreground animate-pulse"></span>
{trialInfo.trialDaysRemaining} Days Free Trial Remaining {trialInfo.trialDaysRemaining} Days Remaining out of {trialInfo.trialTotalDays} Days in Free Trial
</div> </div>
)} )}

View File

@@ -120,9 +120,9 @@ export default function SignupPage() {
You have full AI Coach access for your trial period. Let&apos;s build your streak starting today. You have full AI Coach access for your trial period. Let&apos;s build your streak starting today.
</p> </p>
</div> </div>
<Link href="/onboarding" className="w-full mt-4"> <Link href="/dashboard" className="w-full mt-4">
<Button className="w-full rounded-xl h-12 font-bold text-base bg-primary text-primary-foreground hover:bg-primary/90 transition-all shadow-[0_0_20px_-5px_var(--color-primary)]"> <Button className="w-full rounded-xl h-12 font-bold text-base bg-primary text-primary-foreground hover:bg-primary/90 transition-all shadow-[0_0_20px_-5px_var(--color-primary)]">
Choose Your Plan → Go to Dashboard →
</Button> </Button>
</Link> </Link>
</CardContent> </CardContent>
@@ -259,7 +259,7 @@ export default function SignupPage() {
</select> </select>
</div> </div>
<div className="space-y-2"> <div className="space-y-2">
<label className="text-sm font-bold text-foreground">Institute Name <span className="text-muted-foreground font-normal">(Optional)</span></label> <label className="text-sm font-bold text-foreground">Institute Name</label>
<input <input
type="text" type="text"
value={schoolName} value={schoolName}
@@ -272,7 +272,7 @@ export default function SignupPage() {
<Button <Button
onClick={handleNextStep} onClick={handleNextStep}
disabled={step === 1 && !isStep1Valid} disabled={step === 1 ? !isStep1Valid : schoolName.trim() === ""}
className="w-full rounded-xl h-12 font-bold text-base bg-primary text-primary-foreground hover:bg-primary/90 transition-all shadow-[0_0_20px_-5px_var(--color-primary)] disabled:opacity-50 disabled:cursor-not-allowed disabled:shadow-none" className="w-full rounded-xl h-12 font-bold text-base bg-primary text-primary-foreground hover:bg-primary/90 transition-all shadow-[0_0_20px_-5px_var(--color-primary)] disabled:opacity-50 disabled:cursor-not-allowed disabled:shadow-none"
> >
{step === 1 ? "Continue" : "Complete Setup"} {step === 1 ? "Continue" : "Complete Setup"}