mirror of
https://github.com/schlagmichdoch/PairDrop.git
synced 2025-04-26 17:56:16 -04:00
Merge branch 'fix-small-issues'
This commit is contained in:
commit
3454eebf37
2 changed files with 29 additions and 12 deletions
|
@ -1978,12 +1978,15 @@ class ReceiveTextDialog extends Dialog {
|
||||||
this._receiveTextQueue = [];
|
this._receiveTextQueue = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
selectionEmpty() {
|
||||||
|
return !window.getSelection().toString()
|
||||||
|
}
|
||||||
|
|
||||||
async _onKeyDown(e) {
|
async _onKeyDown(e) {
|
||||||
if (!this.isShown()) return
|
if (!this.isShown()) return
|
||||||
|
|
||||||
if (e.code === "KeyC" && (e.ctrlKey || e.metaKey)) {
|
if (e.code === "KeyC" && (e.ctrlKey || e.metaKey) && this.selectionEmpty()) {
|
||||||
await this._onCopy()
|
await this._onCopy()
|
||||||
this.hide();
|
|
||||||
}
|
}
|
||||||
else if (e.code === "Escape") {
|
else if (e.code === "Escape") {
|
||||||
this.hide();
|
this.hide();
|
||||||
|
@ -2014,10 +2017,19 @@ class ReceiveTextDialog extends Dialog {
|
||||||
|
|
||||||
// Beautify text if text is short
|
// Beautify text if text is short
|
||||||
if (text.length < 2000) {
|
if (text.length < 2000) {
|
||||||
// replace urls with actual links
|
// replace URLs with actual links
|
||||||
this.$text.innerHTML = this.$text.innerHTML.replace(/((https?:\/\/|www)[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\-._~:\/?#\[\]@!$&'()*+,;=]+)/g, url => {
|
this.$text.innerHTML = this.$text.innerHTML
|
||||||
return `<a href="${url}" target="_blank">${url}</a>`;
|
.replace(/(^|(?<=(<br>|\s)))(https?:\/\/|www.)(([a-z]|[A-Z]|[0-9]|[\-_~:\/?#\[\]@!$&'()*+,;=%]){2,}\.)(([a-z]|[A-Z]|[0-9]|[\-_~:\/?#\[\]@!$&'()*+,;=%.]){2,})/g,
|
||||||
});
|
(url) => {
|
||||||
|
let link = url;
|
||||||
|
|
||||||
|
// prefix www.example.com with http protocol to prevent it from being a relative link
|
||||||
|
if (link.startsWith('www')) {
|
||||||
|
link = "http://" + link
|
||||||
|
}
|
||||||
|
|
||||||
|
return `<a href="${link}" target="_blank">${url}</a>`;
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
this._evaluateOverflowing(this.$text);
|
this._evaluateOverflowing(this.$text);
|
||||||
|
@ -2049,7 +2061,10 @@ class ReceiveTextDialog extends Dialog {
|
||||||
|
|
||||||
hide() {
|
hide() {
|
||||||
super.hide();
|
super.hide();
|
||||||
setTimeout(() => this._dequeueRequests(), 500);
|
setTimeout(() => {
|
||||||
|
this._dequeueRequests();
|
||||||
|
this.$text.innerHTML = "";
|
||||||
|
}, 500);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
max-height: 350px;
|
max-height: 350px;
|
||||||
word-break: break-word;
|
word-break: break-word;
|
||||||
word-wrap: anywhere;
|
word-wrap: anywhere;
|
||||||
|
white-space: pre-wrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
.textarea:before {
|
.textarea:before {
|
||||||
|
@ -335,6 +336,7 @@ x-dialog x-paper {
|
||||||
display: flex;
|
display: flex;
|
||||||
margin: auto;
|
margin: auto;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
width: 100%;
|
||||||
max-width: 450px;
|
max-width: 450px;
|
||||||
z-index: 3;
|
z-index: 3;
|
||||||
border-radius: 30px;
|
border-radius: 30px;
|
||||||
|
@ -382,10 +384,6 @@ x-dialog:not([show]) x-paper {
|
||||||
transform: scale(0.1);
|
transform: scale(0.1);
|
||||||
}
|
}
|
||||||
|
|
||||||
x-dialog a {
|
|
||||||
color: var(--primary-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Pair Devices Dialog & Public Room Dialog */
|
/* Pair Devices Dialog & Public Room Dialog */
|
||||||
|
|
||||||
.input-key-container {
|
.input-key-container {
|
||||||
|
@ -784,7 +782,7 @@ x-dialog x-paper {
|
||||||
background-color: var(--bg-color-secondary) !important;
|
background-color: var(--bg-color-secondary) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.textarea * {
|
.textarea *:not(a) {
|
||||||
margin: 0 !important;
|
margin: 0 !important;
|
||||||
padding: 0 !important;
|
padding: 0 !important;
|
||||||
color: unset !important;
|
color: unset !important;
|
||||||
|
@ -797,6 +795,10 @@ x-dialog x-paper {
|
||||||
font-weight: unset !important;
|
font-weight: unset !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
x-dialog a {
|
||||||
|
color: var(--primary-color);
|
||||||
|
}
|
||||||
|
|
||||||
/* Image/Video/Audio Preview */
|
/* Image/Video/Audio Preview */
|
||||||
.file-preview {
|
.file-preview {
|
||||||
margin-bottom: 15px;
|
margin-bottom: 15px;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue