move stack info to a separate file
This commit is contained in:
parent
a8b562e392
commit
3723c81a04
@ -6,11 +6,12 @@ import {
|
|||||||
SelectItem,
|
SelectItem,
|
||||||
SelectTrigger,
|
SelectTrigger,
|
||||||
} from "./ui/select";
|
} from "./ui/select";
|
||||||
import { GeneratedCodeConfig, STACK_DESCRIPTION } from "../types";
|
|
||||||
import { Badge } from "./ui/badge";
|
import { Badge } from "./ui/badge";
|
||||||
|
import { GeneratedCodeConfig } from "../lib/stacks/types";
|
||||||
|
import { STACK_DESCRIPTIONS } from "../lib/stacks/descriptions";
|
||||||
|
|
||||||
function generateDisplayComponent(stack: GeneratedCodeConfig) {
|
function generateDisplayComponent(stack: GeneratedCodeConfig) {
|
||||||
const stackComponents = STACK_DESCRIPTION[stack].components;
|
const stackComponents = STACK_DESCRIPTIONS[stack].components;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
@ -59,7 +60,7 @@ function OutputSettingsSection({
|
|||||||
<SelectItem value={stack}>
|
<SelectItem value={stack}>
|
||||||
<div className="flex items-center">
|
<div className="flex items-center">
|
||||||
{generateDisplayComponent(stack)}
|
{generateDisplayComponent(stack)}
|
||||||
{STACK_DESCRIPTION[stack].inBeta && (
|
{STACK_DESCRIPTIONS[stack].inBeta && (
|
||||||
<Badge className="ml-2" variant="secondary">
|
<Badge className="ml-2" variant="secondary">
|
||||||
Beta
|
Beta
|
||||||
</Badge>
|
</Badge>
|
||||||
|
|||||||
12
frontend/src/lib/stacks/descriptions.ts
Normal file
12
frontend/src/lib/stacks/descriptions.ts
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
import { GeneratedCodeConfig } from "./types";
|
||||||
|
|
||||||
|
export const STACK_DESCRIPTIONS: {
|
||||||
|
[key in GeneratedCodeConfig]: { components: string[]; inBeta: boolean };
|
||||||
|
} = {
|
||||||
|
html_tailwind: { components: ["HTML", "Tailwind"], inBeta: false },
|
||||||
|
react_tailwind: { components: ["React", "Tailwind"], inBeta: false },
|
||||||
|
bootstrap: { components: ["Bootstrap"], inBeta: false },
|
||||||
|
vue_tailwind: { components: ["Vue", "Tailwind"], inBeta: true },
|
||||||
|
ionic_tailwind: { components: ["Ionic", "Tailwind"], inBeta: true },
|
||||||
|
svg: { components: ["SVG"], inBeta: true },
|
||||||
|
};
|
||||||
9
frontend/src/lib/stacks/types.ts
Normal file
9
frontend/src/lib/stacks/types.ts
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
// Keep in sync with backend (prompts/types.py)
|
||||||
|
export enum GeneratedCodeConfig {
|
||||||
|
HTML_TAILWIND = "html_tailwind",
|
||||||
|
REACT_TAILWIND = "react_tailwind",
|
||||||
|
BOOTSTRAP = "bootstrap",
|
||||||
|
VUE_TAILWIND = "vue_tailwind",
|
||||||
|
IONIC_TAILWIND = "ionic_tailwind",
|
||||||
|
SVG = "svg",
|
||||||
|
}
|
||||||
@ -1,29 +1,10 @@
|
|||||||
|
import { GeneratedCodeConfig } from "./lib/stacks/types";
|
||||||
|
|
||||||
export enum EditorTheme {
|
export enum EditorTheme {
|
||||||
ESPRESSO = "espresso",
|
ESPRESSO = "espresso",
|
||||||
COBALT = "cobalt",
|
COBALT = "cobalt",
|
||||||
}
|
}
|
||||||
|
|
||||||
// Keep in sync with backend (prompts/types.py)
|
|
||||||
export enum GeneratedCodeConfig {
|
|
||||||
HTML_TAILWIND = "html_tailwind",
|
|
||||||
REACT_TAILWIND = "react_tailwind",
|
|
||||||
BOOTSTRAP = "bootstrap",
|
|
||||||
VUE_TAILWIND = "vue_tailwind",
|
|
||||||
IONIC_TAILWIND = "ionic_tailwind",
|
|
||||||
SVG = "svg",
|
|
||||||
}
|
|
||||||
|
|
||||||
export const STACK_DESCRIPTION: {
|
|
||||||
[key in GeneratedCodeConfig]: { components: string[]; inBeta: boolean };
|
|
||||||
} = {
|
|
||||||
html_tailwind: { components: ["HTML", "Tailwind"], inBeta: false },
|
|
||||||
react_tailwind: { components: ["React", "Tailwind"], inBeta: false },
|
|
||||||
bootstrap: { components: ["Bootstrap"], inBeta: false },
|
|
||||||
vue_tailwind: { components: ["Vue", "Tailwind"], inBeta: true },
|
|
||||||
ionic_tailwind: { components: ["Ionic", "Tailwind"], inBeta: true },
|
|
||||||
svg: { components: ["SVG"], inBeta: true },
|
|
||||||
};
|
|
||||||
|
|
||||||
export interface Settings {
|
export interface Settings {
|
||||||
openAiApiKey: string | null;
|
openAiApiKey: string | null;
|
||||||
openAiBaseURL: string | null;
|
openAiBaseURL: string | null;
|
||||||
@ -51,3 +32,4 @@ export interface CodeGenerationParams {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export type FullGenerationSettings = CodeGenerationParams & Settings;
|
export type FullGenerationSettings = CodeGenerationParams & Settings;
|
||||||
|
export { GeneratedCodeConfig };
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user