Photo-Filter-2.0 / components.py
eienmojiki's picture
Update components.py
0e191f7 verified
import gradio as gr
from registry import registry
def create_filter_controls():
controls = {}
for filter_name in registry.filters:
params = registry.params_map.get(filter_name, {})
filter_group = gr.Group(visible=filter_name == "Original") # Create group here
filter_controls_list = []
with filter_group: # Put controls inside the group
for param_name, config in params.items():
if config['type'] == int:
slider = gr.Slider(
minimum=config.get('min', 1),
maximum=config.get('max', 100),
value=config['default'],
label=param_name.replace('_', ' ').title(),
step=config.get('step', 1)
)
elif config['type'] == float:
slider = gr.Slider(
minimum=config.get('min', 0.1),
maximum=config.get('max', 10.0),
step=config.get('step', 0.1),
value=config['default'],
label=param_name.replace('_', ' ').title()
)
elif config['type'] == bool:
slider = gr.Checkbox(
value=config['default'],
label=param_name.replace('_', ' ').title()
)
filter_controls_list.append(slider)
controls[filter_name] = filter_group # Store the group
filter_group.children = filter_controls_list # Add controls to the group
return controls