@@ -35,12 +35,103 @@ const CodeEditor = dynamic(
3535)
3636export 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