File size: 3,060 Bytes
8a37e0a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import { Flex } from '@invoke-ai/ui-library';
import { useAppSelector } from 'app/store/storeHooks';
import { MetadataItem } from 'features/metadata/components/MetadataItem';
import { MetadataLoRAs } from 'features/metadata/components/MetadataLoRAs';
import { handlers } from 'features/metadata/util/handlers';
import { selectActiveTab } from 'features/ui/store/uiSelectors';
import { memo } from 'react';

type Props = {
  metadata?: unknown;
};

const ImageMetadataActions = (props: Props) => {
  const activeTabName = useAppSelector(selectActiveTab);
  const { metadata } = props;

  if (!metadata || Object.keys(metadata).length === 0) {
    return null;
  }

  return (
    <Flex flexDir="column" pl={8}>
      <MetadataItem metadata={metadata} handlers={handlers.generationMode} />
      <MetadataItem metadata={metadata} handlers={handlers.positivePrompt} direction="column" />
      <MetadataItem metadata={metadata} handlers={handlers.negativePrompt} direction="column" />
      <MetadataItem metadata={metadata} handlers={handlers.sdxlPositiveStylePrompt} direction="column" />
      <MetadataItem metadata={metadata} handlers={handlers.sdxlNegativeStylePrompt} direction="column" />
      <MetadataItem metadata={metadata} handlers={handlers.model} />
      <MetadataItem metadata={metadata} handlers={handlers.vae} />
      <MetadataItem metadata={metadata} handlers={handlers.width} />
      <MetadataItem metadata={metadata} handlers={handlers.height} />
      <MetadataItem metadata={metadata} handlers={handlers.seed} />
      <MetadataItem metadata={metadata} handlers={handlers.steps} />
      <MetadataItem metadata={metadata} handlers={handlers.scheduler} />
      <MetadataItem metadata={metadata} handlers={handlers.cfgScale} />
      <MetadataItem metadata={metadata} handlers={handlers.cfgRescaleMultiplier} />
      <MetadataItem metadata={metadata} handlers={handlers.guidance} />
      {activeTabName !== 'canvas' && <MetadataItem metadata={metadata} handlers={handlers.strength} />}
      <MetadataItem metadata={metadata} handlers={handlers.seamlessX} />
      <MetadataItem metadata={metadata} handlers={handlers.seamlessY} />
      <MetadataItem metadata={metadata} handlers={handlers.hrfEnabled} />
      <MetadataItem metadata={metadata} handlers={handlers.hrfMethod} />
      <MetadataItem metadata={metadata} handlers={handlers.hrfStrength} />
      <MetadataItem metadata={metadata} handlers={handlers.refinerCFGScale} />
      <MetadataItem metadata={metadata} handlers={handlers.refinerModel} />
      <MetadataItem metadata={metadata} handlers={handlers.refinerNegativeAestheticScore} />
      <MetadataItem metadata={metadata} handlers={handlers.refinerPositiveAestheticScore} />
      <MetadataItem metadata={metadata} handlers={handlers.refinerScheduler} />
      <MetadataItem metadata={metadata} handlers={handlers.refinerStart} />
      <MetadataItem metadata={metadata} handlers={handlers.refinerSteps} />
      <MetadataLoRAs metadata={metadata} />
    </Flex>
  );
};

export default memo(ImageMetadataActions);