@@ -410,41 +410,41 @@ def _component_template(**kwargs):
410410 return result
411411
412412
413- def _page_template (** kwargs ):
413+ def page_template (
414+ imports : Iterable [_ImportDict ],
415+ dynamic_imports : Iterable [str ],
416+ custom_codes : Iterable [str ],
417+ hooks : dict [str , VarData | None ],
418+ render : dict [str , Any ],
419+ ):
414420 """Template for a single react page.
415421
416422 Args:
417- **kwargs: Template context variables including imports, hooks, render content, etc.
423+ imports: List of import statements.
424+ dynamic_imports: List of dynamic import statements.
425+ custom_codes: List of custom code snippets.
426+ hooks: Dictionary of hooks.
427+ render: Render function for the component.
418428
419429 Returns:
420430 Rendered React page component as string.
421431 """
422- imports = kwargs .get ("imports" , "" )
423- dynamic_imports = kwargs .get ("dynamic_imports" , [])
424- custom_codes = kwargs .get ("custom_codes" , [])
425- hooks = kwargs .get ("hooks" , {})
426- render_content = kwargs .get ("render" , "" )
427-
432+ imports_str = "\n " .join ([_RenderUtils .get_import (imp ) for imp in imports ])
428433 custom_code_str = "\n " .join (custom_codes )
429434 dynamic_imports_str = "\n " .join (dynamic_imports )
430435
431- # Render hooks
432- sorted_hooks = _sort_hooks (hooks )
433- hooks_code = ""
434- for hook_list in sorted_hooks .values ():
435- for hook , _ in hook_list :
436- hooks_code += f" { hook } \n "
436+ hooks_str = _render_hooks (hooks )
437+ return f"""{ imports_str }
437438
438- return f"""{ imports }
439439{ dynamic_imports_str }
440440
441441{ custom_code_str }
442442
443443export default function Component() {{
444- { hooks_code }
444+ { hooks_str }
445445
446446 return (
447- { _RenderUtils .render (render_content )}
447+ { _RenderUtils .render (render )}
448448 )
449449}}"""
450450
@@ -704,9 +704,6 @@ def render(self, **kwargs) -> str:
704704# Template to render a component tag.
705705COMPONENT = TemplateFunction (_component_template )
706706
707- # Code to render a single react page.
708- PAGE = TemplateFunction (_page_template )
709-
710707# Code to render Component instances as part of StatefulComponent
711708STATEFUL_COMPONENT = TemplateFunction (_stateful_component_template )
712709
0 commit comments