- Implemented the Lakeside Orders demo rebrand:

New licensed lake, picnic, dining, server, burger, and food photography.
Rebuilt homepage gallery, logo, colors, copy, menu, specials, and 
exports.
Added dashboard-configurable branding in [settings.php (line 
18)](/Users/tyemeclifford/Documents/GH/fatbottomgrille/views/admin/settings.php:18).
Added a public attribution page and full [image 
credits](/Users/tyemeclifford/Documents/GH/fatbottomgrille/public/assets/images/CREDITS.md).
Migrated existing SQLite menu data and admin email to 
admin@lakesideorders.test.
Verified 51 PHP files, JSON/JavaScript, storefront pages, database 
migration, admin settings, and menu PDF. All passed.
This commit is contained in:
Ty Clifford
2026-06-14 14:26:09 -04:00
parent 03348cad79
commit b14f4c1796
33 changed files with 531 additions and 123 deletions
+1 -2
View File
@@ -32,7 +32,7 @@ final class Mailer
$from = sprintf(
'%s <%s>',
$this->config->get('mailgun.from_name', 'Fat Bottom Grille'),
$this->config->get('mailgun.from_name', 'Lakeside Orders'),
$this->config->get('mailgun.from_email')
);
@@ -77,4 +77,3 @@ final class Mailer
file_put_contents($directory . '/mail.log', $line, FILE_APPEND | LOCK_EX);
}
}
+2 -2
View File
@@ -30,7 +30,7 @@ final class MenuPdfExporter
$pdf = $this->buildPdf($pages);
header('Content-Type: application/pdf');
header('Content-Disposition: attachment; filename="fat-bottom-grille-menu.pdf"');
header('Content-Disposition: attachment; filename="lakeside-orders-menu.pdf"');
header('Content-Length: ' . strlen($pdf));
echo $pdf;
exit;
@@ -52,7 +52,7 @@ final class MenuPdfExporter
$stream = "0.035 0.071 0.102 rg\n0 0 612 792 re f\n";
$stream .= "0.78 0.58 0.20 rg\nBT /F1 25 Tf 46 738 Td (" . $escape($businessName) . ") Tj ET\n";
$stream .= "0.91 0.92 0.90 rg\nBT /F1 10 Tf 46 718 Td (KEYSER, WEST VIRGINIA | ONLINE MENU) Tj ET\n";
$stream .= "0.91 0.92 0.90 rg\nBT /F1 10 Tf 46 718 Td (LAKESIDE PICKUP | ONLINE MENU) Tj ET\n";
$stream .= "0.78 0.58 0.20 RG\n46 704 m 566 704 l S\n";
$y = 678;
foreach ($lines as $line) {
+1 -1
View File
@@ -89,7 +89,7 @@ final class OrderStatusService
"Hi {{customer_name}},\n\nYour order {{order_number}} is now {{status_label}}.\n\n{{note}}\n\n{{tracking_url}}"
);
$values = [
'{{business_name}}' => (string) $this->config->get('business.name', 'Fat Bottom Grille'),
'{{business_name}}' => (string) $this->config->get('business.name', 'Lakeside Orders'),
'{{customer_name}}' => (string) $order['customer_name'],
'{{order_number}}' => (string) $order['order_number'],
'{{status_label}}' => order_status_label($status),
+2 -1
View File
@@ -27,9 +27,10 @@ final class TwoFactorService
);
$name = htmlspecialchars((string) $user['full_name'], ENT_QUOTES, 'UTF-8');
$businessName = (string) $this->config->get('business.name', 'Lakeside Orders');
$this->mailer->send(
(string) $user['email'],
'Your Fat Bottom Grille verification code',
"Your {$businessName} verification code",
"<p>Hi {$name},</p><p>Your verification code is <strong>{$code}</strong>.</p><p>It expires in 10 minutes.</p>"
);