<commit_before>import React, { useEffect, useState } from "react";
import {
  Col,
  Row,
  Text,
  Box,
  Button,
  ManagedTextInputField,
  ManagedCheckboxField,
  ContinuousProgressBar,
} from "@tlon/indigo-react";
import { ModalOverlay } from "~/views/components/ModalOverlay";
import Author from "~/views/components/Author";
import { GroupSummary } from "../GroupSummary";

import { resourceFromPath } from "~/logic/lib/group";

import useMetadataState, { usePreview } from "~/logic/state/metadata";
import useInviteState, { useInviteForResource } from "~/logic/state/invite";

const SUMMARY_HEIGHT = "96px";
const SUMMARY_WIDTH = ["90vw", "512px"];

export type JoinKind = "graph" | "groups";

export interface JoinDesc {
  group: string;
  kind: JoinKind;
}

interface JoinSkeletonProps {
  title: string;
  desc?: JoinDesc;
  modal: boolean;
  children: JSX.Element;
  onJoin?: () => void;
  body?: JSX.Element;
}

export function JoinSkeleton(props: JoinSkeletonProps) {
  const { title, body, children, onJoin, desc, modal } = props;
<commit_msg>interface: address hunter review<commit_after>import React, { useEffect, useState } from "react";
import {
  Col,
  Row,
  Text,
  Box,
  Button,
  ManagedTextInputField,
  ManagedCheckboxField,
  ContinuousProgressBar,
} from "@tlon/indigo-react";
import { ModalOverlay } from "~/views/components/ModalOverlay";
import Author from "~/views/components/Author";
import { GroupSummary } from "../GroupSummary";

import { resourceFromPath } from "~/logic/lib/group";

import useMetadataState, { usePreview } from "~/logic/state/metadata";
import useInviteState, { useInviteForResource } from "~/logic/state/invite";

const SUMMARY_HEIGHT = "96px";

export type JoinKind = "graph" | "groups";

export interface JoinDesc {
  group: string;
  kind: JoinKind;
}

interface JoinSkeletonProps {
  title: string;
  desc?: JoinDesc;
  modal: boolean;
  children: JSX.Element;
  onJoin?: () => void;
  body?: JSX.Element;
}

export function JoinSkeleton(props: JoinSkeletonProps) {
  const { title, body, children, onJoin, desc, modal } = props;

{'fraction_non_alphanumeric': 0.13110047846889952, 'fraction_numerical': 0.00430622009569378, 'mean_word_length': 4.857142857142857, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6438854', 'n_tokens_mistral': 699, 'n_tokens_neox': 663, 'n_words': 175}