Add AI usage indicators to story creation form
This commit is contained in:
@@ -55,6 +55,23 @@
|
|||||||
border-bottom: 1px solid #333;
|
border-bottom: 1px solid #333;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ai-tag {
|
||||||
|
font-size: 0.7rem;
|
||||||
|
padding: 0.2rem 0.5rem;
|
||||||
|
background: rgba(102, 126, 234, 0.2);
|
||||||
|
color: #a0b4ff;
|
||||||
|
border-radius: 6px;
|
||||||
|
font-weight: 500;
|
||||||
|
vertical-align: middle;
|
||||||
|
margin-left: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.section-hint {
|
||||||
|
color: #888;
|
||||||
|
font-size: 0.85rem;
|
||||||
|
margin: -0.75rem 0 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
.form-group {
|
.form-group {
|
||||||
margin-bottom: 1rem;
|
margin-bottom: 1rem;
|
||||||
}
|
}
|
||||||
@@ -612,12 +629,6 @@
|
|||||||
color: #666;
|
color: #666;
|
||||||
}
|
}
|
||||||
|
|
||||||
.section-hint {
|
|
||||||
color: #888;
|
|
||||||
font-size: 0.9rem;
|
|
||||||
margin: -0.5rem 0 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Персонажи */
|
/* Персонажи */
|
||||||
.character-card {
|
.character-card {
|
||||||
background: #0d0d0d;
|
background: #0d0d0d;
|
||||||
|
|||||||
@@ -355,6 +355,9 @@ export default function CreateStoryPage() {
|
|||||||
|
|
||||||
<div className="form-group">
|
<div className="form-group">
|
||||||
<label htmlFor="title">Название истории *</label>
|
<label htmlFor="title">Название истории *</label>
|
||||||
|
<p className="field-hint">
|
||||||
|
Только для отображения. Не используется ИИ.
|
||||||
|
</p>
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
id="title"
|
id="title"
|
||||||
@@ -368,7 +371,10 @@ export default function CreateStoryPage() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="form-group">
|
<div className="form-group">
|
||||||
<label htmlFor="language">Язык истории *</label>
|
<label htmlFor="language">
|
||||||
|
Язык истории * <span className="ai-tag">🤖 ИИ</span>
|
||||||
|
</label>
|
||||||
|
<p className="field-hint">ИИ будет отвечать на выбранном языке.</p>
|
||||||
<div className="language-grid">
|
<div className="language-grid">
|
||||||
{LANGUAGES.map((lang) => (
|
{LANGUAGES.map((lang) => (
|
||||||
<button
|
<button
|
||||||
@@ -422,17 +428,19 @@ export default function CreateStoryPage() {
|
|||||||
</label>
|
</label>
|
||||||
<div className="nsfw-info">
|
<div className="nsfw-info">
|
||||||
<span className={`nsfw-label ${form.isNsfw ? "active" : ""}`}>
|
<span className={`nsfw-label ${form.isNsfw ? "active" : ""}`}>
|
||||||
🔞 NSFW контент
|
🔞 NSFW контент <span className="ai-tag">🤖 ИИ</span>
|
||||||
</span>
|
</span>
|
||||||
<span className="nsfw-hint">
|
<span className="nsfw-hint">
|
||||||
Включите, если история содержит контент 18+
|
Снимает ограничения ИИ на контент 18+
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="form-group">
|
<div className="form-group">
|
||||||
<label htmlFor="temperature">🎲 Креативность ИИ</label>
|
<label htmlFor="temperature">
|
||||||
|
🎲 Креативность ИИ <span className="ai-tag">🤖 ИИ</span>
|
||||||
|
</label>
|
||||||
<p className="field-hint">
|
<p className="field-hint">
|
||||||
Управляет креативностью ответов ИИ. Низкая = сосредоточенный,
|
Управляет креативностью ответов ИИ. Низкая = сосредоточенный,
|
||||||
Высокая = креативный
|
Высокая = креативный
|
||||||
@@ -461,7 +469,12 @@ export default function CreateStoryPage() {
|
|||||||
|
|
||||||
{/* Жанры */}
|
{/* Жанры */}
|
||||||
<section className="form-section">
|
<section className="form-section">
|
||||||
<h2>🎭 Жанры</h2>
|
<h2>
|
||||||
|
🎭 Жанры <span className="ai-tag">🤖 ИИ</span>
|
||||||
|
</h2>
|
||||||
|
<p className="section-hint">
|
||||||
|
Влияет на стиль и атмосферу генерации ИИ.
|
||||||
|
</p>
|
||||||
|
|
||||||
{form.genres.length > 0 && (
|
{form.genres.length > 0 && (
|
||||||
<div className="selected-tags">
|
<div className="selected-tags">
|
||||||
@@ -515,7 +528,10 @@ export default function CreateStoryPage() {
|
|||||||
|
|
||||||
{/* Сеттинги */}
|
{/* Сеттинги */}
|
||||||
<section className="form-section">
|
<section className="form-section">
|
||||||
<h2>🏰 Сеттинг</h2>
|
<h2>
|
||||||
|
🏰 Сеттинг <span className="ai-tag">🤖 ИИ</span>
|
||||||
|
</h2>
|
||||||
|
<p className="section-hint">Определяет мир и эпоху для ИИ.</p>
|
||||||
|
|
||||||
{form.settings.length > 0 && (
|
{form.settings.length > 0 && (
|
||||||
<div className="selected-tags">
|
<div className="selected-tags">
|
||||||
@@ -569,13 +585,15 @@ export default function CreateStoryPage() {
|
|||||||
|
|
||||||
{/* Сюжет */}
|
{/* Сюжет */}
|
||||||
<section className="form-section">
|
<section className="form-section">
|
||||||
<h2>📜 Сюжет</h2>
|
<h2>
|
||||||
|
📜 Сюжет <span className="ai-tag">🤖 ИИ</span>
|
||||||
|
</h2>
|
||||||
|
|
||||||
<div className="form-group">
|
<div className="form-group">
|
||||||
<label htmlFor="plot">Полный сюжет *</label>
|
<label htmlFor="plot">Полный сюжет *</label>
|
||||||
<p className="field-hint">
|
<p className="field-hint">
|
||||||
Подробное описание сюжета, которое будет управлять историей.
|
Основа для ИИ — подробное описание сюжета и ключевых событий.
|
||||||
Используется ИИ. Поддерживается Markdown.
|
Поддерживается Markdown.
|
||||||
</p>
|
</p>
|
||||||
<textarea
|
<textarea
|
||||||
id="plot"
|
id="plot"
|
||||||
@@ -602,13 +620,15 @@ export default function CreateStoryPage() {
|
|||||||
|
|
||||||
{/* Первое сообщение */}
|
{/* Первое сообщение */}
|
||||||
<section className="form-section">
|
<section className="form-section">
|
||||||
<h2>💬 Первое сообщение</h2>
|
<h2>
|
||||||
|
💬 Первое сообщение <span className="ai-tag">🤖 ИИ</span>
|
||||||
|
</h2>
|
||||||
|
|
||||||
<div className="form-group">
|
<div className="form-group">
|
||||||
<label htmlFor="firstMessage">Начало истории</label>
|
<label htmlFor="firstMessage">Начало истории</label>
|
||||||
<p className="field-hint">
|
<p className="field-hint">
|
||||||
Первое сообщение, которое увидит игрок при начале игры. Если
|
Первое сообщение, которое увидит игрок. Если пусто — ИИ
|
||||||
оставить пустым, ИИ сгенерирует начало автоматически.
|
сгенерирует автоматически.
|
||||||
</p>
|
</p>
|
||||||
<textarea
|
<textarea
|
||||||
id="firstMessage"
|
id="firstMessage"
|
||||||
@@ -624,14 +644,15 @@ export default function CreateStoryPage() {
|
|||||||
|
|
||||||
{/* Правила повествования */}
|
{/* Правила повествования */}
|
||||||
<section className="form-section">
|
<section className="form-section">
|
||||||
<h2>📝 Правила повествования</h2>
|
<h2>
|
||||||
|
📝 Правила повествования <span className="ai-tag">🤖 ИИ</span>
|
||||||
|
</h2>
|
||||||
|
|
||||||
<div className="form-group">
|
<div className="form-group">
|
||||||
<label htmlFor="narrativeRules">Инструкции для ИИ</label>
|
<label htmlFor="narrativeRules">Инструкции для ИИ</label>
|
||||||
<p className="field-hint">
|
<p className="field-hint">
|
||||||
Кастомные правила поведения ИИ: стиль повествования, запреты,
|
Кастомные правила поведения ИИ. Если пусто — используются
|
||||||
формат ответов. Если оставить пустым, будут использованы
|
стандартные правила.
|
||||||
стандартные правила живой истории.
|
|
||||||
</p>
|
</p>
|
||||||
<textarea
|
<textarea
|
||||||
id="narrativeRules"
|
id="narrativeRules"
|
||||||
@@ -661,7 +682,12 @@ export default function CreateStoryPage() {
|
|||||||
|
|
||||||
{/* Мир */}
|
{/* Мир */}
|
||||||
<section className="form-section">
|
<section className="form-section">
|
||||||
<h2>🌍 Мир</h2>
|
<h2>
|
||||||
|
🌍 Мир <span className="ai-tag">🤖 ИИ</span>
|
||||||
|
</h2>
|
||||||
|
<p className="section-hint">
|
||||||
|
Весь раздел используется ИИ для построения контекста мира.
|
||||||
|
</p>
|
||||||
|
|
||||||
<div className="form-group">
|
<div className="form-group">
|
||||||
<label htmlFor="worldName">Название мира *</label>
|
<label htmlFor="worldName">Название мира *</label>
|
||||||
@@ -726,9 +752,11 @@ export default function CreateStoryPage() {
|
|||||||
|
|
||||||
{/* NPC Персонажи */}
|
{/* NPC Персонажи */}
|
||||||
<section className="form-section">
|
<section className="form-section">
|
||||||
<h2>👥 NPC Персонажи мира</h2>
|
<h2>
|
||||||
|
👥 NPC Персонажи мира <span className="ai-tag">🤖 ИИ</span>
|
||||||
|
</h2>
|
||||||
<p className="section-hint">
|
<p className="section-hint">
|
||||||
Персонажи, которых игрок встретит в истории.
|
Персонажи, которых ИИ будет использовать в истории.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
{form.characters.map((char, index) => (
|
{form.characters.map((char, index) => (
|
||||||
|
|||||||
Reference in New Issue
Block a user