Spaces:
Running
Running
Update ui/okr_ui_generator.py
Browse files- ui/okr_ui_generator.py +33 -8
ui/okr_ui_generator.py
CHANGED
|
@@ -32,20 +32,38 @@ def create_enhanced_okr_tab():
|
|
| 32 |
.okr-header {
|
| 33 |
text-align: center;
|
| 34 |
margin-bottom: 3rem;
|
| 35 |
-
color: white;
|
| 36 |
}
|
| 37 |
|
| 38 |
.okr-title {
|
| 39 |
font-size: 2.5rem;
|
| 40 |
font-weight: 700;
|
| 41 |
margin-bottom: 0.5rem;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 42 |
background: linear-gradient(45deg, #ffffff, #e0e7ff);
|
| 43 |
-webkit-background-clip: text;
|
| 44 |
-webkit-text-fill-color: transparent;
|
| 45 |
background-clip: text;
|
| 46 |
-
text-shadow: 0 2px 4px rgba(0,0,0,0.1);
|
| 47 |
}
|
| 48 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 49 |
.okr-subtitle {
|
| 50 |
font-size: 1.2rem;
|
| 51 |
opacity: 0.9;
|
|
@@ -420,7 +438,10 @@ def get_initial_okr_display() -> str:
|
|
| 420 |
return """
|
| 421 |
<div class="okr-container">
|
| 422 |
<div class="okr-header">
|
| 423 |
-
<div class="okr-title"
|
|
|
|
|
|
|
|
|
|
| 424 |
<div class="okr-subtitle">Intelligent objectives and key results based on your LinkedIn analytics</div>
|
| 425 |
</div>
|
| 426 |
|
|
@@ -463,7 +484,7 @@ def format_okrs_for_enhanced_display(reconstruction_cache: dict) -> str:
|
|
| 463 |
|
| 464 |
Args:
|
| 465 |
reconstruction_cache (dict): The reconstruction cache containing reconstructed data.
|
| 466 |
-
|
| 467 |
|
| 468 |
Returns:
|
| 469 |
str: A comprehensive HTML string representing the OKRs, or an empty state HTML.
|
|
@@ -488,8 +509,6 @@ def format_okrs_for_enhanced_display(reconstruction_cache: dict) -> str:
|
|
| 488 |
logger.info("No OKRs found in 'actionable_okrs' list.")
|
| 489 |
return get_empty_okr_state()
|
| 490 |
|
| 491 |
-
# Rest of the function remains the same...
|
| 492 |
-
|
| 493 |
# Calculate statistics for the stats bar
|
| 494 |
total_objectives = len(okrs_list)
|
| 495 |
total_key_results = sum(len(okr.get('key_results', [])) for okr in okrs_list)
|
|
@@ -509,7 +528,10 @@ def format_okrs_for_enhanced_display(reconstruction_cache: dict) -> str:
|
|
| 509 |
html_parts = [f"""
|
| 510 |
<div class="okr-container">
|
| 511 |
<div class="okr-header">
|
| 512 |
-
<div class="okr-title"
|
|
|
|
|
|
|
|
|
|
| 513 |
<div class="okr-subtitle">Intelligent objectives and key results based on your LinkedIn analytics</div>
|
| 514 |
</div>
|
| 515 |
|
|
@@ -703,7 +725,10 @@ def get_empty_okr_state() -> str:
|
|
| 703 |
return """
|
| 704 |
<div class="okr-container">
|
| 705 |
<div class="okr-header">
|
| 706 |
-
<div class="okr-title"
|
|
|
|
|
|
|
|
|
|
| 707 |
<div class="okr-subtitle">Intelligent objectives and key results based on your LinkedIn analytics</div>
|
| 708 |
</div>
|
| 709 |
|
|
|
|
| 32 |
.okr-header {
|
| 33 |
text-align: center;
|
| 34 |
margin-bottom: 3rem;
|
| 35 |
+
color: white; /* Keep general header text white */
|
| 36 |
}
|
| 37 |
|
| 38 |
.okr-title {
|
| 39 |
font-size: 2.5rem;
|
| 40 |
font-weight: 700;
|
| 41 |
margin-bottom: 0.5rem;
|
| 42 |
+
/* Removed background-clip and text-fill-color from here */
|
| 43 |
+
text-shadow: 0 2px 4px rgba(0,0,0,0.1);
|
| 44 |
+
display: flex; /* Use flexbox to align emoji and text */
|
| 45 |
+
justify-content: center;
|
| 46 |
+
align-items: center;
|
| 47 |
+
gap: 0.75rem; /* Space between emoji and text */
|
| 48 |
+
}
|
| 49 |
+
|
| 50 |
+
/* New class for the text content within the title */
|
| 51 |
+
.okr-title-content {
|
| 52 |
background: linear-gradient(45deg, #ffffff, #e0e7ff);
|
| 53 |
-webkit-background-clip: text;
|
| 54 |
-webkit-text-fill-color: transparent;
|
| 55 |
background-clip: text;
|
|
|
|
| 56 |
}
|
| 57 |
|
| 58 |
+
/* Ensure emoji maintains its default color */
|
| 59 |
+
.okr-title-emoji {
|
| 60 |
+
font-size: 2.5rem; /* Match title font size for consistent sizing */
|
| 61 |
+
color: initial; /* Reset color to browser default for emoji */
|
| 62 |
+
-webkit-text-fill-color: initial; /* Reset text fill for emoji */
|
| 63 |
+
background-clip: initial; /* Reset background clip for emoji */
|
| 64 |
+
}
|
| 65 |
+
|
| 66 |
+
|
| 67 |
.okr-subtitle {
|
| 68 |
font-size: 1.2rem;
|
| 69 |
opacity: 0.9;
|
|
|
|
| 438 |
return """
|
| 439 |
<div class="okr-container">
|
| 440 |
<div class="okr-header">
|
| 441 |
+
<div class="okr-title">
|
| 442 |
+
<span class="okr-title-emoji">π―</span>
|
| 443 |
+
<span class="okr-title-content">AI-Generated OKRs & Strategic Tasks</span>
|
| 444 |
+
</div>
|
| 445 |
<div class="okr-subtitle">Intelligent objectives and key results based on your LinkedIn analytics</div>
|
| 446 |
</div>
|
| 447 |
|
|
|
|
| 484 |
|
| 485 |
Args:
|
| 486 |
reconstruction_cache (dict): The reconstruction cache containing reconstructed data.
|
| 487 |
+
Expected to contain report data with 'actionable_okrs' key.
|
| 488 |
|
| 489 |
Returns:
|
| 490 |
str: A comprehensive HTML string representing the OKRs, or an empty state HTML.
|
|
|
|
| 509 |
logger.info("No OKRs found in 'actionable_okrs' list.")
|
| 510 |
return get_empty_okr_state()
|
| 511 |
|
|
|
|
|
|
|
| 512 |
# Calculate statistics for the stats bar
|
| 513 |
total_objectives = len(okrs_list)
|
| 514 |
total_key_results = sum(len(okr.get('key_results', [])) for okr in okrs_list)
|
|
|
|
| 528 |
html_parts = [f"""
|
| 529 |
<div class="okr-container">
|
| 530 |
<div class="okr-header">
|
| 531 |
+
<div class="okr-title">
|
| 532 |
+
<span class="okr-title-emoji">π―</span>
|
| 533 |
+
<span class="okr-title-content">AI-Generated OKRs & Strategic Tasks</span>
|
| 534 |
+
</div>
|
| 535 |
<div class="okr-subtitle">Intelligent objectives and key results based on your LinkedIn analytics</div>
|
| 536 |
</div>
|
| 537 |
|
|
|
|
| 725 |
return """
|
| 726 |
<div class="okr-container">
|
| 727 |
<div class="okr-header">
|
| 728 |
+
<div class="okr-title">
|
| 729 |
+
<span class="okr-title-emoji">π―</span>
|
| 730 |
+
<span class="okr-title-content">AI-Generated OKRs & Strategic Tasks</span>
|
| 731 |
+
</div>
|
| 732 |
<div class="okr-subtitle">Intelligent objectives and key results based on your LinkedIn analytics</div>
|
| 733 |
</div>
|
| 734 |
|