KattyKitty commited on
Commit
f8c4765
·
verified ·
1 Parent(s): 4bbdde2

Update index.html

Browse files
Files changed (1) hide show
  1. index.html +362 -14
index.html CHANGED
@@ -1,19 +1,367 @@
1
  <!DOCTYPE html>
2
- <html>
3
  <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  </head>
9
  <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
  </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  <!DOCTYPE html>
2
+ <html lang="en">
3
  <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Katty's Bot Helper</title>
7
+ <style>
8
+ body {
9
+ font-family: 'Arial', sans-serif;
10
+ background-color: #333;
11
+ background-image: url('https://files.catbox.moe/qoycoe.png');
12
+ background-size: cover;
13
+ background-repeat: no-repeat;
14
+ color: #fff;
15
+ margin: 0;
16
+ padding: 0;
17
+ }
18
+
19
+ .container {
20
+ max-width: 600px;
21
+ margin: 20px auto;
22
+ background-color: #222;
23
+ padding: 20px;
24
+ border-radius: 10px;
25
+ box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
26
+ }
27
+
28
+ label {
29
+ display: block;
30
+ margin-bottom: 8px;
31
+ }
32
+
33
+ input {
34
+ width: 100%;
35
+ padding: 8px;
36
+ margin-bottom: 16px;
37
+ box-sizing: border-box;
38
+ }
39
+
40
+ textarea {
41
+ width: 100%;
42
+ height: 100px;
43
+ padding: 8px;
44
+ margin-bottom: 16px;
45
+ resize: none;
46
+ box-sizing: border-box;
47
+ }
48
+
49
+ select {
50
+ width: 100%;
51
+ padding: 8px;
52
+ margin-bottom: 16px;
53
+ box-sizing: border-box;
54
+ }
55
+
56
+ button {
57
+ background-color: #4CAF50;
58
+ color: #fff;
59
+ padding: 10px 15px;
60
+ border: none;
61
+ border-radius: 5px;
62
+ cursor: pointer;
63
+ }
64
+
65
+ button:hover {
66
+ background-color: #45a049;
67
+ }
68
+
69
+ /* Dark mode styles */
70
+ body.dark-mode {
71
+ background-color: #111;
72
+ color: #ddd;
73
+ }
74
+
75
+ .container.dark-mode {
76
+ background-color: #111;
77
+ box-shadow: 0 0 10px rgba(255, 255, 255, 0.5);
78
+ }
79
+
80
+ #outputBox {
81
+ margin-top: 20px;
82
+ padding: 10px;
83
+ background-color: #444;
84
+ border-radius: 5px;
85
+ overflow: hidden;
86
+ max-width: 600px;
87
+ outline: 2px solid #7D12FF;
88
+ }
89
+
90
+ #generatedTemplate {
91
+ word-wrap: break-word;
92
+ white-space: pre-wrap;
93
+ }
94
+
95
+ #titleSection {
96
+ text-align: center;
97
+ margin-bottom: 20px;
98
+ }
99
+
100
+ #titleSection h2 {
101
+ display: flex;
102
+ align-items: center;
103
+ justify-content: center;
104
+ margin-bottom: 10px;
105
+ }
106
+
107
+ #titleSection img {
108
+ width: 40px;
109
+ height: 40px;
110
+ margin-right: 10px;
111
+ border-radius: 50%;
112
+ }
113
+
114
+ #logo a {
115
+ color: #FF69B4 !important;
116
+ text-decoration: none;
117
+ }
118
+
119
+ .macro-button {
120
+ background-color: transparent;
121
+ color: #4CAF50;
122
+ border: none;
123
+ cursor: pointer;
124
+ outline: none;
125
+ font-weight: bold;
126
+ }
127
+
128
+ .macro-button:hover {
129
+ text-decoration: underline;
130
+ }
131
+
132
+ .button-area {
133
+ text-align: center;
134
+ margin: 3px 0;
135
+ }
136
+ </style>
137
  </head>
138
  <body>
139
+ <div id="titleSection">
140
+ <h2>
141
+ <img src="https://files.catbox.moe/wj5mmj.png" alt="Katty's Bot Helper Logo">
142
+ Katty's Bot Helper
143
+ </h2>
144
+ <a id="logo" href="https://venus.chub.ai/users/KattyyKitty" target="_blank">KattyyKitty's Chub Profile ❤️</a>
 
145
  </div>
146
+
147
+ <div style="padding: 5px; text-align: center; position: fixed; right: 0; bottom: 0; background-color: #333;">
148
+ Copy Macros:
149
+ <button class="macro-button" onclick="copyToClipboard('{{char}}')">{{char}}</button>
150
+ <button class="macro-button" onclick="copyToClipboard('{{user}}')">{{user}}</button>
151
+ </div>
152
+
153
+ <form id="botForm" class="container">
154
+ <label for="charName">Character Name</label>
155
+ <input type="text" id="charName" placeholder="Character Name" required>
156
+
157
+ <label for="nationalityRaceToggle">Nationality/Race Toggle</label>
158
+ <select id="nationalityRaceToggle" onchange="toggleField()">
159
+ <option value="nationality">Nationality</option>
160
+ <option value="race">Race (Fantasy)</option>
161
+ </select>
162
+
163
+ <label for="nationalityRace">Nationality/Race</label>
164
+ <input type="text" id="nationalityRace" placeholder="Self Explanatory" required>
165
+
166
+ <label for="characterClass">Character Class</label>
167
+ <input type="text" id="characterClass" placeholder="Wizard, Warrior, etc." required>
168
+
169
+ <label for="height">Height</label>
170
+ <input type="text" id="height" placeholder="Height formatted as: __ feet + __ inches" required>
171
+
172
+ <label for="age">Age</label>
173
+ <input type="text" id="age" placeholder="Age" required>
174
+
175
+ <label for="gender">Gender</label>
176
+ <input type="text" id="gender" placeholder="Gender" required>
177
+
178
+ <label for="appearance">Appearance</label>
179
+ <input type="text" id="appearance" placeholder="Appearance formatted as: trait1 + trait2 etc" required>
180
+
181
+ <div id="outfitSection">
182
+ <label for="outfit">Outfit</label>
183
+ <textarea id="outfit" placeholder="Give a general description of your character's outfit (ex. {{char}} generally wears dark clothing and a leather jacket)" required></textarea>
184
+ </div>
185
+
186
+ <div id="genitalsSection">
187
+ <label for="genitals">Genitals Description</label>
188
+ <textarea id="genitals" placeholder="Give a detailed description of the character's genitals. Be as descriptive as you'd like." required></textarea>
189
+ </div>
190
+
191
+ <label for="kinks">Kinks/Fetishes</label>
192
+ <input type="text" id="kinks" placeholder="formatted as: kink1, kink2, etc"
193
+
194
+ <label for="likes">Likes</label>
195
+ <input type="text" id="likes" placeholder="Likes formatted as: like1, like2, etc" required>
196
+
197
+ <label for="dislikes">Dislikes</label>
198
+ <input type="text" id="dislikes" placeholder="Dislikes formatted as: dislike1, dislike2, etc" required>
199
+
200
+ <label for="occupation">Occupation</label>
201
+ <input type="text" id="occupation" placeholder="Bot Occupation" required>
202
+
203
+ <label for="personality1">Personality 1</label>
204
+ <textarea id="personality1" placeholder="Personality Traits formatted as: trait1, trait2, etc" required></textarea>
205
+
206
+ <label for="personality">Personality</label>
207
+ <textarea id="personality" placeholder="Here you place all the bot’s personality in detail, be sure to be precise." required></textarea>
208
+
209
+ <label for="skillsPowersToggle">Skills/Powers Toggle</label>
210
+ <select id="skillsPowersToggle" onchange="toggleField()">
211
+ <option value="Skills/Abilities">Skills/Abilities</option>
212
+ <option value="Powers/Abilities">Powers/Abilities (Fantasy)</option>
213
+ </select>
214
+
215
+ <label for="skillsPowers">Powers/Abilities</label>
216
+ <textarea id="skillsPowers" placeholder="List any powers, skills or abilities your bot has." required></textarea>
217
+
218
+ <div id="dialogueStyleSection">
219
+ <label for="dialogueStyle">Dialogue Style</label>
220
+ <textarea id="dialogueStyle" placeholder="Decribe how your character talks and acts. Example: Slightly raspy voice, sarcastic tone laden with innuendo; speaks her mind without fear of consequence." required></textarea>
221
+ </div>
222
+
223
+ <div id="backgroundSection">
224
+ <label for="background">Background</label>
225
+ <textarea id="background" placeholder="Here you place all the important information about the bot, it has to be very descriptive and make sure to use {{char}} when referring to the bot, that way the bot will recognize its own information better." required></textarea>
226
+ </div>
227
+
228
+ <div id="rpSetupSection">
229
+ <label for="rpSetup">RP Setup</label>
230
+ <textarea id="rpSetup" placeholder="Here you place the information that you think is necessary for the development during the roleplay."></textarea>
231
+ </div>
232
+
233
+ <div id="motivationSection">
234
+ <label for="motivation">Motivation</label>
235
+ <textarea id="motivation" placeholder="Decribe your character's motivations." required></textarea>
236
+ </div>
237
+
238
+ <div id="relationshipsSection">
239
+ <label for="relationships">Relationships</label>
240
+ <textarea id="relationships" placeholder="Describe your character's relationship types or specific relationship to {{user}}." required></textarea>
241
+ </div>
242
+
243
+ <label for="miscShit">Misc Stuff</label>
244
+ <textarea id="miscShit" placeholder="You can put any misc stuff you want the AI to know in this box." required></textarea>
245
+
246
+ <button type="button" onclick="generateTemplate()">Generate Template</button>
247
+ </form>
248
+
249
+ <div id="outputBox" class="container">
250
+ <h3>Generated Template:</h3>
251
+ <pre id="generatedTemplate"></pre>
252
+ <button class="macro-button" onclick="copyGeneratedTemplate()">Copy Template⎘</button>
253
+ </div>
254
+
255
+ <div id="creditSection">
256
+ <p>Background Image: <a href="https://wall.alphacoders.com/big.php?i=1338084" target="_blank">https://wall.alphacoders.com/big.php?i=1338084</a></p>
257
+ </div>
258
+
259
+ <script>
260
+ function toggleNationalityRaceField() {
261
+ const toggleValue = document.getElementById('nationalityRaceToggle').value;
262
+ const label = toggleValue === 'nationality' ? 'Nationality' : 'Race';
263
+ document.getElementById('nationalityRace').placeholder = `${label} - Self Explanatory`;
264
+ }
265
+
266
+ function toggleSkillsPowersField() {
267
+ const toggleValue = document.getElementById('skillsPowersToggle').value;
268
+ const label = toggleValue === 'Skills/Abilities' ? 'Skills' : 'Powers';
269
+ document.getElementById('skillsPowers').placeholder = `${label} - List any ${label.toLowerCase()}, ${label.toLowerCase()}, etc.`;
270
+ }
271
+
272
+ function toggleCharacterClass() {
273
+ const characterClassToggle = document.getElementById('characterClassToggle');
274
+ const characterClass = document.getElementById('characterClass');
275
+
276
+ characterClassToggle.checked ? characterClass.removeAttribute('readonly') : characterClass.setAttribute('readonly', 'true');
277
+ }
278
+
279
+ function copyToClipboard(text) {
280
+ const dummy = document.createElement("textarea");
281
+ document.body.appendChild(dummy);
282
+ dummy.value = text;
283
+ dummy.select();
284
+ document.execCommand("copy");
285
+ document.body.removeChild(dummy);
286
+ }
287
+
288
+ function copyGeneratedTemplate() {
289
+ var generatedTemplate = document.getElementById('generatedTemplate');
290
+ var range = document.createRange();
291
+ range.selectNode(generatedTemplate);
292
+ window.getSelection().removeAllRanges(); // Clear previous selection
293
+ window.getSelection().addRange(range);
294
+
295
+ try {
296
+ document.execCommand('copy');
297
+ window.getSelection().removeAllRanges();
298
+
299
+ } catch (err) {
300
+ console.error('Unable to copy template: ', err);
301
+ }
302
+ }
303
+
304
+
305
+
306
+ function generateTemplate() {
307
+ var charName = document.getElementById('charName').value;
308
+ var toggleNationalityRaceValue = document.getElementById('nationalityRaceToggle').value;
309
+ var nationalityRace = document.getElementById('nationalityRace').value;
310
+ var characterClass = document.getElementById('characterClass').value;
311
+ var height = document.getElementById('height').value;
312
+ var age = document.getElementById('age').value;
313
+ var gender = document.getElementById('gender').value;
314
+ var likes = document.getElementById('likes').value;
315
+ var dislikes = document.getElementById('dislikes').value;
316
+ var appearance = document.getElementById('appearance').value;
317
+ var outfit = document.getElementById('outfit').value;
318
+ var personality1 = document.getElementById('personality1').value;
319
+ var personality = document.getElementById('personality').value;
320
+ var occupation = document.getElementById('occupation').value;
321
+ var genitals = document.getElementById('genitals').value;
322
+ var kinks = document.getElementById('kinks').value;
323
+ var background = document.getElementById('background').value;
324
+ var rpSetup = document.getElementById('rpSetup').value;
325
+ var miscShit = document.getElementById('miscShit').value;
326
+ var toggleSkillsPowersValue = document.getElementById('skillsPowersToggle').value;
327
+ var skillsPowers = document.getElementById('skillsPowers').value;
328
+ var dialogueStyle = document.getElementById('dialogueStyle').value;
329
+ var motivation = document.getElementById('motivation').value;
330
+ var relationships = document.getElementById('relationships').value
331
+
332
+ var builder = [];
333
+
334
+ if (charName) builder.push(`name: ${charName}`);
335
+ if (nationalityRace) builder.push(`${toggleNationalityRaceValue}: ${nationalityRace}`);
336
+ if (characterClass) builder.push(`character class: ${characterClass}`);
337
+ if (height) builder.push(`height: ${height}`);
338
+ if (age) builder.push(`age: ${age}`);
339
+ if (gender) builder.push(`gender: ${gender}`);
340
+ if (likes) builder.push(`likes: ${likes}`);
341
+ if (dislikes) builder.push(`dislikes: ${dislikes}`);
342
+ if (appearance) builder.push(`appearance: ${appearance}`);
343
+ if (outfit) builder.push(`outfit: ${outfit}`);
344
+ if (personality1) builder.push(`personality: ${personality1}`);
345
+ if (occupation) builder.push(`occupation: ${occupation}`);
346
+ if (genitals) builder.push(`genitals: ${genitals}`);
347
+ if (kinks) builder.push(`kinks/fetishes: ${kinks}`);
348
+ if (dialogueStyle) builder.push(`Dialogue Style: ${dialogueStyle}`);
349
+ if (background) builder.push(`Background: ${background}`);
350
+ if (personality) builder.push(`Personality: ${personality}`);
351
+ if (skillsPowers) builder.push(`${toggleSkillsPowersValue}: ${skillsPowers}`);
352
+ if (rpSetup) builder.push(`RP Setup: ${rpSetup}`);
353
+ if (motivation) builder.push(`Motivations: ${motivation}`);
354
+ if (relationships) builder.push(`Relationships: ${relationships}`);
355
+ if (miscShit) builder.push(`${miscShit}`);
356
+
357
+ var template = builder.join("\n");
358
+
359
+ // Display the generated template in the output box
360
+ document.getElementById('generatedTemplate').textContent = template;
361
+ }
362
+ </script>
363
+ <!-- This message won't be visible on the page -->
364
+ <!-- Feel free to use and change my code but if you distribute it elsewhere please credit me. This took a lot of hard work! -->
365
+
366
+ </body>
367
+ </html>