| 39 | } |
| 40 | |
| 41 | export function Matches() { |
| 42 | const router = useRouter() |
| 43 | |
| 44 | const ResolvedSuspense = |
| 45 | (isServer ?? router.isServer) || |
| 46 | (typeof document !== 'undefined' && router.ssr) |
| 47 | ? SafeFragment |
| 48 | : Solid.Suspense |
| 49 | |
| 50 | const rootRoute: () => AnyRoute = () => router.routesById[rootRouteId] |
| 51 | const PendingComponent = |
| 52 | rootRoute().options.pendingComponent ?? |
| 53 | router.options.defaultPendingComponent |
| 54 | |
| 55 | const OptionalWrapper = router.options.InnerWrap || SafeFragment |
| 56 | |
| 57 | return ( |
| 58 | <OptionalWrapper> |
| 59 | <ResolvedSuspense |
| 60 | fallback={PendingComponent ? <PendingComponent /> : null} |
| 61 | > |
| 62 | <Transitioner /> |
| 63 | <MatchesInner /> |
| 64 | </ResolvedSuspense> |
| 65 | </OptionalWrapper> |
| 66 | ) |
| 67 | } |
| 68 | |
| 69 | function MatchesInner() { |
| 70 | const router = useRouter() |