mulmocast-vision 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/presentationHandlers/html.js +1 -1
- package/lib/presentationHandlers/html_class.js +1 -1
- package/lib/utils.js +1 -1
- package/package.json +1 -1
- package/assets/html/agendaPage.html +0 -13
- package/assets/html/balanceSheetPage.html +0 -29
- package/assets/html/balancedScorecardPage.html +0 -15
- package/assets/html/bcgMatrixPage.html +0 -37
- package/assets/html/beforeAfterPage.html +0 -21
- package/assets/html/benchmarkingTablePage.html +0 -23
- package/assets/html/bubbleChartPlaceholderPage.html +0 -9
- package/assets/html/businessModelCanvasPage.html +0 -14
- package/assets/html/capabilityMaturityPage.html +0 -8
- package/assets/html/cashFlowPage.html +0 -21
- package/assets/html/changeCurvePage.html +0 -11
- package/assets/html/circularEconomyMapPage.html +0 -8
- package/assets/html/communicationPlanPage.html +0 -22
- package/assets/html/complianceHeatmapPage.html +0 -19
- package/assets/html/costStructurePage.html +0 -20
- package/assets/html/csrInitiativesPage.html +0 -8
- package/assets/html/cultureValuesPage.html +0 -21
- package/assets/html/customerJourneyPage.html +0 -21
- package/assets/html/customerSuccessJourneyPage.html +0 -15
- package/assets/html/digitalMaturityPage.html +0 -14
- package/assets/html/driverTreePage.html +0 -20
- package/assets/html/ecosystemMapPage.html +0 -11
- package/assets/html/esgFrameworkPage.html +0 -28
- package/assets/html/executiveSummaryPage.html +0 -15
- package/assets/html/fourPPage.html +0 -36
- package/assets/html/funnelPage.html +0 -8
- package/assets/html/ganttSimplePage.html +0 -21
- package/assets/html/geMcKinseyMatrixPage.html +0 -13
- package/assets/html/heatmapPlaceholderPage.html +0 -24
- package/assets/html/hypothesisPage.html +0 -22
- package/assets/html/innovationFunnelPage.html +0 -13
- package/assets/html/integrationPlanPage.html +0 -21
- package/assets/html/issueTreePage.html +0 -23
- package/assets/html/keyMessageWithSupportsPage.html +0 -13
- package/assets/html/kpiHighlightPage.html +0 -14
- package/assets/html/launchPlanPage.html +0 -29
- package/assets/html/mAPipelinePage.html +0 -16
- package/assets/html/marimekkoPlaceholderPage.html +0 -9
- package/assets/html/marketDriversPage.html +0 -8
- package/assets/html/marketingMixPage.html +0 -11
- package/assets/html/meceListPage.html +0 -15
- package/assets/html/milestoneTimelinePage.html +0 -14
- package/assets/html/npvSummaryPage.html +0 -12
- package/assets/html/okrKpiDashboardPage.html +0 -16
- package/assets/html/optionEvaluationPage.html +0 -23
- package/assets/html/orgChartPage.html +0 -8
- package/assets/html/pLBreakdownPage.html +0 -19
- package/assets/html/partnershipMapPage.html +0 -11
- package/assets/html/personasPage.html +0 -19
- package/assets/html/pipelineFunnelPage.html +0 -8
- package/assets/html/porterFiveForcesPage.html +0 -44
- package/assets/html/positioningMapPage.html +0 -11
- package/assets/html/pricingWaterfallPage.html +0 -8
- package/assets/html/productRoadmapPage.html +0 -15
- package/assets/html/pyramidPrinciplePage.html +0 -27
- package/assets/html/quarterlyRoadmapPage.html +0 -15
- package/assets/html/raciPage.html +0 -23
- package/assets/html/revenueModelPage.html +0 -17
- package/assets/html/riskMitigationPage.html +0 -17
- package/assets/html/salesDashboardPage.html +0 -11
- package/assets/html/scenarioPlanningPage.html +0 -13
- package/assets/html/scqaPage.html +0 -27
- package/assets/html/sectionDividerPage.html +0 -7
- package/assets/html/segmentationPage.html +0 -15
- package/assets/html/sensitivityAnalysisPage.html +0 -22
- package/assets/html/sevenSPage.html +0 -11
- package/assets/html/shareholderValueTreePage.html +0 -8
- package/assets/html/stakeholderMapPage.html +0 -14
- package/assets/html/supportOrgModelPage.html +0 -21
- package/assets/html/surveyResultsPage.html +0 -11
- package/assets/html/sustainabilityRoadmapPage.html +0 -15
- package/assets/html/swotPage.html +0 -36
- package/assets/html/synergyCapturePage.html +0 -8
- package/assets/html/tamSamSomPage.html +0 -11
- package/assets/html/techRoadmapPage.html +0 -15
- package/assets/html/thankYouContactPage.html +0 -24
- package/assets/html/threeCPage.html +0 -28
- package/assets/html/twoByTwoMatrixPage.html +0 -17
- package/assets/html/valueChainPage.html +0 -18
- package/assets/html/waterfallPage.html +0 -8
- package/assets/html2/agendaPage.html +0 -26
- package/assets/html2/balanceSheetPage.html +0 -87
- package/assets/html2/balancedScorecardPage.html +0 -29
- package/assets/html2/bcgMatrixPage.html +0 -165
- package/assets/html2/beforeAfterPage.html +0 -78
- package/assets/html2/benchmarkingTablePage.html +0 -70
- package/assets/html2/bubbleChartPlaceholderPage.html +0 -107
- package/assets/html2/businessModelCanvasPage.html +0 -43
- package/assets/html2/capabilityMaturityPage.html +0 -38
- package/assets/html2/cashFlowPage.html +0 -68
- package/assets/html2/changeCurvePage.html +0 -53
- package/assets/html2/circularEconomyMapPage.html +0 -35
- package/assets/html2/communicationPlanPage.html +0 -82
- package/assets/html2/complianceHeatmapPage.html +0 -42
- package/assets/html2/costStructurePage.html +0 -60
- package/assets/html2/csrInitiativesPage.html +0 -26
- package/assets/html2/cultureValuesPage.html +0 -44
- package/assets/html2/customerJourneyPage.html +0 -68
- package/assets/html2/customerSuccessJourneyPage.html +0 -54
- package/assets/html2/digitalMaturityPage.html +0 -51
- package/assets/html2/driverTreePage.html +0 -92
- package/assets/html2/ecosystemMapPage.html +0 -30
- package/assets/html2/esgFrameworkPage.html +0 -66
- package/assets/html2/executiveSummaryPage.html +0 -27
- package/assets/html2/fourPPage.html +0 -85
- package/assets/html2/funnelPage.html +0 -53
- package/assets/html2/ganttSimplePage.html +0 -56
- package/assets/html2/geMcKinseyMatrixPage.html +0 -43
- package/assets/html2/heatmapPlaceholderPage.html +0 -131
- package/assets/html2/hypothesisPage.html +0 -100
- package/assets/html2/innovationFunnelPage.html +0 -61
- package/assets/html2/integrationPlanPage.html +0 -61
- package/assets/html2/issueTreePage.html +0 -97
- package/assets/html2/keyMessageWithSupportsPage.html +0 -47
- package/assets/html2/kpiHighlightPage.html +0 -54
- package/assets/html2/launchPlanPage.html +0 -86
- package/assets/html2/mAPipelinePage.html +0 -79
- package/assets/html2/marimekkoPlaceholderPage.html +0 -120
- package/assets/html2/marketDriversPage.html +0 -32
- package/assets/html2/marketingMixPage.html +0 -50
- package/assets/html2/meceListPage.html +0 -32
- package/assets/html2/milestoneTimelinePage.html +0 -59
- package/assets/html2/npvSummaryPage.html +0 -54
- package/assets/html2/okrKpiDashboardPage.html +0 -85
- package/assets/html2/optionEvaluationPage.html +0 -128
- package/assets/html2/orgChartPage.html +0 -30
- package/assets/html2/pLBreakdownPage.html +0 -73
- package/assets/html2/partnershipMapPage.html +0 -26
- package/assets/html2/personasPage.html +0 -39
- package/assets/html2/pipelineFunnelPage.html +0 -77
- package/assets/html2/porterFiveForcesPage.html +0 -140
- package/assets/html2/positioningMapPage.html +0 -40
- package/assets/html2/pricingWaterfallPage.html +0 -33
- package/assets/html2/productRoadmapPage.html +0 -47
- package/assets/html2/pyramidPrinciplePage.html +0 -47
- package/assets/html2/quarterlyRoadmapPage.html +0 -54
- package/assets/html2/raciPage.html +0 -49
- package/assets/html2/revenueModelPage.html +0 -54
- package/assets/html2/riskMitigationPage.html +0 -36
- package/assets/html2/salesDashboardPage.html +0 -58
- package/assets/html2/scenarioPlanningPage.html +0 -63
- package/assets/html2/scqaPage.html +0 -74
- package/assets/html2/sectionDividerPage.html +0 -25
- package/assets/html2/segmentationPage.html +0 -36
- package/assets/html2/sensitivityAnalysisPage.html +0 -82
- package/assets/html2/sevenSPage.html +0 -31
- package/assets/html2/shareholderValueTreePage.html +0 -32
- package/assets/html2/stakeholderMapPage.html +0 -36
- package/assets/html2/supportOrgModelPage.html +0 -57
- package/assets/html2/surveyResultsPage.html +0 -32
- package/assets/html2/sustainabilityRoadmapPage.html +0 -54
- package/assets/html2/swotPage.html +0 -97
- package/assets/html2/synergyCapturePage.html +0 -39
- package/assets/html2/tamSamSomPage.html +0 -62
- package/assets/html2/techRoadmapPage.html +0 -54
- package/assets/html2/thankYouContactPage.html +0 -78
- package/assets/html2/threeCPage.html +0 -66
- package/assets/html2/twoByTwoMatrixPage.html +0 -72
- package/assets/html2/valueChainPage.html +0 -56
- package/assets/html2/waterfallPage.html +0 -47
- package/assets/templates/tailwind-sea.html +0 -34
- package/assets/templates/tailwind.html +0 -14
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
<div class="bg-gradient-to-br from-slate-50 to-blue-50 text-gray-900 px-16 py-16 min-h-screen">
|
|
2
|
-
<!-- Header -->
|
|
3
|
-
<div class="mb-12">
|
|
4
|
-
<div class="w-20 h-1 bg-gradient-to-r from-blue-600 to-indigo-600 mb-6"></div>
|
|
5
|
-
<h1 class="text-6xl font-bold text-gray-900 mb-4 leading-tight">Option Evaluation</h1>
|
|
6
|
-
<div class="w-32 h-0.5 bg-gray-300"></div>
|
|
7
|
-
</div>
|
|
8
|
-
|
|
9
|
-
<div class="max-w-7xl mx-auto">
|
|
10
|
-
<!-- Options Overview -->
|
|
11
|
-
<div class="grid grid-cols-{{options|length}} gap-6 mb-12">
|
|
12
|
-
{% for o in options %}
|
|
13
|
-
<div class="bg-gradient-to-br from-blue-500 to-indigo-600 rounded-2xl p-6 text-white shadow-xl">
|
|
14
|
-
<div class="flex items-center gap-3 mb-4">
|
|
15
|
-
<div class="w-12 h-12 bg-white bg-opacity-20 rounded-xl flex items-center justify-center">
|
|
16
|
-
<span class="text-white font-bold text-lg">{{loop.index}}</span>
|
|
17
|
-
</div>
|
|
18
|
-
<h3 class="text-xl font-bold">{{o}}</h3>
|
|
19
|
-
</div>
|
|
20
|
-
</div>
|
|
21
|
-
{% endfor %}
|
|
22
|
-
</div>
|
|
23
|
-
|
|
24
|
-
<!-- Evaluation Matrix -->
|
|
25
|
-
<div class="bg-white rounded-2xl shadow-2xl overflow-hidden">
|
|
26
|
-
<div class="bg-gradient-to-r from-gray-50 to-blue-50 p-8 border-b border-gray-200">
|
|
27
|
-
<div class="flex items-center gap-4">
|
|
28
|
-
<div class="w-16 h-16 bg-gradient-to-br from-purple-500 to-violet-600 rounded-2xl flex items-center justify-center">
|
|
29
|
-
<svg class="w-8 h-8 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
30
|
-
<path
|
|
31
|
-
stroke-linecap="round"
|
|
32
|
-
stroke-linejoin="round"
|
|
33
|
-
stroke-width="2"
|
|
34
|
-
d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"
|
|
35
|
-
/>
|
|
36
|
-
</svg>
|
|
37
|
-
</div>
|
|
38
|
-
<h2 class="text-3xl font-bold text-gray-900">Evaluation Matrix</h2>
|
|
39
|
-
</div>
|
|
40
|
-
</div>
|
|
41
|
-
|
|
42
|
-
<div class="overflow-x-auto">
|
|
43
|
-
<table class="w-full">
|
|
44
|
-
<thead>
|
|
45
|
-
<tr class="bg-gray-50">
|
|
46
|
-
<th class="p-6 text-left text-lg font-semibold text-gray-900 border-b border-gray-200">
|
|
47
|
-
<div class="flex items-center gap-2">
|
|
48
|
-
<svg class="w-5 h-5 text-gray-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
49
|
-
<path
|
|
50
|
-
stroke-linecap="round"
|
|
51
|
-
stroke-linejoin="round"
|
|
52
|
-
stroke-width="2"
|
|
53
|
-
d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"
|
|
54
|
-
/>
|
|
55
|
-
</svg>
|
|
56
|
-
Criteria
|
|
57
|
-
</div>
|
|
58
|
-
</th>
|
|
59
|
-
{% for o in options %}
|
|
60
|
-
<th class="p-6 text-center text-lg font-semibold text-gray-900 border-b border-gray-200">
|
|
61
|
-
<div class="flex flex-col items-center gap-2">
|
|
62
|
-
<div class="w-8 h-8 bg-gradient-to-br from-blue-500 to-indigo-600 rounded-lg flex items-center justify-center text-white font-bold text-sm">
|
|
63
|
-
{{loop.index}}
|
|
64
|
-
</div>
|
|
65
|
-
<span>{{o}}</span>
|
|
66
|
-
</div>
|
|
67
|
-
</th>
|
|
68
|
-
{% endfor %}
|
|
69
|
-
</tr>
|
|
70
|
-
</thead>
|
|
71
|
-
<tbody>
|
|
72
|
-
{% for i in range(0, criteria|length) %}
|
|
73
|
-
<tr class="hover:bg-gray-50 transition-colors duration-200">
|
|
74
|
-
<td class="p-6 font-medium text-gray-900 border-b border-gray-100">
|
|
75
|
-
<div class="flex items-center gap-3">
|
|
76
|
-
<div class="w-8 h-8 bg-gradient-to-br from-gray-400 to-gray-600 rounded-lg flex items-center justify-center text-white font-bold text-sm">
|
|
77
|
-
{{loop.index}}
|
|
78
|
-
</div>
|
|
79
|
-
{{criteria[i]}}
|
|
80
|
-
</div>
|
|
81
|
-
</td>
|
|
82
|
-
{% for j in range(0, options|length) %}
|
|
83
|
-
<td class="p-6 text-center border-b border-gray-100">
|
|
84
|
-
<div
|
|
85
|
-
class="inline-flex items-center justify-center w-12 h-12 rounded-xl text-lg font-bold text-white {% if scores[j][i]|int >= 8 %}bg-gradient-to-br from-emerald-500 to-green-600 {% elif scores[j][i]|int >= 6 %}bg-gradient-to-br from-blue-500 to-indigo-600 {% elif scores[j][i]|int >= 4 %}bg-gradient-to-br from-amber-500 to-orange-600 {% else %}bg-gradient-to-br from-red-500 to-rose-600{% endif %}"
|
|
86
|
-
>
|
|
87
|
-
{{scores[j][i]}}
|
|
88
|
-
</div>
|
|
89
|
-
</td>
|
|
90
|
-
{% endfor %}
|
|
91
|
-
</tr>
|
|
92
|
-
{% endfor %}
|
|
93
|
-
</tbody>
|
|
94
|
-
</table>
|
|
95
|
-
</div>
|
|
96
|
-
</div>
|
|
97
|
-
|
|
98
|
-
<!-- Evaluation Summary -->
|
|
99
|
-
<div class="mt-12 bg-white rounded-2xl p-10 shadow-2xl">
|
|
100
|
-
<div class="flex items-center gap-4 mb-6">
|
|
101
|
-
<div class="w-16 h-16 bg-gradient-to-br from-emerald-500 to-green-600 rounded-2xl flex items-center justify-center">
|
|
102
|
-
<svg class="w-8 h-8 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
103
|
-
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" />
|
|
104
|
-
</svg>
|
|
105
|
-
</div>
|
|
106
|
-
<h3 class="text-3xl font-bold text-gray-900">Evaluation Framework</h3>
|
|
107
|
-
</div>
|
|
108
|
-
<div class="grid grid-cols-1 md:grid-cols-4 gap-4 mt-6">
|
|
109
|
-
<div class="bg-gradient-to-br from-emerald-500 to-green-600 rounded-xl p-4 text-white text-center">
|
|
110
|
-
<p class="text-sm text-green-100 mb-1">Excellent</p>
|
|
111
|
-
<p class="text-lg font-bold">8-10</p>
|
|
112
|
-
</div>
|
|
113
|
-
<div class="bg-gradient-to-br from-blue-500 to-indigo-600 rounded-xl p-4 text-white text-center">
|
|
114
|
-
<p class="text-sm text-blue-100 mb-1">Good</p>
|
|
115
|
-
<p class="text-lg font-bold">6-7</p>
|
|
116
|
-
</div>
|
|
117
|
-
<div class="bg-gradient-to-br from-amber-500 to-orange-600 rounded-xl p-4 text-white text-center">
|
|
118
|
-
<p class="text-sm text-amber-100 mb-1">Fair</p>
|
|
119
|
-
<p class="text-lg font-bold">4-5</p>
|
|
120
|
-
</div>
|
|
121
|
-
<div class="bg-gradient-to-br from-red-500 to-rose-600 rounded-xl p-4 text-white text-center">
|
|
122
|
-
<p class="text-sm text-red-100 mb-1">Poor</p>
|
|
123
|
-
<p class="text-lg font-bold">1-3</p>
|
|
124
|
-
</div>
|
|
125
|
-
</div>
|
|
126
|
-
</div>
|
|
127
|
-
</div>
|
|
128
|
-
</div>
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
<div class="bg-gradient-to-br from-slate-50 to-blue-50 text-gray-900 px-16 py-16 min-h-screen">
|
|
2
|
-
<!-- Header -->
|
|
3
|
-
<div class="mb-16">
|
|
4
|
-
<div class="w-20 h-1 bg-gradient-to-r from-blue-600 to-indigo-600 mb-6"></div>
|
|
5
|
-
<h1 class="text-6xl font-bold text-gray-900 mb-4 leading-tight">Org Chart</h1>
|
|
6
|
-
<div class="w-32 h-0.5 bg-gray-300"></div>
|
|
7
|
-
</div>
|
|
8
|
-
|
|
9
|
-
<!-- Organization Structure -->
|
|
10
|
-
<div class="bg-gradient-to-br from-purple-500 to-violet-600 rounded-3xl p-10 text-white shadow-2xl hover:scale-105 transition-all duration-300">
|
|
11
|
-
<div class="flex items-center mb-8">
|
|
12
|
-
<div class="w-16 h-16 bg-white bg-opacity-20 rounded-2xl flex items-center justify-center mr-6">
|
|
13
|
-
<svg class="w-8 h-8" fill="currentColor" viewBox="0 0 20 20">
|
|
14
|
-
<path
|
|
15
|
-
d="M9 6a3 3 0 11-6 0 3 3 0 016 0zM17 6a3 3 0 11-6 0 3 3 0 016 0zM12.93 17c.046-.327.07-.66.07-1a6.97 6.97 0 00-1.5-4.33A5 5 0 0119 16v1h-6.07zM6 11a5 5 0 015 5v1H1v-1a5 5 0 015-5z"
|
|
16
|
-
/>
|
|
17
|
-
</svg>
|
|
18
|
-
</div>
|
|
19
|
-
<h2 class="text-4xl font-bold">Organization Structure</h2>
|
|
20
|
-
</div>
|
|
21
|
-
<ul class="space-y-4 text-xl">
|
|
22
|
-
{% for n in nodes %}
|
|
23
|
-
<li class="flex items-start">
|
|
24
|
-
<span class="w-3 h-3 bg-white rounded-full mt-2 mr-4 flex-shrink-0"></span>
|
|
25
|
-
<span>{{n.label}}{% if n.parentId %} — reports to {{n.parentId}}{% endif %}</span>
|
|
26
|
-
</li>
|
|
27
|
-
{% endfor %}
|
|
28
|
-
</ul>
|
|
29
|
-
</div>
|
|
30
|
-
</div>
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
<div class="bg-gradient-to-br from-slate-50 to-blue-50 text-gray-900 px-16 py-16 min-h-screen">
|
|
2
|
-
<!-- Header -->
|
|
3
|
-
<div class="mb-16">
|
|
4
|
-
<div class="w-20 h-1 bg-gradient-to-r from-blue-600 to-indigo-600 mb-6"></div>
|
|
5
|
-
<h1 class="text-6xl font-bold text-gray-900 mb-4 leading-tight">P&L Breakdown</h1>
|
|
6
|
-
<div class="w-32 h-0.5 bg-gray-300"></div>
|
|
7
|
-
</div>
|
|
8
|
-
|
|
9
|
-
<!-- P&L Table -->
|
|
10
|
-
<div class="max-w-5xl mx-auto">
|
|
11
|
-
<div class="bg-white rounded-3xl shadow-2xl border border-gray-100 overflow-hidden">
|
|
12
|
-
<div class="bg-gradient-to-r from-blue-600 to-indigo-600 text-white">
|
|
13
|
-
<div class="grid grid-cols-2 gap-4 px-8 py-6">
|
|
14
|
-
<div class="text-xl font-bold">Category</div>
|
|
15
|
-
<div class="text-xl font-bold text-right">Value</div>
|
|
16
|
-
</div>
|
|
17
|
-
</div>
|
|
18
|
-
<div class="divide-y divide-gray-100">
|
|
19
|
-
{% for i in range(0, categories|length) %}
|
|
20
|
-
<div class="grid grid-cols-2 gap-4 px-8 py-6 hover:bg-gray-50 transition-colors duration-200">
|
|
21
|
-
<div class="text-lg font-medium text-gray-800">{{categories[i]}}</div>
|
|
22
|
-
<div class="text-lg font-bold text-right {% if values[i]|string|first == '-' %}text-red-600{% else %}text-gray-900{% endif %}">{{values[i]}}</div>
|
|
23
|
-
</div>
|
|
24
|
-
{% endfor %}
|
|
25
|
-
</div>
|
|
26
|
-
</div>
|
|
27
|
-
</div>
|
|
28
|
-
|
|
29
|
-
<!-- Financial Summary Cards -->
|
|
30
|
-
<div class="grid grid-cols-1 md:grid-cols-3 gap-8 max-w-5xl mx-auto mt-12">
|
|
31
|
-
<div class="bg-gradient-to-br from-emerald-500 to-green-600 rounded-2xl p-6 text-white shadow-xl">
|
|
32
|
-
<div class="flex items-center mb-3">
|
|
33
|
-
<svg class="w-8 h-8 mr-3" fill="currentColor" viewBox="0 0 20 20">
|
|
34
|
-
<path
|
|
35
|
-
fill-rule="evenodd"
|
|
36
|
-
d="M5.293 7.707a1 1 0 010-1.414l4-4a1 1 0 011.414 0l4 4a1 1 0 01-1.414 1.414L10 4.414 6.707 7.707a1 1 0 01-1.414 0z"
|
|
37
|
-
clip-rule="evenodd"
|
|
38
|
-
/>
|
|
39
|
-
</svg>
|
|
40
|
-
<span class="text-lg font-semibold">Revenue</span>
|
|
41
|
-
</div>
|
|
42
|
-
<div class="text-sm opacity-90">Total Income Generated</div>
|
|
43
|
-
</div>
|
|
44
|
-
|
|
45
|
-
<div class="bg-gradient-to-br from-amber-500 to-orange-600 rounded-2xl p-6 text-white shadow-xl">
|
|
46
|
-
<div class="flex items-center mb-3">
|
|
47
|
-
<svg class="w-8 h-8 mr-3" fill="currentColor" viewBox="0 0 20 20">
|
|
48
|
-
<path
|
|
49
|
-
fill-rule="evenodd"
|
|
50
|
-
d="M14.707 12.293a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 111.414-1.414L10 15.586l3.293-3.293a1 1 0 011.414 0z"
|
|
51
|
-
clip-rule="evenodd"
|
|
52
|
-
/>
|
|
53
|
-
</svg>
|
|
54
|
-
<span class="text-lg font-semibold">Expenses</span>
|
|
55
|
-
</div>
|
|
56
|
-
<div class="text-sm opacity-90">Operating & Other Costs</div>
|
|
57
|
-
</div>
|
|
58
|
-
|
|
59
|
-
<div class="bg-gradient-to-br from-blue-500 to-indigo-600 rounded-2xl p-6 text-white shadow-xl">
|
|
60
|
-
<div class="flex items-center mb-3">
|
|
61
|
-
<svg class="w-8 h-8 mr-3" fill="currentColor" viewBox="0 0 20 20">
|
|
62
|
-
<path
|
|
63
|
-
fill-rule="evenodd"
|
|
64
|
-
d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z"
|
|
65
|
-
clip-rule="evenodd"
|
|
66
|
-
/>
|
|
67
|
-
</svg>
|
|
68
|
-
<span class="text-lg font-semibold">Net Profit</span>
|
|
69
|
-
</div>
|
|
70
|
-
<div class="text-sm opacity-90">Bottom Line Result</div>
|
|
71
|
-
</div>
|
|
72
|
-
</div>
|
|
73
|
-
</div>
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
<div class="bg-gradient-to-br from-slate-50 to-blue-50 text-gray-900 px-16 py-16 min-h-screen">
|
|
2
|
-
<!-- Header -->
|
|
3
|
-
<div class="text-center mb-16">
|
|
4
|
-
<div class="w-20 h-1 bg-gradient-to-r from-blue-600 to-indigo-600 mb-6 mx-auto"></div>
|
|
5
|
-
<h1 class="text-6xl font-bold text-gray-900 mb-4 leading-tight">Partnership Map</h1>
|
|
6
|
-
<div class="w-32 h-0.5 bg-gray-300 mx-auto"></div>
|
|
7
|
-
</div>
|
|
8
|
-
|
|
9
|
-
<div class="grid grid-cols-2 gap-8 max-w-7xl mx-auto">
|
|
10
|
-
{% for p in partners %}
|
|
11
|
-
<section class="bg-gradient-to-br from-purple-500 to-violet-600 rounded-3xl p-10 text-white shadow-2xl hover:scale-105 transition-all duration-300">
|
|
12
|
-
<div class="flex items-center mb-6">
|
|
13
|
-
<div class="w-16 h-16 bg-white bg-opacity-20 rounded-2xl flex items-center justify-center mr-6">
|
|
14
|
-
<svg class="w-8 h-8" fill="currentColor" viewBox="0 0 20 20">
|
|
15
|
-
<path d="M13 6a3 3 0 11-6 0 3 3 0 016 0zM18 8a2 2 0 11-4 0 2 2 0 014 0zM14 15a4 4 0 00-8 0v3h8v-3z" />
|
|
16
|
-
</svg>
|
|
17
|
-
</div>
|
|
18
|
-
<div>
|
|
19
|
-
<h2 class="text-2xl font-bold mb-2">{{p.category}}</h2>
|
|
20
|
-
<p class="text-xl font-light">{{p.name}}</p>
|
|
21
|
-
</div>
|
|
22
|
-
</div>
|
|
23
|
-
</section>
|
|
24
|
-
{% endfor %}
|
|
25
|
-
</div>
|
|
26
|
-
</div>
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
<div class="bg-gradient-to-br from-slate-50 to-blue-50 text-gray-900 px-16 py-16 min-h-screen">
|
|
2
|
-
<!-- Header -->
|
|
3
|
-
<div class="mb-16">
|
|
4
|
-
<div class="w-20 h-1 bg-gradient-to-r from-blue-600 to-indigo-600 mb-6"></div>
|
|
5
|
-
<h1 class="text-6xl font-bold text-gray-900 mb-4 leading-tight">Personas</h1>
|
|
6
|
-
<div class="w-32 h-0.5 bg-gray-300"></div>
|
|
7
|
-
</div>
|
|
8
|
-
|
|
9
|
-
<!-- Personas Grid -->
|
|
10
|
-
<div class="grid grid-cols-1 md:grid-cols-2 gap-8 max-w-7xl mx-auto">
|
|
11
|
-
{% for p in personas %}
|
|
12
|
-
<section class="bg-gradient-to-br from-purple-500 to-violet-600 rounded-3xl p-8 text-white shadow-2xl hover:scale-105 transition-all duration-300">
|
|
13
|
-
<div class="flex items-center mb-6">
|
|
14
|
-
<div class="w-16 h-16 bg-white bg-opacity-20 rounded-2xl flex items-center justify-center mr-6">
|
|
15
|
-
<svg class="w-8 h-8" fill="currentColor" viewBox="0 0 20 20">
|
|
16
|
-
<path fill-rule="evenodd" d="M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z" clip-rule="evenodd" />
|
|
17
|
-
</svg>
|
|
18
|
-
</div>
|
|
19
|
-
<h2 class="text-3xl font-bold">{{p.name}}</h2>
|
|
20
|
-
</div>
|
|
21
|
-
{% if p.bio %}
|
|
22
|
-
<p class="text-xl mb-6 leading-relaxed">{{p.bio}}</p>
|
|
23
|
-
{% endif %} {% if p.needs %}
|
|
24
|
-
<div>
|
|
25
|
-
<h3 class="text-xl font-semibold mb-4">Key Needs</h3>
|
|
26
|
-
<ul class="space-y-3 text-lg">
|
|
27
|
-
{% for n in p.needs %}
|
|
28
|
-
<li class="flex items-start">
|
|
29
|
-
<span class="w-2 h-2 bg-white rounded-full mt-3 mr-3 flex-shrink-0"></span>
|
|
30
|
-
<span>{{n}}</span>
|
|
31
|
-
</li>
|
|
32
|
-
{% endfor %}
|
|
33
|
-
</ul>
|
|
34
|
-
</div>
|
|
35
|
-
{% endif %}
|
|
36
|
-
</section>
|
|
37
|
-
{% endfor %}
|
|
38
|
-
</div>
|
|
39
|
-
</div>
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
<div class="bg-gradient-to-br from-slate-50 to-blue-50 text-gray-900 px-16 py-16 min-h-screen">
|
|
2
|
-
<!-- Header -->
|
|
3
|
-
<div class="mb-16">
|
|
4
|
-
<div class="w-20 h-1 bg-gradient-to-r from-blue-600 to-indigo-600 mb-6"></div>
|
|
5
|
-
<h1 class="text-6xl font-bold text-gray-900 mb-4 leading-tight">Pipeline Funnel</h1>
|
|
6
|
-
<div class="w-32 h-0.5 bg-gray-300"></div>
|
|
7
|
-
</div>
|
|
8
|
-
|
|
9
|
-
<!-- Pipeline Funnel -->
|
|
10
|
-
<div class="max-w-4xl mx-auto">
|
|
11
|
-
<div class="space-y-4">
|
|
12
|
-
{% for i in range(0, stages|length) %} {% set width_percent = 100 - (i * 12) %}
|
|
13
|
-
<div class="flex justify-center">
|
|
14
|
-
<div
|
|
15
|
-
class="bg-gradient-to-r from-purple-{{ 500 + (i * 50) }} to-indigo-{{ 600 + (i * 50) }} rounded-2xl shadow-xl text-white transform hover:scale-105 transition-all duration-300"
|
|
16
|
-
style="width: {{ width_percent }}%; min-width: 350px;"
|
|
17
|
-
>
|
|
18
|
-
<div class="p-6 text-center">
|
|
19
|
-
<div class="flex items-center justify-center mb-3">
|
|
20
|
-
<div class="w-10 h-10 bg-white bg-opacity-20 rounded-xl flex items-center justify-center mr-4">
|
|
21
|
-
<span class="text-lg font-bold">{{ i + 1 }}</span>
|
|
22
|
-
</div>
|
|
23
|
-
<h3 class="text-xl font-bold">{{stages[i]}}</h3>
|
|
24
|
-
</div>
|
|
25
|
-
{% if values %}
|
|
26
|
-
<div class="text-3xl font-black mb-2">{{values[i]}}</div>
|
|
27
|
-
{% endif %} {% if i < (stages|length - 1) %}
|
|
28
|
-
<div class="text-xs opacity-75">↓ Next Stage</div>
|
|
29
|
-
{% endif %}
|
|
30
|
-
</div>
|
|
31
|
-
</div>
|
|
32
|
-
</div>
|
|
33
|
-
{% endfor %}
|
|
34
|
-
</div>
|
|
35
|
-
</div>
|
|
36
|
-
|
|
37
|
-
<!-- Pipeline Metrics -->
|
|
38
|
-
<div class="grid grid-cols-1 md:grid-cols-3 gap-6 max-w-4xl mx-auto mt-16">
|
|
39
|
-
<div class="bg-white rounded-2xl shadow-lg p-6 text-center">
|
|
40
|
-
<div class="w-12 h-12 bg-purple-100 rounded-xl flex items-center justify-center mx-auto mb-3">
|
|
41
|
-
<svg class="w-6 h-6 text-purple-600" fill="currentColor" viewBox="0 0 20 20">
|
|
42
|
-
<path d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" />
|
|
43
|
-
</svg>
|
|
44
|
-
</div>
|
|
45
|
-
<div class="text-2xl font-bold text-purple-600 mb-2">{{stages|length}}</div>
|
|
46
|
-
<div class="text-gray-600 font-semibold">Total Stages</div>
|
|
47
|
-
</div>
|
|
48
|
-
|
|
49
|
-
<div class="bg-white rounded-2xl shadow-lg p-6 text-center">
|
|
50
|
-
<div class="w-12 h-12 bg-blue-100 rounded-xl flex items-center justify-center mx-auto mb-3">
|
|
51
|
-
<svg class="w-6 h-6 text-blue-600" fill="currentColor" viewBox="0 0 20 20">
|
|
52
|
-
<path
|
|
53
|
-
fill-rule="evenodd"
|
|
54
|
-
d="M5.293 7.707a1 1 0 010-1.414l4-4a1 1 0 011.414 0l4 4a1 1 0 01-1.414 1.414L10 4.414 6.707 7.707a1 1 0 01-1.414 0z"
|
|
55
|
-
clip-rule="evenodd"
|
|
56
|
-
/>
|
|
57
|
-
</svg>
|
|
58
|
-
</div>
|
|
59
|
-
<div class="text-2xl font-bold text-blue-600 mb-2">{% if values %}{{values[0]}}{% else %}--{% endif %}</div>
|
|
60
|
-
<div class="text-gray-600 font-semibold">Top of Pipeline</div>
|
|
61
|
-
</div>
|
|
62
|
-
|
|
63
|
-
<div class="bg-white rounded-2xl shadow-lg p-6 text-center">
|
|
64
|
-
<div class="w-12 h-12 bg-indigo-100 rounded-xl flex items-center justify-center mx-auto mb-3">
|
|
65
|
-
<svg class="w-6 h-6 text-indigo-600" fill="currentColor" viewBox="0 0 20 20">
|
|
66
|
-
<path
|
|
67
|
-
fill-rule="evenodd"
|
|
68
|
-
d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z"
|
|
69
|
-
clip-rule="evenodd"
|
|
70
|
-
/>
|
|
71
|
-
</svg>
|
|
72
|
-
</div>
|
|
73
|
-
<div class="text-2xl font-bold text-indigo-600 mb-2">{% if values %}{{values[-1]}}{% else %}--{% endif %}</div>
|
|
74
|
-
<div class="text-gray-600 font-semibold">Conversion</div>
|
|
75
|
-
</div>
|
|
76
|
-
</div>
|
|
77
|
-
</div>
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
<div class="bg-gradient-to-br from-slate-50 to-gray-100 text-gray-900 px-16 py-16 min-h-screen">
|
|
2
|
-
<!-- Header -->
|
|
3
|
-
<div class="text-center mb-16">
|
|
4
|
-
<h1 class="text-5xl font-bold text-gray-900 mb-4">Porter's Five Forces</h1>
|
|
5
|
-
<div class="w-24 h-1 bg-gradient-to-r from-blue-600 to-indigo-600 mx-auto"></div>
|
|
6
|
-
</div>
|
|
7
|
-
|
|
8
|
-
<!-- Forces Layout -->
|
|
9
|
-
<div class="max-w-7xl mx-auto">
|
|
10
|
-
<!-- Top Force -->
|
|
11
|
-
<div class="flex justify-center mb-8">
|
|
12
|
-
<section
|
|
13
|
-
class="bg-gradient-to-br from-red-500 to-rose-600 rounded-2xl p-8 text-white shadow-2xl transform hover:scale-105 transition-all duration-300 w-80"
|
|
14
|
-
>
|
|
15
|
-
<div class="flex items-center mb-6">
|
|
16
|
-
<div class="w-12 h-12 bg-white bg-opacity-20 rounded-xl flex items-center justify-center mr-4">
|
|
17
|
-
<svg class="w-6 h-6" fill="currentColor" viewBox="0 0 20 20">
|
|
18
|
-
<path
|
|
19
|
-
fill-rule="evenodd"
|
|
20
|
-
d="M5.293 7.707a1 1 0 010-1.414l4-4a1 1 0 011.414 0l4 4a1 1 0 01-1.414 1.414L10 4.414 6.707 7.707a1 1 0 01-1.414 0z"
|
|
21
|
-
clip-rule="evenodd"
|
|
22
|
-
/>
|
|
23
|
-
</svg>
|
|
24
|
-
</div>
|
|
25
|
-
<h2 class="text-xl font-bold">Threat of New Entrants</h2>
|
|
26
|
-
</div>
|
|
27
|
-
<ul class="space-y-2 text-sm">
|
|
28
|
-
{% for x in newEntrants %}
|
|
29
|
-
<li class="flex items-start"><span class="w-1.5 h-1.5 bg-white rounded-full mt-2 mr-2 flex-shrink-0"></span><span>{{x}}</span></li>
|
|
30
|
-
{% endfor %}
|
|
31
|
-
</ul>
|
|
32
|
-
</section>
|
|
33
|
-
</div>
|
|
34
|
-
|
|
35
|
-
<!-- Middle Row -->
|
|
36
|
-
<div class="grid grid-cols-3 gap-8 items-center mb-8">
|
|
37
|
-
<!-- Supplier Power -->
|
|
38
|
-
<section
|
|
39
|
-
class="bg-gradient-to-br from-blue-500 to-indigo-600 rounded-2xl p-8 text-white shadow-2xl transform hover:scale-105 transition-all duration-300"
|
|
40
|
-
>
|
|
41
|
-
<div class="flex items-center mb-6">
|
|
42
|
-
<div class="w-12 h-12 bg-white bg-opacity-20 rounded-xl flex items-center justify-center mr-4">
|
|
43
|
-
<svg class="w-6 h-6" fill="currentColor" viewBox="0 0 20 20">
|
|
44
|
-
<path
|
|
45
|
-
fill-rule="evenodd"
|
|
46
|
-
d="M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z"
|
|
47
|
-
clip-rule="evenodd"
|
|
48
|
-
/>
|
|
49
|
-
</svg>
|
|
50
|
-
</div>
|
|
51
|
-
<h2 class="text-xl font-bold">Supplier Power</h2>
|
|
52
|
-
</div>
|
|
53
|
-
<ul class="space-y-2 text-sm">
|
|
54
|
-
{% for x in suppliers %}
|
|
55
|
-
<li class="flex items-start"><span class="w-1.5 h-1.5 bg-white rounded-full mt-2 mr-2 flex-shrink-0"></span><span>{{x}}</span></li>
|
|
56
|
-
{% endfor %}
|
|
57
|
-
</ul>
|
|
58
|
-
</section>
|
|
59
|
-
|
|
60
|
-
<!-- Central Competition Circle -->
|
|
61
|
-
<div class="flex justify-center">
|
|
62
|
-
<div class="w-32 h-32 bg-gradient-to-br from-gray-700 to-gray-900 rounded-full flex items-center justify-center shadow-2xl">
|
|
63
|
-
<span class="text-white font-bold text-lg text-center leading-tight">Industry<br />Rivalry</span>
|
|
64
|
-
</div>
|
|
65
|
-
</div>
|
|
66
|
-
|
|
67
|
-
<!-- Buyer Power -->
|
|
68
|
-
<section
|
|
69
|
-
class="bg-gradient-to-br from-purple-500 to-indigo-600 rounded-2xl p-8 text-white shadow-2xl transform hover:scale-105 transition-all duration-300"
|
|
70
|
-
>
|
|
71
|
-
<div class="flex items-center mb-6">
|
|
72
|
-
<div class="w-12 h-12 bg-white bg-opacity-20 rounded-xl flex items-center justify-center mr-4">
|
|
73
|
-
<svg class="w-6 h-6" fill="currentColor" viewBox="0 0 20 20">
|
|
74
|
-
<path
|
|
75
|
-
fill-rule="evenodd"
|
|
76
|
-
d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z"
|
|
77
|
-
clip-rule="evenodd"
|
|
78
|
-
/>
|
|
79
|
-
</svg>
|
|
80
|
-
</div>
|
|
81
|
-
<h2 class="text-xl font-bold">Buyer Power</h2>
|
|
82
|
-
</div>
|
|
83
|
-
<ul class="space-y-2 text-sm">
|
|
84
|
-
{% for x in buyers %}
|
|
85
|
-
<li class="flex items-start"><span class="w-1.5 h-1.5 bg-white rounded-full mt-2 mr-2 flex-shrink-0"></span><span>{{x}}</span></li>
|
|
86
|
-
{% endfor %}
|
|
87
|
-
</ul>
|
|
88
|
-
</section>
|
|
89
|
-
</div>
|
|
90
|
-
|
|
91
|
-
<!-- Bottom Row -->
|
|
92
|
-
<div class="grid grid-cols-2 gap-8">
|
|
93
|
-
<!-- Threat of Substitutes -->
|
|
94
|
-
<section
|
|
95
|
-
class="bg-gradient-to-br from-orange-500 to-amber-600 rounded-2xl p-8 text-white shadow-2xl transform hover:scale-105 transition-all duration-300"
|
|
96
|
-
>
|
|
97
|
-
<div class="flex items-center mb-6">
|
|
98
|
-
<div class="w-12 h-12 bg-white bg-opacity-20 rounded-xl flex items-center justify-center mr-4">
|
|
99
|
-
<svg class="w-6 h-6" fill="currentColor" viewBox="0 0 20 20">
|
|
100
|
-
<path
|
|
101
|
-
fill-rule="evenodd"
|
|
102
|
-
d="M14.707 12.293a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 111.414-1.414L10 15.586l3.293-3.293a1 1 0 011.414 0z"
|
|
103
|
-
clip-rule="evenodd"
|
|
104
|
-
/>
|
|
105
|
-
</svg>
|
|
106
|
-
</div>
|
|
107
|
-
<h2 class="text-xl font-bold">Threat of Substitutes</h2>
|
|
108
|
-
</div>
|
|
109
|
-
<ul class="space-y-2 text-sm">
|
|
110
|
-
{% for x in substitutes %}
|
|
111
|
-
<li class="flex items-start"><span class="w-1.5 h-1.5 bg-white rounded-full mt-2 mr-2 flex-shrink-0"></span><span>{{x}}</span></li>
|
|
112
|
-
{% endfor %}
|
|
113
|
-
</ul>
|
|
114
|
-
</section>
|
|
115
|
-
|
|
116
|
-
<!-- Competitive Rivalry -->
|
|
117
|
-
<section
|
|
118
|
-
class="bg-gradient-to-br from-emerald-500 to-green-600 rounded-2xl p-8 text-white shadow-2xl transform hover:scale-105 transition-all duration-300"
|
|
119
|
-
>
|
|
120
|
-
<div class="flex items-center mb-6">
|
|
121
|
-
<div class="w-12 h-12 bg-white bg-opacity-20 rounded-xl flex items-center justify-center mr-4">
|
|
122
|
-
<svg class="w-6 h-6" fill="currentColor" viewBox="0 0 20 20">
|
|
123
|
-
<path
|
|
124
|
-
fill-rule="evenodd"
|
|
125
|
-
d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z"
|
|
126
|
-
clip-rule="evenodd"
|
|
127
|
-
/>
|
|
128
|
-
</svg>
|
|
129
|
-
</div>
|
|
130
|
-
<h2 class="text-xl font-bold">Competitive Rivalry</h2>
|
|
131
|
-
</div>
|
|
132
|
-
<ul class="space-y-2 text-sm">
|
|
133
|
-
{% for x in rivalry %}
|
|
134
|
-
<li class="flex items-start"><span class="w-1.5 h-1.5 bg-white rounded-full mt-2 mr-2 flex-shrink-0"></span><span>{{x}}</span></li>
|
|
135
|
-
{% endfor %}
|
|
136
|
-
</ul>
|
|
137
|
-
</section>
|
|
138
|
-
</div>
|
|
139
|
-
</div>
|
|
140
|
-
</div>
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
<div class="bg-gradient-to-br from-slate-50 to-blue-50 text-gray-900 px-16 py-16 min-h-screen">
|
|
2
|
-
<!-- Header -->
|
|
3
|
-
<div class="mb-16">
|
|
4
|
-
<div class="w-20 h-1 bg-gradient-to-r from-blue-600 to-indigo-600 mb-6"></div>
|
|
5
|
-
<h1 class="text-6xl font-bold text-gray-900 mb-4 leading-tight">Positioning Map</h1>
|
|
6
|
-
<div class="w-32 h-0.5 bg-gray-300"></div>
|
|
7
|
-
</div>
|
|
8
|
-
|
|
9
|
-
<!-- Axis Labels -->
|
|
10
|
-
<div class="mb-12 flex items-center justify-between max-w-7xl mx-auto">
|
|
11
|
-
<div class="bg-gradient-to-br from-blue-500 to-indigo-600 rounded-2xl px-8 py-4 text-white shadow-xl">
|
|
12
|
-
<div class="text-xl font-semibold">Y-Axis: {{yAxis}}</div>
|
|
13
|
-
</div>
|
|
14
|
-
<div class="bg-gradient-to-br from-blue-500 to-indigo-600 rounded-2xl px-8 py-4 text-white shadow-xl">
|
|
15
|
-
<div class="text-xl font-semibold">X-Axis: {{xAxis}}</div>
|
|
16
|
-
</div>
|
|
17
|
-
</div>
|
|
18
|
-
|
|
19
|
-
<!-- Players List -->
|
|
20
|
-
<div
|
|
21
|
-
class="bg-gradient-to-br from-emerald-500 to-green-600 rounded-3xl p-10 text-white shadow-2xl hover:scale-105 transition-all duration-300 max-w-7xl mx-auto"
|
|
22
|
-
>
|
|
23
|
-
<div class="flex items-center mb-8">
|
|
24
|
-
<div class="w-16 h-16 bg-white bg-opacity-20 rounded-2xl flex items-center justify-center mr-6">
|
|
25
|
-
<svg class="w-8 h-8" fill="currentColor" viewBox="0 0 20 20">
|
|
26
|
-
<path fill-rule="evenodd" d="M5.05 4.05a7 7 0 119.9 9.9L10 18.9l-4.95-4.95a7 7 0 010-9.9zM10 11a2 2 0 100-4 2 2 0 000 4z" clip-rule="evenodd" />
|
|
27
|
-
</svg>
|
|
28
|
-
</div>
|
|
29
|
-
<h2 class="text-4xl font-bold">Market Players</h2>
|
|
30
|
-
</div>
|
|
31
|
-
<ul class="space-y-4 text-xl">
|
|
32
|
-
{% for p in players %}
|
|
33
|
-
<li class="flex items-start">
|
|
34
|
-
<span class="w-3 h-3 bg-white rounded-full mt-2 mr-4 flex-shrink-0"></span>
|
|
35
|
-
<span>{{p.name}} <span class="text-green-100">(x: {{p.x}}, y: {{p.y}})</span></span>
|
|
36
|
-
</li>
|
|
37
|
-
{% endfor %}
|
|
38
|
-
</ul>
|
|
39
|
-
</div>
|
|
40
|
-
</div>
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
<div class="min-h-screen bg-gradient-to-br from-slate-50 to-blue-50 px-16 py-16">
|
|
2
|
-
<!-- Header Section -->
|
|
3
|
-
<div class="mb-12">
|
|
4
|
-
<div class="w-20 h-1 bg-gradient-to-r from-blue-600 to-indigo-600 mb-8"></div>
|
|
5
|
-
<h1 class="text-6xl font-bold text-gray-900 mb-4 leading-tight">Pricing Waterfall</h1>
|
|
6
|
-
<div class="w-32 h-0.5 bg-gray-300"></div>
|
|
7
|
-
</div>
|
|
8
|
-
|
|
9
|
-
<!-- Waterfall Steps Section -->
|
|
10
|
-
<div class="mb-8">
|
|
11
|
-
<div class="grid gap-6">
|
|
12
|
-
{% for s in steps %}
|
|
13
|
-
<div class="bg-gradient-to-br from-blue-500 to-indigo-600 rounded-3xl p-8 text-white shadow-2xl hover:scale-105 transition-all duration-300">
|
|
14
|
-
<div class="flex items-center justify-between">
|
|
15
|
-
<div class="flex items-center">
|
|
16
|
-
<div class="w-16 h-16 bg-white bg-opacity-20 rounded-2xl flex items-center justify-center mr-6">
|
|
17
|
-
<svg class="w-8 h-8" fill="currentColor" viewBox="0 0 20 20">
|
|
18
|
-
<path fill-rule="evenodd" d="M2 5a2 2 0 012-2h8a2 2 0 012 2v10a2 2 0 002 2H4a2 2 0 01-2-2V5zm3 1h6v4H5V6zm6 6H5v2h6v-2z" clip-rule="evenodd" />
|
|
19
|
-
</svg>
|
|
20
|
-
</div>
|
|
21
|
-
<div>
|
|
22
|
-
<p class="text-2xl font-semibold">{{s.label}}</p>
|
|
23
|
-
</div>
|
|
24
|
-
</div>
|
|
25
|
-
<div class="text-right">
|
|
26
|
-
<p class="text-3xl font-bold">{{s.value}}</p>
|
|
27
|
-
</div>
|
|
28
|
-
</div>
|
|
29
|
-
</div>
|
|
30
|
-
{% endfor %}
|
|
31
|
-
</div>
|
|
32
|
-
</div>
|
|
33
|
-
</div>
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
<div class="bg-gradient-to-br from-slate-50 to-blue-50 text-gray-900 px-16 py-16 min-h-screen">
|
|
2
|
-
<!-- Header Section -->
|
|
3
|
-
<div class="mb-16">
|
|
4
|
-
<div class="w-20 h-1 bg-gradient-to-r from-blue-600 to-indigo-600 mb-6"></div>
|
|
5
|
-
<h1 class="text-6xl font-bold text-gray-900 mb-4 leading-tight">Product Roadmap</h1>
|
|
6
|
-
<div class="w-32 h-0.5 bg-gray-300"></div>
|
|
7
|
-
</div>
|
|
8
|
-
|
|
9
|
-
<!-- Timeline Layout -->
|
|
10
|
-
<div class="relative">
|
|
11
|
-
<!-- Timeline Line -->
|
|
12
|
-
<div class="absolute top-20 left-0 right-0 h-1 bg-gradient-to-r from-blue-600 to-indigo-600 hidden md:block"></div>
|
|
13
|
-
|
|
14
|
-
<!-- Release Cards -->
|
|
15
|
-
<div class="grid grid-cols-1 md:grid-cols-{{releases|length}} gap-8 relative">
|
|
16
|
-
{% for r in releases %}
|
|
17
|
-
<div class="relative">
|
|
18
|
-
<!-- Timeline Dot -->
|
|
19
|
-
<div class="absolute -top-3 left-1/2 transform -translate-x-1/2 w-6 h-6 bg-blue-600 rounded-full border-4 border-white shadow-lg hidden md:block"></div>
|
|
20
|
-
|
|
21
|
-
<!-- Release Card -->
|
|
22
|
-
<div class="bg-gradient-to-br from-blue-600 to-indigo-700 rounded-3xl p-8 text-white shadow-2xl hover:scale-105 transition-all duration-300 mt-12">
|
|
23
|
-
<!-- Release Icon -->
|
|
24
|
-
<div class="w-16 h-16 bg-white bg-opacity-20 rounded-2xl flex items-center justify-center mb-6">
|
|
25
|
-
<svg class="w-8 h-8 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
26
|
-
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z"></path>
|
|
27
|
-
</svg>
|
|
28
|
-
</div>
|
|
29
|
-
|
|
30
|
-
<!-- Release Title -->
|
|
31
|
-
<h2 class="text-2xl font-bold mb-6">{{r}}</h2>
|
|
32
|
-
|
|
33
|
-
<!-- Features List -->
|
|
34
|
-
<div class="space-y-3">
|
|
35
|
-
{% for it in items %}{% if it.release == r %}
|
|
36
|
-
<div class="flex items-start space-x-3">
|
|
37
|
-
<div class="w-2 h-2 bg-white bg-opacity-60 rounded-full mt-2 flex-shrink-0"></div>
|
|
38
|
-
<span class="text-lg leading-relaxed">{{it.label}}</span>
|
|
39
|
-
</div>
|
|
40
|
-
{% endif %}{% endfor %}
|
|
41
|
-
</div>
|
|
42
|
-
</div>
|
|
43
|
-
</div>
|
|
44
|
-
{% endfor %}
|
|
45
|
-
</div>
|
|
46
|
-
</div>
|
|
47
|
-
</div>
|