update expense-claims
This commit is contained in:
@@ -7,6 +7,12 @@ import LoadingSpinner from '@/components/LoadingSpinner'
|
||||
import { toast } from 'react-hot-toast'
|
||||
import { Plus } from 'lucide-react'
|
||||
|
||||
const TIME_OPTIONS = Array.from({ length: 48 }, (_, i) => {
|
||||
const hour = Math.floor(i / 2).toString().padStart(2, '0')
|
||||
const minute = i % 2 === 0 ? '00' : '30'
|
||||
return `${hour}:${minute}`
|
||||
})
|
||||
|
||||
const LEAVE_TYPES = [
|
||||
{ value: 'ANNUAL', label: 'إجازة سنوية' },
|
||||
{ value: 'HOURLY', label: 'إجازة ساعية' },
|
||||
@@ -47,6 +53,9 @@ export default function PortalLeavePage() {
|
||||
}
|
||||
|
||||
useEffect(() => load(), [])
|
||||
const toCompanyDateTime = (date: string, time: string) => {
|
||||
return `${date}T${time}:00+03:00`
|
||||
}
|
||||
|
||||
const handleSubmit = (e: React.FormEvent) => {
|
||||
e.preventDefault()
|
||||
@@ -80,8 +89,8 @@ export default function PortalLeavePage() {
|
||||
return
|
||||
}
|
||||
|
||||
payload.startDate = `${form.leaveDate}T${form.startTime}:00`
|
||||
payload.endDate = `${form.leaveDate}T${form.endTime}:00`
|
||||
payload.startDate = `${form.leaveDate}T${form.startTime}:00+03:00`
|
||||
payload.endDate = `${form.leaveDate}T${form.endTime}:00+03:00`
|
||||
}
|
||||
|
||||
setSubmitting(true)
|
||||
@@ -238,22 +247,30 @@ export default function PortalLeavePage() {
|
||||
|
||||
<div>
|
||||
<label className="text-sm">من الساعة</label>
|
||||
<input
|
||||
type="time"
|
||||
<select
|
||||
value={form.startTime}
|
||||
onChange={(e) => setForm(p => ({ ...p, startTime: e.target.value }))}
|
||||
className="border p-2 rounded w-full"
|
||||
/>
|
||||
>
|
||||
<option value="">اختر الوقت</option>
|
||||
{TIME_OPTIONS.map((time) => (
|
||||
<option key={time} value={time}>{time}</option>
|
||||
))}
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label className="text-sm">إلى الساعة</label>
|
||||
<input
|
||||
type="time"
|
||||
<select
|
||||
value={form.endTime}
|
||||
onChange={(e) => setForm(p => ({ ...p, endTime: e.target.value }))}
|
||||
className="border p-2 rounded w-full"
|
||||
/>
|
||||
>
|
||||
<option value="">اختر الوقت</option>
|
||||
{TIME_OPTIONS.map((time) => (
|
||||
<option key={time} value={time}>{time}</option>
|
||||
))}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
|
||||
Reference in New Issue
Block a user