Files
Laravel/app/Http/Controllers/TemplateController.php
David Melendez e25d53d054 init commit
2026-01-14 22:38:44 +01:00

88 lines
2.6 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\View\View;
class TemplateController extends Controller
{
/**
* Display a listing of available templates.
*/
public function index(): View
{
// Get available templates
$templates = [
// You can replace this with actual template data from database
[
'id' => 1,
'name' => 'Professional',
'description' => 'Clean and professional template',
'preview_image' => '/images/templates/professional.jpg',
'is_premium' => false,
],
[
'id' => 2,
'name' => 'Modern',
'description' => 'Modern and stylish template',
'preview_image' => '/images/templates/modern.jpg',
'is_premium' => true,
],
[
'id' => 3,
'name' => 'Classic',
'description' => 'Traditional classic template',
'preview_image' => '/images/templates/classic.jpg',
'is_premium' => false,
],
];
return view('templates.index', compact('templates'));
}
/**
* Display the specified template.
*/
public function show(string $template): View
{
// Find template by ID or slug
// This is a placeholder - replace with actual template fetching logic
$templateData = [
'id' => 1,
'name' => ucfirst($template),
'description' => 'Template description',
'preview_image' => "/images/templates/{$template}.jpg",
'is_premium' => false,
];
return view('templates.show', compact('templateData'));
}
/**
* Preview the specified template.
*/
public function preview(string $template): View
{
// Generate preview for the template
// This would typically include sample data
$templateData = [
'id' => 1,
'name' => ucfirst($template),
'description' => 'Template description',
'preview_image' => "/images/templates/{$template}.jpg",
'is_premium' => false,
];
$sampleData = [
'name' => 'John Doe',
'title' => 'Software Developer',
'email' => 'john.doe@example.com',
'phone' => '+1 (555) 123-4567',
'summary' => 'Experienced software developer with expertise in web technologies.',
];
return view('templates.preview', compact('templateData', 'sampleData'));
}
}