Gigishot commited on
Commit
fcaed26
·
verified ·
1 Parent(s): ee43bf8

Update templates/index.html

Browse files
Files changed (1) hide show
  1. templates/index.html +210 -92
templates/index.html CHANGED
@@ -4,141 +4,259 @@
4
  <meta charset="UTF-8">
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
  <title>AI Blog Generator</title>
 
7
  <style>
 
 
8
  body {
9
- margin: 0;
10
- font-family: 'Poppins', sans-serif;
11
- color: #333;
12
  display: flex;
13
- justify-content: center;
14
  align-items: center;
15
- min-height: 100vh;
16
- padding: 20px;
17
- box-sizing: border-box;
18
- position: relative;
19
- overflow: hidden;
 
 
 
20
 
21
- /* New background image */
22
- background-image: url('/static/images/bjp.jpg');
23
- background-size: cover;
24
- background-position: center;
25
- background-attachment: fixed;
 
 
 
26
  }
27
 
28
- .container {
29
- background: linear-gradient(135deg, rgba(88,184,246,0.85), rgba(230,165,227,0.85));
30
- border: 1px solid rgba(255, 251, 234, 1);
 
 
 
 
 
 
 
31
  border-radius: 20px;
32
- padding: 40px 20px;
33
- box-shadow: 0 0 25px rgba(255, 251, 239, 0.62);
34
- text-align: center;
35
- max-width: 500px;
36
  width: 100%;
37
- backdrop-filter: blur(20px) saturate(180%);
38
- -webkit-backdrop-filter: blur(20px) saturate(180%);
39
- z-index: 1;
40
  }
41
 
42
- .container h1 {
43
- font-size: clamp(20px, 4vw, 32px);
44
- margin-bottom: 20px;
45
- color: #ffffff;
46
- text-shadow: 0 0 10px rgba(64, 60, 86, 0.29);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
47
  }
48
 
49
- .input-group {
 
 
50
  display: flex;
51
- flex-direction: column;
52
- align-items: stretch;
 
 
 
 
53
  gap: 10px;
54
  }
55
 
56
- input[type="text"] {
57
- padding: 12px 15px;
58
- border: 1px solid rgba(255, 255, 255, 0.6);
59
- border-radius: 10px;
60
- font-size: 16px;
61
- background-color: rgba(255, 255, 255, 0.9);
62
- color: #333;
63
- box-shadow: 0 0 12px rgba(64, 60, 86, 0.29);
64
- outline: none;
65
- transition: box-shadow 0.3s ease, border-color 0.3s ease;
66
- width: 100%;
67
- box-sizing: border-box;
68
  }
69
 
70
- input[type="text"]::placeholder {
71
- color: #777;
 
 
 
 
 
 
 
 
 
 
72
  }
73
 
74
- input[type="text"]:focus {
75
- box-shadow: 0 0 15px rgba(88,184,246,0.7);
76
- border-color: rgba(88,184,246,1);
 
 
 
 
77
  }
78
 
79
- button {
80
- background: linear-gradient(135deg, #d78fd3ff, #49a5e2ff);
81
- border: 1px solid rgba(255, 251, 234, 1);
82
- border-radius: 10px;
83
- padding: 12px 20px;
84
  color: #fff;
 
 
 
 
 
85
  cursor: pointer;
86
- font-weight: bold;
87
- font-size: 16px;
88
- transition: 0.3s ease;
89
- width: 100%;
90
- box-sizing: border-box;
91
- box-shadow: 0 0 15px rgba(255, 251, 239, 0.5);
92
  }
93
 
94
- button:hover {
95
- background: linear-gradient(135deg, #49a5e2ff, #d78fd3ff);
96
- transform: scale(1.05);
97
- box-shadow: 0 0 18px rgba(110, 100, 110, 0.51);
98
  }
99
 
100
- #output {
 
 
101
  margin-top: 20px;
102
- border: 1px solid rgba(255,255,255,0.4);
103
- background: linear-gradient(135deg, rgba(229, 225, 255, 0.9), rgba(198, 232, 255, 0.9));
104
- padding: 15px;
105
- border-radius: 10px;
106
- color: #2d1818ff;
107
- box-shadow: 0 0 15px rgba(176,166,245,0.7);
108
- text-align: justify;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
109
  }
110
 
111
- @media (min-width: 600px) {
112
- .input-group {
113
- flex-direction: row;
114
- justify-content: center;
115
- }
 
 
 
116
 
117
- input[type="text"] {
118
- width: 70%;
119
- }
 
 
120
 
121
- button {
122
- width: auto;
123
- }
 
 
 
124
  }
 
 
125
  </style>
126
  </head>
127
  <body>
128
 
129
- <div class="container">
130
  <h1>AI Blog Generator</h1>
131
- <form class="input-group" method="POST">
132
- <input type="text" name="topic" placeholder="Enter your topic">
133
- <button type="submit">Generate</button>
 
 
 
 
 
 
 
 
 
 
 
134
  </form>
 
 
 
135
 
136
- {% if paragraph %}
137
- <div id="output">
138
- {{ paragraph }}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
139
  </div>
140
- {% endif %}
141
  </div>
142
 
143
  </body>
144
- </html>
 
4
  <meta charset="UTF-8">
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
  <title>AI Blog Generator</title>
7
+ <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Syne:wght@700;800&display=swap" rel="stylesheet">
8
  <style>
9
+ *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
10
+
11
  body {
12
+ font-family: 'Inter', sans-serif;
13
+ background: #f0f0fa;
14
+ min-height: 100vh;
15
  display: flex;
16
+ flex-direction: column;
17
  align-items: center;
18
+ padding: 60px 20px;
19
+ color: #1a1a2e;
20
+ }
21
+
22
+ .hero {
23
+ text-align: center;
24
+ margin-bottom: 36px;
25
+ }
26
 
27
+ .hero h1 {
28
+ font-family: 'Syne', sans-serif;
29
+ font-size: clamp(36px, 6vw, 58px);
30
+ font-weight: 800;
31
+ color: #1a1a2e;
32
+ letter-spacing: -1px;
33
+ line-height: 1.1;
34
+ margin-bottom: 14px;
35
  }
36
 
37
+ .hero p {
38
+ font-size: 16px;
39
+ color: #6b6b8a;
40
+ max-width: 380px;
41
+ margin: 0 auto;
42
+ line-height: 1.6;
43
+ }
44
+
45
+ .card {
46
+ background: #ffffff;
47
  border-radius: 20px;
48
+ padding: 28px;
 
 
 
49
  width: 100%;
50
+ max-width: 680px;
51
+ box-shadow: 0 4px 32px rgba(0,0,0,0.06);
 
52
  }
53
 
54
+ .input-label {
55
+ font-size: 10px;
56
+ font-weight: 600;
57
+ letter-spacing: 1.5px;
58
+ text-transform: uppercase;
59
+ color: #5c6ac4;
60
+ margin-bottom: 10px;
61
+ display: block;
62
+ }
63
+
64
+ textarea {
65
+ width: 100%;
66
+ border: none;
67
+ outline: none;
68
+ resize: none;
69
+ font-family: 'Inter', sans-serif;
70
+ font-size: 15px;
71
+ color: #9999bb;
72
+ background: transparent;
73
+ min-height: 100px;
74
+ line-height: 1.6;
75
  }
76
 
77
+ textarea::placeholder { color: #b0b0cc; }
78
+
79
+ .card-footer {
80
  display: flex;
81
+ align-items: center;
82
+ justify-content: space-between;
83
+ margin-top: 20px;
84
+ padding-top: 16px;
85
+ border-top: 1px solid #f0f0f8;
86
+ flex-wrap: wrap;
87
  gap: 10px;
88
  }
89
 
90
+ .tags {
91
+ display: flex;
92
+ gap: 8px;
 
 
 
 
 
 
 
 
 
93
  }
94
 
95
+ .tag {
96
+ font-size: 11px;
97
+ font-weight: 500;
98
+ padding: 6px 12px;
99
+ border-radius: 20px;
100
+ border: 1px solid #e0e0f0;
101
+ color: #6b6b8a;
102
+ background: #fafaff;
103
+ cursor: default;
104
+ display: flex;
105
+ align-items: center;
106
+ gap: 5px;
107
  }
108
 
109
+ .tag::before {
110
+ content: '';
111
+ display: inline-block;
112
+ width: 6px;
113
+ height: 6px;
114
+ border-radius: 50%;
115
+ background: #5c6ac4;
116
  }
117
 
118
+ .generate-btn {
119
+ background: #3d3db8;
 
 
 
120
  color: #fff;
121
+ border: none;
122
+ border-radius: 10px;
123
+ padding: 12px 24px;
124
+ font-size: 14px;
125
+ font-weight: 600;
126
  cursor: pointer;
127
+ display: flex;
128
+ align-items: center;
129
+ gap: 8px;
130
+ transition: background 0.2s ease, transform 0.15s ease;
131
+ font-family: 'Inter', sans-serif;
 
132
  }
133
 
134
+ .generate-btn:hover {
135
+ background: #2e2ea0;
136
+ transform: scale(1.02);
 
137
  }
138
 
139
+ .generate-btn::after { content: '⚡'; font-size: 13px; }
140
+
141
+ .output-card {
142
  margin-top: 20px;
143
+ background: #ffffff;
144
+ border-radius: 20px;
145
+ padding: 28px;
146
+ width: 100%;
147
+ max-width: 680px;
148
+ box-shadow: 0 4px 32px rgba(0,0,0,0.06);
149
+ font-size: 15px;
150
+ line-height: 1.8;
151
+ color: #2d2d4e;
152
+ border-left: 4px solid #5c6ac4;
153
+ }
154
+
155
+ .features {
156
+ display: flex;
157
+ gap: 32px;
158
+ margin-top: 36px;
159
+ flex-wrap: wrap;
160
+ justify-content: center;
161
+ }
162
+
163
+ .feature {
164
+ display: flex;
165
+ align-items: flex-start;
166
+ gap: 10px;
167
+ max-width: 180px;
168
+ }
169
+
170
+ .feature-icon {
171
+ width: 32px;
172
+ height: 32px;
173
+ border-radius: 8px;
174
+ background: #ececfc;
175
+ display: flex;
176
+ align-items: center;
177
+ justify-content: center;
178
+ font-size: 15px;
179
+ flex-shrink: 0;
180
  }
181
 
182
+ .feature-text p {
183
+ font-size: 10px;
184
+ font-weight: 700;
185
+ letter-spacing: 1px;
186
+ text-transform: uppercase;
187
+ color: #1a1a2e;
188
+ margin-bottom: 3px;
189
+ }
190
 
191
+ .feature-text span {
192
+ font-size: 12px;
193
+ color: #8888aa;
194
+ line-height: 1.5;
195
+ }
196
 
197
+ .loading {
198
+ display: none;
199
+ text-align: center;
200
+ color: #5c6ac4;
201
+ font-size: 14px;
202
+ margin-top: 16px;
203
  }
204
+
205
+ .loading.active { display: block; }
206
  </style>
207
  </head>
208
  <body>
209
 
210
+ <div class="hero">
211
  <h1>AI Blog Generator</h1>
212
+ <p>Transform your sparks of thought into professional editorial content in seconds.</p>
213
+ </div>
214
+
215
+ <div class="card">
216
+ <form method="POST" onsubmit="document.querySelector('.loading').classList.add('active')">
217
+ <label class="input-label">Concept Input</label>
218
+ <textarea name="topic" placeholder="Enter your topic here to generate a blog post..." rows="4">{{ request.form.get('topic', '') }}</textarea>
219
+ <div class="card-footer">
220
+ <div class="tags">
221
+ <span class="tag">Creative Mode</span>
222
+ <span class="tag">English</span>
223
+ </div>
224
+ <button type="submit" class="generate-btn">Generate</button>
225
+ </div>
226
  </form>
227
+ </div>
228
+
229
+ <div class="loading">Generating your blog post...</div>
230
 
231
+ {% if paragraph %}
232
+ <div class="output-card">
233
+ {{ paragraph }}
234
+ </div>
235
+ {% endif %}
236
+
237
+ <div class="features">
238
+ <div class="feature">
239
+ <div class="feature-icon">⚙️</div>
240
+ <div class="feature-text">
241
+ <p>Cognitive Flow</p>
242
+ <span>AI analyzes semantic intent and tone.</span>
243
+ </div>
244
+ </div>
245
+ <div class="feature">
246
+ <div class="feature-icon">✏️</div>
247
+ <div class="feature-text">
248
+ <p>Editorial Style</p>
249
+ <span>High-performance Swiss typography.</span>
250
+ </div>
251
+ </div>
252
+ <div class="feature">
253
+ <div class="feature-icon">🚀</div>
254
+ <div class="feature-text">
255
+ <p>Instant Export</p>
256
+ <span>Ready for CMS integration immediately.</span>
257
  </div>
258
+ </div>
259
  </div>
260
 
261
  </body>
262
+ </html>