rebuild: complete redesign — enterprise coaching ops platform

- Full redesign for Agile/DT/Enterprise coach personas
- Light McKinsey-style UI: white + navy accent, Inter font
- Marcus: Team Portfolio (14 teams, filters, sparklines, maturity)
- Marcus: Team Detail (maturity bar, session log, action tracker)
- Marcus: Session Capture (tagging toolbar, AI coaching questions, AI summary)
- Priya: Workshop List + Live Capture (Decision/Tension/Question tags)
- Priya: Workshop Summary (AI-generated, grouped by capture type)
- David: Portfolio Reports + CEO Report Generator (Gemini-powered)
- AI Assistant: 5 modes (Questions/Prep/Workshop/Summary/CEO Report)
- Playbooks: Agile/DT/Facilitation library with filters
- Persona switcher: Marcus / Priya / David
- Netlify function: /api/gemini (server-side API proxy)
- netlify.toml: functions dir + API route redirect
This commit is contained in:
wmj
2026-08-26 12:27:08 +08:00
parent 2f3e5540c8
commit d793c40d10
15 changed files with 2492 additions and 651 deletions
+24 -22
View File
@@ -1,36 +1,38 @@
/** @type {import('tailwindcss').Config} */
export default {
content: [
"./index.html",
"./src/**/*.{js,ts,jsx,tsx}",
],
content: ['./index.html', './src/**/*.{js,ts,jsx,tsx}'],
theme: {
extend: {
fontFamily: {
sans: ['Inter', 'sans-serif'],
sans: ['Inter', 'system-ui', 'sans-serif'],
mono: ['JetBrains Mono', 'monospace'],
},
colors: {
slate: {
850: '#151e2e',
900: '#0f172a',
950: '#020617',
}
navy: {
50: '#EEF2F7',
100: '#D9E3EF',
200: '#B3C7DF',
300: '#8DAACF',
400: '#678EBF',
500: '#4172AF',
600: '#2D5A99',
700: '#1B2E4B',
800: '#152440',
900: '#0E1A34',
950: '#070D1A',
},
},
animation: {
'fade-in': 'fadeIn 0.5s ease-out forwards',
'fade-in-up': 'fadeInUp 0.5s ease-out forwards',
'fade-in': 'fadeIn 0.2s ease-out forwards',
'fade-in-up': 'fadeInUp 0.25s ease-out forwards',
'slide-in': 'slideIn 0.2s ease-out forwards',
},
keyframes: {
fadeIn: {
'0%': { opacity: '0' },
'100%': { opacity: '1' },
},
fadeInUp: {
'0%': { opacity: '0', transform: 'translateY(10px)' },
'100%': { opacity: '1', transform: 'translateY(0)' },
}
}
fadeIn: { '0%': { opacity: '0' }, '100%': { opacity: '1' } },
fadeInUp: { '0%': { opacity: '0', transform: 'translateY(8px)' },'100%': { opacity: '1', transform: 'translateY(0)' } },
slideIn: { '0%': { opacity: '0', transform: 'translateX(-8px)' },'100%': { opacity: '1', transform: 'translateX(0)' } },
},
},
},
plugins: [],
}
};