From 728ce5252936fb3e9b438f2838f740bd44f55151 Mon Sep 17 00:00:00 2001 From: Anthony Donlon Date: Mon, 22 Dec 2025 21:52:50 +0800 Subject: [PATCH] editor: support ok/error icon in shared page --- editor/server/config.example.toml | 5 ++++- editor/server/utils.py | 16 +++++++++------- editor/web/assets/icon-error-32x32.png | Bin 0 -> 676 bytes ...ror-large.png => icon-error-large-white.png} | Bin .../{icon-32x32.png => icon-ok-32x32.png} | Bin ...con-ok-large.png => icon-ok-large-white.png} | Bin editor/web/index.html | 2 +- 7 files changed, 14 insertions(+), 9 deletions(-) create mode 100644 editor/web/assets/icon-error-32x32.png rename editor/web/assets/{icon-error-large.png => icon-error-large-white.png} (100%) rename editor/web/assets/{icon-32x32.png => icon-ok-32x32.png} (100%) rename editor/web/assets/{icon-ok-large.png => icon-ok-large-white.png} (100%) diff --git a/editor/server/config.example.toml b/editor/server/config.example.toml index bbc8456..baadc68 100644 --- a/editor/server/config.example.toml +++ b/editor/server/config.example.toml @@ -8,11 +8,14 @@ SHARE_LINK_DIGITS = 7 SHORT_SHARE_URL = false # Icon URL for rendered pages -PAGE_ICON_URL = '' +PAGE_ICON_URL = 'https://virt.moe/cferr/editor/assets/icon-{status}-32x32.png' # MIME type of page icon PAGE_ICON_TYPE = 'image/png' +# Image URL for rendered pages +PAGE_IMAGE_URL = 'https://virt.moe/cferr/editor/assets/icon-{status}-large-white.png' + # Set to true if trust X-Forwarded-For/X-Forwarded-Proto header BEHIND_PROXY = true diff --git a/editor/server/utils.py b/editor/server/utils.py index 5a091c2..def8f85 100644 --- a/editor/server/utils.py +++ b/editor/server/utils.py @@ -122,21 +122,23 @@ def render_extended_template(params: ErrorPageParams, *args: Any, **kwargs: Any) -> str: fill_cf_template_params(params) - description = params.get('what_happened') or 'Cloudflare error page' - description = re.sub(r'', '', description).strip() + description = params.get('what_happened') or 'There is an internal server error on Cloudflare\'s network.' + description = re.sub(r'<\/?.*?>', '', description).strip() - page_image_id = 'ok' + status = 'ok' cf_status_obj = params.get('cloudflare_status') if cf_status_obj: cf_status = cf_status_obj.get('status') if cf_status == 'error': - page_image_id = 'error' - page_image_url = f'https://virt.moe/cferr/editor/assets/icon-{page_image_id}-large.png' + status = 'error' + page_icon_url = current_app.config.get('PAGE_ICON_URL', '').replace('{status}', status) + page_icon_type = current_app.config.get('PAGE_ICON_TYPE') + page_image_url = current_app.config.get('PAGE_IMAGE_URL', '').replace('{status}', status) return render_cf_error_page(params=params, template=template, base=base_template, - page_icon_url=current_app.config.get('PAGE_ICON_URL'), - page_icon_type=current_app.config.get('PAGE_ICON_TYPE'), + page_icon_url=page_icon_url, + page_icon_type=page_icon_type, page_url=request.url, page_description=description, page_image_url=page_image_url, diff --git a/editor/web/assets/icon-error-32x32.png b/editor/web/assets/icon-error-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..4905ae84620a99bedd66f9451da389d0d27c7491 GIT binary patch literal 676 zcmV;V0$crwP)i-S=3kEI?8(31+S)c&qJjW)WYeKYS^TeWdfh$}F9tP01 zfOSm>bEF1Js+t3;z>EaF4HPsXc7jOKH4sr8msfS;E^YwOBZzxV=A4zI=xu3_N2tSNYolE zS$i_nR2+%^PSrk1i${%#F=P_ZD1{~39$}r5ONd!u-?4m%G@HyUw1ia ze2)^^#u?W+O$ak|99Pnr0#29o;O^Vke0lkl8}}aY!}!Sl3*9fgSTyR@p!`z%KqZ}N z5q%O;H0rT1j_f%0{dytTk|D_&SR-1EwB4A|7$_R`7S2u}W1n^AKOWnh#T`#++1N0000< KMNUMnLSTZta5q{2 literal 0 HcmV?d00001 diff --git a/editor/web/assets/icon-error-large.png b/editor/web/assets/icon-error-large-white.png similarity index 100% rename from editor/web/assets/icon-error-large.png rename to editor/web/assets/icon-error-large-white.png diff --git a/editor/web/assets/icon-32x32.png b/editor/web/assets/icon-ok-32x32.png similarity index 100% rename from editor/web/assets/icon-32x32.png rename to editor/web/assets/icon-ok-32x32.png diff --git a/editor/web/assets/icon-ok-large.png b/editor/web/assets/icon-ok-large-white.png similarity index 100% rename from editor/web/assets/icon-ok-large.png rename to editor/web/assets/icon-ok-large-white.png diff --git a/editor/web/index.html b/editor/web/index.html index e34a755..5f5bef9 100644 --- a/editor/web/index.html +++ b/editor/web/index.html @@ -14,7 +14,7 @@ - +