"use client"; import { WrapText } from "lucide-react"; import Link from "next/link"; import { useEditor } from "./editor-provider"; import { EditorTabs } from "./editor-tabs"; import { Button, buttonVariants } from "~/components/ui/button"; import { SearchableSelect } from "./searchable-select"; import { LANGUAGES, LANGUAGES_SET, type LanguageName } from "~/utils/languages"; import { THEME_MAP } from "~/utils/themes"; import { SaveButton } from "./save-button"; import { Icons } from "./icons"; import { cn } from "~/utils/cn"; function LanguageThemeControls() { const { activeTab, theme, updateActiveTabLanguage, setTheme } = useEditor(); const setLanguage = (language: string) => { if (LANGUAGES_SET.has(language as LanguageName)) updateActiveTabLanguage(language as LanguageName); }; return ( <> ({ value: language, label: language, }))} placeholder="language" value={activeTab.language} onValueChange={setLanguage} onPreview={setLanguage} className="w-full min-w-0 sm:w-40" /> ({ value: currentTheme, label: currentTheme, }))} placeholder="theme" value={theme} onValueChange={setTheme} onPreview={setTheme} className="w-full min-w-0 sm:w-52" /> ); } export function Header() { const { tabs, theme, wordWrap, setWordWrap } = useEditor(); return ( <>
); }