mirror of
https://github.com/codeflash-ai/codeflash-agent.git
synced 2026-05-04 18:25:19 +00:00
Dash app at .codeflash/standups/ for weekly eng meetings. Pulls live PR data across 4 org repos, renders markdown standup notes, integrates CI audit report with corrected billing numbers from real GitHub API data. Deployed to Plotly Cloud.
103 lines
2.5 KiB
Python
103 lines
2.5 KiB
Python
"""Theme and styling constants for the standup report."""
|
|
|
|
# ── Colors (Codeflash dark - amber/zinc) ────────────────────────────────────
|
|
ACCENT = "#ffd227"
|
|
DARK = "#09090b"
|
|
CARD_BG = "rgba(16,20,28,0.7)"
|
|
CARD_BORDER = "rgba(63,63,70,0.35)"
|
|
SLATE = "#e4e4e7"
|
|
GRAY = "#a1a1aa"
|
|
LIGHT_GRAY = "#71717a"
|
|
BG = "#0d1117"
|
|
WHITE = "#fafafa"
|
|
GREEN = "#4ade80"
|
|
LIGHT_GREEN = "rgba(74,222,128,0.12)"
|
|
RED = "#f87171"
|
|
LIGHT_RED = "rgba(248,113,113,0.12)"
|
|
AMBER = "#fbbf24"
|
|
BLUE = "#60a5fa"
|
|
PURPLE = "#a78bfa"
|
|
|
|
GRID_BG_IMAGE = (
|
|
"linear-gradient(to right, currentColor 1px, transparent 1px),"
|
|
"linear-gradient(to bottom, currentColor 1px, transparent 1px)"
|
|
)
|
|
GRID_BG_SIZE = "48px 48px"
|
|
GRID_OVERLAY = {
|
|
"position": "fixed",
|
|
"top": 0,
|
|
"left": 0,
|
|
"right": 0,
|
|
"bottom": 0,
|
|
"backgroundImage": GRID_BG_IMAGE,
|
|
"backgroundSize": GRID_BG_SIZE,
|
|
"opacity": "0.05",
|
|
"pointerEvents": "none",
|
|
"zIndex": "0",
|
|
}
|
|
|
|
CARD = {
|
|
"background": CARD_BG,
|
|
"borderRadius": "16px",
|
|
"padding": "28px 32px",
|
|
"border": f"1px solid {CARD_BORDER}",
|
|
}
|
|
FONT = "'Inter', system-ui, -apple-system, sans-serif"
|
|
MONO = "'JetBrains Mono', 'Menlo', monospace"
|
|
|
|
TABLE_HEADER: dict[str, str] = {
|
|
"backgroundColor": "rgba(24,24,27,0.8)",
|
|
"color": ACCENT,
|
|
"fontWeight": "600",
|
|
"fontSize": "13px",
|
|
"padding": "12px 16px",
|
|
"borderBottom": f"1px solid {CARD_BORDER}",
|
|
}
|
|
TABLE_CELL: dict[str, str] = {
|
|
"textAlign": "left",
|
|
"padding": "12px 16px",
|
|
"fontSize": "13px",
|
|
"fontFamily": FONT,
|
|
"border": "none",
|
|
"color": SLATE,
|
|
}
|
|
TABLE_DATA: dict[str, str] = {
|
|
"backgroundColor": "rgba(24,24,27,0.5)",
|
|
"color": SLATE,
|
|
}
|
|
TABLE_DATA_CONDITIONAL: list[dict[str, object]] = [
|
|
{"if": {"row_index": "odd"}, "backgroundColor": "rgba(31,31,35,0.6)"}
|
|
]
|
|
TABLE_WRAP: dict[str, str] = {
|
|
"borderRadius": "16px",
|
|
"overflow": "hidden",
|
|
"border": f"1px solid {CARD_BORDER}",
|
|
}
|
|
|
|
FLEX_ROW: dict[str, str] = {
|
|
"display": "flex",
|
|
"gap": "16px",
|
|
"marginBottom": "32px",
|
|
"flexWrap": "wrap",
|
|
}
|
|
|
|
SECTION_H2: dict[str, str] = {
|
|
"color": WHITE,
|
|
"fontSize": "20px",
|
|
"marginBottom": "16px",
|
|
}
|
|
|
|
TAB_STYLE: dict[str, str] = {
|
|
"color": GRAY,
|
|
"backgroundColor": "transparent",
|
|
"border": "none",
|
|
"padding": "12px 24px",
|
|
}
|
|
|
|
TAB_SELECTED: dict[str, str] = {
|
|
"color": ACCENT,
|
|
"backgroundColor": "transparent",
|
|
"border": "none",
|
|
"borderBottom": f"2px solid {ACCENT}",
|
|
"padding": "12px 24px",
|
|
}
|