one
Version:
One is a React framework for web, iOS, and Android apps.
1 lines • 6.54 kB
Source Map (JSON)
{"version":3,"file":"Sitemap.js","names":[],"sources":["esm/fallbackViews/Sitemap.js"],"sourcesContent":["import * as React from \"react\";\nimport { Link } from \"../link/Link\";\nimport { matchDeepDynamicRouteName } from \"../router/matchers\";\nimport { getSortedRoutes } from \"../router/router\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nconst INDENT = 24;\nfunction getNavOptions() {\n return {\n title: \"sitemap\",\n headerShown: false,\n presentation: \"modal\",\n animation: \"default\",\n headerLargeTitleEnabled: false,\n headerTitleStyle: { color: \"white\" },\n headerTintColor: \"white\",\n headerLargeTitleStyle: { color: \"white\" },\n headerStyle: { backgroundColor: \"black\" }\n };\n}\nfunction Sitemap() {\n return /* @__PURE__ */ jsx(\n \"main\",\n {\n style: {\n minHeight: \"100vh\",\n boxSizing: \"border-box\",\n backgroundColor: \"black\",\n color: \"white\",\n padding: 12\n },\n children: /* @__PURE__ */ jsxs(\"div\", { style: { width: \"min(960px, 90vw)\", margin: \"0 auto\" }, children: [\n /* @__PURE__ */ jsx(\"h1\", { style: { fontSize: 28, margin: \"12px 0 20px\" }, children: \"Sitemap\" }),\n getSortedRoutes().map((route) => /* @__PURE__ */ jsx(\n \"div\",\n {\n style: {\n border: \"1px solid #323232\",\n borderRadius: 19,\n marginBottom: 12,\n overflow: \"hidden\"\n },\n children: /* @__PURE__ */ jsx(FileItem, { route })\n },\n route.contextKey\n ))\n ] })\n }\n );\n}\nfunction FileItem({\n route,\n level = 0,\n parents = [],\n isInitial = false\n}) {\n const disabled = route.children.length > 0;\n const segments = React.useMemo(\n () => [...parents, ...route.route.split(\"/\")],\n [parents, route.route]\n );\n const href = React.useMemo(\n () => \"/\" + segments.map((segment) => {\n if (matchDeepDynamicRouteName(segment)) {\n return `${segment}/${Date.now()}`;\n }\n return segment === \"index\" ? \"\" : segment;\n }).filter(Boolean).join(\"/\"),\n [segments]\n );\n const filename = React.useMemo(() => {\n const contextSegments = route.contextKey.split(\"/\");\n if (route.contextKey.match(/_layout\\.[jt]sx?$/)) {\n return contextSegments.slice(-2).join(\"/\");\n }\n return contextSegments.slice(-route.route.split(\"/\").length).join(\"/\");\n }, [route]);\n const content = /* @__PURE__ */ jsxs(\n \"div\",\n {\n style: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n gap: 16,\n minHeight: 56,\n boxSizing: \"border-box\",\n padding: `16px ${INDENT}px 16px ${INDENT + level * INDENT}px`,\n color: \"white\",\n opacity: disabled ? 0.6 : 1\n },\n children: [\n /* @__PURE__ */ jsxs(\"span\", { style: { fontSize: 20 }, children: [\n route.children.length ? \"\\u{1F5C0}\" : \"\\u{1F4C4}\",\n \" \",\n filename\n ] }),\n /* @__PURE__ */ jsxs(\"span\", { style: { display: \"flex\", alignItems: \"center\", gap: 8 }, children: [\n (isInitial || route.generated) && /* @__PURE__ */ jsx(\"span\", { style: { fontSize: 13 }, children: isInitial ? \"Initial\" : \"Virtual\" }),\n !disabled && /* @__PURE__ */ jsx(\"span\", { \"aria-hidden\": \"true\", children: \"\\u203A\" })\n ] })\n ]\n }\n );\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n !route.internal && (disabled ? content : /* @__PURE__ */ jsx(\n Link,\n {\n href,\n replace: true,\n accessibilityLabel: route.contextKey,\n style: {\n display: \"block\",\n textDecoration: \"none\"\n },\n children: content\n }\n )),\n route.children.map((child) => /* @__PURE__ */ jsx(\n FileItem,\n {\n route: child,\n isInitial: route.initialRouteName === child.route,\n parents: segments,\n level: level + (route.generated ? 0 : 1)\n },\n child.contextKey\n ))\n ] });\n}\nexport {\n Sitemap,\n getNavOptions\n};\n//# sourceMappingURL=Sitemap.web.js.map\n"],"mappings":"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"}