aboutsummaryrefslogtreecommitdiff
path: root/static
diff options
context:
space:
mode:
Diffstat (limited to 'static')
-rw-r--r--static/fluoride.js34
-rw-r--r--static/style.css51
2 files changed, 62 insertions, 23 deletions
diff --git a/static/fluoride.js b/static/fluoride.js
index c7f3109..e6624d1 100644
--- a/static/fluoride.js
+++ b/static/fluoride.js
@@ -152,6 +152,7 @@ function replyToLinkLocal(a) {
var copy = status.cloneNode(true);
copy.id = "reply-to-popup";
var ract = event.target.getBoundingClientRect();
+ copy.style["max-width"] = (window.innerWidth - ract.left - 32) + "px";
if (ract.top > window.innerHeight / 2) {
copy.style.bottom = (window.innerHeight -
window.scrollY - ract.top) + "px";
@@ -245,6 +246,7 @@ function handleReplyLink(a) {
var copy = status.cloneNode(true);
copy.id = "reply-popup";
var ract = event.target.getBoundingClientRect();
+ copy.style["max-width"] = (window.innerWidth - 98) + "px";
if (ract.left > window.innerWidth / 2) {
copy.style.right = (window.innerWidth -
ract.right - 12) + "px";
@@ -298,20 +300,24 @@ function setPos(el, cx, cy, mw, mh) {
}
var imgPrev = null;
+var imgX = 0;
+var imgY = 0;
function handleImgPreview(a) {
a.onmouseenter = function(e) {
var mw = document.documentElement.clientWidth;
var mh = document.documentElement.clientHeight - 24;
+ imgX = e.clientX;
+ imgY = e.clientY;
var img = document.createElement("img");
img.id = "img-preview";
img.src = e.target.getAttribute("href");
img.style["max-width"] = mw + "px";
img.style["max-height"] = mh + "px";
+ imgPrev = img;
img.onload = function(e2) {
- setPos(e2.target, e.clientX, e.clientY, mw, mh);
+ setPos(imgPrev, imgX, imgY, mw, mh);
}
document.body.appendChild(img);
- imgPrev = img;
}
a.onmouseleave = function(e) {
var img = document.getElementById("img-preview");
@@ -324,8 +330,24 @@ function handleImgPreview(a) {
return;
var mw = document.documentElement.clientWidth;
var mh = document.documentElement.clientHeight - 24;
- setPos(imgPrev, e.clientX, e.clientY, mw, mh);
+ imgX = e.clientX;
+ imgY = e.clientY;
+ setPos(imgPrev, imgX, imgY, mw, mh);
+ }
+}
+
+function onPaste(e) {
+ if (!e.clipboardData.files)
+ return;
+ var fp = document.querySelector("#post-file-picker")
+ var dt = new DataTransfer();
+ for (var i = 0; i < fp.files.length; i++) {
+ dt.items.add(fp.files[i]);
}
+ for (var i = 0; i < e.clipboardData.files.length; i++) {
+ dt.items.add(e.clipboardData.files[i]);
+ }
+ fp.files = dt.files;
}
document.addEventListener("DOMContentLoaded", function() {
@@ -357,7 +379,7 @@ document.addEventListener("DOMContentLoaded", function() {
}
}
- var links = document.querySelectorAll(".user-profile-decription a");
+ var links = document.querySelectorAll(".user-profile-decription a, .user-fields a");
for (var j = 0; j < links.length; j++) {
links[j].target = "_blank";
}
@@ -366,6 +388,10 @@ document.addEventListener("DOMContentLoaded", function() {
for (var j = 0; j < links.length; j++) {
handleImgPreview(links[j]);
}
+
+ var pf = document.querySelector(".post-form")
+ if (pf)
+ pf.addEventListener("paste", onPaste);
});
// @license-end
diff --git a/static/style.css b/static/style.css
index cd7e98c..19cceab 100644
--- a/static/style.css
+++ b/static/style.css
@@ -194,11 +194,14 @@ textarea {
border-color: #777777;
}
-.notification-container.favourite .status-container,
-.notification-container.reblog .status-container {
+.notification-container .status-container {
opacity: 0.6;
}
+.notification-container.mention .status-container {
+ opacity: unset;
+}
+
.notification-info-text span {
vertical-align: middle;
}
@@ -277,7 +280,8 @@ textarea {
margin-top: 2px;
}
-.user-profile-decription {
+.user-profile-decription,
+.user-fields {
overflow-wrap: break-word;
margin: 8px 0;
}
@@ -286,10 +290,22 @@ textarea {
margin: 0;
}
+.user-profile-decription img {
+ height: auto;
+ width: auto;
+ max-height: 240px;
+ max-width: 280px;
+ object-fit: contain;
+}
+
.d-inline {
display: inline;
}
+.p-0 {
+ padding: 0;
+}
+
.btn-link {
border: none;
outline: none;
@@ -354,10 +370,6 @@ a:hover,
display: none;
}
-.post-form-field>* {
- vertical-align: middle;
-}
-
.emoji-item-container {
width: 220px;
display: inline-block;
@@ -422,9 +434,6 @@ img.emoji {
margin-right: 2px;
}
-.user-list-container {
-}
-
.user-list-item {
overflow: auto;
margin: 0 0 12px 0;
@@ -441,6 +450,10 @@ img.emoji {
overflow: auto;
}
+.user-list-action {
+ margin: 0 12px;
+}
+
#settings-form {
margin: 8px 0;
}
@@ -449,10 +462,6 @@ img.emoji {
margin: 4px 0;
}
-.settings-form-field>* {
- vertical-align: middle;
-}
-
#settings-form button[type=submit] {
margin-top: 8px;
}
@@ -517,16 +526,16 @@ img.emoji {
margin-top: 6px;
}
-.notification-title-container {
+.page-title-container {
margin: 8px 0;
}
-.notification-text {
- vertical-align: middle;
+.page-refresh {
+ margin-right: 8px;
}
-.notification-refresh {
- margin-right: 8px;
+.notification-text {
+ vertical-align: middle;
}
.notification-read {
@@ -575,6 +584,10 @@ kbd {
position: fixed;
}
+.quote {
+ color: #789922;
+}
+
.dark {
background-color: #222222;
background-image: none;