Skip to content

Commit d87d818

Browse files
committed
New Featured Skins/Heads,
FA,
1 parent a018204 commit d87d818

8 files changed

Lines changed: 126 additions & 15 deletions

File tree

214 Bytes
Loading
2.51 KB
Loading

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "nitrocraft",
3-
"version": "1.1.6",
3+
"version": "1.1.8",
44
"private": false,
55
"type": "module",
66
"scripts": {

public/javascript/nitrocraft.js

Lines changed: 66 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -535,6 +535,59 @@ document.addEventListener("DOMContentLoaded", function() {
535535
sdkSnippetCode.textContent = snippet;
536536
}
537537

538+
function setCodeCopyButtonState(button, state) {
539+
if (!button) {
540+
return;
541+
}
542+
543+
var icon = button.querySelector(".fa-solid");
544+
button.classList.remove("is-copied");
545+
button.classList.remove("is-error");
546+
547+
if (state === "copied") {
548+
button.classList.add("is-copied");
549+
button.setAttribute("aria-label", "Copied endpoint");
550+
if (icon) {
551+
icon.className = "fa-solid fa-check";
552+
}
553+
return;
554+
}
555+
556+
if (state === "error") {
557+
button.classList.add("is-error");
558+
button.setAttribute("aria-label", "Copy failed");
559+
if (icon) {
560+
icon.className = "fa-solid fa-clipboard";
561+
}
562+
return;
563+
}
564+
565+
button.setAttribute("aria-label", "Copy endpoint");
566+
if (icon) {
567+
icon.className = "fa-solid fa-clipboard";
568+
}
569+
}
570+
571+
function clearCodeCopyButtonReset(button) {
572+
if (!button || !button.dataset) {
573+
return;
574+
}
575+
var existingTimer = Number(button.dataset.resetTimer || "0");
576+
if (existingTimer) {
577+
window.clearTimeout(existingTimer);
578+
}
579+
delete button.dataset.resetTimer;
580+
}
581+
582+
function scheduleCodeCopyButtonReset(button) {
583+
clearCodeCopyButtonReset(button);
584+
var timer = window.setTimeout(function() {
585+
setCodeCopyButtonState(button, "idle");
586+
clearCodeCopyButtonReset(button);
587+
}, 1200);
588+
button.dataset.resetTimer = String(timer);
589+
}
590+
538591
function setupCodeCopyButtons() {
539592
for (var c = 0; c < codeBlocks.length; c++) {
540593
var block = codeBlocks[c];
@@ -547,12 +600,20 @@ document.addEventListener("DOMContentLoaded", function() {
547600
button.type = "button";
548601
button.className = "code-copy";
549602
button.setAttribute("aria-label", "Copy endpoint");
550-
button.textContent = "Copy";
603+
604+
var icon = document.createElement("i");
605+
icon.className = "fa-solid fa-clipboard";
606+
icon.setAttribute("aria-hidden", "true");
607+
button.appendChild(icon);
608+
609+
setCodeCopyButtonState(button, "idle");
551610
block.appendChild(button);
552611

553612
button.addEventListener("click", function(e) {
554613
e.preventDefault();
555614
var currentButton = this;
615+
clearCodeCopyButtonReset(currentButton);
616+
setCodeCopyButtonState(currentButton, "idle");
556617
var source = currentButton.parentNode;
557618
if (!source) {
558619
return;
@@ -567,15 +628,11 @@ document.addEventListener("DOMContentLoaded", function() {
567628
return;
568629
}
569630
copyToClipboard(text).then(function() {
570-
currentButton.textContent = "Copied";
571-
window.setTimeout(function() {
572-
currentButton.textContent = "Copy";
573-
}, 1200);
631+
setCodeCopyButtonState(currentButton, "copied");
632+
scheduleCodeCopyButtonReset(currentButton);
574633
}).catch(function() {
575-
currentButton.textContent = "Error";
576-
window.setTimeout(function() {
577-
currentButton.textContent = "Copy";
578-
}, 1200);
634+
setCodeCopyButtonState(currentButton, "error");
635+
scheduleCodeCopyButtonReset(currentButton);
579636
});
580637
});
581638
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
@font-face {
2+
font-family: "Font Awesome 6 Free";
3+
font-style: normal;
4+
font-weight: 900;
5+
font-display: block;
6+
src: url("/vendor/fontawesome/webfonts/fa-solid-900.woff2") format("woff2");
7+
}
8+
9+
.fa-solid {
10+
display: inline-block;
11+
font-family: "Font Awesome 6 Free";
12+
font-style: normal;
13+
font-variant: normal;
14+
font-weight: 900;
15+
line-height: 1;
16+
text-rendering: auto;
17+
-webkit-font-smoothing: antialiased;
18+
-moz-osx-font-smoothing: grayscale;
19+
}
20+
21+
.fa-clipboard::before {
22+
content: "\f0ea";
23+
}
24+
25+
.fa-check::before {
26+
content: "\f00c";
27+
}

public/stylesheets/style.css

Lines changed: 30 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -309,21 +309,27 @@ code {
309309
}
310310

311311
.code.with-copy {
312-
padding-right: 4.8rem;
312+
padding-right: 3.1rem;
313313
}
314314

315315
.code-copy {
316316
position: absolute;
317-
top: 0.44rem;
318-
right: 0.45rem;
317+
top: 0.42rem;
318+
right: 0.42rem;
319+
width: 2rem;
320+
height: 2rem;
321+
display: inline-flex;
322+
align-items: center;
323+
justify-content: center;
319324
border: 1px solid rgba(var(--docs-accent-rgb), 0.42);
320325
border-radius: 999px;
321326
background: rgba(8, 14, 27, 0.92);
322327
color: var(--docs-text);
323-
font-size: 0.74rem;
328+
font-size: 0.86rem;
324329
line-height: 1;
325-
padding: 0.3rem 0.55rem;
330+
padding: 0;
326331
cursor: pointer;
332+
transition: border-color 120ms ease, background-color 120ms ease, color 120ms ease;
327333
}
328334

329335
.code-copy:hover {
@@ -336,6 +342,22 @@ code {
336342
outline-offset: 2px;
337343
}
338344

345+
.code-copy .fa-solid {
346+
pointer-events: none;
347+
}
348+
349+
.code-copy.is-copied {
350+
border-color: rgba(34, 197, 94, 0.72);
351+
background: rgba(6, 33, 17, 0.92);
352+
color: #4ade80;
353+
}
354+
355+
.code-copy.is-error {
356+
border-color: rgba(248, 113, 113, 0.7);
357+
background: rgba(38, 11, 11, 0.92);
358+
color: #fca5a5;
359+
}
360+
339361
.jumbotron {
340362
width: min(1380px, calc(100% - 2rem));
341363
margin: 1rem auto 0;
@@ -903,6 +925,9 @@ footer#footer .container.row {
903925
.avatar.u26bz {background-image: url("/avatars/15851079f1d24d418207ce9f914e966d?size=64")}
904926
.avatar.u26bz:hover {background-image: url("/avatars/15851079f1d24d418207ce9f914e966d?size=64&overlay")}
905927

928+
.avatar.connols {background-image: url("/avatars/5e23737cc1994b7ab18512ca6bd7da94?size=64")}
929+
.avatar.connols:hover {background-image: url("/avatars/5e23737cc1994b7ab18512ca6bd7da94?size=64&overlay")}
930+
906931
.avatar.jake_0 {background-image: url("/avatars/2d5aa9cdaeb049189930461fc9b91cc5?size=64")}
907932
.avatar.jake_0:hover {background-image: url("/avatars/2d5aa9cdaeb049189930461fc9b91cc5?size=64&overlay")}
908933

155 KB
Binary file not shown.

src/routes/index.get.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,7 @@ export default defineEventHandler((event) => {
142142
<link rel="icon" type="image/x-icon" href="/NitroCraft.ico">
143143
<link rel="apple-touch-icon" href="/NitroCraft.png">
144144
<link rel="manifest" href="/site.webmanifest">
145+
<link rel="stylesheet" href="/stylesheets/fontawesome-local.css">
145146
<link rel="stylesheet" href="/stylesheets/style.css">
146147
<meta name="description" content="${metaDescription}">
147148
<meta name="keywords" content="minecraft, avatar, renders, skins, uuid, nitrocraft">
@@ -194,6 +195,7 @@ export default defineEventHandler((event) => {
194195
<button type="button" class="avatar-picker is-active" data-uuid="ae795aa86327408e92ab25c8a59f3ba1" title="jomo" aria-label="Use jomo UUID"><span class="avatar jomo"></span></button>
195196
<button type="button" class="avatar-picker" data-pinned="true" data-uuid="d634462bd663401d9788a8596307bc4d" title="RepGraphics" aria-label="Use RepGraphics UUID"><span class="avatar repgraphics"></span></button>
196197
<button type="button" class="avatar-picker" data-pinned="true" data-uuid="15851079f1d24d418207ce9f914e966d" title="26bz" aria-label="Use 26bz UUID"><span class="avatar u26bz"></span></button>
198+
<button type="button" class="avatar-picker" data-pinned="true" data-uuid="5e23737cc1994b7ab18512ca6bd7da94" title="Connols" aria-label="Use Connols UUID"><span class="avatar connols"></span></button>
197199
<button type="button" class="avatar-picker" data-uuid="2d5aa9cdaeb049189930461fc9b91cc5" title="jake_0" aria-label="Use jake_0 UUID"><span class="avatar jake_0"></span></button>
198200
<button type="button" class="avatar-picker" data-uuid="0ea8eca3dbf647cc9d1ac64551ca975c" title="sk89q" aria-label="Use sk89q UUID"><span class="avatar sk89q"></span></button>
199201
<button type="button" class="avatar-picker" data-uuid="af74a02d19cb445bb07f6866a861f783" title="md_5" aria-label="Use md_5 UUID"><span class="avatar md_5"></span></button>

0 commit comments

Comments
 (0)