Sebastiankay commited on
Commit
d94013d
·
verified ·
1 Parent(s): c18ed57

Upload 16 files

Browse files
_res/_custom.css CHANGED
@@ -1,300 +1,280 @@
1
- /* :root {
2
- --primary-700: rgb(67, 56, 202);
3
- --primary-50: color-mix(in srgb, var(--primary-700) 5%, white);
4
- --primary-100: color-mix(in srgb, var(--primary-700) 10%, white);
5
- --primary-200: color-mix(in srgb, var(--primary-700) 20%, white);
6
- --primary-300: color-mix(in srgb, var(--primary-700) 60%, white);
7
- --primary-400: color-mix(in srgb, var(--primary-700) 70%, white);
8
- --primary-500: color-mix(in srgb, var(--primary-700) 80%, white);
9
- --primary-600: color-mix(in srgb, var(--primary-700) 90%, white);
10
- --primary-800: color-mix(in srgb, var(--primary-700) 70%, black);
11
- --primary-900: color-mix(in srgb, var(--primary-700) 80%, black);
12
- --primary-950: color-mix(in srgb, var(--primary-700) 90%, black);
13
- }
14
-
15
- .dark {
16
- --primary-700: rgb(67, 56, 202);
17
- --primary-50: color-mix(in srgb, var(--primary-700) 5%, white);
18
- --primary-100: color-mix(in srgb, var(--primary-700) 10%, white);
19
- --primary-200: color-mix(in srgb, var(--primary-700) 20%, white);
20
- --primary-300: color-mix(in srgb, var(--primary-700) 60%, white);
21
- --primary-400: color-mix(in srgb, var(--primary-700) 70%, white);
22
- --primary-500: color-mix(in srgb, var(--primary-700) 80%, white);
23
- --primary-600: color-mix(in srgb, var(--primary-700) 90%, white);
24
- --primary-800: color-mix(in srgb, var(--primary-700) 70%, black);
25
- --primary-900: color-mix(in srgb, var(--primary-700) 80%, black);
26
- --primary-950: color-mix(in srgb, var(--primary-700) 90%, black);
27
- } */
28
-
29
- /* width */
30
- ::-webkit-scrollbar {
31
- width: 0px;
32
- }
33
-
34
- body::-webkit-scrollbar {
35
- width: 8px;
36
- }
37
-
38
- /* Track */
39
- ::-webkit-scrollbar-track {
40
- background: var(--neutral-900);
41
- }
42
-
43
- /* Handle */
44
- ::-webkit-scrollbar-thumb {
45
- background: var(--primary-600);
46
- border-radius: 3px;
47
- }
48
-
49
- /* Handle on hover */
50
- ::-webkit-scrollbar-thumb:hover {
51
- background: var(--primary-800);
52
- }
53
-
54
- body {
55
- min-height: 101vh;
56
- }
57
-
58
- body>gradio-app {
59
- /* background: var(--primary-950);
60
- background-image: linear-gradient(180deg, color-mix(in srgb, var(--primary-950), transparent 50%) 0%, color-mix(in srgb, var(--primary-950), transparent 50%) 28%, var(--neutral-950) 28%, var(--neutral-950) 100%) !important; */
61
- padding-top: 120px;
62
- min-width: 900px;
63
- transition: opacity 0.4s linear;
64
- position: relative;
65
- }
66
-
67
- body>gradio-app::before {
68
- position: absolute;
69
- content: "";
70
- background: var(--primary-950);
71
- width: 100%;
72
- height: 355px;
73
- top: 0;
74
- z-index: 0;
75
- }
76
-
77
- body>gradio-app.has-bg-image::before {
78
- /* --bg-image-path: none; */
79
- /* --bg-image-path: url("https://image.pollinations.ai/prompt/A%20midnight%20blue%20stallion%20gallops%20across%20a%20misty%2C%20moonlit%20meadow%2C%20its%20mane%20and%20tail%20flowing%20in%20the%20wind%20like%20a%20celestial%20river%2C%20as%20stars%20twinkle%20in%20the%20sky%20above%20-%20Expressionist%20Watercolor%20Painting?model=flux&width=1024&height=683&nologo=true&enhance=false&nofeed=true&seed=42"); */
80
- background-image: var(--bg-image-path);
81
- background-size: cover;
82
- background-position: center;
83
- background-repeat: no-repeat;
84
- filter: blur(12px);
85
-
86
- }
87
-
88
- gradio-app .gradio-container {
89
- max-width: 80% !important;
90
- }
91
-
92
- div.tabs>div.tab-nav>button.selected {
93
- border-width: 0 !important;
94
- background: var(--primary-600) !important;
95
- color: var(--neutral-950);
96
- font-weight: 600;
97
- }
98
-
99
- div.tabs>div.tab-nav {
100
- border-bottom: none !important;
101
- padding: 0 0.25rem 0 0.25rem !important;
102
- }
103
-
104
- div.tabs div.tabitem {
105
- background-color: var(--neutral-900) !important;
106
- border-width: 0 !important;
107
- border-top: 8px solid var(--primary-600) !important;
108
- border-radius: var(--container-radius) !important;
109
- }
110
-
111
- .top-description h1 {
112
- color: var(--neutral-400);
113
- font-size: 2rem;
114
- }
115
-
116
- .prompt-input textarea {
117
- font-size: 1.05rem;
118
- color: var(--neutral-300);
119
- }
120
-
121
- .ratio_buttons_wrapper {
122
- display: flex !important;
123
- flex-grow: 0 !important;
124
- min-width: min(48px, 30%) !important;
125
- flex: 1 1 0%;
126
- flex-wrap: nowrap;
127
- }
128
-
129
- .image_size_selctor_wrapper {
130
- flex-grow: 2 !important;
131
- min-width: min(120px, 10%) !important;
132
- }
133
-
134
- .info-text-wrapper {
135
- padding: calc(var(--spacing-xl) / 2) calc(var(--spacing-xl) + 2px);
136
- }
137
-
138
- span.info-text {
139
- margin-bottom: var(--spacing-lg);
140
- color: var(--block-info-text-color);
141
- font-weight: var(--block-info-text-weight);
142
- font-size: var(--block-info-text-size);
143
- line-height: var(--line-sm);
144
- }
145
-
146
- .image-input-read-exfi {
147
- max-height: 120px;
148
- }
149
-
150
- .image-input-read-exfi>button {
151
- transform: scale(.8);
152
- }
153
-
154
- .image-ratio-buttons {
155
- height: 120px;
156
-
157
- & label {
158
- width: calc(25% - calc(var(--spacing-xl) + 2px) * 2 / 4);
159
- justify-content: center;
160
- align-items: end;
161
-
162
- & input {
163
- display: none;
164
- }
165
- }
166
-
167
- & label span {
168
- margin-left: 0;
169
- }
170
- }
171
-
172
- span.has-info+div {
173
- margin-top: var(--spacing-lg);
174
- margin-bottom: var(--spacing-lg);
175
- }
176
-
177
- .switch-ratio-btn {
178
- /* max-width: 38px;
179
- min-width: 38px !important;
180
- height: 33px; */
181
- --icon-ratio: 3/2;
182
- aspect-ratio: 1;
183
- min-width: 40px;
184
- max-width: 120px;
185
-
186
- & svg {
187
- fill: var(--block-title-text-color);
188
- width: 70%;
189
- transition: transform 0.2s ease-in-out;
190
- }
191
-
192
- & svg.portrait {
193
- transform: rotate(90deg) rotateX(180deg);
194
- }
195
- }
196
-
197
- .switch-ratio-btn:hover {
198
- & svg {
199
- transform: rotate(40deg);
200
- }
201
-
202
- & svg.portrait {
203
- transform: rotate(40deg) rotateX(180deg);
204
- }
205
- }
206
-
207
- /* .image-height-selector {
208
- & div.head {
209
- justify-content: end;
210
- }
211
- #component-5057 > label > input
212
- & label {
213
- display: none;
214
- }
215
- } */
216
-
217
- .fade-bg *,
218
- .fade-bg .primary {
219
- /* transition: background-color 0.8s ease-in-out;
220
- transition: background 0.8s ease-in-out; */
221
- /* transition: background-color 1.8s linear; */
222
- /* transition: background 1.8s linear; */
223
- }
224
-
225
- .output-dominant-image-color {
226
- display: none;
227
- }
228
-
229
- .image-info-wrapper {
230
- transition: opacity 0.4s linear;
231
- /* opacity: 0;
232
- display: none; */
233
- }
234
-
235
- .tb-img-width input[type=text],
236
- .tb-img-height input[type=text],
237
- .tb-img-seed input[type=text] {
238
- display: block;
239
- position: relative;
240
- outline: none !important;
241
- box-shadow: var(--input-shadow);
242
- border: var(--input-border-width) solid var(--input-border-color);
243
- border-radius: var(--input-radius);
244
- background: var(--input-background-fill);
245
- padding: var(--size-2) var(--size-2);
246
- height: var(--size-6);
247
- color: var(--body-text-color);
248
- font-size: var(--input-text-size);
249
- line-height: var(--line-sm);
250
- text-align: center;
251
- }
252
-
253
- #output_image>div.image-container>div.icon-buttons {
254
-
255
-
256
- /* display: flex;
257
- position: absolute;
258
- top: var(--block-label-margin);
259
- right: var(--block-label-margin);
260
- align-items: center; */
261
- & button,
262
- a button {
263
- display: inline-block;
264
- position: relative;
265
- z-index: var(--layer-4);
266
- border: solid var(--block-title-border-width) var(--block-title-border-color);
267
- border-radius: var(--block-title-radius);
268
- background: var(--block-title-background-fill);
269
- padding: var(--block-title-padding);
270
- color: var(--block-title-text-color);
271
- font-weight: var(--block-title-text-weight);
272
- font-size: var(--block-title-text-size);
273
- line-height: var(--line-sm);
274
- }
275
- }
276
-
277
- .random-prompt-btn,
278
- .enhance-prompt-btn,
279
- .run-btn {
280
- min-width: 110px;
281
-
282
- & svg {
283
- fill: var(--block-title-text-color);
284
- width: 1.8rem;
285
- }
286
-
287
- }
288
-
289
- .image-height-selector>label,
290
- .image-width-selector>label {
291
- display: flex;
292
- justify-content: space-between;
293
-
294
- & input {
295
- min-width: 100px;
296
- width: 50%;
297
- height: var(--size-9);
298
- }
299
-
300
  }
 
1
+ /* :root {
2
+ --primary-700: rgb(67, 56, 202);
3
+ --primary-50: color-mix(in srgb, var(--primary-700) 5%, white);
4
+ --primary-100: color-mix(in srgb, var(--primary-700) 10%, white);
5
+ --primary-200: color-mix(in srgb, var(--primary-700) 20%, white);
6
+ --primary-300: color-mix(in srgb, var(--primary-700) 60%, white);
7
+ --primary-400: color-mix(in srgb, var(--primary-700) 70%, white);
8
+ --primary-500: color-mix(in srgb, var(--primary-700) 80%, white);
9
+ --primary-600: color-mix(in srgb, var(--primary-700) 90%, white);
10
+ --primary-800: color-mix(in srgb, var(--primary-700) 70%, black);
11
+ --primary-900: color-mix(in srgb, var(--primary-700) 80%, black);
12
+ --primary-950: color-mix(in srgb, var(--primary-700) 90%, black);
13
+ }
14
+
15
+ .dark {
16
+ --primary-700: rgb(67, 56, 202);
17
+ --primary-50: color-mix(in srgb, var(--primary-700) 5%, white);
18
+ --primary-100: color-mix(in srgb, var(--primary-700) 10%, white);
19
+ --primary-200: color-mix(in srgb, var(--primary-700) 20%, white);
20
+ --primary-300: color-mix(in srgb, var(--primary-700) 60%, white);
21
+ --primary-400: color-mix(in srgb, var(--primary-700) 70%, white);
22
+ --primary-500: color-mix(in srgb, var(--primary-700) 80%, white);
23
+ --primary-600: color-mix(in srgb, var(--primary-700) 90%, white);
24
+ --primary-800: color-mix(in srgb, var(--primary-700) 70%, black);
25
+ --primary-900: color-mix(in srgb, var(--primary-700) 80%, black);
26
+ --primary-950: color-mix(in srgb, var(--primary-700) 90%, black);
27
+ } */
28
+
29
+ /* width */
30
+ ::-webkit-scrollbar {
31
+ width: 0px;
32
+ }
33
+
34
+ body::-webkit-scrollbar {
35
+ width: 8px;
36
+ }
37
+
38
+ /* Track */
39
+ ::-webkit-scrollbar-track {
40
+ background: var(--neutral-900);
41
+ }
42
+
43
+ /* Handle */
44
+ ::-webkit-scrollbar-thumb {
45
+ background: var(--primary-600);
46
+ border-radius: 3px;
47
+ }
48
+
49
+ /* Handle on hover */
50
+ ::-webkit-scrollbar-thumb:hover {
51
+ background: var(--primary-800);
52
+ }
53
+
54
+ body {
55
+ min-height: 101vh;
56
+ }
57
+
58
+ body>gradio-app {
59
+ /* background: var(--primary-950);
60
+ background-image: linear-gradient(180deg, color-mix(in srgb, var(--primary-950), transparent 50%) 0%, color-mix(in srgb, var(--primary-950), transparent 50%) 28%, var(--neutral-950) 28%, var(--neutral-950) 100%) !important; */
61
+ padding-top: 120px;
62
+ min-width: 900px;
63
+ transition: opacity 0.4s linear;
64
+ position: relative;
65
+ }
66
+
67
+ body>gradio-app::before {
68
+ position: absolute;
69
+ content: "";
70
+ background: var(--primary-950);
71
+ width: 100%;
72
+ height: 355px;
73
+ top: 0;
74
+ z-index: 0;
75
+ }
76
+
77
+ body>gradio-app.has-bg-image::before {
78
+ /* --bg-image-path: none; */
79
+ /* --bg-image-path: url("https://image.pollinations.ai/prompt/A%20midnight%20blue%20stallion%20gallops%20across%20a%20misty%2C%20moonlit%20meadow%2C%20its%20mane%20and%20tail%20flowing%20in%20the%20wind%20like%20a%20celestial%20river%2C%20as%20stars%20twinkle%20in%20the%20sky%20above%20-%20Expressionist%20Watercolor%20Painting?model=flux&width=1024&height=683&nologo=true&enhance=false&nofeed=true&seed=42"); */
80
+ background-image: var(--bg-image-path);
81
+ background-size: cover;
82
+ background-position: center;
83
+ background-repeat: no-repeat;
84
+ filter: blur(12px);
85
+
86
+ }
87
+
88
+ gradio-app .gradio-container {
89
+ max-width: 80% !important;
90
+ }
91
+
92
+ div.tabs>div.tab-nav>button.selected {
93
+ border-width: 0 !important;
94
+ background: var(--primary-600) !important;
95
+ color: var(--neutral-950);
96
+ font-weight: 600;
97
+ }
98
+
99
+ div.tabs>div.tab-nav {
100
+ border-bottom: none !important;
101
+ padding: 0 0.25rem 0 0.25rem !important;
102
+ }
103
+
104
+ div.tabs div.tabitem {
105
+ background-color: var(--neutral-900) !important;
106
+ border-width: 0 !important;
107
+ border-top: 8px solid var(--primary-600) !important;
108
+ border-radius: var(--container-radius) !important;
109
+ }
110
+
111
+ .top-description h1 {
112
+ color: var(--neutral-400);
113
+ font-size: 2rem;
114
+ }
115
+
116
+ .prompt-input textarea {
117
+ font-size: 1.05rem;
118
+ color: var(--neutral-300);
119
+ }
120
+
121
+ .ratio_buttons_wrapper {
122
+ display: flex !important;
123
+ flex-grow: 0 !important;
124
+ min-width: min(48px, 30%) !important;
125
+ flex: 1 1 0%;
126
+ flex-wrap: nowrap;
127
+ }
128
+
129
+ .image_size_selctor_wrapper {
130
+ flex-grow: 2 !important;
131
+ min-width: min(120px, 10%) !important;
132
+ }
133
+
134
+ .info-text-wrapper {
135
+ padding: calc(var(--spacing-xl) / 2) calc(var(--spacing-xl) + 2px);
136
+ }
137
+
138
+ span.info-text {
139
+ margin-bottom: var(--spacing-lg);
140
+ color: var(--block-info-text-color);
141
+ font-weight: var(--block-info-text-weight);
142
+ font-size: var(--block-info-text-size);
143
+ line-height: var(--line-sm);
144
+ }
145
+
146
+ .image-input-read-exfi {
147
+ max-height: 120px;
148
+ }
149
+
150
+ .image-input-read-exfi>button {
151
+ transform: scale(.8);
152
+ }
153
+
154
+ .image-ratio-buttons {
155
+ height: 120px;
156
+
157
+ & label {
158
+ width: calc(25% - calc(var(--spacing-xl) + 2px) * 2 / 4);
159
+ justify-content: center;
160
+ align-items: end;
161
+
162
+ & input {
163
+ display: none;
164
+ }
165
+ }
166
+
167
+ & label span {
168
+ margin-left: 0;
169
+ }
170
+ }
171
+
172
+ span.has-info+div {
173
+ margin-top: var(--spacing-lg);
174
+ margin-bottom: var(--spacing-lg);
175
+ }
176
+
177
+ .switch-ratio-btn {
178
+ /* max-width: 38px;
179
+ min-width: 38px !important;
180
+ height: 33px; */
181
+ --icon-ratio: 3/2;
182
+ aspect-ratio: 1;
183
+ min-width: 40px;
184
+ max-width: 120px;
185
+
186
+ & svg {
187
+ fill: var(--block-title-text-color);
188
+ width: 70%;
189
+ transition: transform 0.2s ease-in-out;
190
+ }
191
+
192
+ & svg.portrait {
193
+ transform: rotate(90deg) rotateX(180deg);
194
+ }
195
+ }
196
+
197
+ .switch-ratio-btn:hover {
198
+ & svg {
199
+ transform: rotate(40deg);
200
+ }
201
+
202
+ & svg.portrait {
203
+ transform: rotate(40deg) rotateX(180deg);
204
+ }
205
+ }
206
+
207
+ .output-dominant-image-color {
208
+ display: none;
209
+ }
210
+
211
+ .image-info-wrapper {
212
+ transition: opacity 0.4s linear;
213
+ }
214
+
215
+ .tb-img-width input[type=text],
216
+ .tb-img-height input[type=text],
217
+ .tb-img-seed input[type=text] {
218
+ display: block;
219
+ position: relative;
220
+ outline: none !important;
221
+ box-shadow: var(--input-shadow);
222
+ border: var(--input-border-width) solid var(--input-border-color);
223
+ border-radius: var(--input-radius);
224
+ background: var(--input-background-fill);
225
+ padding: var(--size-2) var(--size-2);
226
+ height: var(--size-6);
227
+ color: var(--body-text-color);
228
+ font-size: var(--input-text-size);
229
+ line-height: var(--line-sm);
230
+ text-align: center;
231
+ }
232
+
233
+ #output_image>div.image-container>div.icon-buttons {
234
+
235
+
236
+ /* display: flex;
237
+ position: absolute;
238
+ top: var(--block-label-margin);
239
+ right: var(--block-label-margin);
240
+ align-items: center; */
241
+ & button,
242
+ a button {
243
+ display: inline-block;
244
+ position: relative;
245
+ z-index: var(--layer-4);
246
+ border: solid var(--block-title-border-width) var(--block-title-border-color);
247
+ border-radius: var(--block-title-radius);
248
+ background: var(--block-title-background-fill);
249
+ padding: var(--block-title-padding);
250
+ color: var(--block-title-text-color);
251
+ font-weight: var(--block-title-text-weight);
252
+ font-size: var(--block-title-text-size);
253
+ line-height: var(--line-sm);
254
+ }
255
+ }
256
+
257
+ .random-prompt-btn,
258
+ .enhance-prompt-btn,
259
+ .run-btn {
260
+ min-width: 110px;
261
+
262
+ & svg {
263
+ fill: var(--block-title-text-color);
264
+ width: 1.8rem;
265
+ }
266
+
267
+ }
268
+
269
+ .image-height-selector>label,
270
+ .image-width-selector>label {
271
+ display: flex;
272
+ justify-content: space-between;
273
+
274
+ & input {
275
+ min-width: 100px;
276
+ width: 50%;
277
+ height: var(--size-9);
278
+ }
279
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
280
  }
_res/_custom.js CHANGED
@@ -1,112 +1,112 @@
1
- function gradioColorChange() {
2
- function onDomChange(callback) {
3
- const observer = new MutationObserver(callback)
4
- observer.observe(document.querySelector("#dominant_image_color"), {
5
- childList: true,
6
- subtree: true,
7
- })
8
- }
9
-
10
- onDomChange(() => {
11
- console.log("changed: " + document.querySelector("#dominant_image_color > label > textarea").value)
12
- if (document.querySelector("#dominant_image_color > label > textarea").value.match(/^rgb\((\d{1,3}),(\s\d{1,3}),(\s\d{1,3})\)$/) && document.querySelector("#output_image > div.image-container.svelte-1p15vfy > button > div > img").src) {
13
- document.querySelector("#output_image > div.image-container.svelte-1p15vfy > button > div > img").style.opacity = "0"
14
- document.querySelector("body > gradio-app > div").classList.add("fade-bg")
15
- document.querySelector("gradio-app").style.opacity = "0"
16
- setTimeout(() => {
17
- document.querySelector("body").style.setProperty("--primary-700", document.querySelector("#dominant_image_color > label > textarea").value)
18
- document.querySelector("gradio-app").classList.add("has-bg-image")
19
- document.querySelector("body").style.setProperty("--bg-image-path", `url("${document.querySelector("#output_image > div.image-container.svelte-1p15vfy > button > div > img").src}")`)
20
- }, 400)
21
- setTimeout(() => {
22
- document.querySelector("gradio-app").style.opacity = "1"
23
- document.querySelector("#output_image > div.image-container.svelte-1p15vfy > button > div > img").style.opacity = "1"
24
- document.querySelector("#dominant_image_color > label > textarea").value = ""
25
- }, 800)
26
- setTimeout(() => {
27
- //document.querySelector("body > gradio-app > div").classList.remove("fade-bg")
28
- }, 2000)
29
- }
30
- //document.querySelector("body").style.setProperty("--primary-700", document.querySelector("#dominant_image_color > label > textarea").value)
31
- })
32
-
33
- document.querySelector("body").style.setProperty("--primary-700", "rgb(14, 116, 144)")
34
- document.querySelector("body").style.setProperty("--primary-50", "color-mix(in srgb, var(--primary-700) 5%, white)")
35
- document.querySelector("body").style.setProperty("--primary-100", "color-mix(in srgb, var(--primary-700) 10%, white)")
36
- document.querySelector("body").style.setProperty("--primary-200", "color-mix(in srgb, var(--primary-700) 20%, white)")
37
- document.querySelector("body").style.setProperty("--primary-300", "color-mix(in srgb, var(--primary-700) 60%, white)")
38
- document.querySelector("body").style.setProperty("--primary-400", "color-mix(in srgb, var(--primary-700) 70%, white)")
39
- document.querySelector("body").style.setProperty("--primary-500", "color-mix(in srgb, var(--primary-700) 80%, white)")
40
- document.querySelector("body").style.setProperty("--primary-600", "color-mix(in srgb, var(--primary-700) 90%, white)")
41
- document.querySelector("body").style.setProperty("--primary-800", "color-mix(in srgb, var(--primary-700) 70%, black)")
42
- document.querySelector("body").style.setProperty("--primary-900", "color-mix(in srgb, var(--primary-700) 80%, black)")
43
- document.querySelector("body").style.setProperty("--primary-950", "color-mix(in srgb, var(--primary-700) 90%, black)")
44
-
45
- const imageRatioBtns = document.querySelectorAll("#image_ratio_buttons > div label")
46
- const width_selector = document.querySelector("#image_width_selector > label > input")
47
- const hight_selector = document.querySelector("#image_height_selector > label > input")
48
- const switch_width_height = document.querySelector("#switch_width_height")
49
-
50
- const random_prompt_btn = document.querySelector("#random_prompt_btn")
51
- random_prompt_btn.innerHTML =
52
- '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><g data-name="Ebene_1"><path fill="none" d="M0 48V0h48v48z"/><path d="M42.15 9.85C41.58 9.28 40.9 9 40.12 9H7.88c-.78 0-1.46.28-2.03.85S5 11.1 5 11.88v24.23c0 .78.28 1.46.85 2.03s1.25.85 2.03.85h32.23c.78 0 1.46-.28 2.03-.85s.85-1.25.85-2.03V11.88c0-.78-.28-1.46-.85-2.03ZM13.66 30.78c-.68 0-1.24-.55-1.24-1.24s.55-1.24 1.24-1.24 1.24.55 1.24 1.24-.55 1.24-1.24 1.24Zm2.8-7.78-1.3 1.8c-.32.45-.41.76-.48 1.23-.04.26-.13.48-.28.64-.17.19-.42.29-.73.29s-.56-.12-.73-.31c-.16-.18-.25-.42-.25-.73 0-.68.12-1.09.65-1.8l1.48-2c.33-.45.58-.87.58-1.47 0-1.04-.75-1.83-1.83-1.83-.52 0-.99.15-1.36.52-.29.29-.43.65-.55 1.12-.06.22-.16.47-.27.58-.15.17-.39.29-.7.29-.26 0-.49-.1-.66-.29-.18-.2-.23-.42-.23-.71 0-.67.35-1.58 1.03-2.22.68-.65 1.62-1.03 2.73-1.03 2.11 0 3.79 1.4 3.79 3.57 0 1-.35 1.62-.89 2.36Zm7.28 7.78c-.68 0-1.24-.55-1.24-1.24s.55-1.24 1.24-1.24 1.24.55 1.24 1.24-.55 1.24-1.24 1.24Zm2.8-7.78-1.3 1.8c-.32.45-.41.76-.48 1.23-.04.26-.13.48-.28.64-.17.19-.42.29-.73.29s-.56-.12-.73-.31c-.16-.18-.25-.42-.25-.73 0-.68.12-1.09.65-1.8l1.48-2c.33-.45.58-.87.58-1.47 0-1.04-.75-1.83-1.83-1.83-.52 0-.99.15-1.36.52-.29.29-.43.65-.55 1.12-.06.22-.16.47-.27.58-.15.17-.39.29-.7.29-.26 0-.49-.1-.66-.29-.18-.2-.23-.42-.23-.71 0-.67.35-1.58 1.03-2.22.68-.65 1.62-1.03 2.73-1.03 2.11 0 3.79 1.4 3.79 3.57 0 1-.35 1.62-.89 2.36Zm7.28 7.78c-.68 0-1.24-.55-1.24-1.24s.55-1.24 1.24-1.24 1.24.55 1.24 1.24-.55 1.24-1.24 1.24Zm2.8-7.78-1.3 1.8c-.32.45-.41.76-.48 1.23-.04.26-.13.48-.28.64-.17.19-.42.29-.73.29s-.56-.12-.73-.31c-.16-.18-.25-.42-.25-.73 0-.68.12-1.09.65-1.8l1.48-2c.33-.45.58-.87.58-1.47 0-1.04-.75-1.83-1.83-1.83-.52 0-.99.15-1.36.52-.29.29-.43.65-.55 1.12-.06.22-.16.47-.27.58-.15.17-.39.29-.7.29-.26 0-.49-.1-.66-.29-.18-.2-.23-.42-.23-.71 0-.67.35-1.58 1.03-2.22.68-.65 1.62-1.03 2.73-1.03 2.11 0 3.79 1.4 3.79 3.57 0 1-.35 1.62-.89 2.36Z"/></g></svg>'
53
- const enhance_prompt_btn = document.querySelector("#enhance_prompt_btn")
54
- enhance_prompt_btn.innerHTML =
55
- '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><g data-name="Ebene_1"><path fill="none" d="M0 48V0h48v48z"/><path d="m33.91 29.59 9.37-8.07h.38c.4.05.72.21.95.49.23.28.35.59.35.91 0 .18-.05.37-.14.55-.09.18-.22.35-.37.5l-7.55 6.48 2.31 10s.04.1.04.17v.14c0 .41-.14.73-.42.98-.28.24-.6.37-.97.37-.12 0-.24-.01-.37-.04s-.25-.07-.37-.13l-.4-.27-2.8-12.09Zm-4.95-15.31-3-7.1.16-.33c.1-.27.26-.47.5-.63.24-.15.49-.23.75-.23.24 0 .49.07.74.22s.43.36.55.65l3.25 7.67-2.95-.26ZM12.1 37.29l8.69-5.23 8.69 5.29-2.3-9.9 7.65-6.64-10.09-.89-3.95-9.31-3.95 9.25-10.09.89 7.65 6.66-2.3 9.88Zm-3.09 1.65 2.44-10.56-8.16-7.13c-.2-.18-.35-.38-.46-.59-.11-.22-.16-.42-.16-.63 0-.41.14-.79.43-1.14.29-.34.67-.53 1.14-.55l10.8-.96 4.18-9.96c.13-.34.34-.59.64-.76.3-.17.6-.25.91-.25s.62.08.93.25c.31.17.53.42.66.76l4.18 9.96 10.8.96c.48.02.86.21 1.15.55.29.34.44.72.44 1.13 0 .22-.06.44-.18.65-.12.21-.27.4-.47.58l-8.16 7.13 2.47 10.56c.03.09.05.21.05.36 0 .48-.17.89-.51 1.22-.34.33-.73.49-1.16.49-.09 0-.4-.09-.93-.27l-9.26-5.59-9.26 5.59c-.14.08-.29.14-.46.19-.16.05-.31.08-.44.08-.5 0-.94-.21-1.31-.62-.37-.41-.48-.9-.32-1.45Z"/></g></svg>'
56
- const run_btn = document.querySelector("#run_btn")
57
- run_btn.innerHTML =
58
- '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><g data-name="Ebene_1"><path fill="none" d="M0 48V0h48v48z"/><path d="M29.27 43.84V33.13l-6.01-5.57-1.89 8.38c-.1.4-.31.7-.64.92-.33.21-.69.28-1.08.22L9.48 34.99c-.28-.06-.51-.21-.69-.46s-.24-.54-.19-.86c.05-.3.21-.53.48-.68s.54-.2.82-.15l8.99 1.79 3.86-19.69-5.88 2.67v5.52c0 .33-.11.6-.33.82-.22.22-.5.33-.83.33-.33 0-.61-.11-.82-.33-.22-.22-.33-.5-.33-.82V17c0-.3.08-.58.25-.82.17-.24.38-.43.65-.55l7.42-3.07c.94-.41 1.62-.67 2.04-.78.42-.11.83-.17 1.22-.17.6 0 1.14.13 1.61.4.47.27.88.66 1.21 1.17l2.12 3.37c.79 1.27 1.85 2.4 3.16 3.39 1.31.99 2.81 1.62 4.5 1.91.33.06.61.2.83.42.23.22.34.49.34.8s-.11.6-.34.82c-.23.22-.49.31-.81.27-1.84-.22-3.58-.87-5.2-1.96-1.62-1.09-3.12-2.68-4.49-4.79l-2.09 9.07 4.11 3.88c.16.14.28.31.36.49.08.19.13.38.13.57v12.42c0 .33-.11.6-.34.82-.23.22-.5.33-.82.33s-.61-.11-.82-.33c-.22-.22-.33-.5-.33-.82Zm-.06-34.83c-.97 0-1.8-.34-2.48-1.02-.68-.68-1.03-1.51-1.03-2.48s.34-1.8 1.02-2.48C27.4 2.35 28.23 2 29.2 2s1.8.34 2.48 1.02c.68.68 1.03 1.51 1.03 2.48s-.34 1.8-1.02 2.48c-.68.68-1.51 1.03-2.48 1.03Z"/></g></svg>'
59
-
60
- switch_width_height.innerHTML =
61
- '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><g data-name="Ebene_1"><path fill="none" d="M0 48V0h48v48z"/><path d="M33.75 22.5V6.01c0-1.84-1.5-3.34-3.34-3.34H5.01c-1.84 0-3.34 1.5-3.34 3.34V22.5c0 1.84 1.5 3.34 3.34 3.34h25.4c1.84 0 3.34-1.5 3.34-3.34Zm-29.41 0V6.01c0-.37.3-.67.67-.67h25.4c.37 0 .67.3.67.67V22.5c0 .37-.3.67-.67.67H5.01a.67.67 0 0 1-.67-.67Z"/><path d="M39.65 15.1c-.41-.72-1.33-.97-2.05-.56s-.97 1.33-.56 2.05C38.32 18.84 39 21.4 39 24c0 8.27-6.73 15-15 15-5.2 0-9.91-2.61-12.68-7H16c.83 0 1.5-.67 1.5-1.5S16.83 29 16 29H7.5c-.83 0-1.5.67-1.5 1.5V39c0 .83.67 1.5 1.5 1.5S9 39.83 9 39v-5.06C12.35 39 17.9 42 24 42c9.93 0 18-8.07 18-18 0-3.12-.81-6.2-2.35-8.9Z"/></g></svg>'
62
-
63
- switch_width_height.addEventListener("click", () => {
64
- switch_width_height.querySelector("svg").classList.toggle("portrait")
65
- switch_width_height.querySelector("svg").classList.toggle("landscape")
66
- // imageRatioBtns.forEach((_) => {
67
- // const ratio = _.querySelector("input").value
68
- // const [a, b] = ratio.split(":")
69
- // _.dataset.testid = `${b}:${a}-radio-label`
70
- // _.querySelector("input").value = `${b}:${a}`
71
- // _.querySelector("span").textContent = `${b}:${a}`
72
- // })
73
-
74
- // const imageRatioBtnsLabel = document.querySelector("#image_ratio_buttons > span")
75
- // imageRatioBtnsLabel.textContent = imageRatioBtnsLabel.textContent === "Querformat" ? "Hochformat" : "Querformat"
76
- // const new_hight = width_selector.value
77
- // const new_width = hight_selector.value
78
- // width_selector.value = new_width
79
- // hight_selector.value = new_hight
80
- })
81
-
82
- //document.querySelector("#image_ratio_buttons > div.wrap.svelte-1kzox3m > label")
83
- // imageRatioBtns.forEach((_) => {
84
- // _.querySelector("input").addEventListener("click", (e) => {
85
- // let set_width
86
- // let set_height
87
- // const clicked_on = e.target
88
- // console.log("Clicked Btn:", clicked_on.value)
89
-
90
- // const ratio = e.target.value
91
- // const [a, b] = ratio.split(":")
92
-
93
- // if (parseInt(a) > parseInt(b)) {
94
- // console.log("a: " + a + " > " + "b: " + b)
95
- // set_width = 1024
96
- // set_height = Math.round(set_width * (b / a))
97
- // } else if (parseInt(a) < parseInt(b)) {
98
- // console.log("a: " + a + " < " + "b: " + b)
99
- // set_height = 1024
100
- // set_width = Math.round(set_height * (a / b))
101
- // } else if (parseInt(a) == parseInt(b)) {
102
- // set_height = 1024
103
- // set_width = 1024
104
- // }
105
-
106
- // width_selector.value = set_width
107
- // hight_selector.value = set_height
108
- // })
109
- // })
110
-
111
- return "Animation created"
112
- }
 
1
+ function gradioColorChange() {
2
+ function onDomChange(callback) {
3
+ const observer = new MutationObserver(callback)
4
+ observer.observe(document.querySelector("#dominant_image_color"), {
5
+ childList: true,
6
+ subtree: true,
7
+ })
8
+ }
9
+
10
+ onDomChange(() => {
11
+ console.log("changed: " + document.querySelector("#dominant_image_color > label > textarea").value)
12
+ if (document.querySelector("#dominant_image_color > label > textarea").value.match(/^rgb\((\d{1,3}),(\s\d{1,3}),(\s\d{1,3})\)$/) && document.querySelector("#output_image > div.image-container.svelte-1p15vfy > button > div > img").src) {
13
+ document.querySelector("#output_image > div.image-container.svelte-1p15vfy > button > div > img").style.opacity = "0"
14
+ document.querySelector("body > gradio-app > div").classList.add("fade-bg")
15
+ document.querySelector("gradio-app").style.opacity = "0"
16
+ setTimeout(() => {
17
+ document.querySelector("body").style.setProperty("--primary-700", document.querySelector("#dominant_image_color > label > textarea").value)
18
+ document.querySelector("gradio-app").classList.add("has-bg-image")
19
+ document.querySelector("body").style.setProperty("--bg-image-path", `url("${document.querySelector("#output_image > div.image-container.svelte-1p15vfy > button > div > img").src}")`)
20
+ }, 400)
21
+ setTimeout(() => {
22
+ document.querySelector("gradio-app").style.opacity = "1"
23
+ document.querySelector("#output_image > div.image-container.svelte-1p15vfy > button > div > img").style.opacity = "1"
24
+ document.querySelector("#dominant_image_color > label > textarea").value = ""
25
+ }, 800)
26
+ setTimeout(() => {
27
+ //document.querySelector("body > gradio-app > div").classList.remove("fade-bg")
28
+ }, 2000)
29
+ }
30
+ //document.querySelector("body").style.setProperty("--primary-700", document.querySelector("#dominant_image_color > label > textarea").value)
31
+ })
32
+
33
+ document.querySelector("body").style.setProperty("--primary-700", "rgb(14, 116, 144)")
34
+ document.querySelector("body").style.setProperty("--primary-50", "color-mix(in srgb, var(--primary-700) 5%, white)")
35
+ document.querySelector("body").style.setProperty("--primary-100", "color-mix(in srgb, var(--primary-700) 10%, white)")
36
+ document.querySelector("body").style.setProperty("--primary-200", "color-mix(in srgb, var(--primary-700) 20%, white)")
37
+ document.querySelector("body").style.setProperty("--primary-300", "color-mix(in srgb, var(--primary-700) 60%, white)")
38
+ document.querySelector("body").style.setProperty("--primary-400", "color-mix(in srgb, var(--primary-700) 70%, white)")
39
+ document.querySelector("body").style.setProperty("--primary-500", "color-mix(in srgb, var(--primary-700) 80%, white)")
40
+ document.querySelector("body").style.setProperty("--primary-600", "color-mix(in srgb, var(--primary-700) 90%, white)")
41
+ document.querySelector("body").style.setProperty("--primary-800", "color-mix(in srgb, var(--primary-700) 70%, black)")
42
+ document.querySelector("body").style.setProperty("--primary-900", "color-mix(in srgb, var(--primary-700) 80%, black)")
43
+ document.querySelector("body").style.setProperty("--primary-950", "color-mix(in srgb, var(--primary-700) 90%, black)")
44
+
45
+ const imageRatioBtns = document.querySelectorAll("#image_ratio_buttons > div label")
46
+ const width_selector = document.querySelector("#image_width_selector > label > input")
47
+ const hight_selector = document.querySelector("#image_height_selector > label > input")
48
+ const switch_width_height = document.querySelector("#switch_width_height")
49
+
50
+ const random_prompt_btn = document.querySelector("#random_prompt_btn")
51
+ random_prompt_btn.innerHTML =
52
+ '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><g data-name="Ebene_1"><path fill="none" d="M0 48V0h48v48z"/><path d="M42.15 9.85C41.58 9.28 40.9 9 40.12 9H7.88c-.78 0-1.46.28-2.03.85S5 11.1 5 11.88v24.23c0 .78.28 1.46.85 2.03s1.25.85 2.03.85h32.23c.78 0 1.46-.28 2.03-.85s.85-1.25.85-2.03V11.88c0-.78-.28-1.46-.85-2.03ZM13.66 30.78c-.68 0-1.24-.55-1.24-1.24s.55-1.24 1.24-1.24 1.24.55 1.24 1.24-.55 1.24-1.24 1.24Zm2.8-7.78-1.3 1.8c-.32.45-.41.76-.48 1.23-.04.26-.13.48-.28.64-.17.19-.42.29-.73.29s-.56-.12-.73-.31c-.16-.18-.25-.42-.25-.73 0-.68.12-1.09.65-1.8l1.48-2c.33-.45.58-.87.58-1.47 0-1.04-.75-1.83-1.83-1.83-.52 0-.99.15-1.36.52-.29.29-.43.65-.55 1.12-.06.22-.16.47-.27.58-.15.17-.39.29-.7.29-.26 0-.49-.1-.66-.29-.18-.2-.23-.42-.23-.71 0-.67.35-1.58 1.03-2.22.68-.65 1.62-1.03 2.73-1.03 2.11 0 3.79 1.4 3.79 3.57 0 1-.35 1.62-.89 2.36Zm7.28 7.78c-.68 0-1.24-.55-1.24-1.24s.55-1.24 1.24-1.24 1.24.55 1.24 1.24-.55 1.24-1.24 1.24Zm2.8-7.78-1.3 1.8c-.32.45-.41.76-.48 1.23-.04.26-.13.48-.28.64-.17.19-.42.29-.73.29s-.56-.12-.73-.31c-.16-.18-.25-.42-.25-.73 0-.68.12-1.09.65-1.8l1.48-2c.33-.45.58-.87.58-1.47 0-1.04-.75-1.83-1.83-1.83-.52 0-.99.15-1.36.52-.29.29-.43.65-.55 1.12-.06.22-.16.47-.27.58-.15.17-.39.29-.7.29-.26 0-.49-.1-.66-.29-.18-.2-.23-.42-.23-.71 0-.67.35-1.58 1.03-2.22.68-.65 1.62-1.03 2.73-1.03 2.11 0 3.79 1.4 3.79 3.57 0 1-.35 1.62-.89 2.36Zm7.28 7.78c-.68 0-1.24-.55-1.24-1.24s.55-1.24 1.24-1.24 1.24.55 1.24 1.24-.55 1.24-1.24 1.24Zm2.8-7.78-1.3 1.8c-.32.45-.41.76-.48 1.23-.04.26-.13.48-.28.64-.17.19-.42.29-.73.29s-.56-.12-.73-.31c-.16-.18-.25-.42-.25-.73 0-.68.12-1.09.65-1.8l1.48-2c.33-.45.58-.87.58-1.47 0-1.04-.75-1.83-1.83-1.83-.52 0-.99.15-1.36.52-.29.29-.43.65-.55 1.12-.06.22-.16.47-.27.58-.15.17-.39.29-.7.29-.26 0-.49-.1-.66-.29-.18-.2-.23-.42-.23-.71 0-.67.35-1.58 1.03-2.22.68-.65 1.62-1.03 2.73-1.03 2.11 0 3.79 1.4 3.79 3.57 0 1-.35 1.62-.89 2.36Z"/></g></svg>'
53
+ const enhance_prompt_btn = document.querySelector("#enhance_prompt_btn")
54
+ enhance_prompt_btn.innerHTML =
55
+ '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><g data-name="Ebene_1"><path fill="none" d="M0 48V0h48v48z"/><path d="m33.91 29.59 9.37-8.07h.38c.4.05.72.21.95.49.23.28.35.59.35.91 0 .18-.05.37-.14.55-.09.18-.22.35-.37.5l-7.55 6.48 2.31 10s.04.1.04.17v.14c0 .41-.14.73-.42.98-.28.24-.6.37-.97.37-.12 0-.24-.01-.37-.04s-.25-.07-.37-.13l-.4-.27-2.8-12.09Zm-4.95-15.31-3-7.1.16-.33c.1-.27.26-.47.5-.63.24-.15.49-.23.75-.23.24 0 .49.07.74.22s.43.36.55.65l3.25 7.67-2.95-.26ZM12.1 37.29l8.69-5.23 8.69 5.29-2.3-9.9 7.65-6.64-10.09-.89-3.95-9.31-3.95 9.25-10.09.89 7.65 6.66-2.3 9.88Zm-3.09 1.65 2.44-10.56-8.16-7.13c-.2-.18-.35-.38-.46-.59-.11-.22-.16-.42-.16-.63 0-.41.14-.79.43-1.14.29-.34.67-.53 1.14-.55l10.8-.96 4.18-9.96c.13-.34.34-.59.64-.76.3-.17.6-.25.91-.25s.62.08.93.25c.31.17.53.42.66.76l4.18 9.96 10.8.96c.48.02.86.21 1.15.55.29.34.44.72.44 1.13 0 .22-.06.44-.18.65-.12.21-.27.4-.47.58l-8.16 7.13 2.47 10.56c.03.09.05.21.05.36 0 .48-.17.89-.51 1.22-.34.33-.73.49-1.16.49-.09 0-.4-.09-.93-.27l-9.26-5.59-9.26 5.59c-.14.08-.29.14-.46.19-.16.05-.31.08-.44.08-.5 0-.94-.21-1.31-.62-.37-.41-.48-.9-.32-1.45Z"/></g></svg>'
56
+ const run_btn = document.querySelector("#run_btn")
57
+ run_btn.innerHTML =
58
+ '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><g data-name="Ebene_1"><path fill="none" d="M0 48V0h48v48z"/><path d="M29.27 43.84V33.13l-6.01-5.57-1.89 8.38c-.1.4-.31.7-.64.92-.33.21-.69.28-1.08.22L9.48 34.99c-.28-.06-.51-.21-.69-.46s-.24-.54-.19-.86c.05-.3.21-.53.48-.68s.54-.2.82-.15l8.99 1.79 3.86-19.69-5.88 2.67v5.52c0 .33-.11.6-.33.82-.22.22-.5.33-.83.33-.33 0-.61-.11-.82-.33-.22-.22-.33-.5-.33-.82V17c0-.3.08-.58.25-.82.17-.24.38-.43.65-.55l7.42-3.07c.94-.41 1.62-.67 2.04-.78.42-.11.83-.17 1.22-.17.6 0 1.14.13 1.61.4.47.27.88.66 1.21 1.17l2.12 3.37c.79 1.27 1.85 2.4 3.16 3.39 1.31.99 2.81 1.62 4.5 1.91.33.06.61.2.83.42.23.22.34.49.34.8s-.11.6-.34.82c-.23.22-.49.31-.81.27-1.84-.22-3.58-.87-5.2-1.96-1.62-1.09-3.12-2.68-4.49-4.79l-2.09 9.07 4.11 3.88c.16.14.28.31.36.49.08.19.13.38.13.57v12.42c0 .33-.11.6-.34.82-.23.22-.5.33-.82.33s-.61-.11-.82-.33c-.22-.22-.33-.5-.33-.82Zm-.06-34.83c-.97 0-1.8-.34-2.48-1.02-.68-.68-1.03-1.51-1.03-2.48s.34-1.8 1.02-2.48C27.4 2.35 28.23 2 29.2 2s1.8.34 2.48 1.02c.68.68 1.03 1.51 1.03 2.48s-.34 1.8-1.02 2.48c-.68.68-1.51 1.03-2.48 1.03Z"/></g></svg>'
59
+
60
+ switch_width_height.innerHTML =
61
+ '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><g data-name="Ebene_1"><path fill="none" d="M0 48V0h48v48z"/><path d="M33.75 22.5V6.01c0-1.84-1.5-3.34-3.34-3.34H5.01c-1.84 0-3.34 1.5-3.34 3.34V22.5c0 1.84 1.5 3.34 3.34 3.34h25.4c1.84 0 3.34-1.5 3.34-3.34Zm-29.41 0V6.01c0-.37.3-.67.67-.67h25.4c.37 0 .67.3.67.67V22.5c0 .37-.3.67-.67.67H5.01a.67.67 0 0 1-.67-.67Z"/><path d="M39.65 15.1c-.41-.72-1.33-.97-2.05-.56s-.97 1.33-.56 2.05C38.32 18.84 39 21.4 39 24c0 8.27-6.73 15-15 15-5.2 0-9.91-2.61-12.68-7H16c.83 0 1.5-.67 1.5-1.5S16.83 29 16 29H7.5c-.83 0-1.5.67-1.5 1.5V39c0 .83.67 1.5 1.5 1.5S9 39.83 9 39v-5.06C12.35 39 17.9 42 24 42c9.93 0 18-8.07 18-18 0-3.12-.81-6.2-2.35-8.9Z"/></g></svg>'
62
+
63
+ switch_width_height.addEventListener("click", () => {
64
+ switch_width_height.querySelector("svg").classList.toggle("portrait")
65
+ switch_width_height.querySelector("svg").classList.toggle("landscape")
66
+ // imageRatioBtns.forEach((_) => {
67
+ // const ratio = _.querySelector("input").value
68
+ // const [a, b] = ratio.split(":")
69
+ // _.dataset.testid = `${b}:${a}-radio-label`
70
+ // _.querySelector("input").value = `${b}:${a}`
71
+ // _.querySelector("span").textContent = `${b}:${a}`
72
+ // })
73
+
74
+ // const imageRatioBtnsLabel = document.querySelector("#image_ratio_buttons > span")
75
+ // imageRatioBtnsLabel.textContent = imageRatioBtnsLabel.textContent === "Querformat" ? "Hochformat" : "Querformat"
76
+ // const new_hight = width_selector.value
77
+ // const new_width = hight_selector.value
78
+ // width_selector.value = new_width
79
+ // hight_selector.value = new_hight
80
+ })
81
+
82
+ //document.querySelector("#image_ratio_buttons > div.wrap.svelte-1kzox3m > label")
83
+ // imageRatioBtns.forEach((_) => {
84
+ // _.querySelector("input").addEventListener("click", (e) => {
85
+ // let set_width
86
+ // let set_height
87
+ // const clicked_on = e.target
88
+ // console.log("Clicked Btn:", clicked_on.value)
89
+
90
+ // const ratio = e.target.value
91
+ // const [a, b] = ratio.split(":")
92
+
93
+ // if (parseInt(a) > parseInt(b)) {
94
+ // console.log("a: " + a + " > " + "b: " + b)
95
+ // set_width = 1024
96
+ // set_height = Math.round(set_width * (b / a))
97
+ // } else if (parseInt(a) < parseInt(b)) {
98
+ // console.log("a: " + a + " < " + "b: " + b)
99
+ // set_height = 1024
100
+ // set_width = Math.round(set_height * (a / b))
101
+ // } else if (parseInt(a) == parseInt(b)) {
102
+ // set_height = 1024
103
+ // set_width = 1024
104
+ // }
105
+
106
+ // width_selector.value = set_width
107
+ // hight_selector.value = set_height
108
+ // })
109
+ // })
110
+
111
+ return "Animation created"
112
+ }
_res/groq_systemmessage_prompt_enhance.json CHANGED
@@ -1,4 +1,4 @@
1
- {
2
- "role": "system",
3
- "content": "Instruction Set for Image Prompt Diversification:\n\n1. Language Processing:\n - If the prompt is not in English, translate it to English first.\n - Consider incorporating multilingual elements to enhance global appeal.\n\n2. Prompt Analysis:\n - Receive and analyze the original image prompt from the user.\n - Identify core elements: main subject, setting, colors, lighting, mood, and any temporal aspects.\n - Determine relevance of specific languages or cultures to the subject matter.\n\n3. Prompt Generation:\n - Create one distinctive new prompt describing the same image from a different perspective.\n - Maintain a clear, vivid description while using varied vocabulary and sentence structures.\n - Avoid reusing adjectives, nouns, verbs, or phrases from the original prompt.\n\n4. Style and Artistic References:\n - If a visual style or artist is referenced, expand with more details about the style or artist.\n - If no style is given, suggest a fitting style typical for that type of image.\n\n5. Technical and Abstract Concepts:\n - For technical content (e.g., spreadsheets, diagrams), rewrite into figurative prompts.\n - Example: Transform a spreadsheet into an intricate isometric technical drawing representing the data.\n - Provide guidance on visualizing abstract concepts or ideas.\n\n6. Temporal and Cultural Considerations:\n - Incorporate historical or futuristic elements when appropriate.\n - Ensure cultural sensitivity and diversity in representations.\n\n7. Emotional Depth:\n - Emphasize emotional nuances and moods in the prompt.\n\n8. Interactive Elements:\n - Suggest ways to imply movement or interaction in static images.\n\n9. Random Prompt Generation:\n - When requested, create an evocative and surprising prompt within user constraints.\n - Provide any unspecified details to complete the image concept.\n\n10. Output Format:\n Respond only with the new prompt in the following format:\n [detailed prompt] - [style artist medium art movement photo style]\n\nNote: Prioritize widely used words and popular online languages in multilingual elements."
4
- }
 
1
+ {
2
+ "role": "system",
3
+ "content": "Instruction Set for Image Prompt Diversification:\n\n1. Language Processing:\n - If the prompt is not in English, translate it to English first.\n - Consider incorporating multilingual elements to enhance global appeal.\n\n2. Prompt Analysis:\n - Receive and analyze the original image prompt from the user.\n - Identify core elements: main subject, setting, colors, lighting, mood, and any temporal aspects.\n - Determine relevance of specific languages or cultures to the subject matter.\n\n3. Prompt Generation:\n - Create one distinctive new prompt describing the same image from a different perspective.\n - Maintain a clear, vivid description while using varied vocabulary and sentence structures.\n - Avoid reusing adjectives, nouns, verbs, or phrases from the original prompt.\n\n4. Style and Artistic References:\n - If a visual style or artist is referenced, expand with more details about the style or artist.\n - If no style is given, suggest a fitting style typical for that type of image.\n\n5. Technical and Abstract Concepts:\n - For technical content (e.g., spreadsheets, diagrams), rewrite into figurative prompts.\n - Example: Transform a spreadsheet into an intricate isometric technical drawing representing the data.\n - Provide guidance on visualizing abstract concepts or ideas.\n\n6. Temporal and Cultural Considerations:\n - Incorporate historical or futuristic elements when appropriate.\n - Ensure cultural sensitivity and diversity in representations.\n\n7. Emotional Depth:\n - Emphasize emotional nuances and moods in the prompt.\n\n8. Interactive Elements:\n - Suggest ways to imply movement or interaction in static images.\n\n9. Random Prompt Generation:\n - When requested, create an evocative and surprising prompt within user constraints.\n - Provide any unspecified details to complete the image concept.\n\n10. Output Format:\n Respond only with the new prompt in the following format:\n [detailed prompt] - [style artist medium art movement photo style]\n\nNote: Prioritize widely used words and popular online languages in multilingual elements."
4
+ }