7 Commits

Author SHA1 Message Date
d026895b41 Merge pull request 'feat: enhance cart layout and styling for improved user experience' (#6) from feat/cart-enhancement into master
All checks were successful
Deploy Production (crewsportswear.com) / deploy (push) Successful in 2m26s
Reviewed-on: #6
2026-04-17 10:41:20 +00:00
Frank John Begornia
e479cf41e4 feat: enhance cart layout and styling for improved user experience 2026-04-17 18:40:47 +08:00
ef35f84274 Merge pull request 'feat: enhance navbar and privacy policy layout for improved user experience' (#5) from feat/navbar-enhancement into master
All checks were successful
Deploy Production (crewsportswear.com) / deploy (push) Successful in 2m16s
Reviewed-on: #5
2026-04-17 10:23:06 +00:00
Frank John Begornia
4d051276b1 feat: enhance navbar and privacy policy layout for improved user experience 2026-04-17 18:21:48 +08:00
a4456631fb Merge pull request 'feat: enhance team store page layout and styling for improved user experience' (#4) from feat/teamstore-page-enhancement into master
All checks were successful
Deploy Production (crewsportswear.com) / deploy (push) Successful in 2m24s
Reviewed-on: #4
2026-04-17 10:01:20 +00:00
cf3b4ea476 Merge pull request 'style: enhance authentication forms with improved layout and design' (#3) from feat/auth-forms into master
All checks were successful
Deploy Production (crewsportswear.com) / deploy (push) Successful in 2m10s
Reviewed-on: #3
2026-04-17 06:19:50 +00:00
Frank John Begornia
04675dfd37 style: enhance authentication forms with improved layout and design 2026-04-17 14:18:31 +08:00
7 changed files with 1467 additions and 467 deletions

View File

@@ -2,58 +2,168 @@
@section('content') @section('content')
<style> <style>
.error{ html,
color: red; body {
height: 100%;
background: #ffffff;
margin: 0;
overflow: hidden;
} }
.form-wrapper{
margin-top: 20%; .navbar-custom {
display: block;
margin-bottom: 0;
}
.login-wrapper {
height: calc(100vh - 100px);
height: calc(100dvh - 100px);
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: center;
padding: 16px;
}
.login-card {
width: 100%;
max-width: 380px;
background: #ffffff;
border: 1px solid #eceff3;
border-radius: 12px;
padding: 28px;
}
.login-title {
font-size: 24px;
font-weight: 600;
line-height: 1.2;
margin: 0 0 8px;
color: #111827;
}
.login-subtitle {
font-size: 14px;
margin: 0 0 24px;
color: #6b7280;
}
.login-card .form-group {
margin-bottom: 16px;
}
.login-card label {
display: block;
font-size: 13px;
font-weight: 500;
margin-bottom: 6px;
color: #374151;
}
.login-card .form-control {
height: 42px;
border-radius: 8px;
border: 1px solid #d1d5db;
background: #ffffff;
font-size: 14px;
padding: 0 12px;
box-shadow: none;
transition: border-color 0.2s, box-shadow 0.2s;
}
.login-card .form-control:focus {
border-color: #9ca3af;
box-shadow: 0 0 0 3px rgba(156, 163, 175, 0.2);
outline: none;
}
.login-remember-row {
display: flex;
align-items: center;
justify-content: space-between;
margin: 6px 0 18px;
}
.login-remember-row label {
margin: 0;
font-size: 13px;
font-weight: 400;
color: #4b5563;
}
.login-remember-row a {
font-size: 13px;
color: #4b5563;
text-decoration: none;
}
.login-remember-row a:hover {
color: #111827;
}
.btn-login {
width: 100%;
height: 44px;
border: 0;
border-radius: 8px;
background: #111827;
color: #ffffff;
font-size: 14px;
font-weight: 600;
transition: opacity 0.2s;
}
.btn-login:hover {
opacity: 0.92;
color: #ffffff;
}
.login-footer {
margin-top: 18px;
text-align: center;
font-size: 13px;
color: #6b7280;
}
.login-footer a {
color: #111827;
text-decoration: none;
font-weight: 500;
}
.login-footer a:hover {
text-decoration: underline;
}
#login-response-msg .alert {
border-radius: 8px;
font-size: 13px;
margin-bottom: 14px;
} }
</style> </style>
<div class="container">
<div class="col-md-4 col-md-offset-4"> <div class="login-wrapper">
<div class="form-wrapper"> <div class="login-card">
<div class="panel panel-default"> <h1 class="login-title">Sign in</h1>
<div class="panel-heading"> <p class="login-subtitle">Welcome back. Please enter your details.</p>
<h3 class="text-center">S I G N - I N</h3>
</div>
<div class="panel-body">
<div class="row">
<div class="col-xs-12">
<div id="login-response-msg"></div> <div id="login-response-msg"></div>
<form role="form" id="frm-login"> <form role="form" id="frm-login">
<input type="hidden" name="_token" value="{{ csrf_token() }}"> <input type="hidden" name="_token" value="{{ csrf_token() }}">
<div class="form-group"> <div class="form-group">
<label for="username" class="control-label">Email Address</label> <label for="email">Email Address</label>
<input type="email" class="form-control" name="email" value="{{ old('email') }}" title="Please enter your email address" placeholder="example@gmail.com"> <input type="email" class="form-control" name="email" id="email" value="{{ old('email') }}" placeholder="you@example.com" title="Please enter your email address">
<span class="help-block"></span>
</div> </div>
<div class="form-group"> <div class="form-group">
<label for="password" class="control-label">Password</label> <label for="password">Password</label>
<input type="password" class="form-control" name="password" placeholder="Password" title="Please enter your password"> <input type="password" class="form-control" name="password" id="password" placeholder="Enter your password" title="Please enter your password">
<span class="help-block"></span>
</div> </div>
<div class="checkbox"> <div class="login-remember-row">
<label> <label><input type="checkbox" name="remember"> Remember me</label>
<input type="checkbox" name="remember"> Remember login <a href="{{ url('/password/email') }}">Forgot password?</a>
</label>
<p class="help-block">(if this is a private computer)</p>
</div> </div>
<button type="submit" id="btn-login" class="btn btn-success btn-block"><i class="fa fa-sign-in"></i> &nbsp; Sign in</button> <button type="submit" id="btn-login" class="btn-login">Sign in</button>
<a href="{{ url('/password/email') }}" class="btn btn-link btn-block">Forgot Your Password?</a>
</form> </form>
<p class="login-footer">Dont have an account? <a href="{{ url('/auth/register') }}">Create one</a></p>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<hr />
<p class="text-center">Don't have an account? Register Now!</p>
<a href="{{ url('/auth/register') }}" type="submit" id="btn-login" class="btn btn-primary btn-block">Register</a>
</div>
</div>
</div>
</div>
</div>
</div> </div>
</div> </div>
@endsection @endsection

View File

@@ -2,23 +2,127 @@
@section('content') @section('content')
<style> <style>
.error{ body {
color: red; background: #ffffff;
margin: 0;
} }
.form-wrapper{
margin-top: 20%; .navbar-custom {
margin-bottom: 0;
}
.auth-wrapper {
min-height: calc(100vh - 100px);
min-height: calc(100dvh - 100px);
display: flex;
align-items: center;
justify-content: center;
padding: 24px 16px;
box-sizing: border-box;
}
.auth-card {
width: 100%;
max-width: 380px;
background: #ffffff;
border: 1px solid #eceff3;
border-radius: 12px;
padding: 28px;
}
.auth-title {
font-size: 24px;
font-weight: 600;
line-height: 1.2;
margin: 0 0 8px;
color: #111827;
}
.auth-subtitle {
font-size: 14px;
margin: 0 0 20px;
color: #6b7280;
}
.auth-card .form-group {
margin-bottom: 14px;
}
.auth-card label {
display: block;
font-size: 13px;
font-weight: 500;
margin-bottom: 6px;
color: #374151;
}
.auth-card .form-control {
height: 42px;
border-radius: 8px;
border: 1px solid #d1d5db;
background: #ffffff;
font-size: 14px;
padding: 0 12px;
box-shadow: none;
transition: border-color 0.2s, box-shadow 0.2s;
}
.auth-card .form-control:focus {
border-color: #9ca3af;
box-shadow: 0 0 0 3px rgba(156, 163, 175, 0.2);
outline: none;
}
.btn-auth {
width: 100%;
height: 44px;
border: 0;
border-radius: 8px;
background: #111827;
color: #ffffff;
font-size: 14px;
font-weight: 600;
transition: opacity 0.2s;
}
.btn-auth:hover {
opacity: 0.92;
color: #ffffff;
}
.auth-footer {
margin-top: 16px;
text-align: center;
font-size: 13px;
color: #6b7280;
}
.auth-footer a {
color: #111827;
text-decoration: none;
font-weight: 500;
}
.auth-footer a:hover {
text-decoration: underline;
}
.auth-card .alert {
border-radius: 8px;
font-size: 13px;
}
.auth-card .alert ul {
padding-left: 18px;
margin-bottom: 0;
} }
</style> </style>
<div class="container">
<div class="col-md-4 col-md-offset-4"> <div class="auth-wrapper">
<div class="form-wrapper"> <div class="auth-card">
<div class="panel panel-default"> <h1 class="auth-title">Forgot password</h1>
<div class="panel-heading"> <p class="auth-subtitle">Enter your email and well send you a reset link.</p>
<h3 class="text-center">R E S E T &nbsp; P A S S W O R D</h3>
</div>
<div class="panel-body">
<div class="row">
<div class="col-xs-12">
@if (session('status')) @if (session('status'))
<div class="alert alert-success"> <div class="alert alert-success">
{{ session('status') }} {{ session('status') }}
@@ -35,21 +139,17 @@
</ul> </ul>
</div> </div>
@endif @endif
<form role="form" method="POST" action="{{ url('/password/email') }}"> <form role="form" method="POST" action="{{ url('/password/email') }}">
<input type="hidden" name="_token" value="{{ csrf_token() }}"> <input type="hidden" name="_token" value="{{ csrf_token() }}">
<div class="form-group"> <div class="form-group">
<label for="username" class="control-label">Email Address</label> <label for="email">Email Address</label>
<input type="email" class="form-control" name="email" value="{{ old('email') }}" title="Please enter your email address" placeholder="example@gmail.com"> <input type="email" class="form-control" name="email" id="email" value="{{ old('email') }}" title="Please enter your email address" placeholder="you@example.com">
<span class="help-block"></span>
</div> </div>
<button type="submit" class="btn btn-default btn-block">Send Password Reset Link</button> <button type="submit" class="btn-auth">Send reset link</button>
</form> </form>
<br><br>
</div> <p class="auth-footer"><a href="{{ url('/auth/login') }}">Back to sign in</a></p>
</div>
</div>
</div>
</div>
</div> </div>
</div> </div>
@endsection @endsection

View File

@@ -2,74 +2,194 @@
@section('content') @section('content')
<style> <style>
.error { body {
color: red; background: #ffffff;
margin: 0;
}
.navbar-custom {
margin-bottom: 0;
}
.auth-wrapper {
min-height: calc(100vh - 100px);
min-height: calc(100dvh - 100px);
display: flex;
align-items: flex-start;
justify-content: center;
padding: 24px 16px;
box-sizing: border-box;
}
.auth-card {
width: 100%;
max-width: 560px;
background: #ffffff;
border: 1px solid #eceff3;
border-radius: 12px;
padding: 28px;
}
.auth-title {
font-size: 24px;
font-weight: 600;
line-height: 1.2;
margin: 0 0 8px;
color: #111827;
}
.auth-subtitle {
font-size: 14px;
margin: 0 0 20px;
color: #6b7280;
}
.auth-section-title {
font-size: 12px;
font-weight: 600;
color: #6b7280;
text-transform: uppercase;
letter-spacing: 0.5px;
margin: 8px 0 12px;
}
.auth-card .form-group {
margin-bottom: 14px;
}
.auth-card label {
display: block;
font-size: 13px;
font-weight: 500;
margin-bottom: 6px;
color: #374151;
}
.auth-card .form-control {
height: 42px;
border-radius: 8px;
border: 1px solid #d1d5db;
background: #ffffff;
font-size: 14px;
padding: 0 12px;
box-shadow: none;
transition: border-color 0.2s, box-shadow 0.2s;
}
.auth-card .form-control:focus {
border-color: #9ca3af;
box-shadow: 0 0 0 3px rgba(156, 163, 175, 0.2);
outline: none;
}
.auth-card select.form-control {
padding-right: 28px;
} }
.g-recaptcha { .g-recaptcha {
width: 100%; width: 100%;
} }
.auth-terms {
font-size: 13px;
color: #6b7280;
margin-bottom: 14px;
}
.auth-terms a {
color: #111827;
text-decoration: none;
}
.auth-terms a:hover {
text-decoration: underline;
}
.btn-register-modern {
width: 100%;
height: 44px;
border: 0;
border-radius: 8px;
background: #111827;
color: #ffffff;
font-size: 14px;
font-weight: 600;
transition: opacity 0.2s;
}
.btn-register-modern:hover {
opacity: 0.92;
color: #ffffff;
}
.auth-footer {
margin-top: 16px;
text-align: center;
font-size: 13px;
color: #6b7280;
}
.auth-footer a {
color: #111827;
text-decoration: none;
font-weight: 500;
}
.auth-footer a:hover {
text-decoration: underline;
}
#register-response-msg .alert {
border-radius: 8px;
font-size: 13px;
margin-bottom: 14px;
}
</style> </style>
<div class="container">
<div class="row"> <div class="auth-wrapper">
<div class="col-md-4 col-md-offset-4"> <div class="auth-card">
<div class="form-wrapper"> <h1 class="auth-title">Create account</h1>
<div class="panel panel-default"> <p class="auth-subtitle">Fill in your details to get started.</p>
<div class="panel-heading">
<h3 class="text-center">R E G I S T E R</h3>
</div>
<div class="panel-body">
<div class="row">
<div class="col-xs-12">
<div id="register-response-msg"></div> <div id="register-response-msg"></div>
<form role="form" id="frm-register"> <form role="form" id="frm-register">
<div class="form-group text-center"> <div class="auth-section-title">Personal Information</div>
<h5>Personal Information</h5>
</div>
<input type="hidden" name="redirect" value="{{ Request::get('redirectUrl') }}"> <input type="hidden" name="redirect" value="{{ Request::get('redirectUrl') }}">
<input type="hidden" name="_token" value="{{ csrf_token() }}"> <input type="hidden" name="_token" value="{{ csrf_token() }}">
<div class="form-group"> <div class="form-group">
<label class="control-label">First name</label> <label>First name</label>
<input type="text" class="form-control" name="firstname" placeholder="First name"> <input type="text" class="form-control" name="firstname" placeholder="First name">
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="control-label">Last name</label> <label>Last name</label>
<input type="text" class="form-control" name="lastname" placeholder="Last name"> <input type="text" class="form-control" name="lastname" placeholder="Last name">
</div> </div>
<!-- <div class="form-group">
<label class="control-label">Username</label>
<input type="text" class="form-control" name="username" value="{{ old('username') }}" placeholder="Username">
</div> -->
<div class="form-group"> <div class="form-group">
<label class="control-label">Email Address</label> <label>Email Address</label>
<input type="email" class="form-control" name="email" value="{{ old('email') }}" placeholder="Email Address"> <input type="email" class="form-control" name="email" value="{{ old('email') }}" placeholder="you@example.com">
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="control-label">Phone Number</label> <label>Phone Number</label>
<input type="text" class="form-control" name="mobilenumber" placeholder="Phone Number"> <input type="text" class="form-control" name="mobilenumber" placeholder="Phone Number">
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="control-label">Password</label> <label>Password</label>
<input type="password" class="form-control" name="password" id="password" required placeholder="Password"> <input type="password" class="form-control" name="password" id="password" required placeholder="Password">
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="control-label">Confirm Password</label> <label>Confirm Password</label>
<input type="password" class="form-control" name="password_confirmation" placeholder="Confirm Password" data-rule-equalTo="#password" required> <input type="password" class="form-control" name="password_confirmation" placeholder="Confirm Password" data-rule-equalTo="#password" required>
</div> </div>
<div class="form-group text-center"> <div class="auth-section-title">Address Information</div>
<h5>Address Information</h5>
</div>
<div class="form-group"> <div class="form-group">
<label class="control-label">Select Country</label> <label>Select Country</label>
<select name="countryCode" id="select_country" class="form-control" onchange="selectCountry(this)"> <select name="countryCode" id="select_country" class="form-control" onchange="selectCountry(this)">
<option value="">Select Country</option> <option value="">Select Country</option>
<option value="US">United States</option> <option value="US">United States</option>
@@ -78,60 +198,46 @@
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="control-label">State / Province</label> <label>State / Province</label>
<label></label>
<select class="form-control" name="state" id="lst-states"> <select class="form-control" name="state" id="lst-states">
<option value="">Select State</option> <option value="">Select State</option>
</select> </select>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="control-label">City</label> <label>City</label>
<select class="form-control" name="city" id="lst-cities"> <select class="form-control" name="city" id="lst-cities">
<option value="">Select City</option> <option value="">Select City</option>
</select> </select>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="control-label">Address 1</label> <label>Address 1</label>
<input type="text" class="form-control" name="address" placeholder="Address 1"> <input type="text" class="form-control" name="address" placeholder="Address 1">
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="control-label">Address 2</label> <label>Address 2</label>
<input type="text" class="form-control" name="address2" placeholder="Address 2"> <input type="text" class="form-control" name="address2" placeholder="Address 2">
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="control-label">Zip Code</label> <label>Zip Code</label>
<input type="text" class="form-control" name="zipcode" placeholder="Please enter your zip code"> <input type="text" class="form-control" name="zipcode" placeholder="Please enter your zip code">
</div> </div>
<div class="form-group"> <div class="form-group">
<div class="g-recaptcha text-center" data-sitekey="{{ env('CAPTCHA_SITE_KEY') }}"></div> <div class="g-recaptcha text-center" data-sitekey="{{ env('CAPTCHA_SITE_KEY') }}"></div>
</div> </div>
<div class="form-group">
<p>By clicking Register, you agree to our <a href="#">Terms of Use</a> and that you have read our <a href="#">Privacy Policy</a>.</p>
</div>
<div class="form-group">
<button type="submit" id="btn-register" class="btn btn-primary btn-block">Register</button>
</div>
<p class="auth-terms">By clicking Register, you agree to our <a href="#">Terms of Use</a> and that you have read our <a href="#">Privacy Policy</a>.</p>
<div class="form-group">
<button type="submit" id="btn-register" class="btn-register-modern">Register</button>
</div>
</form> </form>
</div>
</div> <p class="auth-footer">Already have an account? <a href="{{ url('/auth/login') }}">Sign in</a></p>
<div class="row">
<div class="col-xs-12">
<hr />
<p class="text-center">Have already an account?</p>
<a href="{{ url('/auth/login') }}" type="submit" id="btn-login" class="btn btn-success btn-block">Login here</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div> </div>
</div> </div>
@endsection @endsection

View File

@@ -3,23 +3,127 @@
@section('content') @section('content')
<style> <style>
.error{ body {
color: red; background: #ffffff;
margin: 0;
} }
.form-wrapper{
margin-top: 20%; .navbar-custom {
margin-bottom: 0;
}
.auth-wrapper {
min-height: calc(100vh - 100px);
min-height: calc(100dvh - 100px);
display: flex;
align-items: center;
justify-content: center;
padding: 24px 16px;
box-sizing: border-box;
}
.auth-card {
width: 100%;
max-width: 380px;
background: #ffffff;
border: 1px solid #eceff3;
border-radius: 12px;
padding: 28px;
}
.auth-title {
font-size: 24px;
font-weight: 600;
line-height: 1.2;
margin: 0 0 8px;
color: #111827;
}
.auth-subtitle {
font-size: 14px;
margin: 0 0 20px;
color: #6b7280;
}
.auth-card .form-group {
margin-bottom: 14px;
}
.auth-card label {
display: block;
font-size: 13px;
font-weight: 500;
margin-bottom: 6px;
color: #374151;
}
.auth-card .form-control {
height: 42px;
border-radius: 8px;
border: 1px solid #d1d5db;
background: #ffffff;
font-size: 14px;
padding: 0 12px;
box-shadow: none;
transition: border-color 0.2s, box-shadow 0.2s;
}
.auth-card .form-control:focus {
border-color: #9ca3af;
box-shadow: 0 0 0 3px rgba(156, 163, 175, 0.2);
outline: none;
}
.btn-auth {
width: 100%;
height: 44px;
border: 0;
border-radius: 8px;
background: #111827;
color: #ffffff;
font-size: 14px;
font-weight: 600;
transition: opacity 0.2s;
}
.btn-auth:hover {
opacity: 0.92;
color: #ffffff;
}
.auth-footer {
margin-top: 16px;
text-align: center;
font-size: 13px;
color: #6b7280;
}
.auth-footer a {
color: #111827;
text-decoration: none;
font-weight: 500;
}
.auth-footer a:hover {
text-decoration: underline;
}
.auth-card .alert {
border-radius: 8px;
font-size: 13px;
}
.auth-card .alert ul {
padding-left: 18px;
margin-bottom: 0;
} }
</style> </style>
<div class="container">
<div class="col-md-4 col-md-offset-4"> <div class="auth-wrapper">
<div class="form-wrapper"> <div class="auth-card">
<div class="panel panel-default"> <h1 class="auth-title">Reset password</h1>
<div class="panel-heading"> <p class="auth-subtitle">Set a new password for your account.</p>
<h3 class="text-center">R E S E T &nbsp; P A S S W O R D</h3>
</div>
<div class="panel-body">
<div class="row">
<div class="col-xs-12">
@if (count($errors) > 0) @if (count($errors) > 0)
<div class="alert alert-danger"> <div class="alert alert-danger">
<strong>Whoops!</strong> There were some problems with your input.<br><br> <strong>Whoops!</strong> There were some problems with your input.<br><br>
@@ -30,33 +134,27 @@
</ul> </ul>
</div> </div>
@endif @endif
<form role="form" method="POST" action="{{ url('/password/reset') }}"> <form role="form" method="POST" action="{{ url('/password/reset') }}">
<input type="hidden" name="_token" value="{{ csrf_token() }}"> <input type="hidden" name="_token" value="{{ csrf_token() }}">
<input type="hidden" name="token" value="{{ $token }}"> <input type="hidden" name="token" value="{{ $token }}">
<div class="form-group"> <div class="form-group">
<label class="control-label">Email Address</label> <label for="email">Email Address</label>
<input type="email" class="form-control" name="email" value="{{ old('email') }}" title="Please enter your email address" placeholder="example@gmail.com"> <input type="email" class="form-control" name="email" id="email" value="{{ old('email') }}" title="Please enter your email address" placeholder="you@example.com">
<span class="help-block"></span>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="control-label">Password</label> <label for="password">Password</label>
<input type="password" class="form-control" name="password" placeholder="Password"> <input type="password" class="form-control" name="password" id="password" placeholder="New password">
<span class="help-block"></span>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="control-label">Confirm Password</label> <label for="password_confirmation">Confirm Password</label>
<input type="password" class="form-control" name="password_confirmation" placeholder="Confirm Password"> <input type="password" class="form-control" name="password_confirmation" id="password_confirmation" placeholder="Confirm password">
<span class="help-block"></span>
</div> </div>
<button type="submit" class="btn btn-default btn-block">Reset Password</button> <button type="submit" class="btn-auth">Reset password</button>
</form> </form>
<br><br>
</div> <p class="auth-footer"><a href="{{ url('/auth/login') }}">Back to sign in</a></p>
</div>
</div>
</div>
</div>
</div> </div>
</div> </div>
@endsection @endsection

View File

@@ -21,24 +21,22 @@
<div id="navbar" class="navbar-collapse collapse"> <div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav navbar-right navbar-nav-custom"> <ul class="nav navbar-nav navbar-right navbar-nav-custom">
@if (Request::segment(2) == "hi-five-sports-club" || Request::segment(2) == "hi-five-sports-zone") @if (Request::segment(2) == "hi-five-sports-club" || Request::segment(2) == "hi-five-sports-zone")
<li style="font-size: 14px;"></li> <li class="nav-item-main"></li>
@else @else
<li style="font-size: 14px;"> <li class="nav-item-main">
<a href="{{ url('teamstore') }}" class="nav-link-main"><span>Team Store</span></a>
<a href="{{ url('teamstore') }}"><span style="text-transform:uppercase;">Team Store</span></a>
</li> </li>
@endif @endif
<li style="font-size: 14px;"> <li class="nav-item-main">
<a href="{{ url('cart') }}"><span style="text-transform:uppercase;">My Cart</span> <i class="fa fa-shopping-cart"></i> <a href="{{ url('cart') }}" class="nav-link-main"><span>My Cart</span> <i class="fa fa-shopping-cart"></i>
<span class="badge" id="my-cart-count">{{ \App\Http\Controllers\MainController::getCountCart() }}</span> <span class="badge" id="my-cart-count">{{ \App\Http\Controllers\MainController::getCountCart() }}</span>
</a> </a>
</li> </li>
<li> <li>
<a href="#" class="dropdown-toggle user-profile" data-toggle="dropdown" role="button" aria-expanded="false"><i class="fa fa-bars" style="font-size: 21px;"></i></a> <a href="#" class="dropdown-toggle user-profile nav-menu-toggle" data-toggle="dropdown" role="button" aria-expanded="false"><i class="fa fa-bars"></i></a>
<ul class="dropdown-menu"> <ul class="dropdown-menu navbar-menu-dropdown">
@if (Auth::guest()) @if (Auth::guest())
@if(Request::segment(1) == "designer") @if(Request::segment(1) == "designer")
@@ -88,6 +86,155 @@
</nav> </nav>
<style> <style>
.navbar-custom {
min-height: 78px;
background: #ffffff;
border: 0;
border-bottom: 1px solid #e5e7eb;
box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
margin-bottom: 18px;
}
.navbar-custom .container {
position: relative;
}
.navbar-brand {
height: 78px;
padding: 10px 0;
}
.navbar-brand>img {
height: 58px;
padding: 0;
width: auto;
}
.navbar-nav-custom > li > a.nav-link-main {
color: #1f2937 !important;
font-size: 13px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.45px;
border-radius: 8px;
padding: 8px 12px;
margin-top: 0;
transition: background-color 0.2s, color 0.2s;
}
.navbar-nav-custom > li > a.nav-link-main:hover,
.navbar-nav-custom > li > a.nav-link-main:focus {
color: #111827 !important;
background: #f3f4f6 !important;
}
.nav-menu-toggle {
margin-top: 0 !important;
border: 1px solid #d1d5db;
border-radius: 8px;
width: 42px;
height: 42px;
display: flex !important;
align-items: center;
justify-content: center;
color: #374151 !important;
transition: background-color 0.2s, border-color 0.2s;
}
.nav-menu-toggle:hover,
.nav-menu-toggle:focus {
background: #f3f4f6 !important;
border-color: #9ca3af;
}
.nav-menu-toggle i {
font-size: 18px;
}
.navbar-menu-dropdown {
margin-top: 8px;
border: 1px solid #e5e7eb;
border-radius: 10px;
overflow: hidden;
box-shadow: 0 10px 24px rgba(15, 23, 42, 0.14);
}
.navbar-menu-dropdown > li > a {
padding: 10px 14px;
font-size: 13px;
}
.navbar-menu-dropdown > li > a:hover {
background: #f8fafc;
color: #111827;
}
.navbar-menu-dropdown .dropdown-header {
font-size: 12px;
font-weight: 700;
color: #334155;
padding: 10px 14px;
}
.badge {
font-size: 11px;
min-width: 24px;
height: 24px;
line-height: 24px;
border-radius: 999px;
background: #16a34a;
padding: 0 7px;
margin-left: 6px;
vertical-align: middle;
}
.navbar-toggle {
margin-top: 22px;
border: 1px solid #d1d5db;
}
.navbar-toggle .icon-bar {
background: #374151 !important;
}
@media (min-width: 768px) {
.navbar-nav-custom {
min-height: 78px;
display: flex;
align-items: center;
margin: 0;
}
.navbar-nav-custom > li {
float: none;
}
}
@media (max-width: 768px){
.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
margin-top: 12px;
border-top: 1px solid #e5e7eb;
background: #ffffff;
border-radius: 10px;
padding: 8px;
}
.navbar-nav-custom > li > a.nav-link-main {
margin-top: 0;
}
.nav-menu-toggle {
margin-top: 0 !important;
}
}
@media (min-width: 768px){
.navbar-default .navbar-nav>li>a {
margin-top: 0;
}
}
#nav{ #nav{
list-style:none; list-style:none;
margin-bottom:10px; margin-bottom:10px;
@@ -143,41 +290,8 @@
background:#3d4248; background:#3d4248;
} }
.navbar-brand {
padding: 0px; /* firefox bug fix */
}
.navbar-brand>img {
height: 200%;
padding: 15px; /* firefox bug fix */
width: auto;
}
.navbar-custom{
min-height: 100px;
}
@media (max-width: 768px){
.navbar-default .navbar-collapse, .navbar-default .navbar-form{
margin-top: 50px;
}
}
@media (min-width: 768px){
.navbar-default .navbar-nav>li>a{
margin-top: 23px;
}
}
.badge{
font-size: 14px;
width:35px;
border-radius: 0px;
}
.navbar-default .navbar-nav>li>a:hover { .navbar-default .navbar-nav>li>a:hover {
background-color: #777; background-color: #f3f4f6;
} }
.modal { .modal {
@@ -198,6 +312,158 @@
text-align: left; text-align: left;
vertical-align: middle; vertical-align: middle;
} }
#about_us_modal .modal-content {
border: 0;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 14px 34px rgba(0, 0, 0, 0.22);
}
#about_us_modal .modal-header {
background: #f8fafc;
border-bottom: 1px solid #e5e7eb;
padding: 16px 20px;
}
#about_us_modal .modal-title {
font-size: 20px;
font-weight: 700;
color: #111827;
}
.about-us-content {
color: #334155;
font-size: 14px;
line-height: 1.7;
}
.about-us-intro {
margin: 0 0 14px;
color: #475569;
}
.about-us-block {
border: 1px solid #e5e7eb;
border-radius: 10px;
padding: 14px;
margin-bottom: 12px;
background: #ffffff;
}
.about-us-block h5 {
margin: 0 0 8px;
font-size: 14px;
font-weight: 700;
color: #111827;
text-transform: uppercase;
letter-spacing: 0.3px;
}
.about-us-block p {
margin: 0;
}
.about-us-list {
margin: 0;
padding-left: 18px;
}
.about-us-list li {
margin-bottom: 6px;
}
#about_us_modal .modal-footer {
border-top: 1px solid #e5e7eb;
background: #f8fafc;
padding: 12px 20px;
}
@media (max-width: 767px) {
.about-us-block {
padding: 12px;
}
}
#contact_us_modal .modal-content {
border: 0;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 14px 34px rgba(0, 0, 0, 0.22);
}
#contact_us_modal .modal-header {
background: #f8fafc;
border-bottom: 1px solid #e5e7eb;
padding: 16px 20px;
}
#contact_us_modal .modal-title {
font-size: 20px;
font-weight: 700;
color: #111827;
}
#contact_us_modal .modal-body {
padding: 20px;
}
.contact-modal-subtitle {
margin: 0 0 16px;
font-size: 14px;
color: #6b7280;
}
.contact-card {
border: 1px solid #e5e7eb;
border-radius: 10px;
padding: 14px;
background: #fff;
min-height: 140px;
}
.contact-card-title {
margin: 0 0 10px;
font-size: 13px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.4px;
color: #6b7280;
}
.contact-card-value {
margin: 0;
font-size: 15px;
line-height: 1.6;
color: #111827;
word-break: break-word;
}
.contact-card-value a {
color: #1d4ed8;
text-decoration: none;
}
.contact-card-value a:hover {
text-decoration: underline;
}
#contact_us_modal .modal-footer {
border-top: 1px solid #e5e7eb;
background: #f8fafc;
padding: 12px 20px;
}
@media (max-width: 767px) {
#contact_us_modal .modal-body {
padding: 16px;
}
.contact-card {
min-height: 0;
margin-bottom: 12px;
}
}
</style> </style>
<!-- Privacy Modal --> <!-- Privacy Modal -->
@@ -248,7 +514,31 @@
<h4 class="modal-title">About Us</h4> <h4 class="modal-title">About Us</h4>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<p>Coming soon.</p> <div class="about-us-content">
<p class="about-us-intro">Crew Sportswear helps teams, schools, and organizations bring their identity to life through high-quality custom apparel and team store experiences.</p>
<div class="about-us-block">
<h5>Who We Are</h5>
<p>We are a team focused on custom uniforms, spirit wear, and branded gear built for athletes, students, and supporters. Our goal is to make ordering team apparel simple, consistent, and reliable.</p>
</div>
<div class="about-us-block">
<h5>What We Do</h5>
<ul class="about-us-list">
<li>Custom team uniforms and apparel across multiple sports</li>
<li>Print-on-demand production for flexible ordering and fulfillment</li>
<li>Design-your-own apparel with our online designer tool</li>
<li>Private or public online team stores for easy ordering</li>
<li>Batch and individual order workflows depending on program needs</li>
<li>Support for team branding, sizing, and product selection</li>
</ul>
</div>
<div class="about-us-block">
<h5>Our Commitment</h5>
<p>Were committed to clear communication, dependable production quality, and a smooth customer experience from store launch through fulfillment.</p>
</div>
</div>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
@@ -266,15 +556,28 @@
<button type="button" class="close" data-dismiss="modal">&times;</button> <button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">Contact Us</h4> <h4 class="modal-title">Contact Us</h4>
</div> </div>
<div class="modal-body text-center"> <div class="modal-body">
<h1>Contact Us</h1> <p class="contact-modal-subtitle">Were here to help. Reach out through any of the contact options below.</p>
<hr> <div class="row">
<h3>Email Address: <small><a href="#">customer-service@crewsportswear.com</a></small></h3> <div class="col-sm-6">
<h3>Address: <small><a href="#">1281 Humbracht Circle <div class="contact-card">
Suite J <h5 class="contact-card-title">Email Address</h5>
Bartlett, Illinois <p class="contact-card-value">
60103</a></small> <a href="mailto:customer-service@crewsportswear.com">customer-service@crewsportswear.com</a>
</h3> </p>
</div>
</div>
<div class="col-sm-6">
<div class="contact-card">
<h5 class="contact-card-title">Address</h5>
<p class="contact-card-value">
1281 Humbracht Circle<br>
Suite J<br>
Bartlett, Illinois 60103
</p>
</div>
</div>
</div>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>

View File

@@ -1,96 +1,171 @@
<div> <style>
<div>Privacy Policy</div> .privacy-policy {
<br /> color: #334155;
<div>Your privacy is important to us. It is Crew Sportswear's policy to respect your privacy regarding any information we may collect from you across our website, http://crewsportswear.com, and other sites we own and operate.</div> font-size: 14px;
<br /> line-height: 1.7;
<div>1. Information we collect</div> }
<br />
<div>Log data</div> .privacy-title {
<br /> margin: 0 0 6px;
<div>When you visit our website, our servers may automatically log the standard data provided by your web browser. It may include your computer&rsquo;s Internet Protocol (IP) address, your browser type and version, the pages you visit, the time and date of your visit, the time spent on each page, and other details.</div> font-size: 26px;
<br /><br /> font-weight: 700;
<div>Personal information</div> color: #111827;
<br /> }
<div>We may ask for personal information, such as your:</div>
<br /><br /> .privacy-intro {
<div>NameEmailSocial media profilesDate of birthPhone/mobile numberHome/Mailing addressWork addressPayment information</div> margin: 0 0 18px;
<br /> color: #64748b;
<div>2. Legal bases for processing</div> }
<br />
<div>We will process your personal information lawfully, fairly and in a transparent manner. We collect and process information about you only where we have legal bases for doing so.</div> .privacy-section {
<div>&nbsp;</div> background: #ffffff;
<div>These legal bases depend on the services you use and how you use them, meaning we collect and use your information only where:</div> border: 1px solid #e5e7eb;
<div>&nbsp;</div> border-radius: 10px;
<br /> padding: 14px 16px;
<div>&nbsp;&nbsp;&nbsp;&nbsp;it&rsquo;s necessary for the performance of a contract to which you are a party or to take steps at your request before entering into such a contract (for example, when we provide a service you request from us);</div> margin-bottom: 12px;
<div>&nbsp;&nbsp;&nbsp;&nbsp;it satisfies a legitimate interest (which is not overridden by your data protection interests), such as for research and development, to market and promote our services, and to protect our legal rights and interests;</div> }
<div>&nbsp;&nbsp;&nbsp;&nbsp;you give us consent to do so for a specific purpose (for example, you might consent to us sending you our newsletter); or</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;we need to process your data to comply with a legal obligation.</div> .privacy-section h5 {
<br /> margin: 0 0 8px;
<div>&nbsp;</div> font-size: 15px;
<div>Where you consent to our use of information about you for a specific purpose, you have the right to change your mind at any time (but this will not affect any processing that has already taken place).</div> font-weight: 700;
<div>&nbsp;</div> color: #111827;
<div>We don&rsquo;t keep personal information for longer than is necessary. While we retain this information, we will protect it within commercially acceptable means to prevent loss and theft, as well as unauthorised access, disclosure, copying, use or modification. That said, we advise that no method of electronic transmission or storage is 100% secure and cannot guarantee absolute data security. If necessary, we may retain your personal information for our compliance with a legal obligation or in order to protect your vital interests or the vital interests of another natural person.</div> }
<br />
<div>3. Collection and use of information</div> .privacy-section p {
<br /> margin: 0 0 10px;
<div>We may collect, hold, use and disclose information for the following purposes and personal information will not be further processed in a manner that is incompatible with these purposes:</div> }
<br /><br />
<div>to enable you to customise or personalise your experience of our website;to enable you to access and use our website, associated applications and associated social media platforms;to contact and communicate with you;for internal record keeping and administrative purposes;for analytics, market research and business development, including to operate and improve our website, associated applications and associated social media platforms;to run competitions and/or offer additional benefits to you;for advertising and marketing, including to send you promotional information about our products and services and information about third parties that we consider may be of interest to you; andto comply with our legal obligations and resolve any disputes that we may have.</div> .privacy-section p:last-child {
<br /> margin-bottom: 0;
<div>4. Disclosure of personal information to third parties</div> }
<br />
<div>We may disclose personal information to:</div> .privacy-section ul {
<br /><br /> margin: 0 0 10px 18px;
<div>third party service providers for the purpose of enabling them to provide their services, including (without limitation) IT service providers, data storage, hosting and server providers, ad networks, analytics, error loggers, debt collectors, maintenance or problem-solving providers, marketing or advertising providers, professional advisors and payment systems operators;our employees, contractors and/or related entities; andcredit reporting agencies, courts, tribunals and regulatory authorities, in the event you fail to pay for goods or services we have provided to you.</div> padding: 0;
<br /> }
<div>5. International transfers of personal information</div>
<br /> .privacy-section li {
<div>The personal information we collect is stored and processed in United States, or where we or our partners, affiliates and third-party providers maintain facilities. By providing us with your personal information, you consent to the disclosure to these overseas third parties.</div> margin-bottom: 5px;
<br /> }
<div>We will ensure that any transfer of personal information from countries in the European Economic Area (EEA) to countries outside the EEA will be protected by appropriate safeguards, for example by using standard data protection clauses approved by the European Commission, or the use of binding corporate rules or other legally accepted means.</div>
<br /> .privacy-footnote {
<div>Where we transfer personal information from a non-EEA country to another country, you acknowledge that third parties in other jurisdictions may not be subject to similar data protection laws to the ones in our jurisdiction. There are risks if any such third party engages in any act or practice that would contravene the data privacy laws in our jurisdiction and this might mean that you will not be able to seek redress under our jurisdiction&rsquo;s privacy laws.</div> margin-top: 12px;
<br /> border-top: 1px solid #e5e7eb;
<div>6. Your rights and controlling your personal information</div> padding-top: 12px;
<br /> font-size: 13px;
<div>Choice and consent: By providing personal information to us, you consent to us collecting, holding, using and disclosing your personal information in accordance with this privacy policy. If you are under 16 years of age, you must have, and warrant to the extent permitted by law to us, that you have your parent or legal guardian&rsquo;s permission to access and use the website and they (your parents or guardian) have consented to you providing us with your personal information. You do not have to provide personal information to us, however, if you do not, it may affect your use of this website or the products and/or services offered on or through it.</div> color: #6b7280;
<br /> }
<div>Information from third parties: If we receive personal information about you from a third party, we will protect it as set out in this privacy policy. If you are a third party providing personal information about somebody else, you represent and warrant that you have such person&rsquo;s consent to provide the personal information to us.</div>
<br /> .privacy-contact {
<div>Restrict: You may choose to restrict the collection or use of your personal information. If you have previously agreed to us using your personal information for direct marketing purposes, you may change your mind at any time by contacting us using the details below. If you ask us to restrict or limit how we process your personal information, we will let you know how the restriction affects your use of our website or products and services.</div> background: #f8fafc;
<br /> }
<div>Access and data portability: You may request details of the personal information that we hold about you. You may request a copy of the personal information we hold about you. Where possible, we will provide this information in CSV format or other easily readable machine format. You may request that we erase the personal information we hold about you at any time. You may also request that we transfer this personal information to another third party.</div> </style>
<br />
<div>Correction: If you believe that any information we hold about you is inaccurate, out of date, incomplete, irrelevant or misleading, please contact us using the details below. We will take reasonable steps to correct any information found to be inaccurate, incomplete, misleading or out of date.</div> <div class="privacy-policy">
<br /> <h3 class="privacy-title">Privacy Policy</h3>
<div>Notification of data breaches: We will comply laws applicable to us in respect of any data breach.</div> <p class="privacy-intro">Your privacy is important to us. It is Crew Sportswear's policy to respect your privacy regarding any information we may collect from you across our website, http://crewsportswear.com, and other sites we own and operate.</p>
<br />
<div>Complaints: If you believe that we have breached a relevant data protection law and wish to make a complaint, please contact us using the details below and provide us with full details of the alleged breach. We will promptly investigate your complaint and respond to you, in writing, setting out the outcome of our investigation and the steps we will take to deal with your complaint. You also have the right to contact a regulatory body or data protection authority in relation to your complaint.</div> <div class="privacy-section">
<br /> <h5>1. Information we collect</h5>
<div>Unsubscribe: To unsubscribe from our e-mail database or opt-out of communications (including marketing communications), please contact us using the details below or opt-out using the opt-out facilities provided in the communication.</div> <p><strong>Log data:</strong> When you visit our website, our servers may automatically log the standard data provided by your web browser. It may include your computers Internet Protocol (IP) address, your browser type and version, the pages you visit, the time and date of your visit, the time spent on each page, and other details.</p>
<br /> <p><strong>Personal information:</strong> We may ask for personal information, such as your:</p>
<div>7. Cookies</div> <ul>
<br /> <li>Name</li>
<div>We use &ldquo;cookies&rdquo; to collect information about you and your activity across our site. A cookie is a small piece of data that our website stores on your computer, and accesses each time you visit, so we can understand how you use our site. This helps us serve you content based on preferences you have specified. Please refer to our Cookie Policy for more information.</div> <li>Email</li>
<br /> <li>Social media profiles</li>
<div>8. Business transfers</div> <li>Date of birth</li>
<br /> <li>Phone/mobile number</li>
<div>If we or our assets are acquired, or in the unlikely event that we go out of business or enter bankruptcy, we would include data among the assets transferred to any parties who acquire us. You acknowledge that such transfers may occur, and that any parties who acquire us may continue to use your personal information according to this policy.</div> <li>Home/Mailing address</li>
<br /> <li>Work address</li>
<div>9. Limits of our policy</div> <li>Payment information</li>
<br /> </ul>
<div>Our website may link to external sites that are not operated by us. Please be aware that we have no control over the content and policies of those sites, and cannot accept responsibility or liability for their respective privacy practices.</div> </div>
<br />
<div>10. Changes to this policy</div> <div class="privacy-section">
<br /> <h5>2. Legal bases for processing</h5>
<div>At our discretion, we may change our privacy policy to reflect current acceptable practices. We will take reasonable steps to let users know about changes via our website. Your continued use of this site after any changes to this policy will be regarded as acceptance of our practices around privacy and personal information.</div> <p>We will process your personal information lawfully, fairly and in a transparent manner. We collect and process information about you only where we have legal bases for doing so.</p>
<br /> <p>These legal bases depend on the services you use and how you use them, meaning we collect and use your information only where:</p>
<div>If we make a significant change to this privacy policy, for example changing a lawful basis on which we process your personal information, we will ask you to re-consent to the amended privacy policy.</div> <ul>
<br /><br /> <li>its necessary for the performance of a contract to which you are a party or to take steps at your request before entering into such a contract;</li>
<div>Crew Sportswear Data Controller</div> <li>it satisfies a legitimate interest (which is not overridden by your data protection interests), such as research and development, marketing and legal protection;</li>
<div>Angelo Garcia</div> <li>you give us consent to do so for a specific purpose; or</li>
<div>angelo@crewsportswear.com</div> <li>we need to process your data to comply with a legal obligation.</li>
<br /><br /><br /> </ul>
<div>This policy is effective as of 23 February 2019.</div> <p>Where you consent to our use of information about you for a specific purpose, you have the right to change your mind at any time (but this will not affect any processing that has already taken place).</p>
<p>We dont keep personal information for longer than is necessary. While we retain this information, we will protect it within commercially acceptable means to prevent loss and theft, as well as unauthorised access, disclosure, copying, use or modification. That said, we advise that no method of electronic transmission or storage is 100% secure and cannot guarantee absolute data security.</p>
</div>
<div class="privacy-section">
<h5>3. Collection and use of information</h5>
<p>We may collect, hold, use and disclose information for the following purposes and personal information will not be further processed in a manner that is incompatible with these purposes:</p>
<ul>
<li>to enable you to customise or personalise your experience of our website;</li>
<li>to enable you to access and use our website, associated applications and associated social media platforms;</li>
<li>to contact and communicate with you;</li>
<li>for internal record keeping and administrative purposes;</li>
<li>for analytics, market research and business development;</li>
<li>to run competitions and/or offer additional benefits;</li>
<li>for advertising and marketing communications; and</li>
<li>to comply with legal obligations and resolve disputes.</li>
</ul>
</div>
<div class="privacy-section">
<h5>4. Disclosure of personal information to third parties</h5>
<p>We may disclose personal information to:</p>
<ul>
<li>third party service providers (including IT, hosting, analytics, marketing, advisors, and payment providers);</li>
<li>our employees, contractors and/or related entities; and</li>
<li>credit reporting agencies, courts, tribunals and regulatory authorities where required.</li>
</ul>
</div>
<div class="privacy-section">
<h5>5. International transfers of personal information</h5>
<p>The personal information we collect is stored and processed in United States, or where we or our partners, affiliates and third-party providers maintain facilities. By providing us with your personal information, you consent to disclosure to these overseas third parties.</p>
<p>We will ensure that any transfer of personal information from countries in the European Economic Area (EEA) to countries outside the EEA is protected by appropriate safeguards.</p>
<p>Where we transfer personal information from a non-EEA country to another country, you acknowledge that third parties in other jurisdictions may not be subject to similar data protection laws.</p>
</div>
<div class="privacy-section">
<h5>6. Your rights and controlling your personal information</h5>
<p><strong>Choice and consent:</strong> By providing personal information to us, you consent to us collecting, holding, using and disclosing your personal information in accordance with this privacy policy.</p>
<p><strong>Information from third parties:</strong> If we receive personal information about you from a third party, we will protect it as set out in this privacy policy.</p>
<p><strong>Restrict:</strong> You may choose to restrict the collection or use of your personal information.</p>
<p><strong>Access and data portability:</strong> You may request details or a copy of the personal information we hold about you, and request transfer to another third party where possible.</p>
<p><strong>Correction:</strong> If you believe any information we hold is inaccurate or out of date, please contact us so we can correct it.</p>
<p><strong>Notification of data breaches:</strong> We will comply with laws applicable to us in respect of any data breach.</p>
<p><strong>Complaints:</strong> If you believe we have breached a relevant data protection law, please contact us with full details and we will promptly investigate.</p>
<p><strong>Unsubscribe:</strong> To unsubscribe from communications, contact us using the details below or use opt-out facilities provided in communications.</p>
</div>
<div class="privacy-section">
<h5>7. Cookies</h5>
<p>We use “cookies” to collect information about you and your activity across our site. A cookie is a small piece of data that our website stores on your computer and accesses each time you visit. Please refer to our Cookie Policy for more information.</p>
</div>
<div class="privacy-section">
<h5>8. Business transfers</h5>
<p>If we or our assets are acquired, or if we go out of business or enter bankruptcy, data may be transferred to parties who acquire us. Any acquiring parties may continue to use your personal information according to this policy.</p>
</div>
<div class="privacy-section">
<h5>9. Limits of our policy</h5>
<p>Our website may link to external sites that are not operated by us. We have no control over the content and policies of those sites and cannot accept responsibility or liability for their respective privacy practices.</p>
</div>
<div class="privacy-section">
<h5>10. Changes to this policy</h5>
<p>At our discretion, we may change our privacy policy to reflect current acceptable practices. We will take reasonable steps to let users know about changes via our website. Your continued use of this site after changes to this policy will be regarded as acceptance of our practices around privacy and personal information.</p>
<p>If we make a significant change to this privacy policy, such as changing a lawful basis on which we process your personal information, we will ask you to re-consent to the amended privacy policy.</p>
</div>
<div class="privacy-section privacy-contact">
<h5>Crew Sportswear Data Controller</h5>
<p>Angelo Garcia</p>
<p><a href="mailto:angelo@crewsportswear.com">angelo@crewsportswear.com</a></p>
</div>
<p class="privacy-footnote">This policy is effective as of 23 February 2019.</p>
</div> </div>

View File

@@ -2,15 +2,223 @@
@section('content') @section('content')
<style> <style>
body {
background: #f4f6f8;
}
.cart-breadcrumb .breadcrumb {
background: #ffffff;
border: 1px solid #e5e7eb;
border-radius: 10px;
margin-bottom: 14px;
}
.cart-title {
font-size: 24px;
font-weight: 700;
color: #111827;
margin: 0;
}
.cart-title-row hr {
border-color: #e5e7eb;
margin-top: 12px;
margin-bottom: 16px;
}
.cart-card {
background: #fff;
border: 1px solid #e5e7eb;
border-radius: 12px;
padding: 14px;
box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
margin-bottom: 12px;
}
.cart-card h3,
.cart-card h4,
.cart-card h5 {
color: #111827;
}
.summary-line {
display: flex;
justify-content: space-between;
align-items: center;
gap: 10px;
margin-bottom: 8px;
}
.summary-line .summary-label {
font-weight: 700;
color: #111827;
}
.summary-line .summary-value {
text-align: right;
color: #374151;
font-weight: 600;
white-space: nowrap;
}
.summary-total {
margin-top: 2px;
}
.summary-total .summary-label {
font-size: 20px;
}
.summary-total .summary-value {
font-size: 22px;
color: #111827;
}
.summary-total-currency {
font-size: 14px;
color: #6b7280;
font-weight: 600;
margin-left: 4px;
}
.order-summary {
position: sticky;
top: 18px;
}
.cart-summary-title {
margin: 0;
font-size: 20px;
font-weight: 700;
}
.cart-store-head img {
border-radius: 6px;
margin-right: 6px;
}
.cart-item-block + .cart-item-block {
margin-top: 10px;
}
.cart-items-shell {
padding: 0;
}
.cart-items-shell .cart-store-head {
padding: 14px;
border-bottom: 1px solid #e5e7eb;
background: #f8fafc;
border-radius: 12px 12px 0 0;
}
.cart-items-shell .cart-store-head h4 {
margin: 0;
}
.cart-items-shell .cart-item-block {
margin: 0;
border: 0;
border-bottom: 1px solid #e5e7eb;
border-radius: 0;
box-shadow: none;
}
.cart-items-shell .cart-item-block:last-child {
border-bottom: 0;
border-radius: 0 0 12px 12px;
}
.cart-item-title {
margin-top: 0;
margin-bottom: 8px;
font-size: 18px;
}
.cart-item-title a {
color: #1f2937;
text-decoration: none;
}
.cart-item-title a:hover {
color: #0f172a;
text-decoration: underline;
}
.cart-meta {
color: #6b7280;
font-size: 13px;
margin-bottom: 10px;
}
.cart-table-wrap .table {
margin-bottom: 0;
}
.cart-table-wrap .table > thead > tr > th {
border-bottom: 1px solid #e5e7eb;
font-size: 12px;
text-transform: uppercase;
letter-spacing: 0.3px;
color: #64748b;
}
.cart-table-wrap .table > tbody > tr > td {
border-top: 1px solid #f1f5f9;
vertical-align: middle;
font-size: 13px;
}
.cart-remove-btn {
color: #ef4444;
}
.cart-remove-btn:hover {
color: #b91c1c;
}
.voucher-row .btn {
border-radius: 6px;
}
.checkout-btn {
background-color: #ffc300;
border-color: #e2ad00;
text-align: -webkit-center;
border-radius: 8px;
}
.checkout-btn:hover {
background-color: #ffcf33;
border-color: #d39b00;
}
.continue-btn {
border-radius: 8px;
}
.empty-cart {
color: #94a3b8;
text-align: center;
margin: 40px 0;
font-weight: 600;
}
.previewImage{ .previewImage{
height: 150px; height: 150px;
width: 95%; width: 95%;
overflow:hidden; overflow:hidden;
object-fit: contain; object-fit: contain;
} }
@media (max-width: 991px) {
.order-summary {
position: static;
}
}
</style> </style>
<div class="row"> <div class="row cart-breadcrumb">
<div class="col-md-12"> <div class="col-md-12">
<ol class="breadcrumb"> <ol class="breadcrumb">
@if(isset($store_array[0]->StoreUrl)) @if(isset($store_array[0]->StoreUrl))
@@ -23,9 +231,9 @@
</div> </div>
</div> </div>
<div class="row"> <div class="row cart-title-row">
<div class="col-md-12"> <div class="col-md-12">
<h2 style="font-size: 20px; font-weight: bold;">MY CART</h2> <h2 class="cart-title">My Cart</h2>
@if(Session::has('cartkeyError')) @if(Session::has('cartkeyError'))
<div class="alert alert-danger alert-dismissible"> <div class="alert alert-danger alert-dismissible">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button> <button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
@@ -37,11 +245,11 @@
</div> </div>
</div> </div>
@if(count($row) > 0) @if(collect($row)->count() > 0)
<div class="row"> <div class="row">
<div class="col-md-4 col-md-push-8 order-summary" > <div class="col-md-4 col-md-push-8 order-summary" >
<div style="border: 1px solid #e2e2e2; padding: 10px; border-bottom: none;"> <div class="cart-card">
@if(Session::has('msg')) @if(Session::has('msg'))
<div class="alert alert-warning alert-dismissible"> <div class="alert alert-warning alert-dismissible">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button> <button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
@@ -49,13 +257,10 @@
{!! Session::get('msg') !!} {!! Session::get('msg') !!}
</div> </div>
@endif @endif
<h3>Order Summary</h3> <h3 class="cart-summary-title">Order Summary</h3>
</div>
@if (!Auth::guest()) @if (!Auth::guest())
<hr>
<div style="border: 1px solid #e2e2e2; padding: 10px; border-bottom: none;">
<p><strong>Ship to:</strong></p> <p><strong>Ship to:</strong></p>
@if ($address_book === null) @if ($address_book === null)
@@ -68,27 +273,29 @@
<a href="{{ url('user/address-book/edit/'.$address_book[0]->Id) }}">[ Edit ]</a> <a href="{{ url('user/address-book/edit/'.$address_book[0]->Id) }}">[ Edit ]</a>
</div> </div>
@endif @endif
</div>
@endif @endif
<div style="border: 1px solid #e2e2e2; padding: 10px; border-bottom: none;"> <hr>
{{-- <h3>Subtotal: <span id="my_subtotal">{{ round($getSubtotal, 2) }}</span> <small>{{ $store_array[0]->StoreCurrency }}</small></h3> --}} {{-- <h3>Subtotal: <span id="my_subtotal">{{ round($getSubtotal, 2) }}</span> <small>{{ $store_array[0]->StoreCurrency }}</small></h3> --}}
<h5><strong>Subtotal:</strong> <div class="summary-line">
<span>{{ number_format($tax['order_grandtotal'], 2) . ' ' . $store_array[0]->StoreCurrency }}</span> <span class="summary-label">Subtotal:</span>
</h5> <span class="summary-value">{{ number_format($tax['order_grandtotal'], 2) . ' ' . $store_array[0]->StoreCurrency }}</span>
<h5><strong>Shipping Fee:</strong> </div>
<span>{{ number_format($shipping_fee, 2) . ' ' . $store_array[0]->StoreCurrency }}</span> <div class="summary-line">
</h5> <span class="summary-label">Shipping Fee:</span>
<h5> <strong>Tax:</strong> <span class="summary-value">{{ number_format($shipping_fee, 2) . ' ' . $store_array[0]->StoreCurrency }}</span>
<span>{{ number_format($tax['tax'], 2) . ' ' . $store_array[0]->StoreCurrency }}</span> </div>
</h5> <div class="summary-line">
<span class="summary-label">Tax:</span>
<span class="summary-value">{{ number_format($tax['tax'], 2) . ' ' . $store_array[0]->StoreCurrency }}</span>
</div>
<hr> <hr>
<h3> <strong>Total:</strong> <span id="my_subtotal">{{ number_format($tax['order_grandtotal'] + $shipping_fee + $tax['tax'], 2) }}</span> <div class="summary-line summary-total">
<span>{{ $store_array[0]->StoreCurrency }}</span> <span class="summary-label">Total:</span>
</h3> <span class="summary-value"><span id="my_subtotal">{{ number_format($tax['order_grandtotal'] + $shipping_fee + $tax['tax'], 2) }}</span><span class="summary-total-currency">{{ $store_array[0]->StoreCurrency }}</span></span>
</div>
<hr> <hr>
<div class="form-group" id="voucher_list"> <div class="form-group voucher-row" id="voucher_list">
@foreach($row as $item) @foreach($row as $item)
@if($item->VoucherId != null) @if($item->VoucherId != null)
<div class="btn-group"> <div class="btn-group">
@@ -119,20 +326,20 @@
<span id="error_voucher" style="color: #dd4b39"></span> <span id="error_voucher" style="color: #dd4b39"></span>
</form> </form>
<div class="clearfix"></div> <div class="clearfix"></div>
</div>
<div style="border: 1px solid #e2e2e2; padding: 10px;"> <hr>
<a @if($getSubtotal <= 0 ) disabled @endif href="{{ url('getCheckout') }}" class="btn btn-primary btn-block" style="background-color: #ffc300; border-color: #e2ad00; text-align: -webkit-center;" ><img src="{{asset('/images/paypal1.png')}}" class="img img-responsive" style="height:30px;"></a><br> <a @if($getSubtotal <= 0 ) disabled @endif href="{{ url('getCheckout') }}" class="btn btn-primary btn-block checkout-btn" ><img src="{{asset('/images/paypal1.png')}}" class="img img-responsive" style="height:30px;"></a><br>
<a href="{{ url('teamstore') . '/' . $store_array[0]->StoreUrl }}" class="btn btn-default btn-block" type="submit">Continue Shopping</a> <a href="{{ url('teamstore') . '/' . $store_array[0]->StoreUrl }}" class="btn btn-default btn-block continue-btn" type="submit">Continue Shopping</a>
</div> </div>
</div> </div>
<div class="col-md-8 col-md-pull-4"> <div class="col-md-8 col-md-pull-4">
<div style="border: 1px solid #e2e2e2; padding: 10px;"> <div class="cart-card cart-items-shell">
<div class="cart-store-head">
<h4><img height="30px" class="store-logo" src="{{ minio_url('uploads/images/teamstore/' . $store_array[0]->ImageFolder . '/' . $store_array[0]->StoreLogo) }}"> {{ $store_array[0]->StoreName }}</h4> <h4><img height="30px" class="store-logo" src="{{ minio_url('uploads/images/teamstore/' . $store_array[0]->ImageFolder . '/' . $store_array[0]->StoreLogo) }}"> {{ $store_array[0]->StoreName }}</h4>
</div> </div>
@foreach($item_group as $item) @foreach($item_group as $item)
@if($item->VoucherId == null) @if($item->VoucherId == null)
<div style="border: 1px solid #e2e2e2; padding: 10px; border-top: none;"> <div class="cart-card cart-item-block">
<div class="row"> <div class="row">
<div class="col-md-3"> <div class="col-md-3">
<div class="text-center"> <div class="text-center">
@@ -144,11 +351,11 @@
</div> </div>
</div> </div>
<div class="col-md-9"> <div class="col-md-9">
<h4> <h4 class="cart-item-title">
<a href="{{ url('teamstore') . '/' . $item->StoreURL . '/' . 'product/' . $item->ProductURL }}">{{ $item->ProductName }}</a> <a href="{{ url('teamstore') . '/' . $item->StoreURL . '/' . 'product/' . $item->ProductURL }}">{{ $item->ProductName }}</a>
</h4> </h4>
<p>Total Price: {{ $item->total_price . ' ' . $store_array[0]->StoreCurrency }} &bull; Row(s): {{ $item->qty }} </p> <p class="cart-meta">Total Price: {{ $item->total_price . ' ' . $store_array[0]->StoreCurrency }} &bull; Row(s): {{ $item->qty }} </p>
<div class="table-responsive"> <div class="table-responsive cart-table-wrap">
<table class="table table-striped table-condensed"> <table class="table table-striped table-condensed">
@if($item->FormUsed=="jersey-and-shorts-form") @if($item->FormUsed=="jersey-and-shorts-form")
@@ -252,20 +459,20 @@
<td>{{ $sub_item->ShortsSize }}</td> <td>{{ $sub_item->ShortsSize }}</td>
<td>{{ $sub_item->Price . ' ' . $store_array[0]->StoreCurrency }}</td> <td>{{ $sub_item->Price . ' ' . $store_array[0]->StoreCurrency }}</td>
<td>{{ $sub_item->Quantity }}</td> <td>{{ $sub_item->Quantity }}</td>
<td><a class="btn btn-xs btn-link pull-right" href="{{ url('removeitem') }}/{{ $sub_item->Id }}"><span class="glyphicon glyphicon-remove"></span></a></td> <td><a class="btn btn-xs btn-link pull-right cart-remove-btn" href="{{ url('removeitem') }}/{{ $sub_item->Id }}"><span class="glyphicon glyphicon-remove"></span></a></td>
</tr> </tr>
@elseif($item->FormUsed=="tshirt-form") @elseif($item->FormUsed=="tshirt-form")
<tr> <tr>
<td>{{ $sub_item->Size }}</td> <td>{{ $sub_item->Size }}</td>
<td>{{ $sub_item->Price . ' ' . $store_array[0]->StoreCurrency }}</td> <td>{{ $sub_item->Price . ' ' . $store_array[0]->StoreCurrency }}</td>
<td>{{ $sub_item->Quantity }}</td> <td>{{ $sub_item->Quantity }}</td>
<td><a class="btn btn-xs btn-link pull-right" href="{{ url('removeitem') }}/{{ $sub_item->Id }}"><span class="glyphicon glyphicon-remove"></span></a></td> <td><a class="btn btn-xs btn-link pull-right cart-remove-btn" href="{{ url('removeitem') }}/{{ $sub_item->Id }}"><span class="glyphicon glyphicon-remove"></span></a></td>
</tr> </tr>
@elseif($item->FormUsed=="quantity-form") @elseif($item->FormUsed=="quantity-form")
<tr> <tr>
<td>{{ $sub_item->Price . ' ' . $store_array[0]->StoreCurrency }}</td> <td>{{ $sub_item->Price . ' ' . $store_array[0]->StoreCurrency }}</td>
<td>{{ $sub_item->Quantity }}</td> <td>{{ $sub_item->Quantity }}</td>
<td><a class="btn btn-xs btn-link pull-right" href="{{ url('removeitem') }}/{{ $sub_item->Id }}"><span class="glyphicon glyphicon-remove"></span></a></td> <td><a class="btn btn-xs btn-link pull-right cart-remove-btn" href="{{ url('removeitem') }}/{{ $sub_item->Id }}"><span class="glyphicon glyphicon-remove"></span></a></td>
</tr> </tr>
@elseif($item->FormUsed=="name-number-form") @elseif($item->FormUsed=="name-number-form")
<tr> <tr>
@@ -273,7 +480,7 @@
<td>{{ $sub_item->Number }}</td> <td>{{ $sub_item->Number }}</td>
<td>{{ $sub_item->Price . ' ' . $store_array[0]->StoreCurrency }}</td> <td>{{ $sub_item->Price . ' ' . $store_array[0]->StoreCurrency }}</td>
<td>{{ $sub_item->Quantity }}</td> <td>{{ $sub_item->Quantity }}</td>
<td><a class="btn btn-xs btn-link pull-right" href="{{ url('removeitem') }}/{{ $sub_item->Id }}"><span class="glyphicon glyphicon-remove"></span></a></td> <td><a class="btn btn-xs btn-link pull-right cart-remove-btn" href="{{ url('removeitem') }}/{{ $sub_item->Id }}"><span class="glyphicon glyphicon-remove"></span></a></td>
</tr> </tr>
@elseif($item->FormUsed=="name-number-size-form") @elseif($item->FormUsed=="name-number-size-form")
<tr> <tr>
@@ -282,14 +489,14 @@
<td>{{ $sub_item->Size }}</td> <td>{{ $sub_item->Size }}</td>
<td>{{ $sub_item->Price . ' ' . $store_array[0]->StoreCurrency }}</td> <td>{{ $sub_item->Price . ' ' . $store_array[0]->StoreCurrency }}</td>
<td>{{ $sub_item->Quantity }}</td> <td>{{ $sub_item->Quantity }}</td>
<td><a class="btn btn-xs btn-link pull-right" href="{{ url('removeitem') }}/{{ $sub_item->Id }}"><span class="glyphicon glyphicon-remove"></span></a></td> <td><a class="btn btn-xs btn-link pull-right cart-remove-btn" href="{{ url('removeitem') }}/{{ $sub_item->Id }}"><span class="glyphicon glyphicon-remove"></span></a></td>
</tr> </tr>
@elseif($item->FormUsed=="number-form") @elseif($item->FormUsed=="number-form")
<tr> <tr>
<td>{{ $sub_item->Number }}</td> <td>{{ $sub_item->Number }}</td>
<td>{{ $sub_item->Price . ' ' . $store_array[0]->StoreCurrency }}</td> <td>{{ $sub_item->Price . ' ' . $store_array[0]->StoreCurrency }}</td>
<td>{{ $sub_item->Quantity }}</td> <td>{{ $sub_item->Quantity }}</td>
<td><a class="btn btn-xs btn-link pull-right" href="{{ url('removeitem') }}/{{ $sub_item->Id }}"><span class="glyphicon glyphicon-remove"></span></a></td> <td><a class="btn btn-xs btn-link pull-right cart-remove-btn" href="{{ url('removeitem') }}/{{ $sub_item->Id }}"><span class="glyphicon glyphicon-remove"></span></a></td>
</tr> </tr>
@elseif($item->FormUsed=="name-name2-size-form") @elseif($item->FormUsed=="name-name2-size-form")
<tr> <tr>
@@ -298,7 +505,7 @@
<td>{{ $sub_item->Size }}</td> <td>{{ $sub_item->Size }}</td>
<td>{{ $sub_item->Price . ' ' . $store_array[0]->StoreCurrency }}</td> <td>{{ $sub_item->Price . ' ' . $store_array[0]->StoreCurrency }}</td>
<td>{{ $sub_item->Quantity }}</td> <td>{{ $sub_item->Quantity }}</td>
<td><a class="btn btn-xs btn-link pull-right" href="{{ url('removeitem') }}/{{ $sub_item->Id }}"><span class="glyphicon glyphicon-remove"></span></a></td> <td><a class="btn btn-xs btn-link pull-right cart-remove-btn" href="{{ url('removeitem') }}/{{ $sub_item->Id }}"><span class="glyphicon glyphicon-remove"></span></a></td>
</tr> </tr>
@elseif($item->FormUsed=="name-size-form") @elseif($item->FormUsed=="name-size-form")
<tr> <tr>
@@ -306,7 +513,7 @@
<td>{{ $sub_item->Size }}</td> <td>{{ $sub_item->Size }}</td>
<td>{{ $sub_item->Price . ' ' . $store_array[0]->StoreCurrency }}</td> <td>{{ $sub_item->Price . ' ' . $store_array[0]->StoreCurrency }}</td>
<td>{{ $sub_item->Quantity }}</td> <td>{{ $sub_item->Quantity }}</td>
<td><a class="btn btn-xs btn-link pull-right" href="{{ url('removeitem') }}/{{ $sub_item->Id }}"><span class="glyphicon glyphicon-remove"></span></a></td> <td><a class="btn btn-xs btn-link pull-right cart-remove-btn" href="{{ url('removeitem') }}/{{ $sub_item->Id }}"><span class="glyphicon glyphicon-remove"></span></a></td>
</tr> </tr>
@elseif($item->FormUsed=="jersey-and-shorts-quantity-form") @elseif($item->FormUsed=="jersey-and-shorts-quantity-form")
<tr> <tr>
@@ -314,7 +521,7 @@
<td>{{ $sub_item->ShortsSize}}</td> <td>{{ $sub_item->ShortsSize}}</td>
<td>{{ $sub_item->Price . ' ' . $store_array[0]->StoreCurrency }}</td> <td>{{ $sub_item->Price . ' ' . $store_array[0]->StoreCurrency }}</td>
<td>{{ $sub_item->Quantity }}</td> <td>{{ $sub_item->Quantity }}</td>
<td><a class="btn btn-xs btn-link pull-right" href="{{ url('removeitem') }}/{{ $sub_item->Id }}"><span class="glyphicon glyphicon-remove"></span></a></td> <td><a class="btn btn-xs btn-link pull-right cart-remove-btn" href="{{ url('removeitem') }}/{{ $sub_item->Id }}"><span class="glyphicon glyphicon-remove"></span></a></td>
</tr> </tr>
@elseif($item->FormUsed=="number-jersey-shorts-form") @elseif($item->FormUsed=="number-jersey-shorts-form")
<tr> <tr>
@@ -323,7 +530,7 @@
<td>{{ $sub_item->ShortsSize }}</td> <td>{{ $sub_item->ShortsSize }}</td>
<td>{{ $sub_item->Price . ' ' . $store_array[0]->StoreCurrency }}</td> <td>{{ $sub_item->Price . ' ' . $store_array[0]->StoreCurrency }}</td>
<td>{{ $sub_item->Quantity }}</td> <td>{{ $sub_item->Quantity }}</td>
<td><a class="btn btn-xs btn-link pull-right" href="{{ url('removeitem') }}/{{ $sub_item->Id }}"><span class="glyphicon glyphicon-remove"></span></a></td> <td><a class="btn btn-xs btn-link pull-right cart-remove-btn" href="{{ url('removeitem') }}/{{ $sub_item->Id }}"><span class="glyphicon glyphicon-remove"></span></a></td>
</tr> </tr>
@else @else
@@ -339,12 +546,13 @@
@endif @endif
@endforeach @endforeach
</div> </div>
</div>
</div> </div>
@else @else
<div class="row"> <div class="row">
<div class="col-md-12"> <div class="col-md-12">
<h3 style="color:#d2d2d2;">Your cart is currently empty.</h3> <h3 class="empty-cart">Your cart is currently empty.</h3>
</div> </div>
</div> </div>