mirror of
https://github.com/Frooodle/Stirling-PDF.git
synced 2025-09-12 17:52:13 +02:00
checking custom files
This commit is contained in:
parent
9600a742df
commit
c8881b8532
@ -48,6 +48,22 @@ security:
|
|||||||
scopes: openid, profile, email # Specify the scopes for which the application will request permissions
|
scopes: openid, profile, email # Specify the scopes for which the application will request permissions
|
||||||
provider: google # Set this to your OAuth provider's name, e.g., 'google' or 'keycloak'
|
provider: google # Set this to your OAuth provider's name, e.g., 'google' or 'keycloak'
|
||||||
|
|
||||||
|
# Enterprise edition settings unused for now please ignore!
|
||||||
|
EnterpriseEdition:
|
||||||
|
key: 00000000-0000-0000-0000-000000000000
|
||||||
|
CustomMetadata:
|
||||||
|
autoUpdateMetadata: true # set to 'true' to automatically update metadata with below values
|
||||||
|
author: username # Supports text such as 'John Doe' or types such as username
|
||||||
|
creator: Stirling-PDF # Supports text such as 'Company-PDF'
|
||||||
|
producer: Stirling-PDF # Supports text such as 'Company-PDF'
|
||||||
|
|
||||||
|
legal:
|
||||||
|
termsAndConditions: '' # URL to the terms and conditions of your application (e.g. https://example.com/terms) Empty string to disable or filename to load from local file in static folder
|
||||||
|
privacyPolicy: '' # URL to the privacy policy of your application (e.g. https://example.com/privacy) Empty string to disable or filename to load from local file in static folder
|
||||||
|
accessibilityStatement: '' # URL to the accessibility statement of your application (e.g. https://example.com/accessibility) Empty string to disable or filename to load from local file in static folder
|
||||||
|
cookiePolicy: '' # URL to the cookie policy of your application (e.g. https://example.com/cookie) Empty string to disable or filename to load from local file in static folder
|
||||||
|
impressum: '' # URL to the impressum of your application (e.g. https://example.com/impressum) Empty string to disable or filename to load from local file in static folder
|
||||||
|
|
||||||
system:
|
system:
|
||||||
defaultLocale: en-US # Set the default language (e.g. 'de-DE', 'fr-FR', etc)
|
defaultLocale: en-US # Set the default language (e.g. 'de-DE', 'fr-FR', etc)
|
||||||
googlevisibility: true # 'true' to allow Google visibility (via robots.txt), 'false' to disallow
|
googlevisibility: true # 'true' to allow Google visibility (via robots.txt), 'false' to disallow
|
||||||
|
29
configs/settings.yml_14102024
Executable file
29
configs/settings.yml_14102024
Executable file
@ -0,0 +1,29 @@
|
|||||||
|
# Welcome to settings file
|
||||||
|
# Remove comment marker # if on start of line to enable the configuration
|
||||||
|
# If you want to override with environment parameter follow parameter naming SECURITY_INITIALLOGIN_USERNAME
|
||||||
|
|
||||||
|
security:
|
||||||
|
enableLogin: false # set to 'true' to enable login
|
||||||
|
csrfDisabled: true # Set to 'true' to disable CSRF protection (not recommended for production)
|
||||||
|
loginAttemptCount: 5 # lock user account after 5 tries; when using e.g. Fail2Ban you can deactivate the function with -1
|
||||||
|
loginResetTimeMinutes: 120 # lock account for 2 hours after x attempts
|
||||||
|
|
||||||
|
system:
|
||||||
|
|
||||||
|
defaultLocale: en-US # Set the default language (e.g. 'de-DE', 'fr-FR', etc)
|
||||||
|
googlevisibility: true # 'true' to allow Google visibility (via robots.txt), 'false' to disallow
|
||||||
|
enableAlphaFunctionality: false # Set to enable functionality which might need more testing before it fully goes live (This feature might make no changes)
|
||||||
|
customApplications:
|
||||||
|
bookAndHtmlFormatsInstalled: false # Installs Calibre for book format conversion (For non docker it must be manually downloaded but will need to be true to show in UI)
|
||||||
|
|
||||||
|
ui:
|
||||||
|
appName: Konfuzio PDF Tools # Application's visible name
|
||||||
|
homeDescription: PDF Tools from Konfuzio # Short description or tagline shown on homepage.
|
||||||
|
appNameNavbar: Konfuzio # Name displayed on the navigation bar
|
||||||
|
|
||||||
|
endpoints:
|
||||||
|
toRemove: # List endpoints to disable (e.g. ['img-to-pdf', 'remove-pages'])
|
||||||
|
groupsToRemove: [] # List groups to disable (e.g. ['LibreOffice'])
|
||||||
|
|
||||||
|
metrics:
|
||||||
|
enabled: true # 'true' to enable Info APIs (`/api/*`) endpoints, 'false' to disable
|
@ -1,5 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<svg viewBox="0.0001 1.0002 73.9999 80.9998" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path d="m902.749 417.51 25.555 14.605c3.553 2.013 5.696 5.729 5.696 9.806v29.21c0 4.026-2.143 7.742-5.696 9.754l-25.555 14.606c-3.554 2.012-7.944 2.012-11.445 0l-25.608-14.606c-3.501-2.012-5.696-5.728-5.696-9.754v-29.21c0-4.077 2.195-7.793 5.696-9.806l25.608-14.605c3.501-2.013 7.891-2.013 11.445 0z" fill="#44b78b" transform="matrix(1, 0, 0, 1, -860.0000000000001, -415)"/>
|
|
||||||
<path d="m891.519 459.853-.103 11.976c0 .639-.513 1.171-1.128 1.171h-8.159c-.616 0-1.129-.532-1.129-1.171v-30.658c0-.639.513-1.171 1.129-1.171h8.107c.616 0 1.129.532 1.129 1.171v10.964l8.21-11.656c.257-.319.565-.479.924-.479h9.646c.616 0 1.129.532 1.129 1.171 0 .266-.102.532-.256.745l-10.468 13.2 11.237 16.021c.36.532.257 1.278-.256 1.65-.154.107-.411.213-.667.213h-10.263c-.41 0-.769-.213-.975-.532z" fill="#fff" transform="matrix(1, 0, 0, 1, -860.0000000000001, -415)"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 981 B |
@ -1,73 +0,0 @@
|
|||||||
:root {
|
|
||||||
/* Colors */
|
|
||||||
--md-sys-color-primary: rgb(162 201 255);
|
|
||||||
--md-sys-color-surface-tint: rgb(162 201 255);
|
|
||||||
--md-sys-color-on-primary: rgb(0 49 92);
|
|
||||||
--md-sys-color-primary-container: rgb(0 118 208);
|
|
||||||
--md-sys-color-on-primary-container: rgb(255 255 255);
|
|
||||||
--md-sys-color-secondary: rgb(169 201 246);
|
|
||||||
--md-sys-color-on-secondary: rgb(12 49 87);
|
|
||||||
--md-sys-color-secondary-container: rgb(29 62 100);
|
|
||||||
--md-sys-color-on-secondary-container: rgb(180 210 255);
|
|
||||||
--md-sys-color-tertiary: rgb(193 194 248);
|
|
||||||
--md-sys-color-on-tertiary: rgb(42 44 88);
|
|
||||||
--md-sys-color-tertiary-container: rgb(110 112 161);
|
|
||||||
--md-sys-color-on-tertiary-container: rgb(255 255 255);
|
|
||||||
--md-sys-color-error: rgb(255 180 171);
|
|
||||||
--md-sys-color-on-error: rgb(105 0 5);
|
|
||||||
--md-sys-color-error-container: rgb(147 0 10);
|
|
||||||
--md-sys-color-on-error-container: rgb(255 218 214);
|
|
||||||
--md-sys-color-background: rgb(15 20 26);
|
|
||||||
--md-sys-color-on-background: rgb(223 226 235);
|
|
||||||
--md-sys-color-surface: rgb(15 20 26);
|
|
||||||
--md-sys-color-on-surface: rgb(223 226 235);
|
|
||||||
--md-sys-color-surface-variant: rgb(64 71 83);
|
|
||||||
--md-sys-color-on-surface-variant: rgb(192 199 213);
|
|
||||||
--md-sys-color-outline: rgb(138 145 158);
|
|
||||||
--md-sys-color-outline-variant: rgb(64 71 83);
|
|
||||||
--md-sys-color-shadow: rgb(0 0 0);
|
|
||||||
--md-sys-color-scrim: rgb(0 0 0);
|
|
||||||
--md-sys-color-inverse-surface: rgb(223 226 235);
|
|
||||||
--md-sys-color-inverse-on-surface: rgb(45 49 55);
|
|
||||||
--md-sys-color-inverse-primary: rgb(0 96 170);
|
|
||||||
--md-sys-color-primary-fixed: rgb(211 228 255);
|
|
||||||
--md-sys-color-on-primary-fixed: rgb(0 28 56);
|
|
||||||
--md-sys-color-primary-fixed-dim: rgb(162 201 255);
|
|
||||||
--md-sys-color-on-primary-fixed-variant: rgb(0 72 130);
|
|
||||||
--md-sys-color-secondary-fixed: rgb(211 228 255);
|
|
||||||
--md-sys-color-on-secondary-fixed: rgb(0 28 56);
|
|
||||||
--md-sys-color-secondary-fixed-dim: rgb(169 201 246);
|
|
||||||
--md-sys-color-on-secondary-fixed-variant: rgb(40 72 111);
|
|
||||||
--md-sys-color-tertiary-fixed: rgb(225 224 255);
|
|
||||||
--md-sys-color-on-tertiary-fixed: rgb(20 22 66);
|
|
||||||
--md-sys-color-tertiary-fixed-dim: rgb(193 194 248);
|
|
||||||
--md-sys-color-on-tertiary-fixed-variant: rgb(64 67 112);
|
|
||||||
--md-sys-color-surface-dim: rgb(15 20 26);
|
|
||||||
--md-sys-color-surface-bright: rgb(53 57 64);
|
|
||||||
--md-sys-color-surface-container-lowest: rgb(10 14 20);
|
|
||||||
--md-sys-color-surface-container-low: rgb(24 28 34);
|
|
||||||
--md-sys-color-surface-container: rgb(28 32 38);
|
|
||||||
--md-sys-color-surface-container-high: rgb(38 42 49);
|
|
||||||
--md-sys-color-surface-container-highest: rgb(49 53 60);
|
|
||||||
/* Tools Color */
|
|
||||||
--md-nav-section-color-opacity: 1;
|
|
||||||
--md-nav-on-section-color-opacity: 1;
|
|
||||||
--md-nav-section-color-sign: rgba(25, 101, 212, var(--md-nav-section-color-opacity));
|
|
||||||
--md-nav-on-section-color-sign: rgba(28, 27, 31, var(--md-nav-on-section-color-opacity));
|
|
||||||
--md-nav-section-color-organize: rgba(120, 130, 255, var(--md-nav-section-color-opacity));
|
|
||||||
--md-nav-on-section-color-organize: rgba(28, 27, 31, var(--md-nav-on-section-color-opacity));
|
|
||||||
--md-nav-section-color-convert: rgba(25, 177, 212, var(--md-nav-section-color-opacity));
|
|
||||||
--md-nav-on-section-color-convert: rgba(28, 27, 31, var(--md-nav-on-section-color-opacity));
|
|
||||||
--md-nav-section-color-security: rgba(66, 72, 80, var(--md-nav-section-color-opacity));
|
|
||||||
--md-nav-on-section-color-security: rgba(28, 27, 31, var(--md-nav-on-section-color-opacity));
|
|
||||||
--md-nav-section-color-other: rgba(72, 189, 84, var(--md-nav-section-color-opacity));
|
|
||||||
--md-nav-on-section-color-other: rgba(28, 27, 31, var(--md-nav-on-section-color-opacity));
|
|
||||||
--md-nav-section-color-advance: rgba(68, 183, 139, var(--md-nav-section-color-opacity));
|
|
||||||
--md-nav-on-section-color-advance: rgba(28, 27, 31, var(--md-nav-on-section-color-opacity));
|
|
||||||
--md-nav-section-color-image: rgba(212, 172, 25, var(--md-nav-section-color-opacity));
|
|
||||||
--md-nav-on-section-color-image: rgba(28, 27, 31, var(--md-nav-on-section-color-opacity));
|
|
||||||
--md-nav-section-color-word: rgba(61, 153, 245, var(--md-nav-section-color-opacity));
|
|
||||||
--md-nav-on-section-color-word: rgba(28, 27, 31, var(--md-nav-on-section-color-opacity));
|
|
||||||
--md-nav-section-color-ppt: rgba(255, 128, 0, var(--md-nav-section-color-opacity));
|
|
||||||
--md-nav-on-section-color-ppt: rgba(28, 27, 31, var(--md-nav-on-section-color-opacity));
|
|
||||||
}
|
|
@ -1,73 +0,0 @@
|
|||||||
:root {
|
|
||||||
/* Colors */
|
|
||||||
--md-sys-color-primary: rgb(0 96 170);
|
|
||||||
--md-sys-color-surface-tint: rgb(0 96 170);
|
|
||||||
--md-sys-color-on-primary: rgb(255 255 255);
|
|
||||||
--md-sys-color-primary-container: rgb(80 163 255);
|
|
||||||
--md-sys-color-on-primary-container: rgb(0 20 43);
|
|
||||||
--md-sys-color-secondary: rgb(65 96 136);
|
|
||||||
--md-sys-color-on-secondary: rgb(255 255 255);
|
|
||||||
--md-sys-color-secondary-container: rgb(188 215 255);
|
|
||||||
--md-sys-color-on-secondary-container: rgb(32 65 103);
|
|
||||||
--md-sys-color-tertiary: rgb(88 90 138);
|
|
||||||
--md-sys-color-on-tertiary: rgb(255 255 255);
|
|
||||||
--md-sys-color-tertiary-container: rgb(151 153 205);
|
|
||||||
--md-sys-color-on-tertiary-container: rgb(7 9 55);
|
|
||||||
--md-sys-color-error: rgb(186 26 26);
|
|
||||||
--md-sys-color-on-error: rgb(255 255 255);
|
|
||||||
--md-sys-color-error-container: rgb(255 218 214);
|
|
||||||
--md-sys-color-on-error-container: rgb(65 0 2);
|
|
||||||
--md-sys-color-background: rgb(248 249 255);
|
|
||||||
--md-sys-color-on-background: rgb(24 28 34);
|
|
||||||
--md-sys-color-surface: rgb(248 249 255);
|
|
||||||
--md-sys-color-on-surface: rgb(24 28 34);
|
|
||||||
--md-sys-color-surface-variant: rgb(220 227 241);
|
|
||||||
--md-sys-color-on-surface-variant: rgb(64 71 83);
|
|
||||||
--md-sys-color-outline: rgb(112 119 132);
|
|
||||||
--md-sys-color-outline-variant: rgb(192 199 213);
|
|
||||||
--md-sys-color-shadow: rgb(0 0 0);
|
|
||||||
--md-sys-color-scrim: rgb(0 0 0);
|
|
||||||
--md-sys-color-inverse-surface: rgb(45 49 55);
|
|
||||||
--md-sys-color-inverse-on-surface: rgb(238 241 250);
|
|
||||||
--md-sys-color-inverse-primary: rgb(162 201 255);
|
|
||||||
--md-sys-color-primary-fixed: rgb(211 228 255);
|
|
||||||
--md-sys-color-on-primary-fixed: rgb(0 28 56);
|
|
||||||
--md-sys-color-primary-fixed-dim: rgb(162 201 255);
|
|
||||||
--md-sys-color-on-primary-fixed-variant: rgb(0 72 130);
|
|
||||||
--md-sys-color-secondary-fixed: rgb(211 228 255);
|
|
||||||
--md-sys-color-on-secondary-fixed: rgb(0 28 56);
|
|
||||||
--md-sys-color-secondary-fixed-dim: rgb(169 201 246);
|
|
||||||
--md-sys-color-on-secondary-fixed-variant: rgb(40 72 111);
|
|
||||||
--md-sys-color-tertiary-fixed: rgb(225 224 255);
|
|
||||||
--md-sys-color-on-tertiary-fixed: rgb(20 22 66);
|
|
||||||
--md-sys-color-tertiary-fixed-dim: rgb(193 194 248);
|
|
||||||
--md-sys-color-on-tertiary-fixed-variant: rgb(64 67 112);
|
|
||||||
--md-sys-color-surface-dim: rgb(215 218 227);
|
|
||||||
--md-sys-color-surface-bright: rgb(248 249 255);
|
|
||||||
--md-sys-color-surface-container-lowest: rgb(255 255 255);
|
|
||||||
--md-sys-color-surface-container-low: rgb(241 243 253);
|
|
||||||
--md-sys-color-surface-container: rgb(235 238 247);
|
|
||||||
--md-sys-color-surface-container-high: rgb(229 232 241);
|
|
||||||
--md-sys-color-surface-container-highest: rgb(223 226 235);
|
|
||||||
/* Tools Color */
|
|
||||||
--md-nav-section-color-opacity: 1;
|
|
||||||
--md-nav-on-section-color-opacity: 1;
|
|
||||||
--md-nav-section-color-sign: rgba(25, 101, 212, var(--md-nav-section-color-opacity));
|
|
||||||
--md-nav-on-section-color-sign: rgba(255, 251, 254, var(--md-nav-on-section-color-opacity));
|
|
||||||
--md-nav-section-color-organize: rgba(120, 130, 255, var(--md-nav-section-color-opacity));
|
|
||||||
--md-nav-on-section-color-organize: rgba(255, 251, 254, var(--md-nav-on-section-color-opacity));
|
|
||||||
--md-nav-section-color-convert: rgba(25, 177, 212, var(--md-nav-section-color-opacity));
|
|
||||||
--md-nav-on-section-color-convert: rgba(255, 251, 254, var(--md-nav-on-section-color-opacity));
|
|
||||||
--md-nav-section-color-security: rgba(66, 72, 80, var(--md-nav-section-color-opacity));
|
|
||||||
--md-nav-on-section-color-security: rgba(255, 251, 254, var(--md-nav-on-section-color-opacity));
|
|
||||||
--md-nav-section-color-other: rgba(72, 189, 84, var(--md-nav-section-color-opacity));
|
|
||||||
--md-nav-on-section-color-other: rgba(255, 251, 254, var(--md-nav-on-section-color-opacity));
|
|
||||||
--md-nav-section-color-advance: rgba(68, 183, 139, var(--md-nav-section-color-opacity));
|
|
||||||
--md-nav-on-section-color-advance: rgba(255, 251, 254, var(--md-nav-on-section-color-opacity));
|
|
||||||
--md-nav-section-color-image: rgba(212, 172, 25, var(--md-nav-section-color-opacity));
|
|
||||||
--md-nav-on-section-color-image: rgba(255, 251, 254, var(--md-nav-on-section-color-opacity));
|
|
||||||
--md-nav-section-color-word: rgba(61, 153, 245, var(--md-nav-section-color-opacity));
|
|
||||||
--md-nav-on-section-color-word: rgba(255, 251, 254, var(--md-nav-on-section-color-opacity));
|
|
||||||
--md-nav-section-color-ppt: rgba(255, 128, 0, var(--md-nav-section-color-opacity));
|
|
||||||
--md-nav-on-section-color-ppt: rgba(255, 251, 254, var(--md-nav-on-section-color-opacity));
|
|
||||||
}
|
|
@ -1,5 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<svg viewBox="0.0001 1.0002 73.9999 80.9998" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path d="m902.749 417.51 25.555 14.605c3.553 2.013 5.696 5.729 5.696 9.806v29.21c0 4.026-2.143 7.742-5.696 9.754l-25.555 14.606c-3.554 2.012-7.944 2.012-11.445 0l-25.608-14.606c-3.501-2.012-5.696-5.728-5.696-9.754v-29.21c0-4.077 2.195-7.793 5.696-9.806l25.608-14.605c3.501-2.013 7.891-2.013 11.445 0z" fill="#44b78b" transform="matrix(1, 0, 0, 1, -860.0000000000001, -415)"/>
|
|
||||||
<path d="m891.519 459.853-.103 11.976c0 .639-.513 1.171-1.128 1.171h-8.159c-.616 0-1.129-.532-1.129-1.171v-30.658c0-.639.513-1.171 1.129-1.171h8.107c.616 0 1.129.532 1.129 1.171v10.964l8.21-11.656c.257-.319.565-.479.924-.479h9.646c.616 0 1.129.532 1.129 1.171 0 .266-.102.532-.256.745l-10.468 13.2 11.237 16.021c.36.532.257 1.278-.256 1.65-.154.107-.411.213-.667.213h-10.263c-.41 0-.769-.213-.975-.532z" fill="#fff" transform="matrix(1, 0, 0, 1, -860.0000000000001, -415)"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 981 B |
Binary file not shown.
Before Width: | Height: | Size: 15 KiB |
30
customFiles/templates/error.html
Executable file
30
customFiles/templates/error.html
Executable file
@ -0,0 +1,30 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html th:lang="${#locale.language}" th:dir="#{language.direction}" th:data-language="${#locale.toString()}" xmlns:th="https://www.thymeleaf.org">
|
||||||
|
<head>
|
||||||
|
<th:block th:insert="~{fragments/common :: head(title=#{error.404.head})}"></th:block>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div id="page-container">
|
||||||
|
<div id="content-wrap">
|
||||||
|
<th:block th:insert="~{fragments/navbar.html :: navbar}"></th:block>
|
||||||
|
<div class="container">
|
||||||
|
<div th:insert="~{fragments/errorBanner.html :: errorBanner}"></div>
|
||||||
|
<div class="bg-card text-center">
|
||||||
|
<h1 class="display-2" th:text="#{oops}"></h1>
|
||||||
|
<p class="lead" th:if="${param.status == '404'}" th:text="#{error.404.1}"></p>
|
||||||
|
<p class="lead" th:unless="${param.status == '404'}" th:text="#{error.404.2}"></p>
|
||||||
|
<br>
|
||||||
|
<h2 th:text="#{error.needHelp}"></h2>
|
||||||
|
<p>If you're still having trouble, don't hesitate to reach out to us for help. You can submit a ticket:</p>
|
||||||
|
<div id="button-group">
|
||||||
|
<a href="https://konfuzio.com/support" id="github-button" class="btn btn-primary" target="_blank">Submit a ticket</a>
|
||||||
|
</div>
|
||||||
|
<a th:href="@{'/'}" id="home-button" class="home-button btn btn-primary" th:text="#{goHomepage}"></a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<th:block th:insert="~{fragments/footer.html :: footer}"></th:block>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
75
customFiles/templates/fragments/errorBanner.html
Executable file
75
customFiles/templates/fragments/errorBanner.html
Executable file
@ -0,0 +1,75 @@
|
|||||||
|
<th:block th:fragment="errorBanner">
|
||||||
|
|
||||||
|
<br th:if="${message}">
|
||||||
|
<div id="errorContainer" th:if="${message}" class="alert alert-danger alert-dismissible alert-container fade show" role="alert">
|
||||||
|
<div class="alert-header d-flex">
|
||||||
|
<span class="alert-heading" th:text="'Error: ' + ${status} + ' ' + ${error}"></span>
|
||||||
|
<button type="button" class="btn btn-danger" th:if="${trace}" onclick="toggletrace()" th:text="#{error.showStack}"></button>
|
||||||
|
<button type="button" class="btn btn-secondary" th:if="${trace}" onclick="copytrace()" th:text="#{error.copyStack}"></button>
|
||||||
|
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close" onclick="dismissError()">
|
||||||
|
<span class="material-symbols-rounded">
|
||||||
|
close
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<p th:text="${message} + ' for path: ' + ${path}"></p>
|
||||||
|
<!-- Stack trace section -->
|
||||||
|
<div id="trace" th:if="${trace}" style="max-height: 0; overflow: hidden;">
|
||||||
|
<div>
|
||||||
|
<pre id="traceContent" th:text="${trace}"></pre>
|
||||||
|
</div>
|
||||||
|
<!-- Buttons to submit a ticket on GitHub and join Discord server -->
|
||||||
|
<a href="https://konfuzoi.com/support" id="github-button" target="_blank" th:text="#{error.github}"></a>
|
||||||
|
<!-- <a href="https://discord.gg/Cn8pWhQRxZ" id="discord-button" target="_blank" th:text="#{joinDiscord}"></a> -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
var traceVisible = false;
|
||||||
|
|
||||||
|
function toggletrace() {
|
||||||
|
var traceDiv = document.getElementById("trace");
|
||||||
|
if (!traceVisible) {
|
||||||
|
traceDiv.style.maxHeight = "500px";
|
||||||
|
traceVisible = true;
|
||||||
|
} else {
|
||||||
|
traceDiv.style.maxHeight = "0px";
|
||||||
|
traceVisible = false;
|
||||||
|
}
|
||||||
|
adjustContainerHeight();
|
||||||
|
}
|
||||||
|
|
||||||
|
function copytrace() {
|
||||||
|
var flip = false
|
||||||
|
if (!traceVisible) {
|
||||||
|
toggletrace()
|
||||||
|
flip = true
|
||||||
|
}
|
||||||
|
var traceContent = document.getElementById("traceContent");
|
||||||
|
var range = document.createRange();
|
||||||
|
range.selectNode(traceContent);
|
||||||
|
window.getSelection().removeAllRanges();
|
||||||
|
window.getSelection().addRange(range);
|
||||||
|
document.execCommand("copy");
|
||||||
|
window.getSelection().removeAllRanges();
|
||||||
|
if (flip) {
|
||||||
|
toggletrace()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function dismissError() {
|
||||||
|
var errorContainer = document.getElementById("errorContainer");
|
||||||
|
errorContainer.style.display = "none";
|
||||||
|
errorContainer.style.height = "0";
|
||||||
|
}
|
||||||
|
|
||||||
|
function adjustContainerHeight() {
|
||||||
|
var errorContainer = document.getElementById("errorContainer");
|
||||||
|
var traceDiv = document.getElementById("trace");
|
||||||
|
if (traceVisible) {
|
||||||
|
errorContainer.style.height = errorContainer.scrollHeight - traceDiv.scrollHeight + traceDiv.offsetHeight + "px";
|
||||||
|
} else {
|
||||||
|
errorContainer.style.height = "auto";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</th:block>
|
52
customFiles/templates/fragments/errorBannerPerPage.html
Executable file
52
customFiles/templates/fragments/errorBannerPerPage.html
Executable file
@ -0,0 +1,52 @@
|
|||||||
|
<th:block th:fragment="errorBannerPerPage">
|
||||||
|
<div id="errorContainer" class="alert alert-danger alert-dismissible fade show" role="alert" style="display: none;">
|
||||||
|
<h4 class="alert-heading" th:text="#{error}"></h4>
|
||||||
|
<p></p>
|
||||||
|
<button type="button" class="btn btn-danger" onclick="toggletrace()" th:text="#{error.showStack}"></button>
|
||||||
|
<button type="button" class="btn btn-secondary" onclick="copytrace()" th:text="#{error.copyStack}"></button>
|
||||||
|
<button type="button" class="btn btn-info" onclick="showHelp()" th:text="#{help}"></button>
|
||||||
|
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close" onclick="dismissError()">
|
||||||
|
<span class="material-symbols-rounded">
|
||||||
|
close
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
<!-- Stack trace section -->
|
||||||
|
<div id="trace" style="max-height: 0; overflow: hidden;">
|
||||||
|
<div>
|
||||||
|
<pre id="traceContent"></pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="modal fade" id="helpModal" tabindex="-1" role="dialog" aria-labelledby="helpModalLabel" aria-hidden="true">
|
||||||
|
<div class="modal-dialog modal-dialog-centered" role="document" id="helpModalDialog">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h5 class="modal-title" id="helpModalLabel" th:text="#{help}"></h5>
|
||||||
|
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close" onclick="dismissError()">
|
||||||
|
<span class="material-symbols-rounded">
|
||||||
|
close
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<div class="container">
|
||||||
|
<div id="support-section">
|
||||||
|
<h1 class="display-2" th:text="#{oops}"></h1>
|
||||||
|
<p class="lead" th:text="#{error.sorry}"></p>
|
||||||
|
<br>
|
||||||
|
<h2 th:text="#{error.needHelp}"></h2>
|
||||||
|
<p>"If you're still having trouble, don't hesitate to reach out to us for help. You can submit a ticket:"</p>
|
||||||
|
<div id="button-group">
|
||||||
|
<a href="https://konfuzio.com/support" id="github-button" target="_blank">"Submit a ticket"</a>
|
||||||
|
</div>
|
||||||
|
<a th:href="@{'/'}" class="home-button" th:text="#{goHomepage}"></a>
|
||||||
|
<a data-bs-dismiss="modal" class="home-button" th:text="#{close}"></a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script th:src="@{'/js/errorBanner.js'}"></script>
|
||||||
|
</th:block>
|
@ -4,6 +4,6 @@
|
|||||||
<a href="https://hub.docker.com/r/frooodle/s-pdf" target="_blank" class="mx-1" title="See Docker Hub"><img src="images/docker.svg"></img></a>
|
<a href="https://hub.docker.com/r/frooodle/s-pdf" target="_blank" class="mx-1" title="See Docker Hub"><img src="images/docker.svg"></img></a>
|
||||||
<a href="https://discord.gg/Cn8pWhQRxZ" target="_blank" class="mx-1" title="Join Discord Channel"><img src="images/discord.svg"></img></a>
|
<a href="https://discord.gg/Cn8pWhQRxZ" target="_blank" class="mx-1" title="Join Discord Channel"><img src="images/discord.svg"></img></a>
|
||||||
<a href="https://github.com/sponsors/Frooodle" target="_blank" class="mx-1" title="Donate"><img src="images/suit-heart-fill.svg"></img></a>-->
|
<a href="https://github.com/sponsors/Frooodle" target="_blank" class="mx-1" title="Donate"><img src="images/suit-heart-fill.svg"></img></a>-->
|
||||||
<div th:if="${@appName} != 'Stirling PDF'" class="mt-2" style="color: grey;">Licenses</div>
|
<div th:if="${@appName} != 'Stirling PDF'" class="mt-2" style="color: grey;">License</div>
|
||||||
</footer>
|
</footer>
|
||||||
</div>
|
</div>
|
Loading…
Reference in New Issue
Block a user