aidevhund commited on
Commit
abae930
Β·
verified Β·
1 Parent(s): 04c7877

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +4 -48
app.py CHANGED
@@ -77,30 +77,25 @@ custom_css = """
77
  --text-color: #1e293b;
78
  --border-color: #e2e8f0;
79
  }
80
-
81
  body {
82
  background-color: var(--background-color);
83
  color: var(--text-color);
84
  }
85
-
86
  .container {
87
  max-width: 1200px;
88
  margin: 0 auto;
89
  padding: 20px;
90
  }
91
-
92
  .analysis-box {
93
  background-color: white;
94
  border-radius: 12px;
95
  padding: 24px;
96
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
97
  border: 1px solid var(--border-color);
98
- height: 400px; /* Initial height */
99
  overflow-y: auto;
100
  width: 100%;
101
- transition: height 0.3s ease;
102
  }
103
-
104
  .upload-box {
105
  background-color: white;
106
  border-radius: 12px;
@@ -109,7 +104,6 @@ body {
109
  border: 1px solid var(--border-color);
110
  width: 100%;
111
  }
112
-
113
  .primary-button {
114
  background-color: var(--primary-color) !important;
115
  color: white !important;
@@ -118,57 +112,30 @@ body {
118
  font-weight: 500 !important;
119
  width: 100%;
120
  }
121
-
122
  .primary-button:hover {
123
  background-color: var(--secondary-color) !important;
124
  }
125
-
126
  .markdown-container {
127
  max-width: 100%;
128
  margin: 0 auto;
129
  padding: 0 15px;
130
  word-wrap: break-word;
131
  }
132
-
133
- .loading-container {
134
- display: flex;
135
- justify-content: center;
136
- align-items: center;
137
- height: 100%;
138
- }
139
-
140
  .loading-text {
141
  color: var(--primary-color);
142
  font-size: 1.2rem;
143
  text-align: center;
144
  margin-top: 2rem;
145
  }
146
-
147
- .loading-spinner {
148
- border: 4px solid #f3f3f3;
149
- border-top: 4px solid var(--primary-color);
150
- border-radius: 50%;
151
- width: 40px;
152
- height: 40px;
153
- animation: spin 1s linear infinite;
154
- }
155
-
156
- @keyframes spin {
157
- 0% { transform: rotate(0deg); }
158
- 100% { transform: rotate(360deg); }
159
- }
160
-
161
  .row {
162
  display: flex;
163
  flex-wrap: wrap;
164
  gap: 20px;
165
  }
166
-
167
  .column {
168
  flex: 1;
169
  min-width: 300px;
170
  }
171
-
172
  @media (max-width: 768px) {
173
  .row {
174
  flex-direction: column;
@@ -180,14 +147,6 @@ body {
180
  }
181
  """
182
 
183
- # Loading HTML template
184
- loading_html = """
185
- <div class="loading-container">
186
- <div class="loading-spinner"></div>
187
- <div class="loading-text">Generating report...</div>
188
- </div>
189
- """
190
-
191
  # Gradio Interface
192
  analyzer = ChartAnalyzer()
193
 
@@ -197,7 +156,7 @@ with gr.Blocks(css=custom_css, theme=gr.themes.Soft()) as demo:
197
  gr.Markdown("""
198
  <div style="text-align: center; margin-bottom: 32px;">
199
  <h1 style="color: var(--primary-color); font-size: 2.5rem; margin-bottom: 16px;">
200
- πŸš€ CryptoVision Pro
201
  </h1>
202
  <p style="color: var(--text-color); font-size: 1.1rem;">
203
  Advanced AI-powered cryptocurrency technical analysis
@@ -227,17 +186,14 @@ with gr.Blocks(css=custom_css, theme=gr.themes.Soft()) as demo:
227
  with gr.Column(elem_classes=["column"]):
228
  with gr.Column(elem_classes=["analysis-box"]):
229
  gr.Markdown("### πŸ“Š Analysis Report")
230
- analysis_output = gr.HTML(
231
  label="",
 
232
  value="<div style='text-align:center; padding:20px; color:#666;'>Analysis report will appear here</div>"
233
  )
234
 
235
  # Event Handling
236
  analyze_btn.click(
237
- fn=lambda: loading_html, # Show loading spinner immediately
238
- outputs=analysis_output,
239
- queue=False
240
- ).then(
241
  fn=analyzer.analyze_chart,
242
  inputs=chart_input,
243
  outputs=analysis_output,
 
77
  --text-color: #1e293b;
78
  --border-color: #e2e8f0;
79
  }
 
80
  body {
81
  background-color: var(--background-color);
82
  color: var(--text-color);
83
  }
 
84
  .container {
85
  max-width: 1200px;
86
  margin: 0 auto;
87
  padding: 20px;
88
  }
 
89
  .analysis-box {
90
  background-color: white;
91
  border-radius: 12px;
92
  padding: 24px;
93
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
94
  border: 1px solid var(--border-color);
95
+ height: 600px;
96
  overflow-y: auto;
97
  width: 100%;
 
98
  }
 
99
  .upload-box {
100
  background-color: white;
101
  border-radius: 12px;
 
104
  border: 1px solid var(--border-color);
105
  width: 100%;
106
  }
 
107
  .primary-button {
108
  background-color: var(--primary-color) !important;
109
  color: white !important;
 
112
  font-weight: 500 !important;
113
  width: 100%;
114
  }
 
115
  .primary-button:hover {
116
  background-color: var(--secondary-color) !important;
117
  }
 
118
  .markdown-container {
119
  max-width: 100%;
120
  margin: 0 auto;
121
  padding: 0 15px;
122
  word-wrap: break-word;
123
  }
 
 
 
 
 
 
 
 
124
  .loading-text {
125
  color: var(--primary-color);
126
  font-size: 1.2rem;
127
  text-align: center;
128
  margin-top: 2rem;
129
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
130
  .row {
131
  display: flex;
132
  flex-wrap: wrap;
133
  gap: 20px;
134
  }
 
135
  .column {
136
  flex: 1;
137
  min-width: 300px;
138
  }
 
139
  @media (max-width: 768px) {
140
  .row {
141
  flex-direction: column;
 
147
  }
148
  """
149
 
 
 
 
 
 
 
 
 
150
  # Gradio Interface
151
  analyzer = ChartAnalyzer()
152
 
 
156
  gr.Markdown("""
157
  <div style="text-align: center; margin-bottom: 32px;">
158
  <h1 style="color: var(--primary-color); font-size: 2.5rem; margin-bottom: 16px;">
159
+ πŸš€ HundAI Q-Agent Vision
160
  </h1>
161
  <p style="color: var(--text-color); font-size: 1.1rem;">
162
  Advanced AI-powered cryptocurrency technical analysis
 
186
  with gr.Column(elem_classes=["column"]):
187
  with gr.Column(elem_classes=["analysis-box"]):
188
  gr.Markdown("### πŸ“Š Analysis Report")
189
+ analysis_output = gr.Markdown(
190
  label="",
191
+ elem_classes=["markdown-container"],
192
  value="<div style='text-align:center; padding:20px; color:#666;'>Analysis report will appear here</div>"
193
  )
194
 
195
  # Event Handling
196
  analyze_btn.click(
 
 
 
 
197
  fn=analyzer.analyze_chart,
198
  inputs=chart_input,
199
  outputs=analysis_output,