πŸ“„ File detail

components/DevChannelsDialog.tsx

🧩 .tsxπŸ“ 105 linesπŸ’Ύ 9,113 bytesπŸ“ text
← Back to All Files

🎯 Use case

This file lives under β€œcomponents/”, which covers shared React UI pieces. On the API surface it exposes DevChannelsDialog β€” mainly types, interfaces, or factory objects. Dependencies touch React UI. It composes internal code from bootstrap, ink, utils, CustomSelect, and design-system (relative imports).

Generated from folder role, exports, dependency roots, and inline comments β€” not hand-reviewed for every path.

🧠 Inline summary

import { c as _c } from "react/compiler-runtime"; import React, { useCallback } from 'react'; import type { ChannelEntry } from '../bootstrap/state.js'; import { Box, Text } from '../ink.js'; import { gracefulShutdownSync } from '../utils/gracefulShutdown.js';

πŸ“€ Exports (heuristic)

  • DevChannelsDialog

πŸ“š External import roots

Package roots from from "…" (relative paths omitted).

  • react

πŸ–₯️ Source preview

import { c as _c } from "react/compiler-runtime";
import React, { useCallback } from 'react';
import type { ChannelEntry } from '../bootstrap/state.js';
import { Box, Text } from '../ink.js';
import { gracefulShutdownSync } from '../utils/gracefulShutdown.js';
import { Select } from './CustomSelect/index.js';
import { Dialog } from './design-system/Dialog.js';
type Props = {
  channels: ChannelEntry[];
  onAccept(): void;
};
export function DevChannelsDialog(t0) {
  const $ = _c(14);
  const {
    channels,
    onAccept
  } = t0;
  let t1;
  if ($[0] !== onAccept) {
    t1 = function onChange(value) {
      bb2: switch (value) {
        case "accept":
          {
            onAccept();
            break bb2;
          }
        case "exit":
          {
            gracefulShutdownSync(1);
          }
      }
    };
    $[0] = onAccept;
    $[1] = t1;
  } else {
    t1 = $[1];
  }
  const onChange = t1;
  const handleEscape = _temp;
  let t2;
  let t3;
  if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
    t2 = <Text>--dangerously-load-development-channels is for local channel development only. Do not use this option to run channels you have downloaded off the internet.</Text>;
    t3 = <Text>Please use --channels to run a list of approved channels.</Text>;
    $[2] = t2;
    $[3] = t3;
  } else {
    t2 = $[2];
    t3 = $[3];
  }
  let t4;
  if ($[4] !== channels) {
    t4 = channels.map(_temp2).join(", ");
    $[4] = channels;
    $[5] = t4;
  } else {
    t4 = $[5];
  }
  let t5;
  if ($[6] !== t4) {
    t5 = <Box flexDirection="column" gap={1}>{t2}{t3}<Text dimColor={true}>Channels:{" "}{t4}</Text></Box>;
    $[6] = t4;
    $[7] = t5;
  } else {
    t5 = $[7];
  }
  let t6;
  if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
    t6 = [{
      label: "I am using this for local development",
      value: "accept"
    }, {
      label: "Exit",
      value: "exit"
    }];
    $[8] = t6;
  } else {
    t6 = $[8];
  }
  let t7;
  if ($[9] !== onChange) {
    t7 = <Select options={t6} onChange={value_0 => onChange(value_0 as 'accept' | 'exit')} />;
    $[9] = onChange;
    $[10] = t7;
  } else {
    t7 = $[10];
  }
  let t8;
  if ($[11] !== t5 || $[12] !== t7) {
    t8 = <Dialog title="WARNING: Loading development channels" color="error" onCancel={handleEscape}>{t5}{t7}</Dialog>;
    $[11] = t5;
    $[12] = t7;
    $[13] = t8;
  } else {
    t8 = $[13];
  }
  return t8;
}
function _temp2(c) {
  return c.kind === "plugin" ? `plugin:${c.name}@${c.marketplace}` : `server:${c.name}`;
}
function _temp() {
  gracefulShutdownSync(0);
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUNhbGxiYWNrIiwiQ2hhbm5lbEVudHJ5IiwiQm94IiwiVGV4dCIsImdyYWNlZnVsU2h1dGRvd25TeW5jIiwiU2VsZWN0IiwiRGlhbG9nIiwiUHJvcHMiLCJjaGFubmVscyIsIm9uQWNjZXB0IiwiRGV2Q2hhbm5lbHNEaWFsb2ciLCJ0MCIsIiQiLCJfYyIsInQxIiwib25DaGFuZ2UiLCJ2YWx1ZSIsImJiMiIsImhhbmRsZUVzY2FwZSIsIl90ZW1wIiwidDIiLCJ0MyIsIlN5bWJvbCIsImZvciIsInQ0IiwibWFwIiwiX3RlbXAyIiwiam9pbiIsInQ1IiwidDYiLCJsYWJlbCIsInQ3IiwidmFsdWVfMCIsInQ4IiwiYyIsImtpbmQiLCJuYW1lIiwibWFya2V0cGxhY2UiXSwic291cmNlcyI6WyJEZXZDaGFubmVsc0RpYWxvZy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgdHlwZSB7IENoYW5uZWxFbnRyeSB9IGZyb20gJy4uL2Jvb3RzdHJhcC9zdGF0ZS5qcydcbmltcG9ydCB7IEJveCwgVGV4dCB9IGZyb20gJy4uL2luay5qcydcbmltcG9ydCB7IGdyYWNlZnVsU2h1dGRvd25TeW5jIH0gZnJvbSAnLi4vdXRpbHMvZ3JhY2VmdWxTaHV0ZG93bi5qcydcbmltcG9ydCB7IFNlbGVjdCB9IGZyb20gJy4vQ3VzdG9tU2VsZWN0L2luZGV4LmpzJ1xuaW1wb3J0IHsgRGlhbG9nIH0gZnJvbSAnLi9kZXNpZ24tc3lzdGVtL0RpYWxvZy5qcydcblxudHlwZSBQcm9wcyA9IHtcbiAgY2hhbm5lbHM6IENoYW5uZWxFbnRyeVtdXG4gIG9uQWNjZXB0KCk6IHZvaWRcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIERldkNoYW5uZWxzRGlhbG9nKHtcbiAgY2hhbm5lbHMsXG4gIG9uQWNjZXB0LFxufTogUHJvcHMpOiBSZWFjdC5SZWFjdE5vZGUge1xuICBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZTogJ2FjY2VwdCcgfCAnZXhpdCcpIHtcbiAgICBzd2l0Y2ggKHZhbHVlKSB7XG4gICAgICBjYXNlICdhY2NlcHQnOlxuICAgICAgICBvbkFjY2VwdCgpXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICdleGl0JzpcbiAgICAgICAgZ3JhY2VmdWxTaHV0ZG93blN5bmMoMSlcbiAgICAgICAgYnJlYWtcbiAgICB9XG4gIH1cblxuICBjb25zdCBoYW5kbGVFc2NhcGUgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgZ3JhY2VmdWxTaHV0ZG93blN5bmMoMClcbiAgfSwgW10pXG5cbiAgcmV0dXJuIChcbiAgICA8RGlhbG9nXG4gICAgICB0aXRsZT1cIldBUk5JTkc6IExvYWRpbmcgZGV2ZWxvcG1lbnQgY2hhbm5lbHNcIlxuICAgICAgY29sb3I9XCJlcnJvclwiXG4gICAgICBvbkNhbmNlbD17aGFuZGxlRXNjYXBlfVxuICAgID5cbiAgICAgIDxCb3ggZmxleERpcmVjdGlvbj1cImNvbHVtblwiIGdhcD17MX0+XG4gICAgICAgIDxUZXh0PlxuICAgICAgICAgIC0tZGFuZ2Vyb3VzbHktbG9hZC1kZXZlbG9wbWVudC1jaGFubmVscyBpcyBmb3IgbG9jYWwgY2hhbm5lbFxuICAgICAgICAgIGRldmVsb3BtZW50IG9ubHkuIERvIG5vdCB1c2UgdGhpcyBvcHRpb24gdG8gcnVuIGNoYW5uZWxzIHlvdSBoYXZlXG4gICAgICAgICAgZG93bmxvYWRlZCBvZmYgdGhlIGludGVybmV0LlxuICAgICAgICA8L1RleHQ+XG4gICAgICAgIDxUZXh0PlBsZWFzZSB1c2UgLS1jaGFubmVscyB0byBydW4gYSBsaXN0IG9mIGFwcHJvdmVkIGNoYW5uZWxzLjwvVGV4dD5cbiAgICAgICAgPFRleHQgZGltQ29sb3I+XG4gICAgICAgICAgQ2hhbm5lbHM6eycgJ31cbiAgICAgICAgICB7Y2hhbm5lbHNcbiAgICAgICAgICAgIC5tYXAoYyA9PlxuICAgICAgICAgICAgICBjLmtpbmQgPT09ICdwbHVnaW4nXG4gICAgICAgICAgICAgICAgPyBgcGx1Z2luOiR7Yy5uYW1lfUAke2MubWFya2V0cGxhY2V9YFxuICAgICAgICAgICAgICAgIDogYHNlcnZlcjoke2MubmFtZX1gLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLmpvaW4oJywgJyl9XG4gICAgICAgIDwvVGV4dD5cbiAgICAgIDwvQm94PlxuXG4gICAgICA8U2VsZWN0XG4gICAgICAgIG9wdGlvbnM9e1tcbiAgICAgICAgICB7IGxhYmVsOiAnSSBhbSB1c2luZyB0aGlzIGZvciBsb2NhbCBkZXZlbG9wbWVudCcsIHZhbHVlOiAnYWNjZXB0JyB9LFxuICAgICAgICAgIHsgbGFiZWw6ICdFeGl0JywgdmFsdWU6ICdleGl0JyB9LFxuICAgICAgICBdfVxuICAgICAgICBvbkNoYW5nZT17dmFsdWUgPT4gb25DaGFuZ2UodmFsdWUgYXMgJ2FjY2VwdCcgfCAnZXhpdCcpfVxuICAgICAgLz5cbiAgICA8L0RpYWxvZz5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsT0FBT0EsS0FBSyxJQUFJQyxXQUFXLFFBQVEsT0FBTztBQUMxQyxjQUFjQyxZQUFZLFFBQVEsdUJBQXVCO0FBQ3pELFNBQVNDLEdBQUcsRUFBRUMsSUFBSSxRQUFRLFdBQVc7QUFDckMsU0FBU0Msb0JBQW9CLFFBQVEsOEJBQThCO0FBQ25FLFNBQVNDLE1BQU0sUUFBUSx5QkFBeUI7QUFDaEQsU0FBU0MsTUFBTSxRQUFRLDJCQUEyQjtBQUVsRCxLQUFLQyxLQUFLLEdBQUc7RUFDWEMsUUFBUSxFQUFFUCxZQUFZLEVBQUU7RUFDeEJRLFFBQVEsRUFBRSxFQUFFLElBQUk7QUFDbEIsQ0FBQztBQUVELE9BQU8sU0FBQUMsa0JBQUFDLEVBQUE7RUFBQSxNQUFBQyxDQUFBLEdBQUFDLEVBQUE7RUFBMkI7SUFBQUwsUUFBQTtJQUFBQztFQUFBLElBQUFFLEVBRzFCO0VBQUEsSUFBQUcsRUFBQTtFQUFBLElBQUFGLENBQUEsUUFBQUgsUUFBQTtJQUNOSyxFQUFBLFlBQUFDLFNBQUFDLEtBQUE7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