πŸ“„ File detail

components/teams/TeamStatus.tsx

🧩 .tsxπŸ“ 80 linesπŸ’Ύ 6,897 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 TeamStatus β€” mainly types, interfaces, or factory objects. Dependencies touch React UI. It composes internal code from ink and state (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 * as React from 'react'; import { Text } from '../../ink.js'; import { useAppState } from '../../state/AppState.js'; type Props = {

πŸ“€ Exports (heuristic)

  • TeamStatus

πŸ“š External import roots

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

  • react

πŸ–₯️ Source preview

import { c as _c } from "react/compiler-runtime";
import * as React from 'react';
import { Text } from '../../ink.js';
import { useAppState } from '../../state/AppState.js';
type Props = {
  teamsSelected: boolean;
  showHint: boolean;
};

/**
 * Footer status indicator showing teammate count
 * Similar to BackgroundTaskStatus but for teammates
 */
export function TeamStatus(t0) {
  const $ = _c(14);
  const {
    teamsSelected,
    showHint
  } = t0;
  const teamContext = useAppState(_temp);
  let t1;
  if ($[0] !== teamContext) {
    t1 = teamContext ? Object.values(teamContext.teammates).filter(_temp2).length : 0;
    $[0] = teamContext;
    $[1] = t1;
  } else {
    t1 = $[1];
  }
  const totalTeammates = t1;
  if (totalTeammates === 0) {
    return null;
  }
  let t2;
  if ($[2] !== showHint || $[3] !== teamsSelected) {
    t2 = showHint && teamsSelected ? <><Text dimColor={true}>Β· </Text><Text dimColor={true}>Enter to view</Text></> : null;
    $[2] = showHint;
    $[3] = teamsSelected;
    $[4] = t2;
  } else {
    t2 = $[4];
  }
  const hint = t2;
  const statusText = `${totalTeammates} ${totalTeammates === 1 ? "teammate" : "teammates"}`;
  const t3 = teamsSelected ? "selected" : "normal";
  let t4;
  if ($[5] !== statusText || $[6] !== t3 || $[7] !== teamsSelected) {
    t4 = <Text key={t3} color="background" inverse={teamsSelected}>{statusText}</Text>;
    $[5] = statusText;
    $[6] = t3;
    $[7] = teamsSelected;
    $[8] = t4;
  } else {
    t4 = $[8];
  }
  let t5;
  if ($[9] !== hint) {
    t5 = hint ? <Text> {hint}</Text> : null;
    $[9] = hint;
    $[10] = t5;
  } else {
    t5 = $[10];
  }
  let t6;
  if ($[11] !== t4 || $[12] !== t5) {
    t6 = <>{t4}{t5}</>;
    $[11] = t4;
    $[12] = t5;
    $[13] = t6;
  } else {
    t6 = $[13];
  }
  return t6;
}
function _temp2(t) {
  return t.name !== "team-lead";
}
function _temp(s) {
  return s.teamContext;
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlRleHQiLCJ1c2VBcHBTdGF0ZSIsIlByb3BzIiwidGVhbXNTZWxlY3RlZCIsInNob3dIaW50IiwiVGVhbVN0YXR1cyIsInQwIiwiJCIsIl9jIiwidGVhbUNvbnRleHQiLCJfdGVtcCIsInQxIiwiT2JqZWN0IiwidmFsdWVzIiwidGVhbW1hdGVzIiwiZmlsdGVyIiwiX3RlbXAyIiwibGVuZ3RoIiwidG90YWxUZWFtbWF0ZXMiLCJ0MiIsImhpbnQiLCJzdGF0dXNUZXh0IiwidDMiLCJ0NCIsInQ1IiwidDYiLCJ0IiwibmFtZSIsInMiXSwic291cmNlcyI6WyJUZWFtU3RhdHVzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCB7IFRleHQgfSBmcm9tICcuLi8uLi9pbmsuanMnXG5pbXBvcnQgeyB1c2VBcHBTdGF0ZSB9IGZyb20gJy4uLy4uL3N0YXRlL0FwcFN0YXRlLmpzJ1xuXG50eXBlIFByb3BzID0ge1xuICB0ZWFtc1NlbGVjdGVkOiBib29sZWFuXG4gIHNob3dIaW50OiBib29sZWFuXG59XG5cbi8qKlxuICogRm9vdGVyIHN0YXR1cyBpbmRpY2F0b3Igc2hvd2luZyB0ZWFtbWF0ZSBjb3VudFxuICogU2ltaWxhciB0byBCYWNrZ3JvdW5kVGFza1N0YXR1cyBidXQgZm9yIHRlYW1tYXRlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gVGVhbVN0YXR1cyh7XG4gIHRlYW1zU2VsZWN0ZWQsXG4gIHNob3dIaW50LFxufTogUHJvcHMpOiBSZWFjdC5SZWFjdE5vZGUge1xuICBjb25zdCB0ZWFtQ29udGV4dCA9IHVzZUFwcFN0YXRlKHMgPT4gcy50ZWFtQ29udGV4dClcblxuICAvLyBEZXJpdmUgdGVhbW1hdGUgY291bnQgZnJvbSB0ZWFtQ29udGV4dCAobm8gZmlsZXN5c3RlbSBJL08gbmVlZGVkKVxuICBjb25zdCB0b3RhbFRlYW1tYXRlcyA9IHRlYW1Db250ZXh0XG4gICAgPyBPYmplY3QudmFsdWVzKHRlYW1Db250ZXh0LnRlYW1tYXRlcykuZmlsdGVyKHQgPT4gdC5uYW1lICE9PSAndGVhbS1sZWFkJylcbiAgICAgICAgLmxlbmd0aFxuICAgIDogMFxuXG4gIGlmICh0b3RhbFRlYW1tYXRlcyA9PT0gMCkge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICBjb25zdCBoaW50ID1cbiAgICBzaG93SGludCAmJiB0ZWFtc1NlbGVjdGVkID8gKFxuICAgICAgPD5cbiAgICAgICAgPFRleHQgZGltQ29sb3I+wrcgPC9UZXh0PlxuICAgICAgICA8VGV4dCBkaW1Db2xvcj5FbnRlciB0byB2aWV3PC9UZXh0PlxuICAgICAgPC8+XG4gICAgKSA6IG51bGxcblxuICBjb25zdCBzdGF0dXNUZXh0ID0gYCR7dG90YWxUZWFtbWF0ZXN9ICR7dG90YWxUZWFtbWF0ZXMgPT09IDEgPyAndGVhbW1hdGUnIDogJ3RlYW1tYXRlcyd9YFxuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxUZXh0XG4gICAgICAgIGtleT17dGVhbXNTZWxlY3RlZCA/ICdzZWxlY3RlZCcgOiAnbm9ybWFsJ31cbiAgICAgICAgY29sb3I9XCJiYWNrZ3JvdW5kXCJcbiAgICAgICAgaW52ZXJzZT17dGVhbXNTZWxlY3RlZH1cbiAgICAgID5cbiAgICAgICAge3N0YXR1c1RleHR9XG4gICAgICA8L1RleHQ+XG4gICAgICB7aGludCA/IDxUZXh0PiB7aGludH08L1RleHQ+IDogbnVsbH1cbiAgICA8Lz5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxLQUFLQSxLQUFLLE1BQU0sT0FBTztBQUM5QixTQUFTQyxJQUFJLFFBQVEsY0FBYztBQUNuQyxTQUFTQyxXQUFXLFFBQVEseUJBQXlCO0FBRXJELEtBQUtDLEtBQUssR0FBRztFQUNYQyxhQUFhLEVBQUUsT0FBTztFQUN0QkMsUUFBUSxFQUFFLE9BQU87QUFDbkIsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sU0FBQUMsV0FBQUMsRUFBQTtF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