feat: prompts admin-only, add isOpen field to Prompt model
This commit is contained in:
@@ -133,6 +133,7 @@ export default function AdminPage() {
|
||||
const [promptDesc, setPromptDesc] = useState('');
|
||||
const [promptContent, setPromptContent] = useState('');
|
||||
const [promptTagsText, setPromptTagsText] = useState('Next.js, System Prompt');
|
||||
const [promptIsOpen, setPromptIsOpen] = useState(false);
|
||||
const [savingPrompt, setSavingPrompt] = useState(false);
|
||||
|
||||
// Lesson Form Modal State (Create or Edit)
|
||||
@@ -386,6 +387,7 @@ export default function AdminPage() {
|
||||
description: promptDesc,
|
||||
content: promptContent,
|
||||
tags,
|
||||
isOpen: promptIsOpen,
|
||||
});
|
||||
} else {
|
||||
res = await createPrompt({
|
||||
@@ -394,6 +396,7 @@ export default function AdminPage() {
|
||||
description: promptDesc,
|
||||
content: promptContent,
|
||||
tags,
|
||||
isOpen: promptIsOpen,
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1295,6 +1298,27 @@ export default function AdminPage() {
|
||||
/>
|
||||
</div>
|
||||
|
||||
{/* isOpen Toggle */}
|
||||
<div className="flex items-center justify-between p-3 rounded-xl bg-slate-950 border border-slate-800">
|
||||
<div>
|
||||
<p className="text-xs font-bold text-slate-300">Open (Public Access)</p>
|
||||
<p className="text-[10px] text-slate-500 mt-0.5">When enabled, this prompt can be made publicly available</p>
|
||||
</div>
|
||||
<button
|
||||
type="button"
|
||||
onClick={() => setPromptIsOpen((v) => !v)}
|
||||
className={`relative inline-flex h-6 w-11 items-center rounded-full transition-colors focus:outline-none ${
|
||||
promptIsOpen ? 'bg-emerald-500' : 'bg-slate-700'
|
||||
}`}
|
||||
>
|
||||
<span
|
||||
className={`inline-block h-4 w-4 transform rounded-full bg-white shadow transition-transform ${
|
||||
promptIsOpen ? 'translate-x-6' : 'translate-x-1'
|
||||
}`}
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div className="flex justify-end gap-3 pt-4 border-t border-slate-800">
|
||||
<button
|
||||
type="button"
|
||||
|
||||
Reference in New Issue
Block a user