chore(View): Remove unnecessary theme view and defer basic styles (#30128)

This commit is contained in:
Geido 2024-09-27 18:12:58 +02:00 committed by GitHub
parent 92680b3fe4
commit 4ac0bb1bed
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 130 additions and 1475 deletions

View File

@ -36,6 +36,7 @@
width="{{ app_icon_width }}"
src="{{ appbuilder.app_icon }}"
alt="{{ appbuilder.app_name }}"
loading="lazy"
/>
</a>
</div>

View File

@ -1,19 +1,21 @@
{# Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with this work
for additional information regarding copyright ownership. The ASF licenses this
file to you under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by
applicable law or agreed to in writing, software distributed under the License
is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the specific language
governing permissions and limitations under the License. #}
<!DOCTYPE html>
{% import 'appbuilder/general/lib.html' as lib %} {% from
'superset/partials/asset_bundle.html' import css_bundle, js_bundle with context
%} {% set favicons = appbuilder.app.config['FAVICONS'] %}
<html>
{# Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with this work
for additional information regarding copyright ownership. The ASF licenses this
file to you under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by
applicable law or agreed to in writing, software distributed under the License
is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the specific language
governing permissions and limitations under the License. #}
<!DOCTYPE html>
{% import 'appbuilder/general/lib.html' as lib %} {% from
'superset/partials/asset_bundle.html' import css_bundle, js_bundle with context
%} {% set favicons = appbuilder.app.config['FAVICONS'] %}
{% import "superset/macros.html" as macros %}
<html>
<head>
{% include "head_custom_extra.html" %}
<title>
@ -28,34 +30,34 @@ governing permissions and limitations under the License. #}
favicon.href.startswith("http") else assets_prefix }}{{favicon.href}}" > {%
endfor %}
<link
rel="stylesheet"
rel="preload"
type="text/css"
href="{{ assets_prefix }}/static/appbuilder/css/flags/flags16.css"
as="style"
/>
<link
rel="stylesheet"
rel="preload"
type="text/css"
href="{{ assets_prefix }}/static/appbuilder/css/fontawesome/fontawesome.min.css"
as="style"
/>
<link
rel="stylesheet"
type="text/css"
href="{{ assets_prefix }}/static/appbuilder/css/fontawesome/regular.min.css"
/>
<link
rel="stylesheet"
rel="preload"
type="text/css"
href="{{ assets_prefix }}/static/appbuilder/css/fontawesome/solid.min.css"
as="style"
/>
<link
rel="stylesheet"
rel="preload"
type="text/css"
href="{{ assets_prefix }}/static/appbuilder/css/fontawesome/brands.min.css"
as="style"
/>
<link
rel="stylesheet"
rel="preload"
type="text/css"
href="{{ assets_prefix }}/static/appbuilder/css/select2/select2.min.css"
as="style"
/>
{{ css_bundle("theme") }} {% if entry %} {{ css_bundle(entry) }} {% endif %}
@ -120,5 +122,16 @@ governing permissions and limitations under the License. #}
{% block tail_js %} {% if not standalone_mode %} {{ js_bundle('menu') }} {%
endif %} {% if entry %} {{ js_bundle(entry) }} {% endif %} {% include
"tail_js_custom_extra.html" %} {% endblock %}
<!-- Handle deferred stylesheets -->
<script nonce="{{ macros.get_nonce() }}">
document.addEventListener('DOMContentLoaded', function() {
var preloadLinks = document.querySelectorAll('link[rel="preload"][as="style"]');
preloadLinks.forEach(function(link) {
link.rel = 'stylesheet';
});
});
</script>
</body>
</html>
</html>

File diff suppressed because it is too large Load Diff

View File

@ -864,10 +864,6 @@ class Superset(BaseSupersetView):
def log(self) -> FlaskResponse:
return Response(status=200)
@expose("/theme/")
def theme(self) -> FlaskResponse:
return self.render_template("superset/theme.html")
@api
@handle_api_exception
@has_access