Skip to content
This repository was archived by the owner on Nov 17, 2023. It is now read-only.

Commit 6a064c3

Browse files
committed
Added the possibility to select a language
1 parent 28e8628 commit 6a064c3

File tree

1 file changed

+107
-3
lines changed

1 file changed

+107
-3
lines changed

app/page.tsx

Lines changed: 107 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,103 @@ const CodeEditor = dynamic(
3535
)
3636
export default function IndexPage() {
3737
const { theme } = useTheme()
38-
38+
const languages = [
39+
"abap",
40+
"aes",
41+
"apex",
42+
"bat",
43+
"bicep",
44+
"brainfuck",
45+
"c",
46+
"cameligo",
47+
"clike",
48+
"clojure",
49+
"coffeescript",
50+
"cpp",
51+
"csharp",
52+
"csp",
53+
"css",
54+
"dart",
55+
"dockerfile",
56+
"ecl",
57+
"elixir",
58+
"erlang",
59+
"flow9",
60+
"fsharp",
61+
"freemarker2",
62+
"go",
63+
"graphql",
64+
"handlebars",
65+
"hcl",
66+
"html",
67+
"ini",
68+
"java",
69+
"javascript",
70+
"json",
71+
"jsx",
72+
"julia",
73+
"kotlin",
74+
"less",
75+
"lex",
76+
"lexon",
77+
"liquid",
78+
"livescript",
79+
"lua",
80+
"m3",
81+
"markdown",
82+
"mips",
83+
"msdax",
84+
"mysql",
85+
"nginx",
86+
"pascal",
87+
"pascaligo",
88+
"perl",
89+
"php",
90+
"pla",
91+
"plaintext",
92+
"postiats",
93+
"powerquery",
94+
"powershell",
95+
"proto",
96+
"pug",
97+
"python",
98+
"qsharp",
99+
"r",
100+
"razor",
101+
"redis",
102+
"redshift",
103+
"restructuredtext",
104+
"ruby",
105+
"rust",
106+
"sb",
107+
"scala",
108+
"scheme",
109+
"scss",
110+
"shell",
111+
"sol",
112+
"sparql",
113+
"sql",
114+
"st",
115+
"stylus",
116+
"swift",
117+
"systemverilog",
118+
"tcl",
119+
"toml",
120+
"tsx",
121+
"twig",
122+
"typescript",
123+
"vb",
124+
"vbscript",
125+
"verilog",
126+
"xml",
127+
"yaml",
128+
]
39129
let model = "gpt-3.5-turbo"
40130
const [md, setMd] = useState("# Hello")
41131
const [sent, setSent] = useState(false)
42132
const [template, setTemplate] = React.useState(``)
43133
const [codeSn, setCodeSn] = useState("")
134+
const [lang, setLang] = useState("js")
44135

45136
async function getDoc() {
46137
let key: string = (document.getElementById("pwr") as HTMLInputElement).value
@@ -161,11 +252,23 @@ export default function IndexPage() {
161252
"ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace",
162253
}}
163254
/>
164-
<h3 className="text-xl font-bold">Code Snippet</h3>
255+
<div className="flex items-center space-x-2">
256+
<h3 className="text-xl font-bold">Code Snippet</h3>
257+
<Select onValueChange={setLang}>
258+
<SelectTrigger className="w-[180px]">
259+
<SelectValue placeholder="Select a language" />
260+
</SelectTrigger>
261+
<SelectContent className="max-h-[180px]">
262+
{languages.map((el) => {
263+
return <SelectItem value={el}>{el}</SelectItem>
264+
})}
265+
</SelectContent>
266+
</Select>
267+
</div>
165268
<CodeEditor
166269
className="rounded-md border border-input"
167270
value={codeSn}
168-
language="markdown"
271+
language={lang}
169272
placeholder="Paste your code snippet here."
170273
onChange={(evn) => setCodeSn(evn.target.value)}
171274
padding={15}
@@ -175,6 +278,7 @@ export default function IndexPage() {
175278
"ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace",
176279
}}
177280
/>
281+
178282
<h3 className="text-xl font-bold">Model</h3>
179283
<div className="flex items-center space-x-2">
180284
<p>Key</p>

0 commit comments

Comments
 (0)