Bin
2025-12-16 9e0b2ba2c317b1a86212f24cbae3195ad1f3dbfa
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import { IconInfoOutline, IconSettings } from "@humansignal/icons";
import { Button, Space } from "@humansignal/ui";
import { cn } from "../../utils/bem";
import { isSelfServe } from "../../utils/billing";
import { FF_BULK_ANNOTATION, isFF } from "../../utils/feature-flags";
import { AutoAcceptToggle } from "../AnnotationTab/AutoAcceptToggle";
import { DynamicPreannotationsToggle } from "../AnnotationTab/DynamicPreannotationsToggle";
import { GroundTruth } from "../CurrentEntity/GroundTruth";
import { EditingHistory } from "./HistoryActions";
 
export const Actions = ({ store }) => {
  const annotationStore = store.annotationStore;
  const entity = annotationStore.selected;
  const isPrediction = entity?.type === "prediction";
  const isViewAll = annotationStore.viewingAll === true;
  const isBulkMode = isFF(FF_BULK_ANNOTATION) && !isSelfServe() && store.hasInterface("annotation:bulk");
 
  return (
    <Space size="small">
      {!isPrediction && !isViewAll && store.hasInterface("edit-history") && <EditingHistory entity={entity} />}
 
      {store.description && store.hasInterface("instruction") && (
        <Button
          type="text"
          aria-label="Instructions"
          size="small"
          variant="neutral"
          look="string"
          tooltip="显示说明"
          onClick={() => store.toggleDescription()}
        >
          <IconInfoOutline />
        </Button>
      )}
      <Button
        type="text"
        aria-label="Settings"
        size="small"
        look="string"
        variant="neutral"
        onClick={() => store.toggleSettings()}
        tooltip="设置"
        className="!p-0"
      >
        <IconSettings />
      </Button>
 
      {store.hasInterface("ground-truth") && !isBulkMode && <GroundTruth entity={entity} />}
 
      {!isViewAll && (
        <div className={cn("bottombar").elem("section").toClassName()}>
          <DynamicPreannotationsToggle />
          <AutoAcceptToggle />
        </div>
      )}
    </Space>
  );
};