diff --git a/allianceauth/theme/hooks.py b/allianceauth/theme/hooks.py
index dde11493..6156e96f 100644
--- a/allianceauth/theme/hooks.py
+++ b/allianceauth/theme/hooks.py
@@ -8,14 +8,16 @@ class ThemeHook:
"""
def __init__(self,
- name: str,
- description: str,
- css: List[dict],
- js: List[dict],
- css_template: Optional[str] = None,
- js_template: Optional[str] = None,
- html_tags: Optional[Union[dict, str]] = None,
- header_padding: Optional[str] = "4em"):
+ name: str,
+ description: str,
+ css: List[dict],
+ js: List[dict],
+ css_template: Optional[str] = None,
+ js_template: Optional[str] = None,
+ js_type: Optional[str] = None,
+ html_tags: Optional[Union[dict, str]] = None,
+ header_padding: Optional[str] = "4em"
+ ):
"""
:param name: Theme python name
:type name: str
@@ -29,11 +31,14 @@ class ThemeHook:
:type css_template: Optional[str], optional
:param js_template: _description_, defaults to None
:type js_template: Optional[str], optional
+ :param js_type: The type of the JS (e.g.: 'module'), defaults to None
+ :type js_type: Optional[str], optional
:param html_tags: Attributes added to the `` tag, defaults to None
:type html_tags: Optional[dict|str], optional
:param header_padding: Top padding, defaults to "4em"
:type header_padding: Optional[str], optional
"""
+
self.name = name
self.description = description
@@ -45,11 +50,15 @@ class ThemeHook:
self.css_template = css_template
self.js_template = js_template
+ # Define the JS type (e.g.: 'module')
+ self.js_type = js_type
+
self.html_tags = (
" ".join([f"{key}={value}" for key, value in html_tags.items()])
if isinstance(html_tags, dict)
else html_tags
)
self.header_padding = header_padding
+
def get_name(self):
return f"{self.__class__.__module__}.{self.__class__.__name__}"
diff --git a/allianceauth/theme/templates/theme/theme_imports_js.html b/allianceauth/theme/templates/theme/theme_imports_js.html
index ad19fdf1..b3c5fdba 100644
--- a/allianceauth/theme/templates/theme/theme_imports_js.html
+++ b/allianceauth/theme/templates/theme/theme_imports_js.html
@@ -4,7 +4,13 @@
{% include theme.js_template %}
{% else %}
{% for x in theme.js %}
-
+
{% endfor %}
{% endif %}