mirror of
https://github.com/invoke-ai/InvokeAI.git
synced 2026-02-17 07:44:10 -05:00
30 lines
906 B
TypeScript
30 lines
906 B
TypeScript
import { createSelector } from '@reduxjs/toolkit';
|
|
import { stateSelector } from 'app/store/store';
|
|
import { useMemo } from 'react';
|
|
import { selectControlAdapterById } from '../store/controlAdaptersSlice';
|
|
import { useAppSelector } from 'app/store/storeHooks';
|
|
import { defaultSelectorOptions } from 'app/store/util/defaultMemoizeOptions';
|
|
import { isControlNetOrT2IAdapter } from '../store/types';
|
|
|
|
export const useControlAdapterProcessedControlImage = (id: string) => {
|
|
const selector = useMemo(
|
|
() =>
|
|
createSelector(
|
|
stateSelector,
|
|
({ controlAdapters }) => {
|
|
const ca = selectControlAdapterById(controlAdapters, id);
|
|
|
|
return ca && isControlNetOrT2IAdapter(ca)
|
|
? ca.processedControlImage
|
|
: undefined;
|
|
},
|
|
defaultSelectorOptions
|
|
),
|
|
[id]
|
|
);
|
|
|
|
const weight = useAppSelector(selector);
|
|
|
|
return weight;
|
|
};
|