Delete assets/index-77d0c996.js
Browse files- assets/index-77d0c996.js +0 -89
assets/index-77d0c996.js
DELETED
@@ -1,89 +0,0 @@
|
|
1 |
-
import { useState } from 'react';
|
2 |
-
|
3 |
-
const UNICODE_FONTS = {
|
4 |
-
"Mathematical Script": {
|
5 |
-
uppercase: "๐๐๐๐๐ ๐ก๐ข๐ฃ๐ค๐ฅ๐ฆ๐ง๐จ๐ฉ๐ช๐ซ๐ฌ๐ญ๐ฎ๐ฏ๐ฐ๐ฑ๐ฒ๐ณ๐ด๐ต",
|
6 |
-
lowercase: "๐ถ๐ท๐ธ๐น๐บ๐ป๐ผ๐ฝ๐พ๐ฟ๐๐๐๐๐๐
๐๐๐๐๐๐๐๐๐๐"
|
7 |
-
},
|
8 |
-
"Fraktur": {
|
9 |
-
uppercase: "๐๐
โญ๐๐๐๐โโ๐๐๐๐๐๐๐๐โ๐๐๐๐๐๐๐โจ",
|
10 |
-
lowercase: "๐๐๐ ๐ก๐ข๐ฃ๐ค๐ฅ๐ฆ๐ง๐จ๐ฉ๐ช๐ซ๐ฌ๐ญ๐ฎ๐ฏ๐ฐ๐ฑ๐ฒ๐ณ๐ด๐ต๐ถ๐ท"
|
11 |
-
},
|
12 |
-
"Bold Fraktur": {
|
13 |
-
uppercase: "๐ฌ๐ญ๐ฎ๐ฏ๐ฐ๐ฑ๐ฒ๐ณ๐ด๐ต๐ถ๐ท๐ธ๐น๐บ๐ป๐ผ๐ฝ๐พ๐ฟ๐๐๐๐๐๐
",
|
14 |
-
lowercase: "๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐"
|
15 |
-
},
|
16 |
-
"Double-struck": {
|
17 |
-
uppercase: "๐ธ๐นโ๐ป๐ผ๐ฝ๐พโ๐๐๐๐๐โ๐โโโ๐๐๐๐๐๐๐โค",
|
18 |
-
lowercase: "๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐ ๐ก๐ข๐ฃ๐ค๐ฅ๐ฆ๐ง๐จ๐ฉ๐ช๐ซ"
|
19 |
-
},
|
20 |
-
"Script/Italic": {
|
21 |
-
uppercase: "๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐ ๐ก๐ข๐ฃ๐ค๐ฅ๐ฆ๐ง๐จ๐ฉ",
|
22 |
-
lowercase: "๐ช๐ซ๐ฌ๐ญ๐ฎ๐ฏ๐ฐ๐ฑ๐ฒ๐ณ๐ด๐ต๐ถ๐ท๐ธ๐น๐บ๐ป๐ผ๐ฝ๐พ๐ฟ๐๐๐๐"
|
23 |
-
}
|
24 |
-
};
|
25 |
-
|
26 |
-
export default function UnicodeSelector() {
|
27 |
-
const [text, setText] = useState('');
|
28 |
-
const [selectedFont, setSelectedFont] = useState(Object.keys(UNICODE_FONTS)[0]);
|
29 |
-
|
30 |
-
const convertToUnicode = (input, fontType) => {
|
31 |
-
const font = UNICODE_FONTS[fontType];
|
32 |
-
let result = '';
|
33 |
-
|
34 |
-
for (let char of input) {
|
35 |
-
if (char >= 'A' && char <= 'Z') {
|
36 |
-
const index = char.charCodeAt(0) - 'A'.charCodeAt(0);
|
37 |
-
result += font.uppercase[index] || char;
|
38 |
-
} else if (char >= 'a' && char <= 'z') {
|
39 |
-
const index = char.charCodeAt(0) - 'a'.charCodeAt(0);
|
40 |
-
result += font.lowercase[index] || char;
|
41 |
-
} else {
|
42 |
-
result += char;
|
43 |
-
}
|
44 |
-
}
|
45 |
-
return result;
|
46 |
-
};
|
47 |
-
|
48 |
-
const handleCopyToClipboard = (text) => {
|
49 |
-
navigator.clipboard.writeText(text);
|
50 |
-
};
|
51 |
-
|
52 |
-
return (
|
53 |
-
<div className="bg-white p-6 rounded-lg shadow-lg">
|
54 |
-
<div className="mb-4">
|
55 |
-
<input
|
56 |
-
type="text"
|
57 |
-
value={text}
|
58 |
-
onChange={(e) => setText(e.target.value)}
|
59 |
-
placeholder="Enter text to convert"
|
60 |
-
className="w-full p-2 border rounded"
|
61 |
-
/>
|
62 |
-
</div>
|
63 |
-
|
64 |
-
<div className="grid grid-cols-1 gap-4">
|
65 |
-
{Object.entries(UNICODE_FONTS).map(([fontName, font]) => {
|
66 |
-
const convertedText = convertToUnicode(text, fontName);
|
67 |
-
return (
|
68 |
-
<div key={fontName} className="border p-4 rounded">
|
69 |
-
<h3 className="font-bold mb-2">{fontName}</h3>
|
70 |
-
<div className="mb-2">
|
71 |
-
<div className="text-lg mb-1">{convertedText}</div>
|
72 |
-
<button
|
73 |
-
onClick={() => handleCopyToClipboard(convertedText)}
|
74 |
-
className="bg-blue-500 text-white px-4 py-1 rounded hover:bg-blue-600"
|
75 |
-
>
|
76 |
-
Copy
|
77 |
-
</button>
|
78 |
-
</div>
|
79 |
-
<div className="text-sm text-gray-600">
|
80 |
-
<div>Uppercase: {font.uppercase}</div>
|
81 |
-
<div>Lowercase: {font.lowercase}</div>
|
82 |
-
</div>
|
83 |
-
</div>
|
84 |
-
)
|
85 |
-
})}
|
86 |
-
</div>
|
87 |
-
</div>
|
88 |
-
);
|
89 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|