feat: signup flow improvements and CBT exam test visibility for dual targets
This commit is contained in:
@@ -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)
|
||||||
|
|||||||
@@ -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>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
|||||||
@@ -120,9 +120,9 @@ export default function SignupPage() {
|
|||||||
You have full AI Coach access for your trial period. Let's build your streak starting today.
|
You have full AI Coach access for your trial period. Let'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"}
|
||||||
|
|||||||
Reference in New Issue
Block a user