export const useLocale = () => {
  const { locale, locales, setLocale } = useI18n()
  const switchLocalePath = useSwitchLocalePath()
  const localePath = useLocalePath()

  const currentLocale = computed(() => locale.value)

  const availableLocales = computed(() =>
    (locales.value as Array<{ code: string; name: string }>).map(l => ({
      code: l.code,
      name: l.name,
    }))
  )

  const switchLocale = (code: string) => {
    return navigateTo(switchLocalePath(code))
  }

  const localizedPath = (path: string) => {
    return localePath(path)
  }

  return {
    currentLocale,
    availableLocales,
    switchLocale,
    localizedPath,
  }
}
