1
0
mirror of https://github.com/Stirling-Tools/Stirling-PDF.git synced 2024-11-11 02:10:11 +01:00

Merge pull request #1226 from Ludy87/validation_username_password

bg-card will be added to the class and password/username validation
This commit is contained in:
Anthony Stirling 2024-05-19 11:52:52 +01:00 committed by GitHub
commit e43292f4dd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
64 changed files with 140 additions and 67 deletions

View File

@ -65,7 +65,7 @@ label {
margin-left: auto;
}
#bg-card {
.bg-card {
background-color: var(--md-sys-color-surface-5);
border-radius: 3rem;
padding: 25px 0 0;

View File

@ -58,7 +58,7 @@ td {
border-bottom: none;
}
#bg-card {
.bg-card {
background-color: var(--md-sys-color-surface-5);
border-radius: 3rem;
padding: 2.5rem;

View File

@ -11,7 +11,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card"></div>
<div class="col-md-6 bg-card"></div>
</div>
</div>
</div>

View File

@ -21,6 +21,7 @@
<span th:text="#{${messageType}}">Default message if not found</span>
</div>
</th:block>
<!-- At the top of the user settings -->
<h3 class="text-center"><span th:text="#{welcome} + ' ' + ${username}">User</span>!</h3>
<th:block th:if="${error}">
@ -28,13 +29,15 @@
<span th:text="${error}">Error Message</span>
</div>
</th:block>
<!-- Change Username Form -->
<th:block th:if="${!oAuth2Login}">
<h4 th:text="#{account.changeUsername}">Change Username?</h4>
<form id="bg-card" class="mt-4 mb-4" action="api/v1/user/change-username" method="post">
<form id="formsavechangeusername" class="bg-card mt-4 mb-4" action="api/v1/user/change-username" method="post">
<div class="mb-3">
<label for="newUsername" th:text="#{account.newUsername}">Change Username</label>
<input type="text" class="form-control" name="newUsername" id="newUsername" th:placeholder="#{account.newUsername}">
<span id="usernameError" style="display: none;" th:text="#{invalidUsernameMessage}">Invalid username!</span>
</div>
<div class="mb-3">
<label for="currentPassword" th:text="#{password}">Password</label>
@ -49,10 +52,10 @@
<!-- Change Password Form -->
<th:block th:if="${!oAuth2Login}">
<h4 th:text="#{account.changePassword}">Change Password?</h4>
<form id="bg-card" class="mt-4 mb-4" action="api/v1/user/change-password" method="post">
<form id="formsavechangepassword" class="bg-card mt-4 mb-4" action="api/v1/user/change-password" method="post">
<div class="mb-3">
<label for="currentPassword" th:text="#{account.oldPassword}">Old Password</label>
<input type="password" class="form-control" name="currentPassword" id="currentPasswordPassword" th:placeholder="#{account.oldPassword}">
<input type="password" class="form-control" name="currentPassword" id="currentPassword" th:placeholder="#{account.oldPassword}">
</div>
<div class="mb-3">
<label for="newPassword" th:text="#{account.newPassword}">New Password</label>
@ -95,6 +98,76 @@
</div>
</div>
</div>
<script th:inline="javascript">
jQuery.validator.addMethod("usernamePattern", function(value, element) {
return this.optional(element) || /^[a-zA-Z0-9][a-zA-Z0-9@._+-]*[a-zA-Z0-9]$|^(?=.{1,64}@)[A-Za-z0-9]+(\.[A-Za-z0-9_+.-]+)*@[^-][A-Za-z0-9-]+(\.[A-Za-z0-9-]+)*(\.[A-Za-z]{2,})$/.test(value);
}, /*[[#{invalidUsernameMessage}]]*/ "Invalid username format");
$(document).ready(function() {
$('#formsavechangepassword').validate({
rules: {
currentPassword: {
required: true
},
newPassword: {
required: true
},
confirmNewPassword: {
required: true
}
}
});
$('#formsavechangeusername').validate({
rules: {
newUsername: {
required: true,
usernamePattern: true
},
currentPassword: {
required: true
}
},
messages: {
newUsername: {
usernamePattern: /*[[#{invalidUsernameMessage}]]*/ "Invalid username format"
},
},
errorPlacement: function(error, element) {
if (element.attr("name") === "newUsername") {
$("#usernameError").text(error.text()).show();
} else {
error.insertAfter(element);
}
},
success: function(label, element) {
if ($(element).attr("name") === "newUsername") {
$("#usernameError").hide();
}
}
});
$('#formsavechangepassword').on('submit', function(event) {
var newPassword = $('#newPassword').val();
var confirmNewPassword = $('#confirmNewPassword').val();
if (newPassword !== confirmNewPassword) {
alert('New Password and Confirm New Password must match.');
event.preventDefault();
}
});
$('#newUsername').on('input', function() {
var usernameInput = $(this);
var isValid = usernameInput[0].checkValidity();
var errorSpan = $('#usernameError');
if (isValid) {
usernameInput.removeClass('invalid').addClass('valid');
errorSpan.hide();
} else {
usernameInput.removeClass('valid').addClass('invalid');
errorSpan.show();
}
});
});
</script>
<script>
function copyToClipboard() {
@ -180,7 +253,7 @@
</script>
<h4 th:text="#{account.syncTitle}">Sync browser settings with Account</h4>
<div id="bg-card" class="container mt-4">
<div class="bg-card container mt-4">
<h3 th:text="#{account.settingsCompare}">Settings Comparison:</h3>
<table id="settingsTable" class="table table-bordered table-sm table-striped">
<thead>

View File

@ -12,7 +12,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8" id="bg-card">
<div class="col-md-8 bg-card">
<!-- User Settings Title -->
<h2 class="text-center" th:text="#{adminUserSettings.header}">Admin User Control Settings</h2>

View File

@ -15,7 +15,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon advance">cut</span>
<span class="tool-header-text" th:text="#{autoSplitPDF.header}"></span>

View File

@ -12,7 +12,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-9" id="bg-card">
<div class="col-md-9 bg-card">
<!-- User Settings Title -->
<h2 class="text-center" th:text="#{changeCreds.header}">User Settings</h2>

View File

@ -14,7 +14,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon convert">draft</span>
<span class="tool-header-text" th:text="#{fileToPDF.header}"></span>

View File

@ -12,7 +12,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="mb-3" id="bg-card">
<div class="mb-3 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon convert">html</span>
<span class="tool-header-text" th:text="#{HTMLToPDF.header}"></span>

View File

@ -12,7 +12,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon image">image</span>
<span class="tool-header-text" th:text="#{imageToPDF.header}"></span>

View File

@ -12,7 +12,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon convert">markdown</span>
<span class="tool-header-text" th:text="#{MarkdownToPDF.header}"></span>

View File

@ -11,7 +11,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon convert">csv</span>
<span class="tool-header-text" th:text="#{PDFToCSV.header}"></span>

View File

@ -12,7 +12,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon convert">html</span>
<span class="tool-header-text" th:text="#{PDFToHTML.header}"></span>

View File

@ -12,7 +12,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon image">image</span>
<span class="tool-header-text" th:text="#{pdfToImage.header}"></span>

View File

@ -12,7 +12,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon convert">picture_as_pdf</span>
<span class="tool-header-text" th:text="#{pdfToPDFA.header}"></span>

View File

@ -12,7 +12,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon ppt">slideshow</span>
<span class="tool-header-text" th:text="#{PDFToPresentation.header}"></span>

View File

@ -12,7 +12,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon convert">text_fields</span>
<span class="tool-header-text" th:text="#{PDFToText.header}"></span>

View File

@ -12,7 +12,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon word">description</span>
<span class="tool-header-text" th:text="#{PDFToWord.header}"></span>

View File

@ -12,7 +12,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon convert">code</span>
<span class="tool-header-text" th:text="#{PDFToXML.header}"></span>

View File

@ -12,7 +12,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon convert">link</span>
<span class="tool-header-text" th:text="#{URLToPDF.header}"></span>

View File

@ -11,7 +11,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon organize">crop</span>
<span class="tool-header-text" th:text="#{crop.header}"></span>

View File

@ -10,7 +10,7 @@
<th:block th:insert="~{fragments/navbar.html :: navbar}"></th:block>
<div class="container">
<div th:insert="~{fragments/errorBanner.html :: errorBanner}"></div>
<div id="bg-card" class="text-center">
<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>

View File

@ -11,7 +11,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon organize">upload</span>
<span class="tool-header-text" th:text="#{pageExtracter.header}"></span>

View File

@ -11,7 +11,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<h2 th:text="#{licenses.header}">3rd Party licenses</h2>
<table class="table table-striped">
<thead>

View File

@ -12,7 +12,7 @@
<br><br>
<div class="container" id="dropContainer">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 "bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon organize">add_to_photos</span>
<span class="tool-header-text" th:text="#{merge.header}"></span>

View File

@ -13,7 +13,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon other">add_photo_alternate</span>
<span class="tool-header-text" th:text="#{addImage.header}"></span>

View File

@ -55,7 +55,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon other">123</span>
<span class="tool-header-text" th:text="#{addPageNumbers.header}"></span>

View File

@ -20,7 +20,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-12" id="bg-card">
<div class="col-md-12 bg-card">
<div class="row justify-content-center">
<div class="col-md-3">
<div id="sliders-container" style="display:none;">

View File

@ -12,7 +12,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon advance">crop</span>
<span class="tool-header-text" th:text="#{autoCrop.header}"></span>

View File

@ -12,7 +12,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon advance">text_fields_alt</span>
<span class="tool-header-text" th:text="#{auto-rename.header}"></span>

View File

@ -11,7 +11,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon other">assignment</span>
<span class="tool-header-text" th:text="#{changeMetadata.header}"></span>

View File

@ -20,7 +20,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-9" id="bg-card">
<div class="col-md-9 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon other">compare</span>
<span class="tool-header-text" th:text="#{compare.header}"></span>

View File

@ -14,7 +14,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon advance">zoom_in_map</span>
<span class="tool-header-text" th:text="#{compress.header}"></span>

View File

@ -12,7 +12,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon advance">scanner</span>
<span class="tool-header-text" th:text="#{home.ScannerImageSplit.title}"></span>

View File

@ -12,7 +12,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon other">photo_library</span>
<span class="tool-header-text" th:text="#{extractImages.header}"></span>

View File

@ -12,7 +12,7 @@
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon other">layers_clear</span>
<span class="tool-header-text" th:text="#{flatten.header}"></span>

View File

@ -34,7 +34,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon other">quick_reference_all</span>
<span class="tool-header-text" th:text="#{ocr.header}"></span>

View File

@ -11,7 +11,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon other">thread_unread</span>
<span class="tool-header-text" th:text="#{removeAnnotations.header}"></span>

View File

@ -11,7 +11,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon other">scan_delete</span>
<span class="tool-header-text" th:text="#{removeBlanks.header}"></span>

View File

@ -11,7 +11,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon advance">build</span>
<span class="tool-header-text" th:text="#{repair.header}"></span>

View File

@ -20,7 +20,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-12" id="bg-card">
<div class="col-md-12 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon advance">javascript</span>
<span class="tool-header-text" th:text="#{showJS.header}"></span>

View File

@ -22,7 +22,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon security">approval</span>
<span class="tool-header-text" th:text="#{AddStampRequest.header}"></span>

View File

@ -11,7 +11,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon organize">dashboard</span>
<span class="tool-header-text" th:text="#{pageLayout.header}"></span>

View File

@ -15,7 +15,7 @@
<div class="container">
<div class="row justify-content-center">
<div class="col-md-12">
<div id="bg-card">
<div class="bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon advance">construction</span>
<span class="tool-header-text" th:text="#{multiTool.header}"></span>

View File

@ -12,7 +12,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon advance">layers</span>
<span class="tool-header-text" th:text="#{overlay-pdfs.header}"></span>

View File

@ -11,7 +11,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon organize">format_list_bulleted</span>
<span class="tool-header-text" th:text="#{pdfOrganiser.header}"></span>

View File

@ -11,7 +11,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon organize">looks_one</span>
<span class="tool-header-text" th:text="#{pdfToSinglePage.header}"></span>

View File

@ -26,7 +26,7 @@
<br /><br />
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon advance">family_history</span>
<span class="tool-header-text" th:text="#{pipeline.header}"></span>

View File

@ -11,7 +11,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon organize">delete</span>
<span class="tool-header-text" th:text="#{pageRemover.header}"></span>

View File

@ -11,7 +11,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon organize">rotate_right</span>
<span class="tool-header-text" th:text="#{rotate.header}"></span>

View File

@ -11,7 +11,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon organize">fullscreen</span>
<span class="tool-header-text" th:text="#{scalePages.header}"></span>

View File

@ -11,7 +11,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon security">lock</span>
<span class="tool-header-text" th:text="#{addPassword.header}"></span>

View File

@ -11,7 +11,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon security">water_drop</span>
<span class="tool-header-text" th:text="#{watermark.header}"></span>

View File

@ -11,7 +11,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon security">ink_eraser</span>
<span class="tool-header-text" th:text="#{autoRedact.header}"></span>

View File

@ -11,7 +11,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon security">workspace_premium</span>
<span class="tool-header-text" th:text="#{certSign.header}"></span>

View File

@ -11,7 +11,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon security">encrypted</span>
<span class="tool-header-text" th:text="#{permissions.header}"></span>

View File

@ -11,7 +11,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon other">info</span>
<span class="tool-header-text" th:text="#{getPdfInfo.header}"></span>

View File

@ -11,7 +11,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon security">lock_open_right</span>
<span class="tool-header-text" th:text="#{removePassword.header}"></span>

View File

@ -11,7 +11,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon security">water_drop</span>
<span class="tool-header-text" th:text="#{remove-watermark.header}"></span>

View File

@ -11,7 +11,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon security">sanitizer</span>
<span class="tool-header-text" th:text="#{sanitizePDF.header}"></span>

View File

@ -29,7 +29,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon sign">signature</span>
<span class="tool-header-text" th:text="#{sign.header}"></span>

View File

@ -12,7 +12,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon advance">vertical_split</span>
<span class="tool-header-text" th:text="#{split-by-size-or-count.header}"></span>

View File

@ -13,7 +13,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon advance">grid_on</span>
<span class="tool-header-text" th:text="#{split-by-sections.header}"></span>

View File

@ -13,7 +13,7 @@
<br><br>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6" id="bg-card">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon organize">cut</span>
<span class="tool-header-text" th:text="#{split.header}"></span>