Skip to content

Commit 10af568

Browse files
author
Andrew Marcuse
committed
Asciify demo
1 parent d6a7ab1 commit 10af568

File tree

1 file changed

+58
-2
lines changed

1 file changed

+58
-2
lines changed

src/asciify.ts

Lines changed: 58 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,59 @@
11
import './style.css'
22
import { renderHeader } from './components/header.ts'
33

4+
const demoSamples = [
5+
'French (Latin): René François Lacôte',
6+
'German (Latin): Blöße',
7+
'Vietnamese (Latin): Trần Hưng Đạo',
8+
'Norwegian (Latin): Nærøy',
9+
'Ancient Greek (Greek): Φειδιππίδης',
10+
'Modern Greek (Greek): Δημήτρης Φωτόπουλος',
11+
'Russian (Cyrillic): Борис Николаевич Ельцин',
12+
'Ukrainian (Cyrillic): Володимир Горбулін',
13+
'Bulgarian (Cyrillic): Търговище',
14+
'Mandarin Chinese (Han): 深圳',
15+
'Cantonese Chinese (Han): 深水埗',
16+
'Korean (Hangul): 화성시',
17+
'Korean (Han): 華城市',
18+
'Japanese (Hiragana): さいたま',
19+
'Japanese (Han): 埼玉県',
20+
'Amharic (Ethiopic): ደብረ ዘይት',
21+
'Tigrinya (Ethiopic): ደቀምሓረ',
22+
'Arabic: دمنهور',
23+
'Armenian: Աբովյան',
24+
'Georgian: სამტრედია',
25+
'Hebrew: אברהם הלוי פרנקל',
26+
'Unified English Braille (Braille): ⠠⠎⠁⠽⠀⠭⠀⠁⠛',
27+
'Bengali: ময়মনসিংহ',
28+
'Burmese (Myanmar): ထန်တလန်',
29+
'Gujarati: પોરબંદર',
30+
'Hindi (Devanagari): महासमुंद',
31+
'Kannada: ಬೆಂಗಳೂರು',
32+
'Khmer: សៀមរាប',
33+
'Lao: ສະຫວັນນະເຂດ',
34+
'Malayalam: കളമശ്ശേരി',
35+
'Odia: ଗଜପତି',
36+
'Punjabi (Gurmukhi): ਜਲੰਧਰ',
37+
'Sinhala: රත්නපුර',
38+
'Tamil: கன்னியாகுமரி',
39+
'Telugu: శ్రీకాకుళం',
40+
'Thai: สงขลา',
41+
'Emojis: 👑 🌴',
42+
'Misc.: ☆ ♯ ♰ ⚄ ⛌',
43+
'Letterlike: № ℳ ⅋ ⅍',
44+
]
45+
446
document.querySelector<HTMLDivElement>('#app')!.innerHTML = `
547
<main class="min-h-screen bg-base-200" data-theme="light">
648
<section class="mx-auto flex max-w-5xl flex-col gap-8 px-4 py-8 md:px-8 md:py-12">
749
${renderHeader()}
850
951
<section class="rounded-box border border-base-300 bg-base-100 p-8 shadow-sm">
10-
<h1 class="text-3xl font-bold">Asciify</h1>
11-
<p class="mt-3 text-base-content/70">Type text below to convert it to ASCII in your browser.</p>
52+
<div class="flex items-center justify-between gap-3">
53+
<h1 class="text-3xl font-bold">Asciify</h1>
54+
<button id="demo-button" type="button" class="btn btn-sm">Demo</button>
55+
</div>
56+
<p class="mt-3 text-base-content/70">Type text below to convert it to ASCII using <a href="https://github.com/anyascii/anyascii">AnyAscii</a>.</p>
1257
1358
<form class="mt-6 flex flex-col gap-4" action="#" method="post" onsubmit="return false;">
1459
<label class="form-control w-full">
@@ -37,6 +82,7 @@ document.querySelector<HTMLDivElement>('#app')!.innerHTML = `
3782
const inputText = document.querySelector<HTMLTextAreaElement>('#input-text')
3883
const outputText = document.querySelector<HTMLTextAreaElement>('#output-text')
3984
const copyButton = document.querySelector<HTMLButtonElement>('#copy-button')
85+
const demoButton = document.querySelector<HTMLButtonElement>('#demo-button')
4086

4187
type AnyAsciiFn = (value: string) => string
4288
let anyAsciiPromise: Promise<AnyAsciiFn> | undefined
@@ -63,6 +109,16 @@ inputText?.addEventListener('input', () => {
63109
})
64110
void updateOutput()
65111

112+
demoButton?.addEventListener('click', () => {
113+
if (!inputText) {
114+
return
115+
}
116+
117+
const randomIndex = Math.floor(Math.random() * demoSamples.length)
118+
inputText.value = demoSamples[randomIndex]
119+
void updateOutput()
120+
})
121+
66122
copyButton?.addEventListener('click', async () => {
67123
if (!outputText) {
68124
return

0 commit comments

Comments
 (0)