From d4ad6c3346be586580972c88676465d9aa913a98 Mon Sep 17 00:00:00 2001 From: LukiBeg Date: Tue, 11 Nov 2025 12:43:51 -0300 Subject: [PATCH 1/7] feat: Novo favicon para o sistema. --- resources/images/favicon.png | Bin 0 -> 4230 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 resources/images/favicon.png diff --git a/resources/images/favicon.png b/resources/images/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..2d6cf1457ac2242c40a7b70b737d8e50e63922fe GIT binary patch literal 4230 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 U(~)sL8-EIHEbPn+OuZxj1t45;eE Date: Tue, 11 Nov 2025 12:45:35 -0300 Subject: [PATCH 2/7] =?UTF-8?q?refactor:=20Componente=20de=20mensagens=20d?= =?UTF-8?q?e=20sess=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/components/session-messages.blade.php | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 resources/views/components/session-messages.blade.php diff --git a/resources/views/components/session-messages.blade.php b/resources/views/components/session-messages.blade.php new file mode 100644 index 0000000..d6d29e4 --- /dev/null +++ b/resources/views/components/session-messages.blade.php @@ -0,0 +1,15 @@ +
+ + @if ($errors->any()) +
+ {{ $errors->first() }} +
+ @endif + + @if (session('error')) +
+ {{ session('error') }} +
+ + @endif +
\ No newline at end of file From b98e20329de6ba1903b3c414b95c28e631bee925 Mon Sep 17 00:00:00 2001 From: LukiBeg Date: Tue, 11 Nov 2025 12:46:01 -0300 Subject: [PATCH 3/7] feat: Implementa nova favicon. --- resources/views/layouts/app.blade.php | 115 +++++++++++++------------- 1 file changed, 58 insertions(+), 57 deletions(-) diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index 8eeda8c..7801ffc 100644 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -9,6 +9,7 @@ + @vite(['resources/css/app.css', 'resources/js/app.js']) @livewireStyles @@ -18,68 +19,68 @@ From 07bcb0a444ce98e51b7ce944032d839114b3c8b4 Mon Sep 17 00:00:00 2001 From: LukiBeg Date: Tue, 11 Nov 2025 12:46:59 -0300 Subject: [PATCH 4/7] =?UTF-8?q?refactor:=20Nova=20tela=20de=20login=20com?= =?UTF-8?q?=20implementa=C3=A7=C3=A3o=20do=20novo=20componente.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resources/views/login.blade.php | 73 +++++++++++++++++++-------------- 1 file changed, 42 insertions(+), 31 deletions(-) diff --git a/resources/views/login.blade.php b/resources/views/login.blade.php index 6bdba26..008b9cd 100644 --- a/resources/views/login.blade.php +++ b/resources/views/login.blade.php @@ -2,44 +2,55 @@ @section('title', 'Login') @section('content') +
-
- -
+
- -
-

Efetue seu login

-
- - -
- @if ($errors->any()) -
- {{ $errors->first() }} -
- @endif - - @if (session('error')) -
- {{ session('error') }} -
- - @endif -
- @csrf - - -
+ + +
+ + Ingline Logo + +
+ + +

+ Efetue seu login +

+ + +
+ +
+ + +
+ + +
+ +
+ + +
+ + +
-
- + + From df9dec2f4ad16ae751da44a7febcdab8b5521d9f Mon Sep 17 00:00:00 2001 From: LukiBeg Date: Tue, 11 Nov 2025 12:49:40 -0300 Subject: [PATCH 5/7] =?UTF-8?q?refactor:=20Verifica=20se=20o=20usu=C3=A1ri?= =?UTF-8?q?o=20que=20tentou=20acessar=20/login=20est=C3=A1=20logado.=20Rem?= =?UTF-8?q?o=C3=A7=C3=A3o=20de=20contexto=20comentado.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- routes/web.php | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/routes/web.php b/routes/web.php index 8392538..9c174ee 100644 --- a/routes/web.php +++ b/routes/web.php @@ -8,8 +8,7 @@ use App\Http\Controllers\LoginController; use App\Http\Controllers\LogoutController; use App\Livewire\Counter; - - +use Illuminate\Support\Facades\Auth; Route::middleware(['auth:sanctum'])->group(function () { //Rotas LinePBX. @@ -25,14 +24,13 @@ Route::controller(LogoutController::class)->group(function () { Route::post('/logout', [LogoutController::class, 'logout'])->name('logout'); }); - - // Route::get('/add-client', function () { - // return view('clients.add-client'); - // })->name('clients.add')->middleware('authorization'); }); Route::controller(LoginController::class)->group(function () { Route::get('/login', function () { + if (Auth::check()) { + return redirect('dashboard', 302); + } return view('login'); })->name('login'); Route::post('/login', [LoginController::class, 'login'])->name('login-post'); From ecebdc34f6d38724b6c9d090e8bed8646e7ba8b3 Mon Sep 17 00:00:00 2001 From: LukiBeg Date: Tue, 11 Nov 2025 12:50:22 -0300 Subject: [PATCH 6/7] =?UTF-8?q?feat:=20Componente=20de=20mensagens=20de=20?= =?UTF-8?q?sess=C3=A3o.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/View/Components/SessionMessages.php | 26 +++++ resources/css/app.css | 135 +++++++++++++++++------- 2 files changed, 120 insertions(+), 41 deletions(-) create mode 100644 app/View/Components/SessionMessages.php diff --git a/app/View/Components/SessionMessages.php b/app/View/Components/SessionMessages.php new file mode 100644 index 0000000..19e5006 --- /dev/null +++ b/app/View/Components/SessionMessages.php @@ -0,0 +1,26 @@ + Date: Tue, 11 Nov 2025 18:10:11 -0300 Subject: [PATCH 7/7] fix: Ajusta app.js e alguns componenetes. --- app/Http/Controllers/ClientController.php | 19 ++ app/Http/Controllers/UserController.php | 18 -- app/Livewire/Forms/ClientForm.php | 3 +- database/seeders/DatabaseSeeder.php | 3 - resources/css/app.css | 61 ++++- resources/js/app.js | 2 +- .../components/session-messages.blade.php | 17 +- resources/views/dashboard.blade.php | 216 +++++++++--------- resources/views/login.blade.php | 12 +- routes/web.php | 7 +- 10 files changed, 197 insertions(+), 161 deletions(-) create mode 100644 app/Http/Controllers/ClientController.php delete mode 100644 app/Http/Controllers/UserController.php diff --git a/app/Http/Controllers/ClientController.php b/app/Http/Controllers/ClientController.php new file mode 100644 index 0000000..b0b7571 --- /dev/null +++ b/app/Http/Controllers/ClientController.php @@ -0,0 +1,19 @@ + $clients]); + } +} diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php deleted file mode 100644 index 35b238c..0000000 --- a/app/Http/Controllers/UserController.php +++ /dev/null @@ -1,18 +0,0 @@ - $users]); - } -} diff --git a/app/Livewire/Forms/ClientForm.php b/app/Livewire/Forms/ClientForm.php index 2a8c0d0..e6f4801 100644 --- a/app/Livewire/Forms/ClientForm.php +++ b/app/Livewire/Forms/ClientForm.php @@ -2,6 +2,7 @@ namespace App\Livewire\Forms; +use Livewire\Attributes\Validate; use Livewire\Form; use App\Models\Client; @@ -46,7 +47,7 @@ public function rules() 'client_name' => 'required|string|max:255', 'legal_name' => 'required|string|max:255', 'cnpj' => 'required|string|max:20|unique:clients,cnpj', - 'profile_image_path' => 'nullable|file|mimes:jpeg,png,bmp,gif,svg,webp|max:2048', // 2MB Max 'pbx_hosting' => 'nullable|string|max:255', + 'profile_image_path' => 'nullable|file|mimes:jpeg,png,bmp,gif,svg,webp|max:2048', 'activation_date' => 'nullable|date', 'carrier' => 'nullable|string|max:255', 'access_type' => 'nullable|string|max:255', diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index a337b71..dc6f9fe 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -3,7 +3,6 @@ namespace Database\Seeders; use App\Models\User; -use App\Models\Client; use Illuminate\Support\Facades\Hash; // use Illuminate\Database\Console\Seeds\WithoutModelEvents; use Illuminate\Database\Seeder; @@ -21,7 +20,5 @@ public function run(): void 'email' => 'inglinesystemsadmin@inglinesystems.com.br', 'password' => Hash::make('*Ingline.Sys#9420%SECURITY#') ]); - - Client::factory()->create([]); } } diff --git a/resources/css/app.css b/resources/css/app.css index b19f1fe..8413264 100644 --- a/resources/css/app.css +++ b/resources/css/app.css @@ -54,27 +54,37 @@ @layer components { /* 1. Container de Centralização */ .container-form { - @apply w-full min-h-screen mx-auto; /* Garante altura total */ + @apply w-full min-h-screen mx-auto; + /* Garante altura total */ @apply flex justify-center items-center p-4; } /* 2. O Card de Login "Vidro Fosco" */ .form-class { - @apply w-full max-w-md; /* Tamanho responsivo */ + @apply w-full max-w-md; + /* Tamanho responsivo */ @apply p-8; /* O EFEITO "VIDRO FOSCO" */ - @apply bg-white/20 backdrop-blur-lg; /* Fundo 20% opaco + Borrão */ + @apply bg-white/20 backdrop-blur-lg; + /* Fundo 20% opaco + Borrão */ @apply rounded-xl shadow-2xl; - @apply border border-white/10; /* Borda sutil */ + @apply border border-white/10; + /* Borda sutil */ } /* 3. A Logo */ .container-title { @apply flex justify-center mb-6 text-nowrap; } + + .container-message { + @apply flex justify-center mb-6 text-nowrap; + } + .container-title img { - @apply h-10; /* Ajuste o tamanho da sua logo */ + @apply h-10; + /* Ajuste o tamanho da sua logo */ } /* 4. Título ("Efetue seu login") */ @@ -94,13 +104,17 @@ @layer components { /* 6. Inputs com Estilo "Vidro" */ .form-input-class { @apply w-full p-3; - @apply bg-transparent; /* Fundo transparente */ - @apply border-b-2 border-gray-200; /* Apenas borda inferior */ + @apply bg-transparent; + /* Fundo transparente */ + @apply border-b-2 border-gray-200; + /* Apenas borda inferior */ @apply text-gray-500 placeholder-white/70; @apply focus:outline-none focus:ring-0; - @apply focus:border-white; /* Borda fica branca sólida no foco */ + @apply focus:border-white; + /* Borda fica branca sólida no foco */ @apply transition-all duration-300; } + /* Remove o fundo de preenchimento automático do navegador */ .form-input-class:-webkit-autofill { -webkit-text-fill-color: #0f0e0e !important; @@ -111,7 +125,8 @@ @layer components { /* 7. Botão Principal */ .form-button-class { - @apply w-full; /* Botão com largura total */ + @apply w-full; + /* Botão com largura total */ @apply bg-blue-600 text-white rounded-md p-3; @apply font-semibold text-base; @apply cursor-pointer; @@ -123,6 +138,7 @@ @layer components { .forget-password { @apply text-center mt-4; } + .forget-password a { @apply text-sm text-white/80 hover:text-white hover:underline; @apply transition-colors; @@ -132,12 +148,37 @@ @layer components { .messages { @apply flex justify-center mb-4; } - .messages div[role="alert"] { /* Assumindo que seu componente renderiza um div */ + + .messages div[role="alert"] { + /* Assumindo que seu componente renderiza um div */ @apply bg-red-500/50 text-white p-3 rounded-md border border-red-700 text-sm; } /* --- FIM DOS ESTILOS DE LOGIN --- */ + /* 9. Estilizando as mensagens de erro (x-session-messages) */ + .messages { + @apply flex justify-center mb-4; + + /* 1. MUDANÇA: Usando "vidro branco" (como o card) + em vez de "vidro vermelho". + */ + @apply bg-white/10 backdrop-blur-md; + /* 'md' para um borrão mais forte */ + + /* 2. MUDANÇA: Borda sutil de "vidro" */ + @apply border border-white/10; + + /* 3. NOVO: Sombra para "flutuar" */ + @apply shadow-lg rounded-lg; + + /* 4. MUDANÇA: A cor do erro agora está no texto. + 'text-red-200' (ou 300) tem ótimo contraste + no fundo de ondas. + */ + @apply text-red-300 font-semibold p-4 text-sm; + } + /* Classes antigas genéricas (podem ser usadas em outros lugares) */ .container { /* Deixe APENAS as classes de largura, margem e padding */ diff --git a/resources/js/app.js b/resources/js/app.js index 75aab97..98acbd7 100644 --- a/resources/js/app.js +++ b/resources/js/app.js @@ -1,7 +1,7 @@ import './bootstrap'; function showContainerTitle() { - const containerTitle = document.querySelector('.container-title'); + const containerTitle = document.querySelector('.container-message'); const containerTitleText = 'Bem vindo ao painel administrativo da Ingline Systems!'; const containerTitleLength = containerTitleText.length; let text = ''; diff --git a/resources/views/components/session-messages.blade.php b/resources/views/components/session-messages.blade.php index d6d29e4..588992d 100644 --- a/resources/views/components/session-messages.blade.php +++ b/resources/views/components/session-messages.blade.php @@ -1,15 +1,10 @@
+
- @if ($errors->any()) -
- {{ $errors->first() }} + {{-- 1. O @if garante que este bloco (incluindo o 'div') só será renderizado se houver um erro. --}} + @if ($errors->any() || session('error')) + {{-- 2. Adicionamos o 'role="alert"'. O seu CSS (em .messages div[role="alert"]) agora vai aplicar o estilo "vidro vermelho" aqui. --}} + @if ($errors->any()) {{ $errors->first() }} @endif @if (session('error')) {{ session('error') }} @endif + @endif
- @endif - - @if (session('error')) -
- {{ session('error') }} -
- - @endif
\ No newline at end of file diff --git a/resources/views/dashboard.blade.php b/resources/views/dashboard.blade.php index fd9e7e7..0919ae8 100644 --- a/resources/views/dashboard.blade.php +++ b/resources/views/dashboard.blade.php @@ -1,120 +1,120 @@ @extends('layouts.app') @section('content') - - - + + + -
+
-
-
-
- Avatar do Cliente -
-
- - - -
+
+
+
+ Avatar do Cliente
-
- Cliente 1 +
- -
-
-
- Avatar do Cliente -
-
- - - -
-
-
- Cliente 2 -
+
+ Cliente 1
- -
-
-
- Avatar do Cliente -
-
- - - -
-
-
- Cliente 3 -
-
- -
-
-
- Avatar do Cliente -
-
- - - -
-
-
- Cliente 4 -
-
-
+
+
+
+ Avatar do Cliente +
+
+ + + +
+
+
+ Cliente 2 +
+
+ +
+
+
+ Avatar do Cliente +
+
+ + + +
+
+
+ Cliente 3 +
+
+ +
+
+
+ Avatar do Cliente +
+
+ + + +
+
+
+ Cliente 4 +
+
+ +
+ @endsection \ No newline at end of file diff --git a/resources/views/login.blade.php b/resources/views/login.blade.php index 008b9cd..7e23755 100644 --- a/resources/views/login.blade.php +++ b/resources/views/login.blade.php @@ -18,26 +18,28 @@
- Ingline Logo + Ingline Logo
+
+ +
+

Efetue seu login

-
- -
+
- +
diff --git a/routes/web.php b/routes/web.php index 9c174ee..f09d329 100644 --- a/routes/web.php +++ b/routes/web.php @@ -1,13 +1,12 @@ group(function () { @@ -16,7 +15,7 @@ Route::middleware(['auth'])->group(function () { - Route::controller(UserController::class)->group(function () { + Route::controller(ClientController::class)->group(function () { Route::get('/dashboard', 'dashboard')->name('dashboard'); Route::post('/create-users', 'createUsers')->name('users.create')->middleware('authorization'); });