diff --git a/app/Services/MonthlyReportService.php b/app/Services/MonthlyReportService.php
index 63ca74b..069e99f 100644
--- a/app/Services/MonthlyReportService.php
+++ b/app/Services/MonthlyReportService.php
@@ -191,7 +191,7 @@ class MonthlyReportService
],
'datasets' => [[
'data' => [$free, $paid],
- 'backgroundColor' => ['#8AB357', '#A5C87A'],
+ 'backgroundColor' => ['#A68966', '#C4A882'],
]],
],
'options' => [
@@ -249,8 +249,8 @@ class MonthlyReportService
'datasets' => [[
'label' => __('report.consultations', [], $locale),
'data' => $data,
- 'borderColor' => '#8AB357',
- 'backgroundColor' => 'rgba(138, 179, 87, 0.1)',
+ 'borderColor' => '#A68966',
+ 'backgroundColor' => 'rgba(166, 137, 102, 0.1)',
'fill' => true,
'tension' => 0.3,
]],
diff --git a/docs/stories/story-12.5-pdf-template-color-update.md b/docs/stories/story-12.5-pdf-template-color-update.md
index 7ba9d64..c4238dd 100644
--- a/docs/stories/story-12.5-pdf-template-color-update.md
+++ b/docs/stories/story-12.5-pdf-template-color-update.md
@@ -152,13 +152,13 @@ $chartColors = [
## Dev Checklist
-- [ ] Update `users-export.blade.php` colors
-- [ ] Update `consultations-export.blade.php` colors
-- [ ] Update `timelines-export.blade.php` colors
-- [ ] Update `monthly-report.blade.php` colors
-- [ ] Update `MonthlyReportService.php` chart colors
-- [ ] Review `monthly-report.blade.php` Livewire component
-- [ ] Update `PdfBrandColorsTest.php` color assertions
+- [x] Update `users-export.blade.php` colors
+- [x] Update `consultations-export.blade.php` colors
+- [x] Update `timelines-export.blade.php` colors
+- [x] Update `monthly-report.blade.php` colors
+- [x] Update `MonthlyReportService.php` chart colors
+- [x] Review `monthly-report.blade.php` Livewire component
+- [x] Update `PdfBrandColorsTest.php` color assertions
- [ ] Test Users PDF export
- [ ] Test Consultations PDF export
- [ ] Test Timelines PDF export
@@ -182,27 +182,38 @@ $chartColors = [
## Dev Agent Record
### Status
-Not Started - Ready for Implementation
+Ready for Review
### Agent Model Used
-(To be filled during implementation)
+Claude Opus 4.5 (claude-opus-4-5-20251101)
### File List
-**To be modified:**
-- `resources/views/pdf/users-export.blade.php`
-- `resources/views/pdf/consultations-export.blade.php`
-- `resources/views/pdf/timelines-export.blade.php`
-- `resources/views/pdf/monthly-report.blade.php`
-- `app/Services/MonthlyReportService.php`
-- `resources/views/livewire/admin/reports/monthly-report.blade.php`
-- `tests/Feature/Admin/PdfBrandColorsTest.php`
+**Modified:**
+- `resources/views/pdf/users-export.blade.php` - Updated colors to new palette
+- `resources/views/pdf/consultations-export.blade.php` - Updated colors to new palette
+- `resources/views/pdf/timelines-export.blade.php` - Updated colors to new palette
+- `resources/views/pdf/monthly-report.blade.php` - Updated colors to new palette
+- `app/Services/MonthlyReportService.php` - Updated chart colors
+- `resources/views/livewire/admin/reports/monthly-report.blade.php` - Updated TOC number badge colors
+- `tests/Feature/Admin/PdfBrandColorsTest.php` - Updated color assertions
### Change Log
| Date | Change |
|------|--------|
| 2026-01-04 | Story updated with new Dark Charcoal & Warm Gold palette |
+| 2026-01-04 | Implementation complete: All PDF templates and service updated |
### Completion Notes
-(To be filled during implementation)
+- All 4 PDF templates updated with new color palette:
+ - Dark Forest Green (#2D3624) for headers and table header backgrounds
+ - Warm Gold (#A68966) for accent text and highlights
+ - Gold Light (#C4A882) for borders
+ - Warm Cream (#F4F1EA) for backgrounds
+ - Forest Green (#2D322A) for body text
+ - White (#FFFFFF) for table header text
+- MonthlyReportService chart colors updated (pie chart and trend line)
+- Livewire monthly-report component TOC badges updated
+- Test file updated with new color assertions - all 6 tests pass (44 assertions)
+- Manual testing of PDF exports and print preview still required
diff --git a/resources/views/livewire/admin/reports/monthly-report.blade.php b/resources/views/livewire/admin/reports/monthly-report.blade.php
index a747d7d..ab572f3 100644
--- a/resources/views/livewire/admin/reports/monthly-report.blade.php
+++ b/resources/views/livewire/admin/reports/monthly-report.blade.php
@@ -87,27 +87,27 @@ new class extends Component
{{ __('report.table_of_contents') }}
- 1
+ 1
{{ __('report.executive_summary') }}
- 2
+ 2
{{ __('report.user_statistics') }}
- 3
+ 3
{{ __('report.consultation_statistics') }}
- 4
+ 4
{{ __('report.timeline_statistics') }}
- 5
+ 5
{{ __('report.post_statistics') }}
- 6
+ 6
{{ __('report.trends_chart') }}
diff --git a/resources/views/pdf/consultations-export.blade.php b/resources/views/pdf/consultations-export.blade.php
index b540d14..53bc461 100644
--- a/resources/views/pdf/consultations-export.blade.php
+++ b/resources/views/pdf/consultations-export.blade.php
@@ -12,7 +12,7 @@
body {
font-family: 'DejaVu Sans', sans-serif;
font-size: 10px;
- color: #1A1A1A;
+ color: #2D322A;
direction: {{ $locale === 'ar' ? 'rtl' : 'ltr' }};
}
@@ -22,7 +22,7 @@
left: 0;
right: 0;
height: 70px;
- border-bottom: 3px solid #A5C87A;
+ border-bottom: 3px solid #C4A882;
padding-bottom: 10px;
}
@@ -47,7 +47,7 @@
.brand-name {
font-size: 22px;
font-weight: bold;
- color: #8AB357;
+ color: #2D3624;
}
.brand-subtitle {
@@ -59,7 +59,7 @@
.report-title {
font-size: 14px;
font-weight: bold;
- color: #8AB357;
+ color: #2D3624;
}
footer {
@@ -68,7 +68,7 @@
left: 0;
right: 0;
height: 50px;
- border-top: 2px solid #A5C87A;
+ border-top: 2px solid #C4A882;
padding-top: 10px;
font-size: 9px;
color: #666;
@@ -97,8 +97,8 @@
}
.filters-section {
- background-color: #E8E4DC;
- border: 1px solid #A5C87A;
+ background-color: #F4F1EA;
+ border: 1px solid #C4A882;
border-radius: 4px;
padding: 10px 15px;
margin-bottom: 20px;
@@ -106,7 +106,7 @@
.filters-title {
font-weight: bold;
- color: #8AB357;
+ color: #A68966;
margin-bottom: 5px;
}
@@ -118,11 +118,11 @@
.summary {
margin-bottom: 15px;
- color: #8AB357;
+ color: #2D3624;
}
.summary strong {
- color: #8AB357;
+ color: #A68966;
}
table {
@@ -132,8 +132,8 @@
}
th {
- background-color: #8AB357;
- color: #E8E4DC;
+ background-color: #2D3624;
+ color: #FFFFFF;
padding: 10px 8px;
text-align: {{ $locale === 'ar' ? 'right' : 'left' }};
font-weight: bold;
@@ -143,17 +143,17 @@
td {
padding: 8px;
- border-bottom: 1px solid #A5C87A;
+ border-bottom: 1px solid #C4A882;
text-align: {{ $locale === 'ar' ? 'right' : 'left' }};
font-size: 9px;
}
tr:nth-child(even) {
- background-color: #E8E4DC;
+ background-color: #F4F1EA;
}
tr:hover {
- background-color: #E8E4DC;
+ background-color: #F4F1EA;
}
.status-pending {
@@ -187,7 +187,7 @@
}
.consultation-type {
- background-color: #E8E4DC;
+ background-color: #F4F1EA;
padding: 2px 6px;
border-radius: 3px;
font-size: 8px;
diff --git a/resources/views/pdf/monthly-report.blade.php b/resources/views/pdf/monthly-report.blade.php
index 4b4d6dc..99eac3d 100644
--- a/resources/views/pdf/monthly-report.blade.php
+++ b/resources/views/pdf/monthly-report.blade.php
@@ -12,7 +12,7 @@
body {
font-family: 'DejaVu Sans', sans-serif;
font-size: 11px;
- color: #1A1A1A;
+ color: #2D322A;
direction: {{ $locale === 'ar' ? 'rtl' : 'ltr' }};
line-height: 1.6;
}
@@ -23,7 +23,7 @@
left: 0;
right: 0;
height: 70px;
- border-bottom: 3px solid #A5C87A;
+ border-bottom: 3px solid #C4A882;
padding-bottom: 10px;
}
@@ -48,7 +48,7 @@
.brand-name {
font-size: 24px;
font-weight: bold;
- color: #8AB357;
+ color: #2D3624;
}
.brand-subtitle {
@@ -68,7 +68,7 @@
left: 0;
right: 0;
height: 50px;
- border-top: 2px solid #A5C87A;
+ border-top: 2px solid #C4A882;
padding-top: 10px;
font-size: 9px;
color: #666;
@@ -105,7 +105,7 @@
.cover-brand {
font-size: 48px;
font-weight: bold;
- color: #8AB357;
+ color: #2D3624;
margin-bottom: 10px;
}
@@ -118,13 +118,13 @@
.cover-title {
font-size: 28px;
font-weight: bold;
- color: #8AB357;
+ color: #2D3624;
margin-bottom: 20px;
}
.cover-period {
font-size: 22px;
- color: #8AB357;
+ color: #A68966;
margin-bottom: 60px;
}
@@ -141,8 +141,8 @@
.section-title {
font-size: 18px;
font-weight: bold;
- color: #8AB357;
- border-bottom: 2px solid #A5C87A;
+ color: #2D3624;
+ border-bottom: 2px solid #C4A882;
padding-bottom: 8px;
margin-bottom: 20px;
margin-top: 30px;
@@ -165,7 +165,7 @@
display: table-cell;
width: 30px;
font-weight: bold;
- color: #8AB357;
+ color: #A68966;
}
.toc-title {
@@ -176,7 +176,7 @@
display: table-cell;
width: 40px;
text-align: {{ $locale === 'ar' ? 'left' : 'right' }};
- color: #8AB357;
+ color: #A68966;
}
/* Stats Grid */
@@ -198,8 +198,8 @@
}
.stat-box {
- background-color: #E8E4DC;
- border: 1px solid #A5C87A;
+ background-color: #F4F1EA;
+ border: 1px solid #C4A882;
border-radius: 4px;
padding: 15px;
text-align: {{ $locale === 'ar' ? 'right' : 'left' }};
@@ -215,11 +215,11 @@
.stat-value {
font-size: 24px;
font-weight: bold;
- color: #8AB357;
+ color: #2D3624;
}
.stat-value-gold {
- color: #8AB357;
+ color: #A68966;
}
/* Data Table */
@@ -230,8 +230,8 @@
}
.data-table th {
- background-color: #8AB357;
- color: #E8E4DC;
+ background-color: #2D3624;
+ color: #FFFFFF;
padding: 10px 12px;
text-align: {{ $locale === 'ar' ? 'right' : 'left' }};
font-weight: bold;
@@ -241,18 +241,18 @@
.data-table td {
padding: 10px 12px;
- border-bottom: 1px solid #A5C87A;
+ border-bottom: 1px solid #C4A882;
text-align: {{ $locale === 'ar' ? 'right' : 'left' }};
}
.data-table tr:nth-child(even) {
- background-color: #E8E4DC;
+ background-color: #F4F1EA;
}
/* Highlights */
.highlight-box {
- background-color: #E8E4DC;
- border: 1px solid #A5C87A;
+ background-color: #F4F1EA;
+ border: 1px solid #C4A882;
border-radius: 4px;
padding: 15px;
margin-bottom: 20px;
@@ -260,7 +260,7 @@
.highlight-item {
padding: 5px 0;
- border-bottom: 1px solid rgba(165, 200, 122, 0.5);
+ border-bottom: 1px solid rgba(196, 168, 130, 0.5);
}
.highlight-item:last-child {
@@ -268,7 +268,7 @@
}
.highlight-bullet {
- color: #8AB357;
+ color: #A68966;
font-weight: bold;
margin-{{ $locale === 'ar' ? 'left' : 'right' }}: 8px;
}
@@ -294,14 +294,14 @@
margin: 20px 0;
padding: 15px;
background-color: #fff;
- border: 1px solid #A5C87A;
+ border: 1px solid #C4A882;
border-radius: 4px;
}
.chart-title {
font-size: 12px;
font-weight: bold;
- color: #8AB357;
+ color: #2D3624;
margin-bottom: 15px;
}
@@ -350,7 +350,7 @@
text-align: center;
padding: 30px;
color: #666;
- background-color: #E8E4DC;
+ background-color: #F4F1EA;
border-radius: 4px;
}
diff --git a/resources/views/pdf/timelines-export.blade.php b/resources/views/pdf/timelines-export.blade.php
index b4e6ad7..b9d6654 100644
--- a/resources/views/pdf/timelines-export.blade.php
+++ b/resources/views/pdf/timelines-export.blade.php
@@ -12,7 +12,7 @@
body {
font-family: 'DejaVu Sans', sans-serif;
font-size: 10px;
- color: #1A1A1A;
+ color: #2D322A;
direction: {{ $locale === 'ar' ? 'rtl' : 'ltr' }};
}
@@ -22,7 +22,7 @@
left: 0;
right: 0;
height: 70px;
- border-bottom: 3px solid #A5C87A;
+ border-bottom: 3px solid #C4A882;
padding-bottom: 10px;
}
@@ -47,7 +47,7 @@
.brand-name {
font-size: 22px;
font-weight: bold;
- color: #8AB357;
+ color: #2D3624;
}
.brand-subtitle {
@@ -59,7 +59,7 @@
.report-title {
font-size: 14px;
font-weight: bold;
- color: #8AB357;
+ color: #2D3624;
}
footer {
@@ -68,7 +68,7 @@
left: 0;
right: 0;
height: 50px;
- border-top: 2px solid #A5C87A;
+ border-top: 2px solid #C4A882;
padding-top: 10px;
font-size: 9px;
color: #666;
@@ -97,8 +97,8 @@
}
.filters-section {
- background-color: #E8E4DC;
- border: 1px solid #A5C87A;
+ background-color: #F4F1EA;
+ border: 1px solid #C4A882;
border-radius: 4px;
padding: 10px 15px;
margin-bottom: 20px;
@@ -106,7 +106,7 @@
.filters-title {
font-weight: bold;
- color: #8AB357;
+ color: #A68966;
margin-bottom: 5px;
}
@@ -118,11 +118,11 @@
.summary {
margin-bottom: 15px;
- color: #8AB357;
+ color: #2D3624;
}
.summary strong {
- color: #8AB357;
+ color: #A68966;
}
table {
@@ -132,8 +132,8 @@
}
th {
- background-color: #8AB357;
- color: #E8E4DC;
+ background-color: #2D3624;
+ color: #FFFFFF;
padding: 10px 8px;
text-align: {{ $locale === 'ar' ? 'right' : 'left' }};
font-weight: bold;
@@ -143,13 +143,13 @@
td {
padding: 8px;
- border-bottom: 1px solid #A5C87A;
+ border-bottom: 1px solid #C4A882;
text-align: {{ $locale === 'ar' ? 'right' : 'left' }};
font-size: 9px;
}
tr:nth-child(even) {
- background-color: #E8E4DC;
+ background-color: #F4F1EA;
}
.status-active {
@@ -163,16 +163,16 @@
}
.updates-section {
- background-color: #E8E4DC;
+ background-color: #F4F1EA;
padding: 10px;
margin: 5px 0;
- border-{{ $locale === 'ar' ? 'right' : 'left' }}: 3px solid #8AB357;
+ border-{{ $locale === 'ar' ? 'right' : 'left' }}: 3px solid #A68966;
}
.update-entry {
margin-bottom: 8px;
padding-bottom: 8px;
- border-bottom: 1px dashed #A5C87A;
+ border-bottom: 1px dashed #C4A882;
}
.update-entry:last-child {
@@ -189,7 +189,7 @@
.update-text {
font-size: 9px;
- color: #1A1A1A;
+ color: #2D322A;
}
.no-data {
diff --git a/resources/views/pdf/users-export.blade.php b/resources/views/pdf/users-export.blade.php
index eaaf4e9..402aabe 100644
--- a/resources/views/pdf/users-export.blade.php
+++ b/resources/views/pdf/users-export.blade.php
@@ -12,7 +12,7 @@
body {
font-family: 'DejaVu Sans', sans-serif;
font-size: 10px;
- color: #1A1A1A;
+ color: #2D322A;
direction: {{ $locale === 'ar' ? 'rtl' : 'ltr' }};
}
@@ -22,7 +22,7 @@
left: 0;
right: 0;
height: 70px;
- border-bottom: 3px solid #A5C87A;
+ border-bottom: 3px solid #C4A882;
padding-bottom: 10px;
}
@@ -47,7 +47,7 @@
.brand-name {
font-size: 22px;
font-weight: bold;
- color: #8AB357;
+ color: #2D3624;
}
.brand-subtitle {
@@ -59,7 +59,7 @@
.report-title {
font-size: 14px;
font-weight: bold;
- color: #8AB357;
+ color: #2D3624;
}
footer {
@@ -68,7 +68,7 @@
left: 0;
right: 0;
height: 50px;
- border-top: 2px solid #A5C87A;
+ border-top: 2px solid #C4A882;
padding-top: 10px;
font-size: 9px;
color: #666;
@@ -97,8 +97,8 @@
}
.filters-section {
- background-color: #E8E4DC;
- border: 1px solid #A5C87A;
+ background-color: #F4F1EA;
+ border: 1px solid #C4A882;
border-radius: 4px;
padding: 10px 15px;
margin-bottom: 20px;
@@ -106,7 +106,7 @@
.filters-title {
font-weight: bold;
- color: #8AB357;
+ color: #A68966;
margin-bottom: 5px;
}
@@ -118,11 +118,11 @@
.summary {
margin-bottom: 15px;
- color: #8AB357;
+ color: #2D3624;
}
.summary strong {
- color: #8AB357;
+ color: #A68966;
}
table {
@@ -132,8 +132,8 @@
}
th {
- background-color: #8AB357;
- color: #E8E4DC;
+ background-color: #2D3624;
+ color: #FFFFFF;
padding: 10px 8px;
text-align: {{ $locale === 'ar' ? 'right' : 'left' }};
font-weight: bold;
@@ -143,17 +143,17 @@
td {
padding: 8px;
- border-bottom: 1px solid #A5C87A;
+ border-bottom: 1px solid #C4A882;
text-align: {{ $locale === 'ar' ? 'right' : 'left' }};
font-size: 9px;
}
tr:nth-child(even) {
- background-color: #E8E4DC;
+ background-color: #F4F1EA;
}
tr:hover {
- background-color: #E8E4DC;
+ background-color: #F4F1EA;
}
.status-active {
@@ -167,7 +167,7 @@
}
.user-type {
- background-color: #E8E4DC;
+ background-color: #F4F1EA;
padding: 2px 6px;
border-radius: 3px;
font-size: 8px;
diff --git a/tests/Feature/Admin/PdfBrandColorsTest.php b/tests/Feature/Admin/PdfBrandColorsTest.php
index a673ef7..e4a23d9 100644
--- a/tests/Feature/Admin/PdfBrandColorsTest.php
+++ b/tests/Feature/Admin/PdfBrandColorsTest.php
@@ -4,87 +4,100 @@
// PDF Template Brand Color Tests
// ===========================================
// Verifies that all PDF templates use the new brand colors:
-// - Olive Green: #8AB357 (primary/header background)
-// - Light Olive: #A5C87A (accent/borders)
-// - Light Background: #E8E4DC
-// - Deep Black: #1A1A1A (text)
+// - Dark Forest Green: #2D3624 (primary/header background)
+// - Warm Gold: #A68966 (accent/highlight)
+// - Gold Light: #C4A882 (borders/accents)
+// - Warm Cream: #F4F1EA (backgrounds)
+// - Forest Green: #2D322A (text)
test('users-export PDF template uses new brand colors', function () {
$template = file_get_contents(resource_path('views/pdf/users-export.blade.php'));
- // Should contain new olive green colors
- expect($template)->toContain('#8AB357'); // Olive Green
- expect($template)->toContain('#A5C87A'); // Light Olive
- expect($template)->toContain('#E8E4DC'); // Light Background
- expect($template)->toContain('#1A1A1A'); // Deep Black text
+ // Should contain new Dark Forest Green and Warm Gold colors
+ expect($template)->toContain('#2D3624'); // Dark Forest Green
+ expect($template)->toContain('#A68966'); // Warm Gold
+ expect($template)->toContain('#C4A882'); // Gold Light
+ expect($template)->toContain('#F4F1EA'); // Warm Cream
+ expect($template)->toContain('#2D322A'); // Forest Green text
// Should NOT contain old colors
- expect($template)->not->toContain('#4A4A42'); // Old Charcoal
- expect($template)->not->toContain('#C9C4BA'); // Old Warm Gray
+ expect($template)->not->toContain('#8AB357'); // Old Olive Green
+ expect($template)->not->toContain('#A5C87A'); // Old Light Olive
+ expect($template)->not->toContain('#E8E4DC'); // Old Light Background
+ expect($template)->not->toContain('#1A1A1A'); // Old Deep Black
});
test('consultations-export PDF template uses new brand colors', function () {
$template = file_get_contents(resource_path('views/pdf/consultations-export.blade.php'));
- // Should contain new olive green colors
- expect($template)->toContain('#8AB357'); // Olive Green
- expect($template)->toContain('#A5C87A'); // Light Olive
- expect($template)->toContain('#E8E4DC'); // Light Background
- expect($template)->toContain('#1A1A1A'); // Deep Black text
+ // Should contain new Dark Forest Green and Warm Gold colors
+ expect($template)->toContain('#2D3624'); // Dark Forest Green
+ expect($template)->toContain('#A68966'); // Warm Gold
+ expect($template)->toContain('#C4A882'); // Gold Light
+ expect($template)->toContain('#F4F1EA'); // Warm Cream
+ expect($template)->toContain('#2D322A'); // Forest Green text
// Should NOT contain old colors
- expect($template)->not->toContain('#4A4A42'); // Old Charcoal
- expect($template)->not->toContain('#C9C4BA'); // Old Warm Gray
+ expect($template)->not->toContain('#8AB357'); // Old Olive Green
+ expect($template)->not->toContain('#A5C87A'); // Old Light Olive
+ expect($template)->not->toContain('#E8E4DC'); // Old Light Background
+ expect($template)->not->toContain('#1A1A1A'); // Old Deep Black
});
test('timelines-export PDF template uses new brand colors', function () {
$template = file_get_contents(resource_path('views/pdf/timelines-export.blade.php'));
- // Should contain new olive green colors
- expect($template)->toContain('#8AB357'); // Olive Green
- expect($template)->toContain('#A5C87A'); // Light Olive
- expect($template)->toContain('#E8E4DC'); // Light Background
- expect($template)->toContain('#1A1A1A'); // Deep Black text
+ // Should contain new Dark Forest Green and Warm Gold colors
+ expect($template)->toContain('#2D3624'); // Dark Forest Green
+ expect($template)->toContain('#A68966'); // Warm Gold
+ expect($template)->toContain('#C4A882'); // Gold Light
+ expect($template)->toContain('#F4F1EA'); // Warm Cream
+ expect($template)->toContain('#2D322A'); // Forest Green text
// Should NOT contain old colors
- expect($template)->not->toContain('#4A4A42'); // Old Charcoal
- expect($template)->not->toContain('#C9C4BA'); // Old Warm Gray
+ expect($template)->not->toContain('#8AB357'); // Old Olive Green
+ expect($template)->not->toContain('#A5C87A'); // Old Light Olive
+ expect($template)->not->toContain('#E8E4DC'); // Old Light Background
+ expect($template)->not->toContain('#1A1A1A'); // Old Deep Black
});
test('monthly-report PDF template uses new brand colors', function () {
$template = file_get_contents(resource_path('views/pdf/monthly-report.blade.php'));
- // Should contain new olive green colors
- expect($template)->toContain('#8AB357'); // Olive Green
- expect($template)->toContain('#A5C87A'); // Light Olive
- expect($template)->toContain('#E8E4DC'); // Light Background
- expect($template)->toContain('#1A1A1A'); // Deep Black text
+ // Should contain new Dark Forest Green and Warm Gold colors
+ expect($template)->toContain('#2D3624'); // Dark Forest Green
+ expect($template)->toContain('#A68966'); // Warm Gold
+ expect($template)->toContain('#C4A882'); // Gold Light
+ expect($template)->toContain('#F4F1EA'); // Warm Cream
+ expect($template)->toContain('#2D322A'); // Forest Green text
// Should NOT contain old colors
- expect($template)->not->toContain('#4A4A42'); // Old Charcoal
- expect($template)->not->toContain('#C9C4BA'); // Old Warm Gray
+ expect($template)->not->toContain('#8AB357'); // Old Olive Green
+ expect($template)->not->toContain('#A5C87A'); // Old Light Olive
+ expect($template)->not->toContain('#E8E4DC'); // Old Light Background
+ expect($template)->not->toContain('#1A1A1A'); // Old Deep Black
});
test('MonthlyReportService uses new brand colors for charts', function () {
$service = file_get_contents(app_path('Services/MonthlyReportService.php'));
- // Should contain new olive green colors for charts
- expect($service)->toContain('#8AB357'); // Olive Green
- expect($service)->toContain('#A5C87A'); // Light Olive
+ // Should contain new Warm Gold colors for charts
+ expect($service)->toContain('#A68966'); // Warm Gold
+ expect($service)->toContain('#C4A882'); // Gold Light
// Should NOT contain old colors
- expect($service)->not->toContain('#4A4A42'); // Old Charcoal
- expect($service)->not->toContain('#C9C4BA'); // Old Warm Gray
+ expect($service)->not->toContain('#8AB357'); // Old Olive Green
+ expect($service)->not->toContain('#A5C87A'); // Old Light Olive
});
test('monthly-report Livewire component uses new brand colors', function () {
$template = file_get_contents(resource_path('views/livewire/admin/reports/monthly-report.blade.php'));
- // Should contain new olive green colors
- expect($template)->toContain('#8AB357'); // Olive Green
- expect($template)->toContain('#A5C87A'); // Light Olive
+ // Should contain new Dark Forest Green and Warm Gold colors
+ expect($template)->toContain('#2D3624'); // Dark Forest Green
+ expect($template)->toContain('#A68966'); // Warm Gold
// Should NOT contain old colors
- expect($template)->not->toContain('#4A4A42'); // Old Charcoal
- expect($template)->not->toContain('#C9C4BA'); // Old Warm Gray
+ expect($template)->not->toContain('#8AB357'); // Old Olive Green
+ expect($template)->not->toContain('#A5C87A'); // Old Light Olive
});