import { getCategories } from '~/apis/common/get-categories'
import { handleCookie } from '~/libs/cookies'
import { FormCategoryPage } from '~/pages/form-category'

import type { Route } from './+types/_admin.lg-admin._dashboard.categories.update.$id'

export const loader = async ({ request, params }: Route.LoaderArgs) => {
  const { staffToken } = await handleCookie(request)
  const { data: categoriesData } = await getCategories({
    accessToken: staffToken,
  })
  const categoryData = categoriesData.find(
    (category) => category.id === params.id,
  )
  return { categoryData }
}

const DashboardCategoriesUpdateLayout = ({
  loaderData,
}: Route.ComponentProps) => {
  const categoryData = loaderData.categoryData
  return <FormCategoryPage categoryData={categoryData} />
}
export default DashboardCategoriesUpdateLayout
