Create AI Prompt
+Design and save custom prompts for your AI workflows.
+diff --git a/css/create.css b/css/create.css new file mode 100644 index 0000000..516c29a --- /dev/null +++ b/css/create.css @@ -0,0 +1,155 @@ +/* Create page - Form for publishing new AI prompts */ + +/* Full width layout */ +.layout > div[style*="flex:1"] { + margin: 0 !important; + max-width: 100% !important; + padding: 0 !important; + width: 100% !important; +} + +.create-main { + flex: 1; + display: flex; + justify-content: center; + align-items: center; + padding: 20px 32px; + background: transparent; +} + +.create-container { + max-width: 800px; + width: 100%; + background: #fff; + border-radius: 18px; + box-shadow: 0 2px 8px rgba(59,130,246,0.06); + padding: 32px; + transition: box-shadow 0.2s; +} +.create-container:hover { + box-shadow: 0 8px 20px rgba(59,130,246,0.12); +} + +/* Header */ +.create-header { + text-align: center; + margin-bottom: 32px; +} +.create-header h1 { + font-size: 2rem; + font-weight: 700; + margin-bottom: 8px; +} +.create-header p { + color: #64748b; + font-size: 1rem; +} + +/* Form */ +.create-form { + display: flex; + flex-direction: column; + gap: 24px; +} + +.form-group { + display: flex; + flex-direction: column; + gap: 8px; +} +.form-group label { + font-weight: 600; + font-size: 0.95rem; +} +.form-group input, +.form-group textarea, +.form-group select { + width: 100%; + padding: 12px 14px; + border: 1px solid #dbe2ea; + border-radius: 12px; + font-size: 0.95rem; + font-family: inherit; + background: #ffffff; +} +.form-group input:focus, +.form-group textarea:focus, +.form-group select:focus { + outline: none; + border-color: #7c3aed; + box-shadow: 0 0 0 3px rgba(124,58,237,0.1); +} +.form-hint { + font-size: 0.75rem; + color: #64748b; +} + +/* Pricing toggle */ +.pricing-group .pricing-toggle { + display: flex; + gap: 12px; + margin-bottom: 12px; +} +.price-option { + background: #f1f5f9; + border: none; + padding: 8px 20px; + border-radius: 30px; + font-weight: 600; + cursor: pointer; + transition: all 0.2s; + color: #475569; +} +.price-option.active { + background: var(--gradient); + color: white; +} +#priceField { + margin-top: 8px; +} + +/* Buttons */ +.form-actions { + display: flex; + gap: 16px; + margin-top: 8px; +} +.submit-btn, .cancel-btn { + flex: 1; + border: none; + padding: 12px; + border-radius: 12px; + font-weight: 700; + font-size: 1rem; + cursor: pointer; + transition: opacity 0.2s; +} +.submit-btn { + background: var(--gradient); + color: white; +} +.cancel-btn { + background: #f1f5f9; + color: #475569; +} +.submit-btn:hover, .cancel-btn:hover { + opacity: 0.85; +} + +/* Responsive */ +@media (max-width: 768px) { + .create-container { + padding: 24px; + } + .create-header h1 { + font-size: 1.6rem; + } +} +@media (max-width: 480px) { + .create-container { + padding: 20px; + } + .form-actions { + flex-direction: column; + } +} \ No newline at end of file diff --git a/css/post-detail.css b/css/post-detail.css new file mode 100644 index 0000000..2f8f9e8 --- /dev/null +++ b/css/post-detail.css @@ -0,0 +1,217 @@ +/* Post Detail page - Full prompt view, rating, example output, unlock button */ + +/* Full width layout */ +.layout > div[style*="flex:1"] { + margin: 0 !important; + max-width: 100% !important; + padding: 0 !important; + width: 100% !important; +} + +.post-detail-main { + flex: 1; + display: flex; + justify-content: center; + padding: 20px 32px; + background: transparent; +} + +.post-detail-container { + max-width: 900px; + width: 100%; + background: #fff; + border-radius: 18px; + box-shadow: 0 2px 8px rgba(59,130,246,0.06); + padding: 32px; + transition: box-shadow 0.2s; +} +.post-detail-container:hover { + box-shadow: 0 8px 20px rgba(59,130,246,0.12); +} + +/* Header */ +.post-header { + margin-bottom: 28px; + border-bottom: 1px solid #eef2f7; + padding-bottom: 20px; +} +.post-title { + font-size: 2rem; + font-weight: 800; + margin-bottom: 12px; +} +.post-meta { + display: flex; + flex-wrap: wrap; + gap: 12px; + margin-bottom: 12px; +} +.category { + background: #f1f5f9; + padding: 4px 12px; + border-radius: 30px; + font-size: 0.8rem; + font-weight: 600; + color: #3b82f6; +} +.updated { + font-size: 0.85rem; + color: #64748b; +} +.post-stats { + display: flex; + gap: 20px; + font-size: 0.9rem; + color: #475569; +} +.post-stats i { + margin-right: 6px; +} + +/* Prompt Section */ +.prompt-section { + margin-bottom: 28px; +} +.prompt-section h2 { + font-size: 1.3rem; + font-weight: 700; + margin-bottom: 16px; + letter-spacing: -0.3px; +} +.prompt-content { + background: #f8fafc; + padding: 20px; + border-radius: 16px; + font-size: 1rem; + line-height: 1.5; + color: #1e293b; +} +.prompt-content ul { + margin-top: 12px; + padding-left: 20px; +} +.prompt-content li { + margin-bottom: 6px; +} + +/* Rating & Like */ +.rating-section { + display: flex; + align-items: center; + justify-content: space-between; + flex-wrap: wrap; + gap: 16px; + margin-bottom: 28px; + padding-bottom: 20px; + border-bottom: 1px solid #eef2f7; +} +.rating-stars { + display: flex; + gap: 20px; + font-size: 1.1rem; + font-weight: 700; +} +.rating-stars i { + color: #f59e0b; + margin-right: 6px; +} +.like-btn { + background: none; + border: 1px solid #e2e8f0; + padding: 8px 18px; + border-radius: 30px; + font-size: 0.9rem; + font-weight: 600; + color: #475569; + cursor: pointer; + transition: all 0.2s; +} +.like-btn:hover { + background: #f1f5f9; + border-color: #cbd5e1; +} +.like-btn i { + margin-right: 6px; +} + +/* Example Output Section */ +.example-section { + margin-bottom: 32px; +} +.example-section h2 { + font-size: 1.3rem; + font-weight: 700; + margin-bottom: 16px; +} +.example-content { + background: #ffffff; + border: 1px solid #eef2f7; + border-radius: 16px; + padding: 20px; +} +.example-content h3 { + font-size: 1rem; + font-weight: 700; + margin-bottom: 12px; + color: #3b82f6; +} +.example-output-text { + font-size: 0.95rem; + line-height: 1.5; + color: #334155; +} +.example-output-text p { + margin-bottom: 12px; +} +.example-image { + margin-top: 16px; +} +.example-image img { + max-width: 100%; + border-radius: 12px; +} + +/* Unlock Section */ +.unlock-section { + text-align: center; + margin-top: 16px; +} +.unlock-btn { + background: var(--gradient); + border: none; + padding: 14px 32px; + border-radius: 40px; + font-size: 1.1rem; + font-weight: 700; + color: white; + cursor: pointer; + transition: opacity 0.2s; +} +.unlock-btn:hover { + opacity: 0.9; +} + +/* Responsive */ +@media (max-width: 768px) { + .post-detail-main { + padding: 16px; + } + .post-detail-container { + padding: 24px; + } + .post-title { + font-size: 1.6rem; + } +} +@media (max-width: 480px) { + .post-detail-container { + padding: 20px; + } + .rating-section { + flex-direction: column; + align-items: flex-start; + } + .prompt-content { + padding: 16px; + } +} \ No newline at end of file diff --git a/css/settings.css b/css/settings.css new file mode 100644 index 0000000..8ef259c --- /dev/null +++ b/css/settings.css @@ -0,0 +1,184 @@ +/* Settings page - tabs, form styling */ + +.layout > div[style*="flex:1"] { + margin: 0 !important; + max-width: 100% !important; + padding: 0 !important; + width: 100% !important; +} + +.settings-main { + flex: 1; + display: flex; + justify-content: center; + align-items: center; + padding: 20px 32px; + background: transparent; +} + +.settings-container { + max-width: 700px; + width: 100%; + background: #fff; + border-radius: 18px; + box-shadow: 0 2px 8px rgba(59,130,246,0.06); + padding: 32px; +} + +.settings-header { + text-align: center; + margin-bottom: 28px; +} +.settings-header h1 { + font-size: 1.8rem; + font-weight: 700; + margin-bottom: 8px; +} +.settings-header p { + color: #64748b; + font-size: 0.95rem; +} + +/* Tabs */ +.settings-tabs { + display: flex; + gap: 8px; + border-bottom: 1px solid #eef2f7; + margin-bottom: 28px; +} +.tab-btn { + background: transparent; + border: none; + padding: 10px 20px; + font-size: 1rem; + font-weight: 600; + color: #64748b; + cursor: pointer; + border-bottom: 2px solid transparent; + transition: all 0.2s; +} +.tab-btn.active { + color: #3b82f6; + border-bottom-color: #3b82f6; +} +.tab-btn:hover:not(.active) { + color: #334155; +} + +/* Tab content */ +.tab-content { + display: none; +} +.tab-content.active { + display: block; +} + +/* Form elements */ +.settings-form { + display: flex; + flex-direction: column; + gap: 24px; +} +.form-group { + display: flex; + flex-direction: column; + gap: 8px; +} +.form-group label { + font-weight: 600; + font-size: 0.95rem; +} +.form-group input, +.form-group textarea { + width: 100%; + padding: 12px 14px; + border: 1px solid #dbe2ea; + border-radius: 12px; + font-size: 0.95rem; + font-family: inherit; +} +.form-group input:focus, +.form-group textarea:focus { + outline: none; + border-color: #7c3aed; + box-shadow: 0 0 0 3px rgba(124,58,237,0.1); +} +.checkbox-label { + display: flex; + align-items: center; + gap: 10px; + font-weight: normal; + cursor: pointer; +} +.checkbox-label input { + width: auto; + margin: 0; +} + +/* Avatar upload */ +.avatar-upload { + display: flex; + align-items: center; + gap: 16px; + flex-wrap: wrap; +} +.settings-avatar { + width: 80px; + height: 80px; + border-radius: 50%; + object-fit: cover; +} +.upload-btn { + background: #f1f5f9; + border: none; + padding: 8px 16px; + border-radius: 30px; + font-weight: 600; + cursor: pointer; +} +.upload-btn:hover { + background: #e2e8f0; +} + +/* Save button */ +.save-btn { + background: var(--gradient); + color: white; + border: none; + padding: 12px; + border-radius: 12px; + font-weight: 700; + font-size: 1rem; + cursor: pointer; + width: 100%; + transition: opacity 0.2s; +} +.save-btn:hover { + opacity: 0.85; +} + +/* Responsive */ +@media (max-width: 768px) { + .settings-container { + padding: 24px; + } + .settings-header h1 { + font-size: 1.5rem; + } +} +@media (max-width: 480px) { + .settings-container { + padding: 20px; + } + .settings-tabs { + gap: 4px; + } + .tab-btn { + padding: 8px 12px; + font-size: 0.9rem; + } + .avatar-upload { + flex-direction: column; + align-items: flex-start; + } +} \ No newline at end of file diff --git a/css/topbar.css b/css/topbar.css index 0da89d7..7f9d710 100644 --- a/css/topbar.css +++ b/css/topbar.css @@ -47,6 +47,32 @@ font-weight: 400; } +/* Icons and avatar container */ +.topbar-actions { + display: flex; + align-items: center; + gap: 16px; +} + +.topbar-icon-btn { + background: transparent; + border: none; + font-size: 1.4rem; + color: #475569; + cursor: pointer; + padding: 8px; + display: flex; + align-items: center; + justify-content: center; + border-radius: 50%; + transition: background 0.2s, color 0.2s; +} + +.topbar-icon-btn:hover { + background: #f1f5f9; + color: #3b82f6; +} + .topbar-avatar-btn { border: none; background: transparent; @@ -80,6 +106,13 @@ width: 40px; height: 40px; } + .topbar-icon-btn { + font-size: 1.2rem; + padding: 6px; + } + .topbar-actions { + gap: 8px; + } } @media (max-width: 480px) { diff --git a/html/chats.html b/html/chats.html index 4b9d972..23b1111 100644 --- a/html/chats.html +++ b/html/chats.html @@ -1,3 +1,6 @@ + +
diff --git a/html/community.html b/html/community.html index 16ff55f..17a08d4 100644 --- a/html/community.html +++ b/html/community.html @@ -1,3 +1,6 @@ + + diff --git a/html/create.html b/html/create.html new file mode 100644 index 0000000..ce8f105 --- /dev/null +++ b/html/create.html @@ -0,0 +1,181 @@ + + + + + + + +Design and save custom prompts for your AI workflows.
+You are an expert marketing strategist and copywriter. I will provide a product name, target audience, and key benefits. Your goal is to create a comprehensive marketing campaign plan, including:
+Output: EcoWare Campaign
+Campaign Overview
Target Persona: Sarah Jenkins, 28, Eco-conscious
Key Messaging
Channel Strategy
Sample Copy
Social
Email
Manage your account preferences and profile.
+