about and new lib

This commit is contained in:
Mateusz Gruszczyński
2026-08-15 23:20:20 +02:00
parent d4e64f4e50
commit 3dcb2c0829
7 changed files with 66 additions and 13 deletions
Generated
+1 -1
View File
@@ -2581,7 +2581,7 @@ dependencies = [
[[package]] [[package]]
name = "rustpad" name = "rustpad"
version = "0.2.52" version = "0.2.53"
dependencies = [ dependencies = [
"argon2", "argon2",
"aws-config", "aws-config",
+1 -1
View File
@@ -1,6 +1,6 @@
[package] [package]
name = "rustpad" name = "rustpad"
version = "0.2.52" version = "0.2.53"
edition = "2024" edition = "2024"
rust-version = "1.94" rust-version = "1.94"
description = "Collaborative Markdown notepad built with Axum, WebSockets and SQLite, PostgreSQL and MySQL" description = "Collaborative Markdown notepad built with Axum, WebSockets and SQLite, PostgreSQL and MySQL"
+2 -2
View File
@@ -5,7 +5,7 @@ it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License. the Free Software Foundation, either version 3 of the License.
COMMERCIAL LICENSE NOTICE: COMMERCIAL LICENSE NOTICE:
Commercial use in proprietary applications (including by [NAZWA FIRMY]) Commercial use in proprietary applications (including by linuxiarz.pl Mateusz Gruszczyński)
is not permitted under GPLv3 without an explicit Commercial License Agreement. is not permitted under GPLv3 without an explicit Commercial License Agreement.
To purchase a commercial license, contact: linuxiarz<at>>linuxiarz.pl Contact: linuxiarz<at>>linuxiarz.pl
+5 -5
View File
@@ -1,12 +1,12 @@
{ {
"libraries": { "libraries": {
"highlight": { "highlight": {
"integrity": "sha512-VEPdHzwelZ12hEX18BHduqxMZGolcUsrbeokHYxOUIm8X2+M7nx5QPtPeQgRxR9XjhdLv4/7DD5BWOlSrJ3k7Q==", "integrity": "sha384-wjfDDhOPPdjtva8vWBhWeVprSpmxisEu5aYT3q1JyACqXpdKpo3PWZTMVq24MBix",
"package": "@highlightjs/cdn-assets", "package": "@highlightjs/cdn-assets",
"repository": "git://github.com/highlightjs/highlight.js.git", "repository": "git://github.com/highlightjs/highlight.js.git",
"shasum": "136984ae467865e22080b3a4b65398a086e1ae7b", "shasum": "",
"tarball": "https://registry.npmjs.org/@highlightjs/cdn-assets/-/cdn-assets-11.11.1.tgz", "tarball": "https://cdn.jsdelivr.net/npm/@highlightjs/cdn-assets@11.12.0/highlight.min.js",
"version": "11.11.1" "version": "11.12.0"
}, },
"mermaid": { "mermaid": {
"integrity": "sha512-TQsq6u22fAn3rek5VOubrhKPo1g5hwC3FXUN9hiyupTckcYiGuuKGkNQrKYwGJkXUxZdojwRG46gsSCFZMDp4g==", "integrity": "sha512-TQsq6u22fAn3rek5VOubrhKPo1g5hwC3FXUN9hiyupTckcYiGuuKGkNQrKYwGJkXUxZdojwRG46gsSCFZMDp4g==",
@@ -18,4 +18,4 @@
} }
}, },
"schema": 1 "schema": 1
} }
+26 -2
View File
@@ -3433,7 +3433,7 @@ dialog::backdrop {
display: none; display: none;
} }
.home-footer__author { .home-footer__about {
margin-left: auto; margin-left: auto;
} }
@@ -3574,6 +3574,29 @@ dialog::backdrop {
margin: 0; margin: 0;
} }
.about-content {
display: grid;
gap: 16px;
color: var(--dialog-text);
font-size: .82rem;
line-height: 1.55;
}
.about-content p {
margin: 0;
}
.about-content a {
color: var(--accent-text-strong);
overflow-wrap: anywhere;
}
.about-license {
display: grid;
gap: 10px;
padding-top: 2px;
}
.identity-fields { .identity-fields {
display: grid; display: grid;
gap: 14px; gap: 14px;
@@ -3642,8 +3665,9 @@ dialog::backdrop {
text-align: center; text-align: center;
} }
.home-footer__author { .home-footer__about {
margin-left: 0; margin-left: 0;
align-self: center;
} }
.identity-panel { .identity-panel {
+26 -2
View File
@@ -86,11 +86,35 @@
<button id="footer-profile" class="footer-action" type="button">Profile</button> <button id="footer-profile" class="footer-action" type="button">Profile</button>
<button id="footer-logout" class="footer-action" type="button">Log out</button> <button id="footer-logout" class="footer-action" type="button">Log out</button>
</div> </div>
<span class="home-footer__author">Author: <a href="https://www.linuxiarz.pl" <button id="footer-about" class="footer-action home-footer__about" type="button">About</button>
rel="author noopener">@linuxiarz.pl</a></span>
</div> </div>
</footer> </footer>
<dialog id="about-dialog" class="app-dialog">
<div class="dialog-panel identity-panel about-panel">
<button id="close-about" class="modal-close" type="button" aria-label="Close dialog">×</button>
<header class="identity-panel__header">
<h2>About</h2>
<p class="dialog-copy">RustPad project information and licensing.</p>
</header>
<div class="about-content">
<p><strong>Author <br>Mateusz Gruszczynski </strong><br><a href="https://www.linuxiarz.pl" rel="author noopener"
target="_blank">@linuxiarz.pl</a></p>
<p><strong>Git repository</strong><br><a href="https://git.linuxiarz.pl/gru/rustpad" rel="noopener"
target="_blank">https://git.linuxiarz.pl/gru/rustpad</a></p>
<div class="about-license">
<strong>Licence</strong>
<p>Copyright (C) 2026 Mateusz Gruszczyński @linuxiarz.pl</p>
<p>This program is free software: you can redistribute it and/or modify it under the terms of the GNU General
Public License as published by the Free Software Foundation, either version 3 of the License.</p>
<p><strong>COMMERCIAL LICENSE NOTICE:</strong> Commercial use in proprietary applications (including by
linuxiarz.pl Mateusz Gruszczyński) is not permitted under GPLv3 without an explicit Commercial License
Agreement. <br>Contact: linuxiarz&lt;at&gt;linuxiarz.pl</p>
</div>
</div>
</div>
</dialog>
<dialog id="identity-dialog" class="app-dialog"> <dialog id="identity-dialog" class="app-dialog">
<form id="identity-form" autocomplete="on" class="dialog-panel identity-panel"> <form id="identity-form" autocomplete="on" class="dialog-panel identity-panel">
<button id="close-identity" class="modal-close" type="button" aria-label="Close dialog">×</button> <button id="close-identity" class="modal-close" type="button" aria-label="Close dialog">×</button>
+5
View File
@@ -113,6 +113,7 @@ const resourcesPagination = document.querySelector("#resources-pagination");
let resourcesPage = 1; let resourcesPage = 1;
let resourcesSearchTimer; let resourcesSearchTimer;
const profileDialog = document.querySelector("#profile-dialog"); const profileDialog = document.querySelector("#profile-dialog");
const aboutDialog = document.querySelector("#about-dialog");
const profileForm = document.querySelector("#profile-form"); const profileForm = document.querySelector("#profile-form");
let currentSession = null; let currentSession = null;
@@ -405,6 +406,10 @@ function renderAccount(session) {
registerLink.hidden = !registrationEnabled; registerLink.hidden = !registrationEnabled;
} }
document.querySelector("#footer-about")?.addEventListener("click", () => aboutDialog?.showModal());
document.querySelector("#close-about")?.addEventListener("click", () => aboutDialog?.close());
aboutDialog?.addEventListener("click", event => { if (event.target === aboutDialog) aboutDialog.close(); });
if (identityDialog) { if (identityDialog) {
const authDialog = bindIdentityDialog({ const authDialog = bindIdentityDialog({
dialog: identityDialog, dialog: identityDialog,