awacke1 commited on
Commit
d066497
ยท
verified ยท
1 Parent(s): a6ec274

Update assets/index-77d0c996.js

Browse files
Files changed (1) hide show
  1. assets/index-77d0c996.js +86 -15
assets/index-77d0c996.js CHANGED
@@ -1,18 +1,89 @@
1
- import { createRoot } from 'react-dom/client';
2
- import App from './App';
3
- import UnicodeSelector from './UnicodeSelector';
4
- import './index.css';
5
 
6
- const root = createRoot(document.getElementById('root'));
7
- root.render(
8
- <React.StrictMode>
9
- <div className="min-h-screen bg-gray-100 py-8">
10
- <div className="container mx-auto">
11
- <App />
12
- <div className="mt-8">
13
- <UnicodeSelector />
14
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15
  </div>
16
  </div>
17
- </React.StrictMode>
18
- );
 
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
+ }