Redesign logo & storefront, light subtle admin theme, and 3D print cost calculator

This commit is contained in:
2026-11-01 21:23:53 +01:00
parent 0c95c7d120
commit e0592212e1
18 changed files with 1887 additions and 1153 deletions
@@ -89,6 +89,15 @@ class ContentController extends Controller
// Offline / Maintenance Mode
'shop_offline_title',
'shop_offline_message',
// 3D Print Kostprijscalculator Tarieven
'calc_filament_price_kg',
'calc_electricity_kwh',
'calc_printer_wattage',
'calc_machine_hourly_rate',
'calc_handling_flat',
'calc_default_markup',
'calc_failure_rate',
];
// Handle checkbox toggles that aren't present if unchecked
@@ -5,6 +5,7 @@ namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Models\Category;
use App\Models\Product;
use App\Services\PriceCalculatorService;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
@@ -171,6 +172,25 @@ class ProductController extends Controller
]);
}
/**
* Calculate 3D printing cost price and suggested retail price.
*/
public function calculatePrice(Request $request, PriceCalculatorService $calculator): JsonResponse
{
$weight = (float) $request->input('weight_grams', 80);
$hours = (float) $request->input('print_time_hours', 4.0);
$colors = (int) $request->input('color_count', 1);
$material = (string) $request->input('material', 'pla');
$markup = $request->filled('markup_percent') ? (float) $request->input('markup_percent') : null;
$result = $calculator->calculate($weight, $hours, $colors, $material, $markup);
return response()->json([
'success' => true,
'data' => $result,
]);
}
/**
* Sanitize and filter gallery images.
*