diff --git a/packages/solid-router/package.json b/packages/solid-router/package.json index e8cd2c44576..3e41ee95c85 100644 --- a/packages/solid-router/package.json +++ b/packages/solid-router/package.json @@ -100,13 +100,14 @@ "dependencies": { "@solid-devtools/logger": "^0.9.4", "@solid-primitives/refs": "^1.0.8", - "@solidjs/meta": "^0.29.4", "@tanstack/history": "workspace:*", "@tanstack/router-core": "workspace:*", "@tanstack/solid-store": "^0.8.0", + "@unhead/solid-js": "3.0.0-beta.5", "isbot": "^5.1.22", "tiny-invariant": "^1.3.3", - "tiny-warning": "^1.0.3" + "tiny-warning": "^1.0.3", + "unhead": "3.0.0-beta.5" }, "devDependencies": { "@solidjs/testing-library": "^0.8.10", diff --git a/packages/solid-router/src/Asset.tsx b/packages/solid-router/src/Asset.tsx index 8e1e79bff2e..7c9a0c3fc13 100644 --- a/packages/solid-router/src/Asset.tsx +++ b/packages/solid-router/src/Asset.tsx @@ -1,140 +1,56 @@ -import { Link, Meta, Style, Title } from '@solidjs/meta' -import { onCleanup, onMount } from 'solid-js' -import { useRouter } from './useRouter' +import { useHead } from '@unhead/solid-js' import type { RouterManagedTag } from '@tanstack/router-core' import type { JSX } from 'solid-js' +import type { UseHeadInput, ValidTagPositions } from 'unhead/types' + +export function Asset( + props: RouterManagedTag & { + tagPosition?: ValidTagPositions + }, +): JSX.Element | null { + useHead(toHeadInput(props)) + return null +} -export function Asset({ +function toHeadInput({ tag, attrs, children, -}: RouterManagedTag): JSX.Element | null { - switch (tag) { - case 'title': - return {children} - case 'meta': - return - case 'link': - return - case 'style': - return