favorites beta

This commit is contained in:
Flummi
2022-01-01 02:17:31 +01:00
parent e2411aeec0
commit e1bc2c269a
8 changed files with 109 additions and 10 deletions

View File

@ -294,7 +294,7 @@ html[theme="atmos"] {
html[theme="term"] {
--accent: #00DF00;
--bg: #040404;
--bg: #000;
--black: #000;
--white: #fff;
--gray: #262626;
@ -333,6 +333,11 @@ html[theme="term"] .metadata {
text-shadow: 0px 0px 1px var(--accent), 1px 0px 2px var(--accent), 0px 0px 5px var(--black);
}
html[theme="term"] .metadata > .badge-dark, #themeselector {
box-shadow: var(--pagination-anchor-box-shadow);
background-image: linear-gradient(to bottom,var(--nav-link-background-linear-gradient));
}
html[theme="iced"] {
--accent: #0084ff;
--bg: #031c35;
@ -359,7 +364,7 @@ html[theme="iced"] {
--pagination-anchor-box-shadow: inset 0 0 0 1px rgba(255,255,255,.04),inset 0 1px rgba(255,255,255,.04),inset 0 -1px rgba(0,0,0,.15),0 1px 1px rgba(0,0,0,.1);
--pagination-background-hover: #0a3f53;
--pagination-border-color: rgba(0,0,0,.8) rgba(0,0,0,.65) rgba(0,0,0,.5);
--metadata-bg: #111d37;
--metadata-bg: #000e1a;
--badge-bg: #091f39;
--posts-meta-bg: #000000b8;
--badge-sfw: #07866e;
@ -1035,6 +1040,7 @@ span#tags:empty {
padding-left: 5px;
padding-top: 1.5px;
padding-bottom: 1.5px;
box-shadow: var(--pagination-anchor-box-shadow);
}
.badge-greentext {
color: #789922;
@ -1307,6 +1313,7 @@ div#footbar {
margin-top: -30px;
transition: .2s ease-in-out;
user-select: none;
color: transparent;
}
/* avatar */
@ -1469,5 +1476,21 @@ table.table tbody tr:nth-of-type(even) {
}
.timeago:hover {
cursor: pointer; /* absoluter shit */
}
/* buttons */
svg.iconset {
display: inline-block;
height: 14px;
width: 14px;
vertical-align: sub;
cursor: pointer;
}
}
/* favorites */
span#favs {
text-align: left;
margin-left: 10px;
grid-column: 1/4;
}

10
public/s/img/iconset.svg Normal file
View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg">
<!-- Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) -->
<defs>
<symbol style="fill: var(--accent)" id="heart_regular" viewBox="0 0 512 512"><path d="M458.4 64.3C400.6 15.7 311.3 23 256 79.3 200.7 23 111.4 15.6 53.6 64.3-21.6 127.6-10.6 230.8 43 285.5l175.4 178.7c10 10.2 23.4 15.9 37.6 15.9 14.3 0 27.6-5.6 37.6-15.8L469 285.6c53.5-54.7 64.7-157.9-10.6-221.3zm-23.6 187.5L259.4 430.5c-2.4 2.4-4.4 2.4-6.8 0L77.2 251.8c-36.5-37.2-43.9-107.6 7.3-150.7 38.9-32.7 98.9-27.8 136.5 10.5l35 35.7 35-35.7c37.8-38.5 97.8-43.2 136.5-10.6 51.1 43.1 43.5 113.9 7.3 150.8z"/></symbol>
<symbol style="fill: var(--accent)" id="heart_solid" viewBox="0 0 512 512"><path d="M462.3 62.6C407.5 15.9 326 24.3 275.7 76.2L256 96.5l-19.7-20.3C186.1 24.3 104.5 15.9 49.7 62.6c-62.8 53.6-66.1 149.8-9.9 207.9l193.5 199.8c12.5 12.9 32.8 12.9 45.3 0l193.5-199.8c56.3-58.1 53-154.3-9.8-207.9z"/></symbol>
<symbol id="cross" viewBox="0 0 512 512"><path d="M53.6,62.3 L458.4,458.4 M458.4,62.3 L53.6,458.4" style="stroke-linecap: round;stroke-width: 60;stroke: var(--accent);"/></symbol>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -199,10 +199,26 @@ const flash = ({ type, msg }) => {
}
};
const toggleFavEvent = async e => {
const res = await (await fetch(`/api/v2/admin/togglefav/${postid}`)).json();
if(res.success) {
const fav = document.querySelector("svg#a_favo > use").href;
fav.baseVal = '/s/img/iconset.svg#heart_' + (fav.baseVal.match(/heart_(regular|solid)$/)[1] == "solid" ? "regular" : "solid");
// span#favs
const favcontainer = document.querySelector('span#favs');
favcontainer.innerHTML = "favorites:" + JSON.stringify(Object.values(res.favs));
}
else {
// lul
}
};
_addtag.addEventListener("click", addtagClick);
document.querySelector("a#a_toggle").addEventListener("click", toggleEvent);
[...document.querySelectorAll("#tags > .badge > a:last-child")].map(t => t.addEventListener("click", deleteEvent));
document.querySelector("a#a_delete").addEventListener("click", deleteButtonEvent);
document.querySelector("svg#a_delete").addEventListener("click", deleteButtonEvent);
document.querySelector("svg#a_favo").addEventListener("click", toggleFavEvent);
document.addEventListener("keyup", e => {
if(e.target.tagName === "INPUT")