Prepare component

This commit is contained in:
2025-05-30 01:07:33 -06:00
parent 3916c62935
commit cac9a5b121
263 changed files with 14456 additions and 1072 deletions

View File

@ -1,59 +0,0 @@
<?php
use Illuminate\Support\Facades\Route;
use Koneko\VuexyWebsiteAdmin\Http\Controllers\{LegalNoticesController,FaqController,ImagesController};
use Koneko\VuexyWebsiteAdmin\Http\Controllers\{SocialMediaController,ChatController,GoogleAnalyticsController};
use Koneko\VuexyWebsiteAdmin\Http\Controllers\{ContactInfoController,ContactFormController,VuexyWebsiteAdminController,SitemapController};
// Grupo raíz para admin con middleware y prefijos comunes
Route::prefix('admin/sitio-web')->name('admin.website-admin.')->middleware(['web', 'auth', 'admin'])->group(function () {
// ajustes generales
Route::controller(VuexyWebsiteAdminController::class)->prefix('ajustes-generales')->group(function () {
Route::get('ajustes-generales', 'index')->name('general-settings.index');
});
// Avisos legales
Route::controller(LegalNoticesController::class)->prefix('avisos-legales')->group(function () {
Route::get('/', 'index')->name('legal-notices.index');
});
// Preguntas frecuentes
Route::controller(FaqController::class)->prefix('preguntas-frecuentes')->group(function () {
Route::get('/', 'index')->name('faq.index');
});
// Redes sociales
Route::controller(SocialMediaController::class)->prefix('redes-sociales')->group(function () {
Route::get('/', 'index')->name('social-media.index');
});
// Chat
Route::controller(ChatController::class)->prefix('chat')->group(function () {
Route::get('/', 'index')->name('chat.index');
});
// Galería de imágenes
Route::controller(ImagesController::class)->prefix('galeria-de-imagenes')->group(function () {
Route::get('/', 'index')->name('images.index');
});
// Google Analytics
Route::controller(GoogleAnalyticsController::class)->prefix('google-analytics')->group(function () {
Route::get('/', 'index')->name('google-analytics.index');
});
// Información de contacto
Route::controller(ContactInfoController::class)->prefix('informacion-de-contacto')->group(function () {
Route::get('/', 'index')->name('contact-info.index');
});
// Formulario de contacto
Route::controller(ContactFormController::class)->prefix('formulario-de-contacto')->group(function () {
Route::get('/', 'index')->name('contact-form.index');
});
// Mapa del sitio
Route::controller(SitemapController::class)->prefix('mapa-del-sitio')->group(function () {
Route::get('/', 'index')->name('sitemap.index');
});
});

View File

@ -0,0 +1,64 @@
<?php
use Illuminate\Support\Facades\Route;
use Koneko\VuexyAdmin\Support\Routing\RouteScope;
use Koneko\VuexyWebsiteAdmin\Application\Http\Controllers\AnalyticsController;
use Koneko\VuexyWebsiteAdmin\Application\Http\Controllers\ComunicationController;
use Koneko\VuexyWebsiteAdmin\Application\Http\Controllers\ContactController;
use Koneko\VuexyWebsiteAdmin\Application\Http\Controllers\ContentController;
use Koneko\VuexyWebsiteAdmin\Application\Http\Controllers\SeoController;
use Koneko\VuexyWebsiteAdmin\Application\Http\Controllers\SettingsController;
use Koneko\VuexyWebsiteAdmin\Application\Http\Controllers\TranstaleController;
RouteScope::auto(__FILE__, 'web-y-seo', function (RouteScope $r) {
// Web & SEO / Configuración general
$r->route('configuracion-general', 'settings.', SettingsController::class, function () {
Route::get('ajustes-generales', 'generalIndex')->name('general.index');
Route::get('enlaces-sociales', 'socialIndex')->name('social.index');
Route::get('visibilidad-en-buscadores', 'indexingIndex')->name('indexing.index');
});
// Web & SEO / Contacto
$r->route('contacto', 'contact.', ContactController::class, function () {
Route::get('informacion-de-contacto', 'infoIndex')->name('info.index');
Route::get('formulario-de-contacto', 'formIndex')->name('form.index');
});
// Web & SEO / Analítica y seguimiento
$r->route('analitica-y-seguimiento', 'analytics.', AnalyticsController::class, function () {
Route::get('google-analytics', 'googleAnalyticsIndex')->name('google-analytics.index');
Route::get('google-tags', 'googleTagsIndex')->name('google-tags.index');
Route::get('google-search-console', 'googleSearchConsoleIndex')->name('google-search-console.index');
Route::get('pixel-meta', 'pixelMetaIndex')->name('pixel-meta.index');
});
// Web & SEO / Chat & Comunicación
$r->route('chat-y-comunicacion', 'comunication.', ComunicationController::class, function () {
Route::get('facebook-messenger', 'messengerIndex')->name('messenger.index');
Route::get('whatsapp-chat', 'whatsappIndex')->name('whatsapp.index');
Route::get('tawk-to', 'tawkToIndex')->name('tawk-to.index');
Route::get('twitter-api', 'twitterIndex')->name('twitter.index');
});
// Web & SEO / Traducciones e internacional
$r->route('traducciones-e-internacional', 'translate.', TranstaleController::class, function () {
Route::get('google-translate', 'googleIndex')->name('google.index');
});
// Web & SEO / Contenido
$r->route('contenido', 'content.', ContentController::class, function () {
Route::get('preguntas-frecuentes', 'faqIndex')->name('faq.index');
Route::get('galeria-de-imagenes', 'galleryIndex')->name('gallery.index');
Route::get('avisos-legales', 'legalIndex')->name('legal.index');
});
// Web & SEO / Herramientas SEO
$r->route('herramientas-seo', 'seo.', SeoController::class, function () {
Route::get('mapa-del-sitio', 'sitemapIndex')->name('sitemap.index');
Route::get('google-json-ld', 'jsonldIndex')->name('jsonld.index');
Route::get('robots-txt', 'robotsIndex')->name('robots.index');
Route::get('manifest-json', 'manifestIndex')->name('manifest.index');
Route::get('cannonical-urls', 'canonicalIndex')->name('canonical.index');
Route::get('preview-social-cards', 'socialCardsIndex')->name('social-cards.index');
});
});

View File

@ -0,0 +1,44 @@
<?php
use Illuminate\Support\Facades\Route;
use Koneko\VuexyWebsiteAdmin\Application\Http\Controllers\{
BlogCategoryController,
BlogTagController,
BlogArticleController,
BlogCommentController
};
use Koneko\VuexyAdmin\Support\Routing\RouteScope;
RouteScope::auto(__FILE__, 'blog', 'blog.', function (RouteScope $r) {
// Categorías del Blog
$r->route('categorias', 'categories.', BlogCategoryController::class, function () {
Route::get('/', 'index')->name('index');
Route::get('create', 'create')->name('create');
Route::get('edit/{id}', 'edit')->name('edit');
Route::get('delete/{id}', 'delete')->name('delete');
});
// Etiquetas
$r->route('etiquetas', 'tags.', BlogTagController::class, function () {
Route::get('/', 'index')->name('index');
Route::get('create', 'create')->name('create');
Route::get('edit/{id}', 'edit')->name('edit');
Route::get('delete/{id}', 'delete')->name('delete');
});
// Artículos
$r->route('articulos', 'articles.', BlogArticleController::class, function () {
Route::get('/', 'index')->name('index');
Route::get('create', 'create')->name('create');
Route::get('edit/{id}', 'edit')->name('edit');
Route::get('delete/{id}', 'delete')->name('delete');
});
// Comentarios
$r->route('comentarios', 'comments.', BlogCommentController::class, function () {
Route::get('/', 'index')->name('index');
Route::get('create', 'create')->name('create');
Route::get('edit/{id}', 'edit')->name('edit');
Route::get('delete/{id}', 'delete')->name('delete');
});
});

View File

@ -0,0 +1,8 @@
<?php
use Illuminate\Support\Facades\Route;
use Koneko\VuexyAdmin\Support\Routing\RouteScope;
RouteScope::auto(__FILE__, function (RouteScope $r) {
});

View File

@ -0,0 +1,14 @@
<?php
use Illuminate\Support\Facades\Route;
use Koneko\VuexyWebsiteAdmin\Application\Http\Controllers\WebsitePageController;
// Contenido publico
Route::get('/{slug}', WebsitePageController::class)
->where('slug', '^(?!admin|login|register|logout|email|user|storage|api|livewire|_debugbar|sanctum|preview)(.*)$')
->name('website.content');
// Vista previa con firma
Route::get('/preview/{slug}', [WebsitePageController::class, 'preview'])
->middleware(['signed']) // Protege con firma
->name('website.preview');