'use client'

// PBI-74 / T-859: URL-prioriteit boven restore-hint.
//
// Als de route `?editTask=<id>` draagt, wint dat boven de localStorage-hint
// die de restore-flow normaal zou toepassen. We schrijven de URL-id direct
// naar de task-hint en roepen setActiveTask aan; de restore-flow leest de
// task-hint pas na drie ensure*Loaded-awaits, dus onze schrijfactie wint
// in de praktijk altijd.

import { useEffect } from 'react'
import { useSearchParams } from 'next/navigation'
import { useProductWorkspaceStore } from '@/stores/product-workspace/store'
import { writeTaskHint } from '@/stores/product-workspace/restore'

export function UrlTaskSync() {
  const searchParams = useSearchParams()
  const editTask = searchParams.get('editTask')

  useEffect(() => {
    if (!editTask) return
    const productId = useProductWorkspaceStore.getState().context.activeProduct?.id
    if (productId) {
      // Hint overschrijven zodat restore-flow's setActiveTask op deze id eindigt
      // (mocht hij na onze directe call komen).
      writeTaskHint(productId, editTask)
    }
    useProductWorkspaceStore.getState().setActiveTask(editTask)
  }, [editTask])

  return null
}
