Skip to content

Commit 98ed3de

Browse files
author
dev
committed
added home page
1 parent 0794f11 commit 98ed3de

5 files changed

Lines changed: 242 additions & 59 deletions

File tree

Lines changed: 71 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,85 @@
1-
<x-guest-layout>
1+
@extends('layouts.guest')
2+
@section('title', 'Create Account')
3+
4+
@section('content')
5+
<div class="text-center mb-4">
6+
<h4 class="fw-bold text-dark">{{ __('Join Us') }}</h4>
7+
<p class="text-muted small">{{ __('Create your account to get started') }}</p>
8+
</div>
9+
210
<form method="POST" action="{{ route('register') }}">
311
@csrf
412

5-
<!-- Name -->
6-
<div>
7-
<x-input-label for="name" :value="__('Name')" />
8-
<x-text-input id="name" class="block mt-1 w-full" type="text" name="name" :value="old('name')" required autofocus autocomplete="name" />
9-
<x-input-error :messages="$errors->get('name')" class="mt-2" />
13+
{{-- Name Field --}}
14+
<div class="mb-3">
15+
<label class="form-label fw-semibold">{{ __('Full Name') }}</label>
16+
<div class="input-group">
17+
<span class="input-group-text bg-light border-end-0"><i class="bi bi-person text-primary"></i></span>
18+
<input type="text" name="name" class="form-control border-start-0 @error('name') is-invalid @enderror"
19+
value="{{ old('name') }}" placeholder="John Doe" required autofocus>
20+
</div>
21+
@error('name') <div class="text-danger small mt-1">{{ $message }}</div> @enderror
1022
</div>
1123

12-
<!-- Email Address -->
13-
<div class="mt-4">
14-
<x-input-label for="email" :value="__('Email')" />
15-
<x-text-input id="email" class="block mt-1 w-full" type="email" name="email" :value="old('email')" required autocomplete="username" />
16-
<x-input-error :messages="$errors->get('email')" class="mt-2" />
24+
{{-- Email Field --}}
25+
<div class="mb-3">
26+
<label class="form-label fw-semibold">{{ __('Email Address') }}</label>
27+
<div class="input-group">
28+
<span class="input-group-text bg-light border-end-0"><i class="bi bi-envelope text-primary"></i></span>
29+
<input type="email" name="email" class="form-control border-start-0 @error('email') is-invalid @enderror"
30+
value="{{ old('email') }}" placeholder="name@example.com" required>
31+
</div>
32+
@error('email') <div class="text-danger small mt-1">{{ $message }}</div> @enderror
1733
</div>
1834

19-
<!-- Password -->
20-
<div class="mt-4">
21-
<x-input-label for="password" :value="__('Password')" />
22-
23-
<x-text-input id="password" class="block mt-1 w-full"
24-
type="password"
25-
name="password"
26-
required autocomplete="new-password" />
27-
28-
<x-input-error :messages="$errors->get('password')" class="mt-2" />
35+
{{-- Password Field --}}
36+
<div class="mb-3">
37+
<label class="form-label fw-semibold">{{ __('Password') }}</label>
38+
<div class="input-group">
39+
<span class="input-group-text bg-light border-end-0"><i class="bi bi-shield-lock text-primary"></i></span>
40+
<input type="password" id="password" name="password"
41+
class="form-control border-x-0 @error('password') is-invalid @enderror"
42+
placeholder="••••••••" required>
43+
<button class="btn btn-outline-light border border-start-0 text-muted" type="button" id="togglePassword">
44+
<i class="bi bi-eye" id="eyeIcon"></i>
45+
</button>
46+
</div>
47+
@error('password') <div class="text-danger small mt-1">{{ $message }}</div> @enderror
2948
</div>
3049

31-
<!-- Confirm Password -->
32-
<div class="mt-4">
33-
<x-input-label for="password_confirmation" :value="__('Confirm Password')" />
34-
35-
<x-text-input id="password_confirmation" class="block mt-1 w-full"
36-
type="password"
37-
name="password_confirmation" required autocomplete="new-password" />
38-
39-
<x-input-error :messages="$errors->get('password_confirmation')" class="mt-2" />
50+
{{-- Confirm Password Field --}}
51+
<div class="mb-4">
52+
<label class="form-label fw-semibold">{{ __('Confirm Password') }}</label>
53+
<div class="input-group">
54+
<span class="input-group-text bg-light border-end-0"><i class="bi bi-shield-check text-primary"></i></span>
55+
<input type="password" id="password_confirmation" name="password_confirmation"
56+
class="form-control border-start-0" placeholder="••••••••" required>
57+
</div>
4058
</div>
4159

42-
<div class="flex items-center justify-end mt-4">
43-
<a class="underline text-sm text-gray-600 hover:text-gray-900 rounded-md focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500" href="{{ route('login') }}">
44-
{{ __('Already registered?') }}
45-
</a>
60+
<button type="submit" class="btn btn-primary w-100 py-2 shadow-sm mb-3">
61+
{{ __('Create Account') }} <i class="bi bi-person-plus ms-1"></i>
62+
</button>
4663

47-
<x-primary-button class="ms-4">
48-
{{ __('Register') }}
49-
</x-primary-button>
64+
<div class="text-center">
65+
<span class="small text-muted">Already have an account?</span>
66+
<a href="{{ route('login') }}" class="small text-decoration-none fw-bold ms-1">Log in</a>
5067
</div>
5168
</form>
52-
</x-guest-layout>
69+
70+
{{-- Script for Password Toggle --}}
71+
<script>
72+
const togglePassword = document.querySelector('#togglePassword');
73+
const password = document.querySelector('#password');
74+
const passwordConf = document.querySelector('#password_confirmation');
75+
const eyeIcon = document.querySelector('#eyeIcon');
76+
77+
togglePassword.addEventListener('click', function () {
78+
const type = password.getAttribute('type') === 'password' ? 'text' : 'password';
79+
password.setAttribute('type', type);
80+
passwordConf.setAttribute('type', type); // Toggle both for convenience
81+
eyeIcon.classList.toggle('bi-eye');
82+
eyeIcon.classList.toggle('bi-eye-slash');
83+
});
84+
</script>
85+
@endsection

resources/views/home.blade.php

Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
6+
<title>Welcome to Company Name</title>
7+
8+
<link href="{{ asset('css/bootstrap.min.css') }}" rel="stylesheet">
9+
<link href="{{ asset('css/bootstrap-icons.css') }}" rel="stylesheet">
10+
11+
<style>
12+
.hero-section {
13+
background: linear-gradient(135deg, #0d6efd 0%, #0a58ca 100%);
14+
padding: 120px 0 80px;
15+
color: white;
16+
clip-path: ellipse(150% 100% at 50% 0%);
17+
}
18+
.navbar-brand fw-bold { letter-spacing: -1px; }
19+
.feature-icon {
20+
width: 60px;
21+
height: 60px;
22+
display: flex;
23+
align-items: center;
24+
justify-content: center;
25+
border-radius: 12px;
26+
margin-bottom: 1.5rem;
27+
}
28+
.card { transition: transform 0.3s ease; }
29+
.card:hover { transform: translateY(-10px); }
30+
</style>
31+
</head>
32+
<body>
33+
34+
<nav class="navbar navbar-expand-lg navbar-light bg-white border-bottom sticky-top py-3">
35+
<div class="container">
36+
<a class="navbar-brand d-flex align-items-center" href="/">
37+
<img src="{{ asset('logo.png') }}" width="40" height="40" class="me-2" alt="Logo">
38+
<span class="fw-bold fs-4">Company Name</span>
39+
</a>
40+
41+
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
42+
<span class="navbar-toggler-icon"></span>
43+
</button>
44+
45+
<div class="collapse navbar-collapse" id="navbarNav">
46+
<ul class="navbar-nav ms-auto align-items-center gap-2">
47+
<li class="nav-item"><a class="nav-link px-3" href="#features">Features</a></li>
48+
<li class="nav-item"><a class="nav-link px-3" href="#about">About</a></li>
49+
50+
@if (Route::has('login'))
51+
@auth
52+
<li class="nav-item">
53+
<a href="{{ url('/dashboard') }}" class="btn btn-primary rounded-pill px-4 ms-lg-3">Dashboard</a>
54+
</li>
55+
@else
56+
<li class="nav-item">
57+
<a href="{{ route('login') }}" class="btn btn-outline-primary rounded-pill px-4">Log in</a>
58+
</li>
59+
@if (Route::has('register'))
60+
<li class="nav-item">
61+
<a href="{{ route('register') }}" class="btn btn-primary rounded-pill px-4 ms-lg-2">Get Started</a>
62+
</li>
63+
@endif
64+
@endauth
65+
@endif
66+
</ul>
67+
</div>
68+
</div>
69+
</nav>
70+
71+
<header class="hero-section text-center">
72+
<div class="container">
73+
<div class="row justify-content-center">
74+
<div class="col-lg-8">
75+
<h1 class="display-3 fw-bold mb-4">Manage Your Business with Intelligence</h1>
76+
<p class="lead mb-5 opacity-75">A powerful, secure, and modern administrative platform built to track your logs, manage roles, and grow your data analytics effortlessly.</p>
77+
<div class="d-flex justify-content-center gap-3">
78+
<a href="{{ route('login') }}" class="btn btn-light btn-lg px-5 py-3 fw-bold text-primary rounded-pill shadow">Start for Free</a>
79+
<a href="#features" class="btn btn-outline-light btn-lg px-5 py-3 rounded-pill">Explore Features</a>
80+
</div>
81+
</div>
82+
</div>
83+
</div>
84+
</header>
85+
86+
87+
<section id="features" class="py-5">
88+
<div class="container py-5">
89+
<div class="text-center mb-5">
90+
<h2 class="fw-bold">Why Choose Us?</h2>
91+
<p class="text-muted">Everything you need to manage your application in one place.</p>
92+
</div>
93+
94+
<div class="row g-4">
95+
<div class="col-md-4">
96+
<div class="card h-100 border-0 shadow-sm p-4">
97+
<div class="feature-icon bg-primary-subtle text-primary">
98+
<i class="bi bi-shield-lock fs-3"></i>
99+
</div>
100+
<h4 class="fw-bold">Role Management</h4>
101+
<p class="text-muted">Granular permissions and role-based access control to keep your data secure and accessible only to the right people.</p>
102+
</div>
103+
</div>
104+
<div class="col-md-4">
105+
<div class="card h-100 border-0 shadow-sm p-4">
106+
<div class="feature-icon bg-success-subtle text-success">
107+
<i class="bi bi-clock-history fs-3"></i>
108+
</div>
109+
<h4 class="fw-bold">Activity Logs</h4>
110+
<p class="text-muted">Real-time tracking of user actions, device types, and IP addresses for full audit transparency.</p>
111+
</div>
112+
</div>
113+
<div class="col-md-4">
114+
<div class="card h-100 border-0 shadow-sm p-4">
115+
<div class="feature-icon bg-info-subtle text-info">
116+
<i class="bi bi-graph-up-arrow fs-3"></i>
117+
</div>
118+
<h4 class="fw-bold">Live Analytics</h4>
119+
<p class="text-muted">Visual dashboards and system health monitoring to stay ahead of your business metrics.</p>
120+
</div>
121+
</div>
122+
</div>
123+
</div>
124+
</section>
125+
126+
<footer class="bg-dark text-white py-5">
127+
<div class="container">
128+
<div class="row align-items-center">
129+
<div class="col-md-6 text-center text-md-start">
130+
<span class="fw-bold fs-5">Company Name</span>
131+
<p class="small text-muted mb-0 mt-2"{{ date('Y') }} All Rights Reserved. Designed by Dev Chaurasiya</p>
132+
</div>
133+
<div class="col-md-6 text-center text-md-end mt-4 mt-md-0">
134+
<a href="#" class="text-white me-3 text-decoration-none small">Privacy Policy</a>
135+
<a href="#" class="text-white me-3 text-decoration-none small">Terms of Service</a>
136+
<a href="#" class="text-white text-decoration-none small">Support</a>
137+
</div>
138+
</div>
139+
</div>
140+
</footer>
141+
142+
<script src="{{ asset('js/bootstrap.bundle.min.js') }}"></script>
143+
</body>
144+
</html>

resources/views/layouts/guest.blade.php

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -12,32 +12,38 @@
1212
<link href="{{ asset('css/style.css') }}" rel="stylesheet">
1313

1414
<style>
15-
body {
16-
/* Uses the local image with the blue accounting overlay */
15+
body {
1716
background: linear-gradient(135deg, rgba(146, 186, 245, 0.39) 0%, rgba(8, 66, 152, 0.9) 100%),
1817
url("{{ asset('image/bg2.jpg') }}");
1918
background-size: cover;
2019
background-position: center;
2120
background-attachment: fixed;
2221
background-repeat: no-repeat;
23-
height: 100vh;
22+
23+
/* Use min-height so it grows with the form */
24+
min-height: 100vh;
2425
display: flex;
25-
align-items: center;
26-
justify-content: center;
26+
align-items: center; /* Vertical center */
27+
justify-content: center; /* Horizontal center */
2728
margin: 0;
29+
padding: 40px 0; /* Prevents logo from touching the top */
30+
}
31+
32+
/* Keep the container as a standard block
33+
so the Bootstrap grid (row/col) works correctly
34+
*/
35+
.container {
36+
width: 100%;
37+
height: 100%;
38+
}
39+
40+
.auth-card {
41+
width: 100%;
42+
max-width: 420px;
43+
/* ... rest of your glassmorphism CSS ... */
44+
margin-left: auto;
45+
margin-right: auto;
2846
}
29-
30-
.auth-card {
31-
width: 100%;
32-
max-width: 420px;
33-
border: 1px solid rgba(255, 255, 255, 0.2);
34-
border-radius: 20px;
35-
box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3);
36-
/* Glassmorphism effect */
37-
background: rgba(255, 255, 255, 0.9);
38-
backdrop-filter: blur(10px);
39-
-webkit-backdrop-filter: blur(10px);
40-
}
4147
4248
.auth-logo {
4349
width: 75px;

routes/auth.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@
1212
use Illuminate\Support\Facades\Route;
1313

1414
Route::middleware('guest')->group(function () {
15-
// Route::get('register', [RegisteredUserController::class, 'create'])
16-
// ->name('register');
15+
Route::get('register', [RegisteredUserController::class, 'create'])
16+
->name('register');
1717

18-
// Route::post('register', [RegisteredUserController::class, 'store']);
18+
Route::post('register', [RegisteredUserController::class, 'store']);
1919

2020
Route::get('login', [AuthenticatedSessionController::class, 'create'])
2121
->name('login');

routes/web.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
use App\Http\Controllers\DashboardController;
99
use App\Http\Controllers\AnalyticsController;
1010
Route::get('/', function () {
11-
return view('auth.login');
11+
return view('home');
1212
});
1313

1414
// Route::get('/dashboard', function () {

0 commit comments

Comments
 (0)