Skip to content

Commit 887381c

Browse files
committed
- playing around with the spotify API
1 parent 8642975 commit 887381c

File tree

1 file changed

+48
-21
lines changed

1 file changed

+48
-21
lines changed

tools/spotify_test.html

Lines changed: 48 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -27,16 +27,30 @@
2727
background: white;
2828
padding: 10px;
2929
margin: 10px;
30+
page-break-inside: avoid;
31+
}
32+
33+
.card-page {
34+
display: grid;
35+
grid-template-columns: repeat(3, 1fr);
36+
gap: 20px;
37+
padding: 20px;
38+
page-break-after: always;
3039
}
3140

3241
.qr-container {
3342
display: flex;
3443
justify-content: center;
35-
margin-bottom: 10px;
44+
height: 100%;
45+
align-items: center;
3646
}
3747

3848
.metadata {
3949
text-align: center;
50+
height: 100%;
51+
display: flex;
52+
flex-direction: column;
53+
justify-content: center;
4054
}
4155

4256
.metadata .year {
@@ -159,32 +173,33 @@
159173
}));
160174
}
161175

162-
function createQRCard(track) {
176+
function createQRCard(track, isQRSide) {
163177
const card = document.createElement('div');
164178
card.className = 'card';
165179

166-
const qrContainer = document.createElement('div');
167-
qrContainer.className = 'qr-container';
168-
qrContainer.id = `qr-${track.id}`;
169-
170-
const metadata = document.createElement('div');
171-
metadata.className = 'metadata';
172-
metadata.innerHTML = `
180+
if (isQRSide) {
181+
const qrContainer = document.createElement('div');
182+
qrContainer.className = 'qr-container';
183+
qrContainer.id = `qr-${track.id}`;
184+
card.appendChild(qrContainer);
185+
186+
new QRCode(qrContainer, {
187+
text: `https://www.gptgames.dev/tools/spotify_test.html?track=${track.id}`,
188+
width: 220,
189+
height: 220,
190+
colorDark: "#000000",
191+
colorLight: "#ffffff",
192+
});
193+
} else {
194+
const metadata = document.createElement('div');
195+
metadata.className = 'metadata';
196+
metadata.innerHTML = `
173197
<h3 class="title">${track.name}</h3>
174198
<p class="artist">${track.artist}</p>
175199
<p class="year">${track.year}</p>
176200
`;
177-
178-
card.appendChild(qrContainer);
179-
card.appendChild(metadata);
180-
181-
new QRCode(qrContainer, {
182-
text: `https://www.gptgames.dev/tools/spotify_test.html?track=${track.id}`,
183-
width: 220,
184-
height: 220,
185-
colorDark: "#000000",
186-
colorLight: "#ffffff",
187-
});
201+
card.appendChild(metadata);
202+
}
188203

189204
return card;
190205
}
@@ -202,9 +217,21 @@ <h3 class="title">${track.name}</h3>
202217
const printArea = document.getElementById('printArea');
203218
printArea.innerHTML = '';
204219

220+
// Create QR code page
221+
const qrPage = document.createElement('div');
222+
qrPage.className = 'card-page';
223+
tracks.slice(0, 21).forEach(track => {
224+
qrPage.appendChild(createQRCard(track, true));
225+
});
226+
printArea.appendChild(qrPage);
227+
228+
// Create metadata page
229+
const metadataPage = document.createElement('div');
230+
metadataPage.className = 'card-page';
205231
tracks.slice(0, 21).forEach(track => {
206-
printArea.appendChild(createQRCard(track));
232+
metadataPage.appendChild(createQRCard(track, false));
207233
});
234+
printArea.appendChild(metadataPage);
208235

209236
setTimeout(() => {
210237
window.print();

0 commit comments

Comments
 (0)