Compare commits

...

1 Commits

Author SHA1 Message Date
Masen Furer
45fc6b057a
Dedupe custom codes emitted by rx.memo components 2025-02-10 13:17:34 -08:00
2 changed files with 14 additions and 3 deletions

View File

@ -1,11 +1,14 @@
{% extends "web/pages/base_page.js.jinja2" %}
{% from "web/pages/macros.js.jinja2" import renderHooks %}
{% block export %}
{% for component in components %}
{% for custom_code in component.custom_code %}
{% block declaration %}
{% for custom_code in custom_codes %}
{{custom_code}}
{% endfor %}
{% endblock %}
{% block export %}
{% for component in components %}
export const {{component.name}} = memo(({ {{-component.props|join(", ")-}} }) => {
{{ renderHooks(component.hooks) }}

View File

@ -246,12 +246,20 @@ def _compile_components(
for comp_import in comp_render["dynamic_imports"]
}
custom_codes = {
comp_import: None
for comp_render in component_renders
if "custom_code" in comp_render
for comp_import in comp_render["custom_code"]
}
# Compile the components page.
return (
templates.COMPONENTS.render(
imports=utils.compile_imports(imports),
components=component_renders,
dynamic_imports=dynamic_imports,
custom_codes=custom_codes,
),
imports,
)