mobile.tsx
1 import { c as _c } from "react/compiler-runtime"; 2 import { toString as qrToString } from 'qrcode'; 3 import * as React from 'react'; 4 import { useCallback, useEffect, useState } from 'react'; 5 import { Pane } from '../../components/design-system/Pane.js'; 6 import type { KeyboardEvent } from '../../ink/events/keyboard-event.js'; 7 import { Box, Text } from '../../ink.js'; 8 import { useKeybinding } from '../../keybindings/useKeybinding.js'; 9 import type { LocalJSXCommandOnDone } from '../../types/command.js'; 10 type Platform = 'ios' | 'android'; 11 type Props = { 12 onDone: () => void; 13 }; 14 const PLATFORMS: Record<Platform, { 15 url: string; 16 }> = { 17 ios: { 18 url: 'https://apps.apple.com/app/claude-by-anthropic/id6473753684' 19 }, 20 android: { 21 url: 'https://play.google.com/store/apps/details?id=com.anthropic.claude' 22 } 23 }; 24 function MobileQRCode(t0) { 25 const $ = _c(52); 26 const { 27 onDone 28 } = t0; 29 const [platform, setPlatform] = useState("ios"); 30 let t1; 31 if ($[0] === Symbol.for("react.memo_cache_sentinel")) { 32 t1 = { 33 ios: "", 34 android: "" 35 }; 36 $[0] = t1; 37 } else { 38 t1 = $[0]; 39 } 40 const [qrCodes, setQrCodes] = useState(t1); 41 const { 42 url 43 } = PLATFORMS[platform]; 44 const qrCode = qrCodes[platform]; 45 let t2; 46 let t3; 47 if ($[1] === Symbol.for("react.memo_cache_sentinel")) { 48 t2 = () => { 49 const generateQRCodes = async function generateQRCodes() { 50 const [ios, android] = await Promise.all([qrToString(PLATFORMS.ios.url, { 51 type: "utf8", 52 errorCorrectionLevel: "L" 53 }), qrToString(PLATFORMS.android.url, { 54 type: "utf8", 55 errorCorrectionLevel: "L" 56 })]); 57 setQrCodes({ 58 ios, 59 android 60 }); 61 }; 62 generateQRCodes().catch(_temp); 63 }; 64 t3 = []; 65 $[1] = t2; 66 $[2] = t3; 67 } else { 68 t2 = $[1]; 69 t3 = $[2]; 70 } 71 useEffect(t2, t3); 72 let t4; 73 if ($[3] !== onDone) { 74 t4 = () => { 75 onDone(); 76 }; 77 $[3] = onDone; 78 $[4] = t4; 79 } else { 80 t4 = $[4]; 81 } 82 const handleClose = t4; 83 let t5; 84 if ($[5] === Symbol.for("react.memo_cache_sentinel")) { 85 t5 = { 86 context: "Confirmation" 87 }; 88 $[5] = t5; 89 } else { 90 t5 = $[5]; 91 } 92 useKeybinding("confirm:no", handleClose, t5); 93 let t6; 94 if ($[6] !== onDone) { 95 t6 = function handleKeyDown(e) { 96 if (e.key === "q" || e.ctrl && e.key === "c") { 97 e.preventDefault(); 98 onDone(); 99 return; 100 } 101 if (e.key === "tab" || e.key === "left" || e.key === "right") { 102 e.preventDefault(); 103 setPlatform(_temp2); 104 } 105 }; 106 $[6] = onDone; 107 $[7] = t6; 108 } else { 109 t6 = $[7]; 110 } 111 const handleKeyDown = t6; 112 let T0; 113 let T1; 114 let t10; 115 let t11; 116 let t12; 117 let t13; 118 let t7; 119 let t8; 120 let t9; 121 if ($[8] !== handleKeyDown || $[9] !== qrCode) { 122 const lines = qrCode.split("\n").filter(_temp3); 123 T1 = Pane; 124 T0 = Box; 125 t7 = "column"; 126 t8 = 0; 127 t9 = true; 128 t10 = handleKeyDown; 129 if ($[19] === Symbol.for("react.memo_cache_sentinel")) { 130 t11 = <Text> </Text>; 131 t12 = <Text> </Text>; 132 $[19] = t11; 133 $[20] = t12; 134 } else { 135 t11 = $[19]; 136 t12 = $[20]; 137 } 138 t13 = lines.map(_temp4); 139 $[8] = handleKeyDown; 140 $[9] = qrCode; 141 $[10] = T0; 142 $[11] = T1; 143 $[12] = t10; 144 $[13] = t11; 145 $[14] = t12; 146 $[15] = t13; 147 $[16] = t7; 148 $[17] = t8; 149 $[18] = t9; 150 } else { 151 T0 = $[10]; 152 T1 = $[11]; 153 t10 = $[12]; 154 t11 = $[13]; 155 t12 = $[14]; 156 t13 = $[15]; 157 t7 = $[16]; 158 t8 = $[17]; 159 t9 = $[18]; 160 } 161 let t14; 162 let t15; 163 if ($[21] === Symbol.for("react.memo_cache_sentinel")) { 164 t14 = <Text> </Text>; 165 t15 = <Text> </Text>; 166 $[21] = t14; 167 $[22] = t15; 168 } else { 169 t14 = $[21]; 170 t15 = $[22]; 171 } 172 const t16 = platform === "ios"; 173 const t17 = platform === "ios"; 174 let t18; 175 if ($[23] !== t16 || $[24] !== t17) { 176 t18 = <Text bold={t16} underline={t17}>iOS</Text>; 177 $[23] = t16; 178 $[24] = t17; 179 $[25] = t18; 180 } else { 181 t18 = $[25]; 182 } 183 let t19; 184 if ($[26] === Symbol.for("react.memo_cache_sentinel")) { 185 t19 = <Text dimColor={true}>{" / "}</Text>; 186 $[26] = t19; 187 } else { 188 t19 = $[26]; 189 } 190 const t20 = platform === "android"; 191 const t21 = platform === "android"; 192 let t22; 193 if ($[27] !== t20 || $[28] !== t21) { 194 t22 = <Text bold={t20} underline={t21}>Android</Text>; 195 $[27] = t20; 196 $[28] = t21; 197 $[29] = t22; 198 } else { 199 t22 = $[29]; 200 } 201 let t23; 202 if ($[30] !== t18 || $[31] !== t22) { 203 t23 = <Text>{t18}{t19}{t22}</Text>; 204 $[30] = t18; 205 $[31] = t22; 206 $[32] = t23; 207 } else { 208 t23 = $[32]; 209 } 210 let t24; 211 if ($[33] === Symbol.for("react.memo_cache_sentinel")) { 212 t24 = <Text dimColor={true}>(tab to switch, esc to close)</Text>; 213 $[33] = t24; 214 } else { 215 t24 = $[33]; 216 } 217 let t25; 218 if ($[34] !== t23) { 219 t25 = <Box flexDirection="row" gap={2}>{t23}{t24}</Box>; 220 $[34] = t23; 221 $[35] = t25; 222 } else { 223 t25 = $[35]; 224 } 225 let t26; 226 if ($[36] !== url) { 227 t26 = <Text dimColor={true}>{url}</Text>; 228 $[36] = url; 229 $[37] = t26; 230 } else { 231 t26 = $[37]; 232 } 233 let t27; 234 if ($[38] !== T0 || $[39] !== t10 || $[40] !== t11 || $[41] !== t12 || $[42] !== t13 || $[43] !== t25 || $[44] !== t26 || $[45] !== t7 || $[46] !== t8 || $[47] !== t9) { 235 t27 = <T0 flexDirection={t7} tabIndex={t8} autoFocus={t9} onKeyDown={t10}>{t11}{t12}{t13}{t14}{t15}{t25}{t26}</T0>; 236 $[38] = T0; 237 $[39] = t10; 238 $[40] = t11; 239 $[41] = t12; 240 $[42] = t13; 241 $[43] = t25; 242 $[44] = t26; 243 $[45] = t7; 244 $[46] = t8; 245 $[47] = t9; 246 $[48] = t27; 247 } else { 248 t27 = $[48]; 249 } 250 let t28; 251 if ($[49] !== T1 || $[50] !== t27) { 252 t28 = <T1>{t27}</T1>; 253 $[49] = T1; 254 $[50] = t27; 255 $[51] = t28; 256 } else { 257 t28 = $[51]; 258 } 259 return t28; 260 } 261 function _temp4(line_0, i) { 262 return <Text key={i}>{line_0}</Text>; 263 } 264 function _temp3(line) { 265 return line.length > 0; 266 } 267 function _temp2(prev) { 268 return prev === "ios" ? "android" : "ios"; 269 } 270 function _temp() {} 271 export async function call(onDone: LocalJSXCommandOnDone): Promise<React.ReactNode> { 272 return <MobileQRCode onDone={onDone} />; 273 } 274 //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ0b1N0cmluZyIsInFyVG9TdHJpbmciLCJSZWFjdCIsInVzZUNhbGxiYWNrIiwidXNlRWZmZWN0IiwidXNlU3RhdGUiLCJQYW5lIiwiS2V5Ym9hcmRFdmVudCIsIkJveCIsIlRleHQiLCJ1c2VLZXliaW5kaW5nIiwiTG9jYWxKU1hDb21tYW5kT25Eb25lIiwiUGxhdGZvcm0iLCJQcm9wcyIsIm9uRG9uZSIsIlBMQVRGT1JNUyIsIlJlY29yZCIsInVybCIsImlvcyIsImFuZHJvaWQiLCJNb2JpbGVRUkNvZGUiLCJ0MCIsIiQiLCJfYyIsInBsYXRmb3JtIiwic2V0UGxhdGZvcm0iLCJ0MSIsIlN5bWJvbCIsImZvciIsInFyQ29kZXMiLCJzZXRRckNvZGVzIiwicXJDb2RlIiwidDIiLCJ0MyIsImdlbmVyYXRlUVJDb2RlcyIsIlByb21pc2UiLCJhbGwiLCJ0eXBlIiwiZXJyb3JDb3JyZWN0aW9uTGV2ZWwiLCJjYXRjaCIsIl90ZW1wIiwidDQiLCJoYW5kbGVDbG9zZSIsInQ1IiwiY29udGV4dCIsInQ2IiwiaGFuZGxlS2V5RG93biIsImUiLCJrZXkiLCJjdHJsIiwicHJldmVudERlZmF1bHQiLCJfdGVtcDIiLCJUMCIsIlQxIiwidDEwIiwidDExIiwidDEyIiwidDEzIiwidDciLCJ0OCIsInQ5IiwibGluZXMiLCJzcGxpdCIsImZpbHRlciIsIl90ZW1wMyIsIm1hcCIsIl90ZW1wNCIsInQxNCIsInQxNSIsInQxNiIsInQxNyIsInQxOCIsInQxOSIsInQyMCIsInQyMSIsInQyMiIsInQyMyIsInQyNCIsInQyNSIsInQyNiIsInQyNyIsInQyOCIsImxpbmVfMCIsImkiLCJsaW5lIiwibGVuZ3RoIiwicHJldiIsImNhbGwiLCJSZWFjdE5vZGUiXSwic291cmNlcyI6WyJtb2JpbGUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRvU3RyaW5nIGFzIHFyVG9TdHJpbmcgfSBmcm9tICdxcmNvZGUnXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBQYW5lIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9kZXNpZ24tc3lzdGVtL1BhbmUuanMnXG5pbXBvcnQgdHlwZSB7IEtleWJvYXJkRXZlbnQgfSBmcm9tICcuLi8uLi9pbmsvZXZlbnRzL2tleWJvYXJkLWV2ZW50LmpzJ1xuaW1wb3J0IHsgQm94LCBUZXh0IH0gZnJvbSAnLi4vLi4vaW5rLmpzJ1xuaW1wb3J0IHsgdXNlS2V5YmluZGluZyB9IGZyb20gJy4uLy4uL2tleWJpbmRpbmdzL3VzZUtleWJpbmRpbmcuanMnXG5pbXBvcnQgdHlwZSB7IExvY2FsSlNYQ29tbWFuZE9uRG9uZSB9IGZyb20gJy4uLy4uL3R5cGVzL2NvbW1hbmQuanMnXG5cbnR5cGUgUGxhdGZvcm0gPSAnaW9zJyB8ICdhbmRyb2lkJ1xuXG50eXBlIFByb3BzID0ge1xuICBvbkRvbmU6ICgpID0+IHZvaWRcbn1cblxuY29uc3QgUExBVEZPUk1TOiBSZWNvcmQ8UGxhdGZvcm0sIHsgdXJsOiBzdHJpbmcgfT4gPSB7XG4gIGlvczoge1xuICAgIHVybDogJ2h0dHBzOi8vYXBwcy5hcHBsZS5jb20vYXBwL2NsYXVkZS1ieS1hbnRocm9waWMvaWQ2NDczNzUzNjg0JyxcbiAgfSxcbiAgYW5kcm9pZDoge1xuICAgIHVybDogJ2h0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1jb20uYW50aHJvcGljLmNsYXVkZScsXG4gIH0sXG59XG5cbmZ1bmN0aW9uIE1vYmlsZVFSQ29kZSh7IG9uRG9uZSB9OiBQcm9wcyk6IFJlYWN0LlJlYWN0Tm9kZSB7XG4gIGNvbnN0IFtwbGF0Zm9ybSwgc2V0UGxhdGZvcm1dID0gdXNlU3RhdGU8UGxhdGZvcm0+KCdpb3MnKVxuICBjb25zdCBbcXJDb2Rlcywgc2V0UXJDb2Rlc10gPSB1c2VTdGF0ZTxSZWNvcmQ8UGxhdGZvcm0sIHN0cmluZz4+KHtcbiAgICBpb3M6ICcnLFxuICAgIGFuZHJvaWQ6ICcnLFxuICB9KVxuXG4gIGNvbnN0IHsgdXJsIH0gPSBQTEFURk9STVNbcGxhdGZvcm1dXG4gIGNvbnN0IHFyQ29kZSA9IHFyQ29kZXNbcGxhdGZvcm1dXG5cbiAgLy8gR2VuZXJhdGUgYm90aCBRUiBjb2RlcyB1cGZyb250IHRvIGF2b2lkIGZsaWNrZXIgd2hlbiBzd2l0Y2hpbmdcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBhc3luYyBmdW5jdGlvbiBnZW5lcmF0ZVFSQ29kZXMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICBjb25zdCBbaW9zLCBhbmRyb2lkXSA9IGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICAgICAgcXJUb1N0cmluZyhQTEFURk9STVMuaW9zLnVybCwge1xuICAgICAgICAgIHR5cGU6ICd1dGY4JyxcbiAgICAgICAgICBlcnJvckNvcnJlY3Rpb25MZXZlbDogJ0wnLFxuICAgICAgICB9KSxcbiAgICAgICAgcXJUb1N0cmluZyhQTEFURk9STVMuYW5kcm9pZC51cmwsIHtcbiAgICAgICAgICB0eXBlOiAndXRmOCcsXG4gICAgICAgICAgZXJyb3JDb3JyZWN0aW9uTGV2ZWw6ICdMJyxcbiAgICAgICAgfSksXG4gICAgICBdKVxuICAgICAgc2V0UXJDb2Rlcyh7IGlvcywgYW5kcm9pZCB9KVxuICAgIH1cbiAgICBnZW5lcmF0ZVFSQ29kZXMoKS5jYXRjaCgoKSA9PiB7XG4gICAgICAvLyBRUiBnZW5lcmF0aW9uIGZhaWxlZCwgbGVhdmUgZW1wdHlcbiAgICB9KVxuICB9LCBbXSlcblxuICBjb25zdCBoYW5kbGVDbG9zZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBvbkRvbmUoKVxuICB9LCBbb25Eb25lXSlcblxuICB1c2VLZXliaW5kaW5nKCdjb25maXJtOm5vJywgaGFuZGxlQ2xvc2UsIHsgY29udGV4dDogJ0NvbmZpcm1hdGlvbicgfSlcblxuICBmdW5jdGlvbiBoYW5kbGVLZXlEb3duKGU6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZS5rZXkgPT09ICdxJyB8fCAoZS5jdHJsICYmIGUua2V5ID09PSAnYycpKSB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICAgIG9uRG9uZSgpXG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgaWYgKGUua2V5ID09PSAndGFiJyB8fCBlLmtleSA9PT0gJ2xlZnQnIHx8IGUua2V5ID09PSAncmlnaHQnKSB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICAgIHNldFBsYXRmb3JtKHByZXYgPT4gKHByZXYgPT09ICdpb3MnID8gJ2FuZHJvaWQnIDogJ2lvcycpKVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGxpbmVzID0gcXJDb2RlLnNwbGl0KCdcXG4nKS5maWx0ZXIobGluZSA9PiBsaW5lLmxlbmd0aCA+IDApXG5cbiAgcmV0dXJuIChcbiAgICA8UGFuZT5cbiAgICAgIDxCb3hcbiAgICAgICAgZmxleERpcmVjdGlvbj1cImNvbHVtblwiXG4gICAgICAgIHRhYkluZGV4PXswfVxuICAgICAgICBhdXRvRm9jdXNcbiAgICAgICAgb25LZXlEb3duPXtoYW5kbGVLZXlEb3dufVxuICAgICAgPlxuICAgICAgICA8VGV4dD4gPC9UZXh0PlxuICAgICAgICA8VGV4dD4gPC9UZXh0PlxuICAgICAgICB7bGluZXMubWFwKChsaW5lLCBpKSA9PiAoXG4gICAgICAgICAgPFRleHQga2V5PXtpfT57bGluZX08L1RleHQ+XG4gICAgICAgICkpfVxuICAgICAgICA8VGV4dD4gPC9UZXh0PlxuICAgICAgICA8VGV4dD4gPC9UZXh0PlxuXG4gICAgICAgIHsvKiBDb250cm9scyAqL31cbiAgICAgICAgPEJveCBmbGV4RGlyZWN0aW9uPVwicm93XCIgZ2FwPXsyfT5cbiAgICAgICAgICA8VGV4dD5cbiAgICAgICAgICAgIDxUZXh0IGJvbGQ9e3BsYXRmb3JtID09PSAnaW9zJ30gdW5kZXJsaW5lPXtwbGF0Zm9ybSA9PT0gJ2lvcyd9PlxuICAgICAgICAgICAgICBpT1NcbiAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICAgIDxUZXh0IGRpbUNvbG9yPnsnIC8gJ308L1RleHQ+XG4gICAgICAgICAgICA8VGV4dFxuICAgICAgICAgICAgICBib2xkPXtwbGF0Zm9ybSA9PT0gJ2FuZHJvaWQnfVxuICAgICAgICAgICAgICB1bmRlcmxpbmU9e3BsYXRmb3JtID09PSAnYW5kcm9pZCd9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIEFuZHJvaWRcbiAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgPFRleHQgZGltQ29sb3I+KHRhYiB0byBzd2l0Y2gsIGVzYyB0byBjbG9zZSk8L1RleHQ+XG4gICAgICAgIDwvQm94PlxuICAgICAgICA8VGV4dCBkaW1Db2xvcj57dXJsfTwvVGV4dD5cbiAgICAgIDwvQm94PlxuICAgIDwvUGFuZT5cbiAgKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY2FsbChcbiAgb25Eb25lOiBMb2NhbEpTWENvbW1hbmRPbkRvbmUsXG4pOiBQcm9taXNlPFJlYWN0LlJlYWN0Tm9kZT4ge1xuICByZXR1cm4gPE1vYmlsZVFSQ29kZSBvbkRvbmU9e29uRG9uZX0gLz5cbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVNBLFFBQVEsSUFBSUMsVUFBVSxRQUFRLFFBQVE7QUFDL0MsT0FBTyxLQUFLQyxLQUFLLE1BQU0sT0FBTztBQUM5QixTQUFTQyxXQUFXLEVBQUVDLFNBQVMsRUFBRUMsUUFBUSxRQUFRLE9BQU87QUFDeEQsU0FBU0MsSUFBSSxRQUFRLHdDQUF3QztBQUM3RCxjQUFjQyxhQUFhLFFBQVEsb0NBQW9DO0FBQ3ZFLFNBQVNDLEdBQUcsRUFBRUMsSUFBSSxRQUFRLGNBQWM7QUFDeEMsU0FBU0MsYUFBYSxRQUFRLG9DQUFvQztBQUNsRSxjQUFjQyxxQkFBcUIsUUFBUSx3QkFBd0I7QUFFbkUsS0FBS0MsUUFBUSxHQUFHLEtBQUssR0FBRyxTQUFTO0FBRWpDLEtBQUtDLEtBQUssR0FBRztFQUNYQyxNQUFN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