+23
-4
Index.html
+23
-4
Index.html
···
21
import {
22
CompositeHandleResolver,
23
DohJsonHandleResolver,
24
-
WellKnownHandleResolver
25
} from 'https://esm.sh/@atcute/identity-resolver';
26
27
const handleResolver = new CompositeHandleResolver({
···
33
});
34
35
window.resolveHandle = async (handle) => await handleResolver.resolve(handle);
36
37
</script>
38
···
194
// Randomly select winners
195
for (let i = 0; i < winnerCount; i++) {
196
const randomIndex = Math.floor(Math.random() * uniqueDids.length);
197
-
this.winners.push(uniqueDids[randomIndex]);
198
// Remove the winner to avoid duplicates
199
uniqueDids.splice(randomIndex, 1);
200
}
···
284
<ul class="list-disc pl-5">
285
<template x-for="winner in winners">
286
<li class="mb-1">
287
-
<span x-text="winner"></span>
288
</li>
289
</template>
290
</ul>
···
298
</div>
299
</body>
300
</html>
301
-
···
21
import {
22
CompositeHandleResolver,
23
DohJsonHandleResolver,
24
+
WellKnownHandleResolver,
25
+
CompositeDidDocumentResolver,
26
+
PlcDidDocumentResolver,
27
+
WebDidDocumentResolver
28
} from 'https://esm.sh/@atcute/identity-resolver';
29
30
const handleResolver = new CompositeHandleResolver({
···
36
});
37
38
window.resolveHandle = async (handle) => await handleResolver.resolve(handle);
39
+
40
+
const docResolver = new CompositeDidDocumentResolver({
41
+
methods: {
42
+
plc: new PlcDidDocumentResolver(),
43
+
web: new WebDidDocumentResolver(),
44
+
},
45
+
});
46
+
47
+
window.resolveDidDocument = async (did) => await docResolver.resolve(did);
48
49
</script>
50
···
206
// Randomly select winners
207
for (let i = 0; i < winnerCount; i++) {
208
const randomIndex = Math.floor(Math.random() * uniqueDids.length);
209
+
try {
210
+
const didDoc = await window.resolveDidDocument(uniqueDids[randomIndex]);
211
+
const handle = didDoc.alsoKnownAs[0].replace("at://", "") ?? uniqueDids[randomIndex];
212
+
this.winners.push(handle);
213
+
} catch (e) {
214
+
console.log(e);
215
+
this.winners.push(uniqueDids[randomIndex]);
216
+
}
217
+
218
// Remove the winner to avoid duplicates
219
uniqueDids.splice(randomIndex, 1);
220
}
···
304
<ul class="list-disc pl-5">
305
<template x-for="winner in winners">
306
<li class="mb-1">
307
+
<a class="link" x-bind:href="`https://bsky.app/profile/${winner}`" x-text="winner"></a>
308
</li>
309
</template>
310
</ul>
···
318
</div>
319
</body>
320
</html>
+2
-2
README.md
+2
-2
README.md