untested pushhhhh
This commit is contained in:
@@ -39,7 +39,7 @@ export default function AcademicDetailsStep({ form }: { form: any }) {
|
||||
render={({ field }) => (
|
||||
<FormItem>
|
||||
<FormLabel>Degree *</FormLabel>
|
||||
<Select onValueChange={field.onChange} defaultValue={field.value}>
|
||||
<Select onValueChange={field.onChange} value={field.value}>
|
||||
<FormControl>
|
||||
<SelectTrigger>
|
||||
<SelectValue placeholder="Select your degree" />
|
||||
@@ -64,7 +64,7 @@ export default function AcademicDetailsStep({ form }: { form: any }) {
|
||||
render={({ field }) => (
|
||||
<FormItem>
|
||||
<FormLabel>Year *</FormLabel>
|
||||
<Select onValueChange={field.onChange} defaultValue={field.value}>
|
||||
<Select onValueChange={field.onChange} value={field.value}>
|
||||
<FormControl>
|
||||
<SelectTrigger>
|
||||
<SelectValue placeholder="Year of graduation" />
|
||||
@@ -89,7 +89,7 @@ export default function AcademicDetailsStep({ form }: { form: any }) {
|
||||
render={({ field }) => (
|
||||
<FormItem>
|
||||
<FormLabel>Branch *</FormLabel>
|
||||
<Select onValueChange={field.onChange} defaultValue={field.value}>
|
||||
<Select onValueChange={field.onChange} value={field.value}>
|
||||
<FormControl>
|
||||
<SelectTrigger>
|
||||
<SelectValue placeholder="Select your branch" />
|
||||
@@ -119,7 +119,12 @@ export default function AcademicDetailsStep({ form }: { form: any }) {
|
||||
<FormItem>
|
||||
<FormLabel>SSC % *</FormLabel>
|
||||
<FormControl>
|
||||
<Input type="number" placeholder="10th percentage" {...field} />
|
||||
<Input
|
||||
type="number"
|
||||
placeholder="10th percentage"
|
||||
{...field}
|
||||
onChange={(e) => field.onChange(parseFloat(e.target.value) || 0)}
|
||||
/>
|
||||
</FormControl>
|
||||
<FormMessage />
|
||||
</FormItem>
|
||||
@@ -133,7 +138,12 @@ export default function AcademicDetailsStep({ form }: { form: any }) {
|
||||
<FormItem>
|
||||
<FormLabel>HSC % *</FormLabel>
|
||||
<FormControl>
|
||||
<Input type="number" placeholder="12th percentage" {...field} />
|
||||
<Input
|
||||
type="number"
|
||||
placeholder="12th percentage"
|
||||
{...field}
|
||||
onChange={(e) => field.onChange(parseFloat(e.target.value) || 0)}
|
||||
/>
|
||||
</FormControl>
|
||||
<FormMessage />
|
||||
</FormItem>
|
||||
@@ -146,7 +156,11 @@ export default function AcademicDetailsStep({ form }: { form: any }) {
|
||||
render={({ field }) => (
|
||||
<FormItem className="flex items-center space-x-2">
|
||||
<FormControl>
|
||||
<input type="checkbox" checked={field.value} onChange={(e) => field.onChange(e.target.checked)} />
|
||||
<input
|
||||
type="checkbox"
|
||||
checked={field.value}
|
||||
onChange={(e) => field.onChange(e.target.checked)}
|
||||
/>
|
||||
</FormControl>
|
||||
<FormLabel className="!m-0">Diploma Holder?</FormLabel>
|
||||
</FormItem>
|
||||
|
||||
@@ -23,10 +23,11 @@ export default function AdditionalDetailsStep({ form }: { form: any }) {
|
||||
name="linkedin"
|
||||
render={({ field }) => (
|
||||
<FormItem>
|
||||
<FormLabel>LinkedIn Profile *</FormLabel>
|
||||
<FormLabel>LinkedIn Profile</FormLabel>
|
||||
<FormControl>
|
||||
<Input type="url" placeholder="https://linkedin.com/in/yourprofile" {...field} />
|
||||
</FormControl>
|
||||
<FormDescription>Optional</FormDescription>
|
||||
<FormMessage />
|
||||
</FormItem>
|
||||
)}
|
||||
@@ -37,10 +38,11 @@ export default function AdditionalDetailsStep({ form }: { form: any }) {
|
||||
name="github"
|
||||
render={({ field }) => (
|
||||
<FormItem>
|
||||
<FormLabel>GitHub Profile *</FormLabel>
|
||||
<FormLabel>GitHub Profile</FormLabel>
|
||||
<FormControl>
|
||||
<Input type="url" placeholder="https://github.com/yourusername" {...field} />
|
||||
</FormControl>
|
||||
<FormDescription>Optional</FormDescription>
|
||||
<FormMessage />
|
||||
</FormItem>
|
||||
)}
|
||||
@@ -57,10 +59,20 @@ export default function AdditionalDetailsStep({ form }: { form: any }) {
|
||||
<Textarea
|
||||
placeholder="JavaScript, React, Node.js, Python"
|
||||
className="resize-none"
|
||||
value={field.value ? (Array.isArray(field.value) ? field.value.join(", ") : field.value) : ""}
|
||||
onChange={e => {
|
||||
value={
|
||||
field.value
|
||||
? Array.isArray(field.value)
|
||||
? field.value.join(', ')
|
||||
: field.value
|
||||
: ''
|
||||
}
|
||||
onChange={(e) => {
|
||||
const value = e.target.value;
|
||||
field.onChange(value.split(',').map(s => s.trim()).filter(Boolean));
|
||||
const skills = value
|
||||
.split(',')
|
||||
.map((s) => s.trim())
|
||||
.filter(Boolean);
|
||||
field.onChange(skills);
|
||||
}}
|
||||
/>
|
||||
</FormControl>
|
||||
|
||||
@@ -12,6 +12,19 @@ import {
|
||||
import { Input } from '@workspace/ui/components/input';
|
||||
import { Textarea } from '@workspace/ui/components/textarea';
|
||||
import { Separator } from '@workspace/ui/components/separator';
|
||||
import {
|
||||
Select,
|
||||
SelectTrigger,
|
||||
SelectValue,
|
||||
SelectContent,
|
||||
SelectItem,
|
||||
} from '@workspace/ui/components/select';
|
||||
import { Calendar } from '@workspace/ui/components/calendar';
|
||||
import { Popover, PopoverContent, PopoverTrigger } from '@workspace/ui/components/popover';
|
||||
import { Button } from '@workspace/ui/components/button';
|
||||
import { CalendarIcon } from 'lucide-react';
|
||||
import { format } from 'date-fns';
|
||||
import { cn } from '@workspace/ui/lib/utils';
|
||||
|
||||
export default function PersonalDetailsStep({ form }: { form: any }) {
|
||||
return (
|
||||
@@ -76,6 +89,66 @@ export default function PersonalDetailsStep({ form }: { form: any }) {
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 gap-4">
|
||||
<FormField
|
||||
control={form.control}
|
||||
name="gender"
|
||||
render={({ field }) => (
|
||||
<FormItem>
|
||||
<FormLabel>Gender *</FormLabel>
|
||||
<Select onValueChange={field.onChange} defaultValue={field.value}>
|
||||
<FormControl>
|
||||
<SelectTrigger>
|
||||
<SelectValue placeholder="Select your gender" />
|
||||
</SelectTrigger>
|
||||
</FormControl>
|
||||
<SelectContent>
|
||||
<SelectItem value="male">Male</SelectItem>
|
||||
<SelectItem value="female">Female</SelectItem>
|
||||
<SelectItem value="other">Other</SelectItem>
|
||||
</SelectContent>
|
||||
</Select>
|
||||
<FormMessage />
|
||||
</FormItem>
|
||||
)}
|
||||
/>
|
||||
<FormField
|
||||
control={form.control}
|
||||
name="dob"
|
||||
render={({ field }) => (
|
||||
<FormItem className="flex flex-col">
|
||||
<FormLabel>Date of Birth *</FormLabel>
|
||||
<Popover>
|
||||
<PopoverTrigger asChild>
|
||||
<FormControl>
|
||||
<Button
|
||||
variant="outline"
|
||||
className={cn(
|
||||
'w-full pl-3 text-left font-normal',
|
||||
!field.value && 'text-muted-foreground',
|
||||
)}
|
||||
>
|
||||
{field.value ? format(field.value, 'PPP') : <span>Pick a date</span>}
|
||||
<CalendarIcon className="ml-auto h-4 w-4 opacity-50" />
|
||||
</Button>
|
||||
</FormControl>
|
||||
</PopoverTrigger>
|
||||
<PopoverContent className="w-auto p-0" align="start">
|
||||
<Calendar
|
||||
mode="single"
|
||||
selected={field.value}
|
||||
onSelect={field.onChange}
|
||||
disabled={(date) => date > new Date() || date < new Date('1900-01-01')}
|
||||
initialFocus
|
||||
/>
|
||||
</PopoverContent>
|
||||
</Popover>
|
||||
<FormMessage />
|
||||
</FormItem>
|
||||
)}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<Separator />
|
||||
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 gap-4">
|
||||
|
||||
Reference in New Issue
Block a user