← back to davidaoliver__Imperial-Sporthorses

Function bodies 104 total

All specs Real LLM only Function bodies
handleTaskTap function · javascript · L292-L308 (17 LOC)
src/pages/WeeklyPlanner.jsx
  async function handleTaskTap(task) {
    let updates
    if (task.status === 'Pending') {
      updates = { status: 'In Progress', assigned_to: profile.id }
    } else if (task.status === 'In Progress') {
      updates = { status: 'Done', completed_at: new Date().toISOString() }
    } else if (task.status === 'Done') {
      updates = { status: 'Pending', assigned_to: null, completed_at: null }
    }

    const { error } = await supabase
      .from('tasks')
      .update(updates)
      .eq('id', task.id)

    if (error) console.error('Error updating task:', error)
  }
getAssigneeName function · javascript · L310-L317 (8 LOC)
src/pages/WeeklyPlanner.jsx
  function getAssigneeName(task) {
    if (task.assigned_user?.display_name) return task.assigned_user.display_name
    if (task.assigned_to) {
      const user = users.find((u) => u.id === task.assigned_to)
      return user?.display_name || 'Unknown'
    }
    return null
  }
getScheduledStaff function · javascript · L320-L329 (10 LOC)
src/pages/WeeklyPlanner.jsx
  function getScheduledStaff(date, shift) {
    const dayOfWeek = date.getDay()
    return schedule
      .filter((s) => s.day_of_week === dayOfWeek && s.shift === shift)
      .map((s) => {
        const name = s.user?.display_name ||
          users.find((u) => u.id === s.user_id)?.display_name || 'Unknown'
        return { id: s.user_id, name }
      })
  }
getDayStats function · javascript · L331-L350 (20 LOC)
src/pages/WeeklyPlanner.jsx
  function getDayStats(dateStr, date) {
    const dayTasks = weekTasks[dateStr] || []
    const total = dayTasks.length
    const done = dayTasks.filter((t) => t.status === 'Done').length
    const myTasks = dayTasks.filter((t) => t.assigned_to === profile?.id).length

    // For days without generated tasks, check if user is scheduled via weekly_schedule
    let myScheduled = false
    if (total === 0 && date) {
      const dayOfWeek = date.getDay()
      myScheduled = schedule.some(
        (s) => s.day_of_week === dayOfWeek && s.user_id === profile?.id
      )
    }

    // Also check if templates exist (means future days will have tasks)
    const hasTemplates = total === 0 && templates.length > 0

    return { total, done, myTasks, myScheduled, hasTemplates }
  }
‹ prevpage 3 / 3