Files
dockersyshome/resources/views/auth/register.blade.php
T
marco 38295e7e88 feat(cms): implement complete SysSiteCMS content management system
Initial implementation of the HomeSysPanel CMS built with Laravel 13.0.
Includes complete admin panel, content management, user authentication,
modular architecture for products/services/chatbot, and marketing tools.

Key features:
- User authentication with email verification and password reset
- Role-based access control (Admin/User with granular permissions)
- Content management (pages, news, FAQ, downloads, galleries, banners)
- Contact management system with subjects and responses
- Marketing tools (email campaigns, visitor analytics, social sharing)
- Modular architecture (Products, Services, Chatbot modules)
- AI Chatbot integration with OpenRouter.ai and LlamaCpp support
- Visitor tracking with geolocation
- SEO optimization with meta tags and Open Graph
- Responsive design with Bootstrap 5
- Dark mode support
- Maintenance mode
- Feature request system
2026-09-07 19:06:53 -03:00

153 lines
10 KiB
PHP
Executable File

@extends('layouts.app')
@section('title', 'Cadastro - Syspanel')
@section('content')
<div class="container py-5">
<div class="row justify-content-center align-items-center" style="min-height: 70vh;">
<div class="col-md-6">
<div class="card border-0 shadow-lg rounded-4 overflow-hidden">
<div class="row g-0">
<div class="col-12 bg-primary p-4 text-white text-center">
<i class="bi bi-person-plus fs-1 mb-2"></i>
<h2 class="fw-bold">Crie sua conta</h2>
<p class="mb-0 text-white-50">Junte-se à Syspanel e gerencie seus serviços.</p>
</div>
<div class="col-12 p-5 bg-white">
<form method="POST" action="{{ route('register') }}">
@csrf
<div class="mb-3">
<label for="name" class="form-label fw-bold">Nome Completo</label>
<div class="input-group">
<span class="input-group-text bg-light border-end-0"><i class="bi bi-person text-muted"></i></span>
<input id="name" type="text" class="form-control bg-light border-start-0 ps-0 @error('name') is-invalid @enderror" name="name" value="{{ old('name') }}" required autocomplete="name" autofocus placeholder="Seu nome">
@error('name')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="mb-3">
<label for="email" class="form-label fw-bold">E-mail</label>
<div class="input-group">
<span class="input-group-text bg-light border-end-0"><i class="bi bi-envelope text-muted"></i></span>
<input id="email" type="email" class="form-control bg-light border-start-0 ps-0 @error('email') is-invalid @enderror" name="email" value="{{ old('email') }}" required autocomplete="email" placeholder="seu@email.com">
@error('email')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="mb-3">
<label for="user_type" class="form-label fw-bold">Tipo de Usuário</label>
<div class="input-group">
<span class="input-group-text bg-light border-end-0"><i class="bi bi-person-badge text-muted"></i></span>
<select id="user_type" class="form-select bg-light border-start-0 ps-0 @error('user_type') is-invalid @enderror" name="user_type" required>
<option value="" disabled {{ old('user_type') ? '' : 'selected' }}>Selecione o tipo</option>
<option value="User" {{ old('user_type') == 'User' ? 'selected' : '' }}>Usuário (User)</option>
<option value="Admin" {{ old('user_type') == 'Admin' ? 'selected' : '' }}>Administrador (Admin)</option>
</select>
@error('user_type')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="mb-3">
<label for="company" class="form-label fw-bold">Empresa (Opcional)</label>
<div class="input-group">
<span class="input-group-text bg-light border-end-0"><i class="bi bi-building text-muted"></i></span>
<input id="company" type="text" class="form-control bg-light border-start-0 ps-0 @error('company') is-invalid @enderror" name="company" value="{{ old('company') }}" placeholder="Nome da empresa">
@error('company')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="row">
<div class="col-md-6 mb-3">
<label for="website" class="form-label fw-bold">Site (Opcional)</label>
<div class="input-group">
<span class="input-group-text bg-light border-end-0"><i class="bi bi-globe text-muted"></i></span>
<input id="website" type="text" class="form-control bg-light border-start-0 ps-0 @error('website') is-invalid @enderror" name="website" value="{{ old('website') }}" placeholder="https://exemplo.com">
@error('website')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="col-md-6 mb-3">
<label for="whatsapp" class="form-label fw-bold">WhatsApp (Opcional)</label>
<div class="input-group">
<span class="input-group-text bg-light border-end-0"><i class="bi bi-whatsapp text-muted"></i></span>
<input id="whatsapp" type="text" class="form-control bg-light border-start-0 ps-0 @error('whatsapp') is-invalid @enderror" name="whatsapp" value="{{ old('whatsapp') }}" placeholder="(00) 00000-0000">
@error('whatsapp')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
</div>
<div class="row">
<div class="col-md-6 mb-3">
<label for="password" class="form-label fw-bold">Senha</label>
<div class="input-group">
<span class="input-group-text bg-light border-end-0"><i class="bi bi-lock text-muted"></i></span>
<input id="password" type="password" class="form-control bg-light border-start-0 border-end-0 ps-0 @error('password') is-invalid @enderror" name="password" required autocomplete="new-password" placeholder="••••••••">
<button class="btn btn-light border-start-0 toggle-password" type="button">
<i class="bi bi-eye text-muted"></i>
</button>
@error('password')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="col-md-6 mb-3">
<label for="password-confirm" class="form-label fw-bold">Confirmar Senha</label>
<div class="input-group">
<span class="input-group-text bg-light border-end-0"><i class="bi bi-lock-fill text-muted"></i></span>
<input id="password-confirm" type="password" class="form-control bg-light border-start-0 border-end-0 ps-0" name="password_confirmation" required autocomplete="new-password" placeholder="••••••••">
<button class="btn btn-light border-start-0 toggle-password" type="button">
<i class="bi bi-eye text-muted"></i>
</button>
</div>
</div>
</div>
<div class="mb-4 small text-muted">
Ao se cadastrar, você concorda com nossos <a href="#" class="text-decoration-none">Termos de Uso</a>.
</div>
@include('partials.captcha')
<button type="submit" class="btn btn-primary btn-lg w-100 py-3 fw-bold shadow-sm rounded-pill mb-4">
Cadastrar Agora
</button>
<div class="text-center">
<span class="text-muted">Já tem uma conta?</span>
<a href="{{ route('login') }}" class="text-decoration-none fw-bold">Faça login</a>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
@endsection