PageSourceSearch

https://kuto.app/static/useMobileAppRedirect-DEPMw74v.js

js kuto.app collected 2026-10-07 04:06:24 UTC 2,424 bytes, 69 lines download raw bytes

1import { u as ut, j as jsxRuntimeExports, c as colors, O as useServer, z as useRouter, G as createDynamicLink, I as openExternalLink } from "./index-B4tqMR8N.js";
2import { k as kutoFonts } from "./fonts-CSwhRwmD.js";
3const Centered = ut.div.withConfig({
4  displayName: "Centered",
5  componentId: "sc-kvtiei-0"
6})(["display:flex;flex-flow:column;align-items:center;> *{width:100%;flex-grow:1;}@media (min-width:500px){> *{width:500px;}}"]);
7function NoteView({
8  note
9}) {
10  function renderNote() {
11    const paragraphs = note.split("\n").filter((p) => p.trim().length > 0);
12    paragraphs[0] = "“".concat(paragraphs[0]);
13    paragraphs[paragraphs.length - 1] = "".concat(paragraphs[paragraphs.length - 1], "”");
14    return paragraphs.map((paragraph, i) => /* @__PURE__ */ jsxRuntimeExports.jsx("p", { children: paragraph }, i));
15  }
16  return /* @__PURE__ */ jsxRuntimeExports.jsxs(StyledNoteView, { children: [
17    /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "sep" }),
18    /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text", children: renderNote() }),
19    /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "sep" })
20  ] });
21}
22const StyledNoteView = ut.div.withConfig({
23  displayName: "StyledNoteView",
24  componentId: "sc-1g4qyoo-0"
25})(["display:flex;flex-flow:column;> .sep{align-self:center;height:1px;width:70%;background:", ";}> .text{font:", ";text-align:center;margin:5px 0;color:", ";> p{margin:15px 0;}}"], colors.orange({
26  alpha: 0.25
27}), kutoFonts.cartographSansBoldItalic({
28  size: 16,
29  line: "24px"
30}), colors.orange());
31function useMobileAppRedirect() {
32  const {
33    framework,
34    urls
35  } = useServer();
36  const {
37    location
38  } = useRouter();
39  const redirect = ({
40    appPath,
41    params
42  }) => {
43    console.log("FRAMEWORK", framework);
44    if (framework === "storybook") {
45      console.log("Preventing mobile app redirect to", appPath);
46    } else {
47      const desktopUrl = document.location.origin + location.clone({
48        search: "?desktop"
49      }).href();
50      const link = createDynamicLink(appPath != null ? appPath : "", {
51        urls,
52        params,
53        desktopUrl
54      });
55      openExternalLink(link, "");
56    }
57  };
58  const isBackFromDesktop = location.searchParams().has("desktop");
59  return {
60    redirect,
61    isBackFromDesktop
62  };
63}
64export {
65  Centered as C,
66  NoteView as N,
67  StyledNoteView as S,
68  useMobileAppRedirect as u
69};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.