registrar usuario de tipo comprador, comente algunas cosas del codigo

This commit is contained in:
Jose Sanchez
2023-08-15 10:37:30 -04:00
parent 223db091b0
commit 31b2e896ad
38 changed files with 3718 additions and 649 deletions

View File

@@ -44,134 +44,134 @@ class RegisterController extends Controller
* *
* @var string * @var string
*/ */
protected $redirectTo = '/'; // protected $redirectTo = '/';
/** // /**
* Create a new controller instance. // * Create a new controller instance.
* // *
* @return void // * @return void
*/ // */
public function __construct() // public function __construct()
{ // {
$this->middleware('guest'); // $this->middleware('guest');
} // }
/** // /**
* Get a validator for an incoming registration request. // * Get a validator for an incoming registration request.
* // *
* @param array $data // * @param array $data
* @return \Illuminate\Contracts\Validation\Validator // * @return \Illuminate\Contracts\Validation\Validator
*/ // */
protected function validator(array $data) // protected function validator(array $data)
{ // {
return Validator::make($data, [ // return Validator::make($data, [
'name' => 'required|string|max:255', // 'name' => 'required|string|max:255',
'password' => 'required|string|min:6|confirmed', // 'password' => 'required|string|min:6|confirmed',
'g-recaptcha-response' => [ // 'g-recaptcha-response' => [
Rule::when(get_setting('google_recaptcha') == 1, ['required', new Recaptcha()], ['sometimes']) // Rule::when(get_setting('google_recaptcha') == 1, ['required', new Recaptcha()], ['sometimes'])
] // ]
]); // ]);
} // }
/** // /**
* Create a new user instance after a valid registration. // * Create a new user instance after a valid registration.
* // *
* @param array $data // * @param array $data
* @return \App\Models\User // * @return \App\Models\User
*/ // */
protected function create(array $data) // protected function create(array $data)
{ // {
if (filter_var($data['email'], FILTER_VALIDATE_EMAIL)) { // if (filter_var($data['email'], FILTER_VALIDATE_EMAIL)) {
$user = User::create([ // $user = User::create([
'name' => $data['name'], // 'name' => $data['name'],
'email' => $data['email'], // 'email' => $data['email'],
'password' => Hash::make($data['password']), // 'password' => Hash::make($data['password']),
]); // ]);
} // }
else { // else {
if (addon_is_activated('otp_system')){ // if (addon_is_activated('otp_system')){
$user = User::create([ // $user = User::create([
'name' => $data['name'], // 'name' => $data['name'],
'phone' => '+'.$data['country_code'].$data['phone'], // 'phone' => '+'.$data['country_code'].$data['phone'],
'password' => Hash::make($data['password']), // 'password' => Hash::make($data['password']),
'verification_code' => rand(100000, 999999) // 'verification_code' => rand(100000, 999999)
]); // ]);
$otpController = new OTPVerificationController; // $otpController = new OTPVerificationController;
$otpController->send_code($user); // $otpController->send_code($user);
} // }
} // }
if(session('temp_user_id') != null){ // if(session('temp_user_id') != null){
Cart::where('temp_user_id', session('temp_user_id')) // Cart::where('temp_user_id', session('temp_user_id'))
->update([ // ->update([
'user_id' => $user->id, // 'user_id' => $user->id,
'temp_user_id' => null // 'temp_user_id' => null
]); // ]);
Session::forget('temp_user_id'); // Session::forget('temp_user_id');
} // }
if(Cookie::has('referral_code')){ // if(Cookie::has('referral_code')){
$referral_code = Cookie::get('referral_code'); // $referral_code = Cookie::get('referral_code');
$referred_by_user = User::where('referral_code', $referral_code)->first(); // $referred_by_user = User::where('referral_code', $referral_code)->first();
if($referred_by_user != null){ // if($referred_by_user != null){
$user->referred_by = $referred_by_user->id; // $user->referred_by = $referred_by_user->id;
$user->save(); // $user->save();
} // }
} // }
return $user; // return $user;
} // }
public function register(Request $request) // public function register(Request $request)
{ // {
if (filter_var($request->email, FILTER_VALIDATE_EMAIL)) { // if (filter_var($request->email, FILTER_VALIDATE_EMAIL)) {
if(User::where('email', $request->email)->first() != null){ // if(User::where('email', $request->email)->first() != null){
flash(translate('Email or Phone already exists.')); // flash(translate('Email or Phone already exists.'));
return back(); // return back();
} // }
} // }
elseif (User::where('phone', '+'.$request->country_code.$request->phone)->first() != null) { // elseif (User::where('phone', '+'.$request->country_code.$request->phone)->first() != null) {
flash(translate('Phone already exists.')); // flash(translate('Phone already exists.'));
return back(); // return back();
} // }
$this->validator($request->all())->validate(); // $this->validator($request->all())->validate();
$user = $this->create($request->all()); // $user = $this->create($request->all());
$this->guard()->login($user); // $this->guard()->login($user);
if($user->email != null){ // if($user->email != null){
if(BusinessSetting::where('type', 'email_verification')->first()->value != 1){ // if(BusinessSetting::where('type', 'email_verification')->first()->value != 1){
$user->email_verified_at = date('Y-m-d H:m:s'); // $user->email_verified_at = date('Y-m-d H:m:s');
$user->save(); // $user->save();
flash(translate('Registration successful.'))->success(); // flash(translate('Registration successful.'))->success();
} // }
else { // else {
try { // try {
$user->sendEmailVerificationNotification(); // $user->sendEmailVerificationNotification();
flash(translate('Registration successful. Please verify your email.'))->success(); // flash(translate('Registration successful. Please verify your email.'))->success();
} catch (\Throwable $th) { // } catch (\Throwable $th) {
$user->delete(); // $user->delete();
flash(translate('Registration failed. Please try again later.'))->error(); // flash(translate('Registration failed. Please try again later.'))->error();
} // }
} // }
} // }
return $this->registered($request, $user) // return $this->registered($request, $user)
?: redirect($this->redirectPath()); // ?: redirect($this->redirectPath());
} // }
protected function registered(Request $request, $user) // protected function registered(Request $request, $user)
{ // {
if ($user->email == null) { // if ($user->email == null) {
return redirect()->route('verification'); // return redirect()->route('verification');
}elseif(session('link') != null){ // }elseif(session('link') != null){
return redirect(session('link')); // return redirect(session('link'));
}else { // }else {
return redirect()->route('home'); // return redirect()->route('home');
} // }
} // }
} }

View File

@@ -8,95 +8,31 @@ use App\Models\User;
use Carbon\Carbon; use Carbon\Carbon;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use App\Http\Controllers\OTPVerificationController; use App\Http\Controllers\OTPVerificationController;
class VerificationController extends Controller class VerificationController extends Controller
{ {
/*
|--------------------------------------------------------------------------
| Email Verification Controller
|--------------------------------------------------------------------------
|
| This controller is responsible for handling email verification for any
| user that recently registered with the application. Emails may also
| be re-sent if the user didn't receive the original email message.
|
*/
use VerifiesEmails; public function verify(Request $request, $id, $hash)
/**
* Where to redirect users after verification.
*
* @var string
*/
protected $redirectTo = '/';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{ {
//$this->middleware('auth'); // Aquí debes implementar la lógica para verificar el token y marcar el correo electrónico como verificado
$this->middleware('signed')->only('verify'); // Puedes usar el $id y $hash para buscar el usuario en la base de datos y realizar la verificación
$this->middleware('throttle:6,1')->only('verify', 'resend');
}
/** // Ejemplo de implementación:
* Show the email verification notice. $user = User::find($id);
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function show(Request $request)
{
if ($request->user()->email != null) {
return $request->user()->hasVerifiedEmail()
? redirect($this->redirectPath())
: view('auth.verify');
}
else {
$otpController = new OTPVerificationController;
$otpController->send_code($request->user());
return redirect()->route('verification');
}
}
if ($user && hash_equals($hash, $user->confirmation_code)) {
/** $user->email_verified_at = now();
* Resend the email verification notification.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function resend(Request $request)
{
if ($request->user()->hasVerifiedEmail()) {
return redirect($this->redirectPath());
}
$request->user()->sendEmailVerificationNotification();
return back()->with('resent', true);
}
public function verification_confirmation($code){
$user = User::where('verification_code', $code)->first();
if($user != null){
$user->email_verified_at = Carbon::now();
$user->save(); $user->save();
auth()->login($user, true);
flash(translate('Your email has been verified successfully'))->success(); // Inicia sesión al usuario si lo deseas
} auth()->login($user);
else {
flash(translate('Sorry, we could not verifiy you. Please try again'))->error(); // Redirige al usuario a la página de éxito o a donde desees
return redirect()->route('shop.view.signup.complete');
} }
if($user->user_type == 'seller') { // Si la verificación falla, puedes redirigir al usuario a una página de error o mostrar un mensaje de error
return redirect()->route('seller.dashboard'); return redirect()->route('shop.view.email.verification');
} }
return redirect()->route('dashboard');
}
} }

View File

@@ -69,29 +69,29 @@ class HomeController extends Controller
return view('frontend.user_login'); return view('frontend.user_login');
} }
public function registration(Request $request) // public function registration(Request $request)
{ // {
if (Auth::check()) { // if (Auth::check()) {
return redirect()->route('home'); // return redirect()->route('home');
} // }
if ($request->has('referral_code') && addon_is_activated('affiliate_system')) { // if ($request->has('referral_code') && addon_is_activated('affiliate_system')) {
try { // try {
$affiliate_validation_time = AffiliateConfig::where('type', 'validation_time')->first(); // $affiliate_validation_time = AffiliateConfig::where('type', 'validation_time')->first();
$cookie_minute = 30 * 24; // $cookie_minute = 30 * 24;
if ($affiliate_validation_time) { // if ($affiliate_validation_time) {
$cookie_minute = $affiliate_validation_time->value * 60; // $cookie_minute = $affiliate_validation_time->value * 60;
} // }
Cookie::queue('referral_code', $request->referral_code, $cookie_minute); // Cookie::queue('referral_code', $request->referral_code, $cookie_minute);
$referred_by_user = User::where('referral_code', $request->referral_code)->first(); // $referred_by_user = User::where('referral_code', $request->referral_code)->first();
$affiliateController = new AffiliateController; // $affiliateController = new AffiliateController;
$affiliateController->processAffiliateStats($referred_by_user->id, 1, 0, 0, 0); // $affiliateController->processAffiliateStats($referred_by_user->id, 1, 0, 0, 0);
} catch (\Exception $e) { // } catch (\Exception $e) {
} // }
} // }
return view('frontend.user_registration'); // return view('frontend.user_registration');
} // }
public function cart_login(Request $request) public function cart_login(Request $request)
{ {
@@ -590,37 +590,37 @@ class HomeController extends Controller
return back(); return back();
} }
public function send_email_change_verification_mail($request, $email) // public function send_email_change_verification_mail($request, $email)
{ // {
$response['status'] = 0; // $response['status'] = 0;
$response['message'] = 'Unknown'; // $response['message'] = 'Unknown';
$verification_code = Str::random(32); // $verification_code = Str::random(32);
$array['subject'] = translate('Email Verification'); // $array['subject'] = translate('Email Verification');
$array['from'] = env('MAIL_FROM_ADDRESS'); // $array['from'] = env('MAIL_FROM_ADDRESS');
$array['content'] = translate('Verify your account'); // $array['content'] = translate('Verify your account');
$array['link'] = route('email_change.callback') . '?new_email_verificiation_code=' . $verification_code . '&email=' . $email; // $array['link'] = route('email_change.callback') . '?new_email_verificiation_code=' . $verification_code . '&email=' . $email;
$array['sender'] = Auth::user()->name; // $array['sender'] = Auth::user()->name;
$array['details'] = translate("Email Second"); // $array['details'] = translate("Email Second");
$user = Auth::user(); // $user = Auth::user();
$user->new_email_verificiation_code = $verification_code; // $user->new_email_verificiation_code = $verification_code;
$user->save(); // $user->save();
try { // try {
Mail::to($email)->queue(new SecondEmailVerifyMailManager($array)); // Mail::to($email)->queue(new SecondEmailVerifyMailManager($array));
$response['status'] = 1; // $response['status'] = 1;
$response['message'] = translate("Your verification mail has been Sent to your email."); // $response['message'] = translate("Your verification mail has been Sent to your email.");
} catch (\Exception $e) { // } catch (\Exception $e) {
// return $e->getMessage(); // // return $e->getMessage();
$response['status'] = 0; // $response['status'] = 0;
$response['message'] = $e->getMessage(); // $response['message'] = $e->getMessage();
} // }
return $response; // return $response;
} // }
public function email_change_callback(Request $request) public function email_change_callback(Request $request)
{ {

View File

@@ -2,14 +2,15 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use Auth;
use Illuminate\Http\Request; use Illuminate\Http\Request;
class ShopViewsController extends Controller class ShopViewsController extends Controller
{ {
public function index() { // public function index() {
return view('frontend.registro-comercio.index'); // return view('frontend.registro-comercio.index');
} // }
/* Paso 1 - Elegir tipo de cuenta */ /* Paso 1 - Elegir tipo de cuenta */
public function account_type() { public function account_type() {
@@ -18,15 +19,18 @@ class ShopViewsController extends Controller
} }
/* Paso 2 - Registro de correo */ /* Paso 2 - Registro de correo */
public function register_email() { // public function register_email() {
return view('frontend.registro-comercio.views.register-email'); // return view('frontend.registro-comercio.views.register-email');
} // }
/* Paso 3 - Verificacion de correo */ /* Paso 3 - Verificacion de correo */
public function verification_email() { public function verification_email() {
return view('frontend.registro-comercio.views.email-verification'); $user = Auth::user(); // Obtener el usuario autenticado
return view('frontend.registro-comercio.views.email-verification')->with('user', $user);
} }
/* Paso 4 - Cuenta creada correctamente */ /* Paso 4 - Cuenta creada correctamente */

View File

@@ -0,0 +1,84 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class TypeBusinessController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
return view('frontend.registro-comercio.views.business.index');
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
//
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
}
}

View File

@@ -0,0 +1,131 @@
<?php
namespace App\Http\Controllers;
use App\Mail\VerificationEmail;
use App\Models\User;
use Auth;
use \ReCaptcha\ReCaptcha;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Mail;
use Illuminate\Support\Facades\Validator;
use Illuminate\Validation\Rules\Password;
use Str;
class TypeBuyerController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
return view('frontend.registro-comercio.views.buyers.index');
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request, User $user)
{
// Validación de los campos de registro
$validator = Validator::make($request->all(), [
'email' => ['required', 'string', 'email', 'max:255', 'unique:'.User::class],
'password' => ['required', 'confirmed', Password::defaults()],
'g-recaptcha-response' => ['required', function ($attribute, $value, $fail) {
$recaptcha = new Recaptcha(env('RECAPTCHA_SECRET_KEY'));
$recaptcha->verify($value);
}],
]);
if ($validator->fails()) {
// Si la validación falla, puedes redirigir o devolver una respuesta con los errores
return redirect()->back()->withErrors($validator)->withInput();
}
$confirmation_code = Str::random(25);
$user = new User;
$user->email = $request->input('email');
$user->password = Hash::make($request->input('password'));
$user->user_type = 'customer';
$user->confirmation_code = $confirmation_code;
$user->save();
Mail::to($user->email)->send(new VerificationEmail($user));
// Intentar iniciar sesión automáticamente
if (Auth::attempt($request->only('email', 'password'))) {
if (Auth::user()->email_verified_at) {
// La cuenta está verificada, redirige a la página deseada
return redirect()->route('shop.view.signup.complete');
} else {
// La cuenta no está verificada, redirige a la página de verificación de correo electrónico
return redirect()->route('shop.view.email.verification');
}
}
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
}
}

View File

@@ -0,0 +1,84 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class TypeWorkshopController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
return view('frontend.registro-comercio.views.workshops.index');
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
//
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
}
}

View File

@@ -14,47 +14,47 @@ use App\Notifications\EmailVerificationNotification;
class UserController extends Controller class UserController extends Controller
{ {
public function register_email(Request $request) // public function register_email(Request $request)
{ // {
// Validar los datos recibidos en la solicitud // // Validar los datos recibidos en la solicitud
$request->validate([ // $request->validate([
'email' => 'required|email', // 'email' => 'required|email',
]); // ]);
// Buscar el usuario por su dirección de correo electrónico // // Buscar el usuario por su dirección de correo electrónico
$user = User::where('email', $request->email)->first(); // $user = User::where('email', $request->email)->first();
if ($user && $user->email_verified_at != NULL) { // if ($user && $user->email_verified_at != NULL) {
// Si el usuario ya existe y su campo "verification_code" es verdadero, no enviar nuevamente // // Si el usuario ya existe y su campo "verification_code" es verdadero, no enviar nuevamente
return response()->json(['message' => 'La cuenta ya existe'], 400); // return response()->json(['message' => 'La cuenta ya existe'], 400);
} // }
if (!$user) { // if (!$user) {
// Si el usuario no existe, generar un código de verificación aleatorio de 6 dígitos numéricos // // Si el usuario no existe, generar un código de verificación aleatorio de 6 dígitos numéricos
$verificationCode = rand(10000, 99999); // $verificationCode = rand(10000, 99999);
// Crear un nuevo usuario con el correo electrónico y el código de verificación // // Crear un nuevo usuario con el correo electrónico y el código de verificación
$user = User::create([ // $user = User::create([
'email' => $request->email, // 'email' => $request->email,
'verification_code' => $verificationCode, // 'verification_code' => $verificationCode,
]); // ]);
// Guardar el correo en sesión // // Guardar el correo en sesión
session(['registered_email' => $request->email]); // session(['registered_email' => $request->email]);
} else { // } else {
// Si el usuario ya existe pero no se ha enviado el código, generar un nuevo código // // Si el usuario ya existe pero no se ha enviado el código, generar un nuevo código
$verificationCode = rand(10000, 99999); // $verificationCode = rand(10000, 99999);
// Actualizar el código de verificación y el campo "verification_code" // // Actualizar el código de verificación y el campo "verification_code"
$user->verification_code = $verificationCode; // $user->verification_code = $verificationCode;
$user->save(); // $user->save();
} // }
// Enviar la notificación al correo del usuario con el código de verificación // // Enviar la notificación al correo del usuario con el código de verificación
$user->notify(new EmailVerificationNotification($verificationCode)); // $user->notify(new EmailVerificationNotification($verificationCode));
// Devolver una respuesta (opcional) // // Devolver una respuesta (opcional)
return response()->json(['message' => 'Usuario creado correctamente'], 201); // return response()->json(['message' => 'Usuario creado correctamente'], 201);
} // }
@@ -85,43 +85,43 @@ class UserController extends Controller
// Devolver una respuesta (opcional) // Devolver una respuesta (opcional)
return response()->json(['message' => 'Usuario creado correctamente'], 201); */ return response()->json(['message' => 'Usuario creado correctamente'], 201); */
public function verify_code(Request $request) // public function verify_code(Request $request)
{ // {
// Validar el correo electrónico // // Validar el correo electrónico
$request->validate([ // $request->validate([
'email' => 'required|email', // 'email' => 'required|email',
'codes' => 'required' // 'codes' => 'required'
]); // ]);
// Verificar si el correo electrónico coincide con el almacenado en la sesión // // Verificar si el correo electrónico coincide con el almacenado en la sesión
/* if ($request->email !== session('registered_email')) { // /* if ($request->email !== session('registered_email')) {
return response()->json(['message' => 'Correo no coincide'], 400); // return response()->json(['message' => 'Correo no coincide'], 400);
} */ // } */
// Buscar el usuario por su dirección de correo electrónico // // Buscar el usuario por su dirección de correo electrónico
$user = User::where('email', $request->email)->first(); // $user = User::where('email', $request->email)->first();
// Verificar si el usuario y el código coinciden // // Verificar si el usuario y el código coinciden
if ($user && $user->verification_code === $request->codes) { // if ($user && $user->verification_code === $request->codes) {
// Cambiar la lógica aquí para redireccionar o retornar otro mensaje // // Cambiar la lógica aquí para redireccionar o retornar otro mensaje
$user->email_verified_at = now(); // $user->email_verified_at = now();
$temporaryPassword = Str::random(8); // $temporaryPassword = Str::random(8);
$user->password = Hash::make($temporaryPassword); // $user->password = Hash::make($temporaryPassword);
if ($request->account_type == "seller") { // if ($request->account_type == "seller") {
$user->user_type = "seller"; // $user->user_type = "seller";
} // }
$user->save(); // $user->save();
// Enviar la notificación con las credenciales // // Enviar la notificación con las credenciales
$user->notify(new UserCredentialsNotification($temporaryPassword)); // $user->notify(new UserCredentialsNotification($temporaryPassword));
return response()->json(['message' => 'Código verificado correctamente']); // return response()->json(['message' => 'Código verificado correctamente']);
} else { // } else {
return response()->json(['message' => 'Código no coincide'], 400); // return response()->json(['message' => 'Código no coincide'], 400);
} // }
} // }
} }
/* public function register_email(Request $request) /* public function register_email(Request $request)

View File

@@ -0,0 +1,39 @@
<?php
namespace App\Mail;
use App\Models\User;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Mail\Mailables\Content;
use Illuminate\Mail\Mailables\Envelope;
use Illuminate\Queue\SerializesModels;
class VerificationEmail extends Mailable implements ShouldQueue
{
use Queueable, SerializesModels;
public $user;
/**
* Create a new message instance.
*
* @param User $user
* @return void
*/
public function __construct(User $user)
{
$this->user = $user;
}
public function build()
{
return $this->view('emails.verification_user')
->subject('Verificación de cuenta')
->with([
'verificationCode' => $this->user->verification_code,
]);
}
}

View File

@@ -14,10 +14,7 @@ class User extends Authenticatable implements MustVerifyEmail
{ {
use Notifiable, HasApiTokens, HasRoles; use Notifiable, HasApiTokens, HasRoles;
public function sendEmailVerificationNotification()
{
$this->notify(new EmailVerificationNotification());
}
/** /**
* The attributes that are mass assignable. * The attributes that are mass assignable.
@@ -25,7 +22,7 @@ class User extends Authenticatable implements MustVerifyEmail
* @var array * @var array
*/ */
protected $fillable = [ protected $fillable = [
'name', 'email', 'password', 'address', 'city', 'postal_code', 'phone', 'country', 'provider_id', 'email_verified_at', 'verification_code' 'name', 'email', 'password', 'user_type', 'confirmation_code', 'address', 'city', 'postal_code', 'phone', 'country', 'provider_id', 'email_verified_at', 'verification_code'
]; ];
/** /**

View File

@@ -15,33 +15,33 @@ class EmailVerificationNotification extends Notification
{ {
use Queueable; use Queueable;
public $verificationCode; // public $verificationCode;
public function __construct($verificationCode) // public function __construct($verificationCode)
{ // {
$this->verificationCode = $verificationCode; // $this->verificationCode = $verificationCode;
} // }
public function via($notifiable) // public function via($notifiable)
{ // {
return ['mail']; // return ['mail'];
} // }
public function toMail($notifiable) // public function toMail($notifiable)
{ // {
$verificationCode = $this->verificationCode; // $verificationCode = $this->verificationCode;
return (new MailMessage) // return (new MailMessage)
->subject(translate('Email Verification - ') . env('APP_NAME')) // ->subject(translate('Email Verification - ') . env('APP_NAME'))
->line('Your verification code is: ' . $verificationCode); // Mostrar el código de verificación en el correo // ->line('Your verification code is: ' . $verificationCode); // Mostrar el código de verificación en el correo
} // }
public function toArray($notifiable) // public function toArray($notifiable)
{ // {
return [ // return [
// // //
]; // ];
} // }
} }

View File

@@ -14,6 +14,7 @@
"fideloper/proxy": "^4.4", "fideloper/proxy": "^4.4",
"genealabs/laravel-sign-in-with-apple": "*", "genealabs/laravel-sign-in-with-apple": "*",
"genealabs/laravel-socialiter": "*", "genealabs/laravel-socialiter": "*",
"google/recaptcha": "^1.3",
"guzzlehttp/guzzle": "^7.5", "guzzlehttp/guzzle": "^7.5",
"instamojo/instamojo-php": "^0.4.0", "instamojo/instamojo-php": "^0.4.0",
"intervention/image": "^2.5", "intervention/image": "^2.5",

View File

@@ -100,7 +100,7 @@ return [
| |
*/ */
'locale' => env('DEFAULT_LANGUAGE', 'en'), 'locale' => env('DEFAULT_LANGUAGE', 'es'),
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
@@ -113,7 +113,7 @@ return [
| |
*/ */
'fallback_locale' => 'en', 'fallback_locale' => 'es',
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
@@ -170,6 +170,8 @@ return [
Illuminate\View\ViewServiceProvider::class, Illuminate\View\ViewServiceProvider::class,
KingFlamez\Rave\RaveServiceProvider::class, KingFlamez\Rave\RaveServiceProvider::class,
/* /*
* Package Service Providers... * Package Service Providers...
*/ */
@@ -185,6 +187,7 @@ return [
Spatie\Permission\PermissionServiceProvider::class, Spatie\Permission\PermissionServiceProvider::class,
], ],
/* /*
@@ -236,6 +239,8 @@ return [
'PDF' => niklasravnsborg\LaravelPdf\Facades\Pdf::class, 'PDF' => niklasravnsborg\LaravelPdf\Facades\Pdf::class,
'Str' => Illuminate\Support\Str::class, 'Str' => Illuminate\Support\Str::class,
'Rave' => KingFlamez\Rave\Facades\Rave::class, 'Rave' => KingFlamez\Rave\Facades\Rave::class,
'Recaptcha' => \ReCaptcha\ReCaptcha::class,
], ],
]; ];

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

751
resources/lang/es.json Normal file
View File

@@ -0,0 +1,751 @@
{
"30 Days": "30 Días",
"60 Days": "60 Días",
"90 Days": "90 Días",
":amount Total": ":amount Total",
":days day trial": "prueba por :days days",
":resource Details": "Detalles del :resource",
":resource Details: :title": "Detalles del :resource : :title",
"A fresh verification link has been sent to your email address.": "Se ha enviado un nuevo enlace de verificación a su correo electrónico.",
"A new verification link has been sent to the email address you provided during registration.": "Se ha enviado un nuevo enlace de verificación a la dirección de correo electrónico que proporcionó durante el registro.",
"A new verification link has been sent to the email address you provided in your profile settings.": "Se ha enviado un nuevo enlace de verificación a la dirección de correo electrónico que proporcionó en la configuración de su perfil.",
"A new verification link has been sent to your email address.": "Se ha enviado un nuevo enlace de verificación a su dirección de correo electrónico.",
"Accept Invitation": "Aceptar invitación",
"Action": "Acción",
"Action Happened At": "La acción sucedió a las",
"Action Initiated By": "La acción inició a las",
"Action Name": "Nombre de la acción",
"Action Status": "Estado de la acción",
"Action Target": "Objetivo de la acción",
"Actions": "Acciones",
"Add": "Añadir",
"Add a new team member to your team, allowing them to collaborate with you.": "Agregue un nuevo miembro a su equipo, permitiéndole colaborar con usted.",
"Add additional security to your account using two factor authentication.": "Agregue seguridad adicional a su cuenta mediante la autenticación de dos factores.",
"Add row": "Añadir fila",
"Add Team Member": "Añadir un nuevo miembro al equipo",
"Add VAT Number": "Agregar número VAT",
"Added.": "Añadido.",
"Address": "Dirección",
"Address Line 2": "Dirección de la línea 2",
"Administrator": "Administrador",
"Administrator users can perform any action.": "Los administradores pueden realizar cualquier acción.",
"Afghanistan": "Afganistán",
"Aland Islands": "Islas Aland",
"Albania": "Albania",
"Algeria": "Algeria",
"All of the people that are part of this team.": "Todas las personas que forman parte de este equipo.",
"All resources loaded.": "Todos los recursos cargados.",
"All rights reserved.": "Todos los derechos reservados.",
"Already registered?": "¿Ya se registró?",
"American Samoa": "Samoa Americana",
"An error occured while uploading the file.": "Ocurrio un error al subir el archivo.",
"An error occurred while uploading the file.": "Ocurrió un error al cargar el archivo.",
"An unexpected error occurred and we have notified our support team. Please try again later.": "Se produjo un error inesperado y hemos notificado a nuestro equipo de soporte. Por favor intente de nuevo más tarde.",
"Andorra": "Andorra",
"Angola": "Angola",
"Anguilla": "Anguila",
"Another user has updated this resource since this page was loaded. Please refresh the page and try again.": "Otro usuario ha modificado el recurso desde que esta página fue cargada. Por favor refresque la página e intente nuevamente.",
"Antarctica": "Antártica",
"Antigua And Barbuda": "Antigua y Barbuda",
"Antigua and Barbuda": "Antigua y Barbuda",
"API Token": "Token API",
"API Token Permissions": "Permisos para el token API",
"API Tokens": "Tokens API",
"API tokens allow third-party services to authenticate with our application on your behalf.": "Los tokens API permiten a servicios de terceros autenticarse con nuestra aplicación en su nombre.",
"Apply": "Aplicar",
"Apply Coupon": "Aplicar cupón",
"April": "Abril",
"Are you sure you want to delete the selected resources?": "¿Está seguro de que desea eliminar los recursos seleccionados?",
"Are you sure you want to delete this file?": "¿Está seguro de que desea eliminar este archivo?",
"Are you sure you want to delete this resource?": "¿Está seguro de que desea eliminar este recurso?",
"Are you sure you want to delete this team? Once a team is deleted, all of its resources and data will be permanently deleted.": "¿Está seguro que desea eliminar este equipo? Una vez que se elimina un equipo, todos sus recursos y datos se eliminarán de forma permanente.",
"Are you sure you want to delete your account? Once your account is deleted, all of its resources and data will be permanently deleted. Please enter your password to confirm you would like to permanently delete your account.": "¿Está seguro que desea eliminar su cuenta? Una vez que se elimine su cuenta, todos sus recursos y datos se eliminarán de forma permanente. Ingrese su contraseña para confirmar que desea eliminar su cuenta de forma permanente.",
"Are you sure you want to detach the selected resources?": "¿Está seguro que desea desvincular los recursos seleccionados?",
"Are you sure you want to detach this resource?": "¿Está seguro que desea desvincular este recurso?",
"Are you sure you want to force delete the selected resources?": "¿Está seguro que desea forzar la eliminación de los recurso seleccionados?",
"Are you sure you want to force delete this resource?": "¿Está seguro que desea forzar la eliminación de este recurso?",
"Are you sure you want to log out?": "¿Está seguro que quiere cerrar la sesión?",
"Are you sure you want to restore the selected resources?": "¿Está seguro que desea restaurar los recursos seleccionados?",
"Are you sure you want to restore this resource?": "¿Está seguro que desea restaurar este recurso?",
"Are you sure you want to run this action?": "¿Está seguro que desea ejecutar esta acción?",
"Are you sure you want to stop impersonating?": "¿Está seguro que quiere dejar de personificar?",
"Are you sure you would like to delete this API token?": "¿Está seguro que desea eliminar este token API?",
"Are you sure you would like to leave this team?": "¿Está seguro que le gustaría abandonar este equipo?",
"Are you sure you would like to remove this person from the team?": "¿Está seguro que desea retirar a esta persona del equipo?",
"Argentina": "Argentina",
"Armenia": "Armenia",
"Aruba": "Aruba",
"Attach": "Adjuntar",
"Attach & Attach Another": "Adjuntar & adjuntar otro",
"Attach :resource": "Adjuntar :resource",
"August": "Agosto",
"Australia": "Australia",
"Austria": "Austria",
"Azerbaijan": "Azerbaijan",
"Bahamas": "Bahamas",
"Bahrain": "Bahrain",
"Bangladesh": "Bangladesh",
"Barbados": "Barbados",
"Before continuing, could you verify your email address by clicking on the link we just emailed to you? If you didn't receive the email, we will gladly send you another.": "Antes de continuar, ¿podría verificar su dirección de correo electrónico haciendo clic en el enlace que le acabamos de enviar? Si no recibió el correo electrónico, con gusto le enviaremos otro.",
"Before proceeding, please check your email for a verification link.": "Antes de continuar, compruebe el enlace de verificación en su correo electrónico.",
"Belarus": "Bielorrusia",
"Belgium": "Bélgica",
"Belize": "Belice",
"Benin": "Benin",
"Bermuda": "Bermuda",
"Bhutan": "Bután",
"Billing Information": "Información de facturación",
"Billing Management": "Gestión de facturación",
"Bolivia": "Bolivia",
"Bolivia, Plurinational State of": "Bolivia, Estado Plurinacional de",
"Bonaire, Sint Eustatius and Saba": "Bonaire, San Eustaquio y Saba",
"Bosnia And Herzegovina": "Bosnia y Herzegovina",
"Bosnia and Herzegovina": "Bosnia y Herzegovina",
"Botswana": "Botswana",
"Bouvet Island": "Isla Bouvet",
"Brazil": "Brasil",
"British Indian Ocean Territory": "Territorio Británico del Océano Índico",
"Browser Sessions": "Sesiones del navegador",
"Brunei Darussalam": "Brunei",
"Bulgaria": "Bulgaria",
"Burkina Faso": "Burkina Faso",
"Burundi": "Burundi",
"Cambodia": "Camboya",
"Cameroon": "Camerún",
"Canada": "Canadá",
"Cancel": "Cancelar",
"Cancel Subscription": "Cancelar suscripción",
"Cape Verde": "Cabo Verde",
"Card": "Tarjeta",
"Cayman Islands": "Islas Caimán",
"Central African Republic": "República Centroafricana",
"Chad": "Chad",
"Change Subscription Plan": "Cambiar plan de suscripción",
"Changes": "Cambios",
"Chile": "Chile",
"China": "China",
"Choose": "Elija",
"Choose :field": "Elija :field",
"Choose :resource": "Elija :resource",
"Choose an option": "Elija una opción",
"Choose date": "Elija fecha",
"Choose File": "Elija archivo",
"Choose Type": "Elija tipo",
"Christmas Island": "Isla de Navidad",
"City": "Ciudad",
"Click here to re-send the verification email.": "Haga clic aquí para reenviar el correo de verificación.",
"click here to request another": "haga clic aquí para solicitar otro",
"Click to choose": "Haga click para elegir",
"Close": "Cerrar",
"Cocos (Keeling) Islands": "Islas Cocos (Keeling)",
"Code": "Código",
"Colombia": "Colombia",
"Comoros": "Comoros",
"Confirm": "Confirmar",
"Confirm Password": "Confirmar contraseña",
"Confirm Payment": "Confirmar pago",
"Confirm your :amount payment": "Confirme su pago de :amount",
"Congo": "Congo",
"Congo, Democratic Republic": "República democrática del Congo",
"Congo, the Democratic Republic of the": "Congo, República Democrática del",
"Constant": "Constante",
"Cook Islands": "Islas Cook",
"Costa Rica": "Costa Rica",
"Cote D'Ivoire": "Costa de Marfil",
"could not be found.": "no se pudo encontrar.",
"Country": "País",
"Coupon": "Cupón",
"Create": "Crear",
"Create & Add Another": "Crear & Añadir otro",
"Create :resource": "Crear :resource",
"Create a new team to collaborate with others on projects.": "Cree un nuevo equipo para colaborar con otros en proyectos.",
"Create Account": "Crear cuenta",
"Create API Token": "Crear Token API",
"Create New Team": "Crear nuevo equipo",
"Create Team": "Crear equipo",
"Created.": "Creado.",
"Croatia": "Croacia",
"Cuba": "Cuba",
"Curaçao": "Curazao",
"Current Password": "Contraseña actual",
"Current Subscription Plan": "Plan de suscripción actual",
"Currently Subscribed": "Suscrito actualmente",
"Customize": "Personalizar ",
"Cyprus": "Chipre",
"Czech Republic": "República Checa",
"Côte d'Ivoire": "Costa de Marfil",
"Dark": "Oscuro",
"Dashboard": "Panel",
"December": "Diciembre",
"Decrease": "Disminuir",
"Delete": "Eliminar",
"Delete Account": "Borrar cuenta",
"Delete API Token": "Borrar token API",
"Delete File": "Borrar archivo",
"Delete Resource": "Eliminar recurso",
"Delete Selected": "Eliminar seleccionado",
"Delete Team": "Borrar equipo",
"Denmark": "Dinamarca",
"Detach": "Desvincular",
"Detach Resource": "Desvincular recurso",
"Detach Selected": "Desvincular selección",
"Details": "Detalles",
"Disable": "Deshabilitar",
"Djibouti": "Yibuti",
"Do you really want to leave? You have unsaved changes.": "¿Realmente desea salir? Aún hay cambios sin guardar.",
"Dominica": "Dominica",
"Dominican Republic": "República Dominicana",
"Done.": "Hecho.",
"Download": "Descargar",
"Download Receipt": "Descargar recibo",
"E-Mail Address": "Dirección de correo electrónico",
"Ecuador": "Ecuador",
"Edit": "Editar",
"Edit :resource": "Editar :resource",
"Edit Attached": "Editar Adjunto",
"Edit Profile": "Editar perfil",
"Editor": "Editor",
"Editor users have the ability to read, create, and update.": "Los editores están habilitados para leer, crear y actualizar.",
"Egypt": "Egipto",
"El Salvador": "El Salvador",
"Email": "Correo electrónico",
"Email Address": "Correo electrónico",
"Email Addresses": "Correos electrónicos",
"Email Password Reset Link": "Enviar enlace para restablecer contraseña",
"Enable": "Habilitar",
"Ensure your account is using a long, random password to stay secure.": "Asegúrese que su cuenta esté usando una contraseña larga y aleatoria para mantenerse seguro.",
"Equatorial Guinea": "Guinea Ecuatorial",
"Eritrea": "Eritrea",
"Error": "Error",
"Estonia": "Estonia",
"Ethiopia": "Etiopía",
"ex VAT": "sin VAT",
"Extra Billing Information": "Información de facturación adicional",
"Extra confirmation is needed to process your payment. Please confirm your payment by filling out your payment details below.": "Se necesita confirmación adicional para procesar su pago. Confirme su pago completando los detalles a continuación.",
"Extra confirmation is needed to process your payment. Please continue to the payment page by clicking on the button below.": "Se necesita confirmación adicional para procesar su pago. Continúe a la página de pago haciendo clic en el botón de abajo.",
"Failed to load :resource!": "¡Error al cargar el :resource!",
"Falkland Islands (Malvinas)": "Malvinas (Falkland Islands)",
"Faroe Islands": "Islas Feroe",
"February": "Febrero",
"Fiji": "Fiyi",
"Finish enabling two factor authentication.": "Termine de habilitar la autenticación de dos factores.",
"Finland": "Finlandia",
"For your security, please confirm your password to continue.": "Por su seguridad, confirme su contraseña para continuar.",
"Forbidden": "Prohibido",
"Force Delete": "Forzar la eliminación",
"Force Delete Resource": "Forzar la eliminación del recurso",
"Force Delete Selected": "Forzar la eliminación de la selección",
"Forgot Password": "Olvidó su contraseña",
"Forgot your password?": "¿Olvidó su contraseña?",
"Forgot Your Password?": "¿Olvidó su Contraseña?",
"Forgot your password? No problem. Just let us know your email address and we will email you a password reset link that will allow you to choose a new one.": "¿Olvidó su contraseña? No hay problema. Simplemente déjenos saber su dirección de correo electrónico y le enviaremos un enlace para restablecer la contraseña que le permitirá elegir una nueva.",
"France": "Francia",
"French Guiana": "Guayana Francesa",
"French Polynesia": "Polinesia Francesa",
"French Southern Territories": "Tierras Australes y Antárticas Francesas",
"Full name": "Nombre completo",
"Gabon": "Gabón",
"Gambia": "Gambia",
"Georgia": "Georgia",
"Germany": "Alemania",
"Ghana": "Ghana",
"Gibraltar": "Gibraltar",
"Go back": "Ir atrás",
"Go Home": "Ir a inicio",
"Go to page :page": "Ir a la página :page",
"Great! You have accepted the invitation to join the :team team.": "¡Genial! Usted ha aceptado la invitación para unirse al equipo :team.",
"Greece": "Grecia",
"Greenland": "Groenlandia",
"Grenada": "Grenada",
"Guadeloupe": "Guadalupe",
"Guam": "Guam",
"Guatemala": "Guatemala",
"Guernsey": "Guernsey",
"Guinea": "Guinea",
"Guinea-Bissau": "Guinea-Bisáu",
"Guyana": "Guyana",
"Haiti": "Haití",
"Have a coupon code?": "¿Tiene un código de descuento?",
"Having second thoughts about cancelling your subscription? You can instantly reactive your subscription at any time until the end of your current billing cycle. After your current billing cycle ends, you may choose an entirely new subscription plan.": "¿Tiene dudas sobre la cancelación de su suscripción? Puede reactivar instantáneamente su suscripción en cualquier momento hasta el final de su ciclo de facturación actual. Una vez que finalice su ciclo de facturación actual, puede elegir un plan de suscripción completamente nuevo.",
"Heard Island & Mcdonald Islands": "Islas Heard y McDonald",
"Heard Island and McDonald Islands": "Islas Heard y McDonald",
"Hello!": "¡Hola!",
"Hide Content": "Ocultar contenido",
"Hold Up!": "En espera!",
"Holy See (Vatican City State)": "Ciudad del Vaticano",
"Honduras": "Honduras",
"Hong Kong": "Hong Kong",
"Hungary": "Hungría",
"I accept the terms of service": "Acepto los términos del servicio",
"I agree to the :terms_of_service and :privacy_policy": "Acepto los :terms_of_service y la :privacy_policy",
"Iceland": "Islandia",
"ID": "ID",
"If necessary, you may log out of all of your other browser sessions across all of your devices. Some of your recent sessions are listed below; however, this list may not be exhaustive. If you feel your account has been compromised, you should also update your password.": "Si es necesario, puede salir de todas las demás sesiones de otros navegadores en todos sus dispositivos. Algunas de sus sesiones recientes se enumeran a continuación; sin embargo, es posible que esta lista no sea exhaustiva. Si cree que su cuenta se ha visto comprometida, también debería actualizar su contraseña.",
"If you already have an account, you may accept this invitation by clicking the button below:": "Si ya tiene una cuenta, puede aceptar esta invitación haciendo clic en el botón de abajo:",
"If you did not create an account, no further action is required.": "Si no ha creado una cuenta, no se requiere ninguna acción adicional.",
"If you did not expect to receive an invitation to this team, you may discard this email.": "Si no esperaba recibir una invitación para este equipo, puede descartar este correo electrónico.",
"If you did not receive the email": "Si usted no recibió el correo electrónico",
"If you did not request a password reset, no further action is required.": "Si no ha solicitado el restablecimiento de contraseña, omita este mensaje de correo electrónico.",
"If you do not have an account, you may create one by clicking the button below. After creating an account, you may click the invitation acceptance button in this email to accept the team invitation:": "Si no tiene una cuenta, puede crear una haciendo clic en el botón de abajo. Después de crear una cuenta, puede hacer clic en el botón de aceptación de la invitación en este correo electrónico para aceptar la invitación del equipo:",
"If you need to add specific contact or tax information to your receipts, like your full business name, VAT identification number, or address of record, you may add it here.": "Si necesita agregar información de contacto específica o de impuestos a sus recibos, como su nombre comercial completo, número de identificación VAT o dirección de registro, puede agregarlo aquí.",
"If you're having trouble clicking the \":actionText\" button, copy and paste the URL below\ninto your web browser:": "Si está teniendo problemas al hacer clic en el botón \":actionText\", copie y pegue la URL de abajo\nen su navegador web:",
"Impersonate": "Personificar",
"Increase": "Incrementar",
"India": "India",
"Indonesia": "Indonesia",
"Iran, Islamic Republic Of": "República Islámica de Irán",
"Iran, Islamic Republic of": "Irán, República Islámica de",
"Iraq": "Iraq",
"Ireland": "Irlanda",
"Isle Of Man": "Isla de Man",
"Isle of Man": "Isla de Man",
"Israel": "Israel",
"It looks like you do not have an active subscription. You may choose one of the subscription plans below to get started. Subscription plans may be changed or cancelled at your convenience.": "Parece que no tiene una suscripción activa. Puede elegir uno de los planes de suscripción a continuación para comenzar. Los planes de suscripción se pueden cambiar o cancelar según su conveniencia.",
"Italy": "Italia",
"Jamaica": "Jamaica",
"Jane Doe": "Jane Doe",
"January": "Enero",
"Japan": "Japón",
"Jersey": "Jersey",
"Jordan": "Jordán",
"July": "Julio",
"June": "Junio",
"Kazakhstan": "Kazajistán",
"Kenya": "Kenya",
"Key": "Clave",
"Kiribati": "Kiribati",
"Korea": "Corea del Sur",
"Korea, Democratic People's Republic of": "Corea del Norte",
"Korea, Republic of": "Corea, República de",
"Kosovo": "Kosovo",
"Kuwait": "Kuwait",
"Kyrgyzstan": "Kirguistán",
"Lao People's Democratic Republic": "Laos, República Democrática Popular de",
"Last active": "Activo por última vez",
"Last used": "Usado por última vez",
"Latvia": "Letonia",
"Leave": "Abandonar",
"Leave Team": "Abandonar equipo",
"Lebanon": "Líbano",
"Lens": "Lens",
"Lesotho": "Lesoto",
"Liberia": "Liberia",
"Libyan Arab Jamahiriya": "Libia",
"Liechtenstein": "Liechtenstein",
"Light": "Claro",
"Lithuania": "Lituania",
"Load :perPage More": "Cargar :perPage Mas",
"Log in": "Iniciar sesión",
"Log In": "Iniciar sesión",
"Log Out": "Finalizar sesión",
"Log Out Other Browser Sessions": "Cerrar las demás sesiones",
"Login": "Iniciar sesión",
"Logout": "Finalizar sesión",
"Luxembourg": "Luxemburgo",
"Macao": "Macao",
"Macedonia": "Macedonia",
"Macedonia, the former Yugoslav Republic of": "Macedonia, ex República Yugoslava de",
"Madagascar": "Madagascar",
"Malawi": "Malaui",
"Malaysia": "Malasia",
"Maldives": "Maldivas",
"Mali": "Malí",
"Malta": "Malta",
"Manage Account": "Administrar cuenta",
"Manage and log out your active sessions on other browsers and devices.": "Administre y cierre sus sesiones activas en otros navegadores y dispositivos.",
"Manage API Tokens": "Administrar Tokens API",
"Manage Role": "Administrar rol",
"Manage Team": "Administrar equipo",
"Managing billing for :billableName": "Gestionando la facturación de :billableName",
"March": "Marzo",
"Marshall Islands": "Islas Marshall",
"Martinique": "Martinica",
"Mauritania": "Mauritania",
"Mauritius": "Mauricio",
"May": "Mayo",
"Mayotte": "Mayotte",
"Mexico": "México",
"Micronesia, Federated States Of": "Micronesia, Estados Federados de",
"Micronesia, Federated States of": "Micronesia, Estados Federados de",
"Moldova": "Moldavia",
"Moldova, Republic of": "Moldavia, República de",
"Monaco": "Mónaco",
"Mongolia": "Mongolia",
"Montenegro": "Montenegro",
"Month To Date": "Mes hasta la fecha",
"Monthly": "Mensual",
"monthly": "mensual",
"Montserrat": "Montserrat",
"Morocco": "Marruecos",
"Mozambique": "Mozambique",
"Myanmar": "Myanmar",
"Name": "Nombre",
"Namibia": "Namibia",
"Nauru": "Nauru",
"Nepal": "Nepal",
"Netherlands": "Países Bajos",
"Netherlands Antilles": "Antillas Holandesas",
"Nevermind, I'll keep my old plan": "No importa, mantendré mi antiguo plan",
"New": "Nuevo",
"New :resource": "Nuevo :resource",
"New Caledonia": "Nueva Caledonia",
"New Password": "Nueva Contraseña",
"New Zealand": "Nueva Zelanda",
"Next": "Siguiente",
"Nicaragua": "Nicaragua",
"Niger": "Níger",
"Nigeria": "Nigeria",
"Niue": "Niue",
"No": "No",
"No :resource matched the given criteria.": "Ningún :resource coincide con los criterios.",
"No additional information...": "Sin información adicional...",
"No Current Data": "Sin datos actuales",
"No Data": "No hay datos",
"no file selected": "no se seleccionó el archivo",
"No Increase": "No incrementar",
"No Prior Data": "No hay datos previos",
"No Results Found.": "No se encontraron resultados.",
"Norfolk Island": "Isla Norfolk",
"Northern Mariana Islands": "Islas Marianas del Norte",
"Norway": "Noruega",
"Not Found": "No encontrado",
"Nova User": "Usuario Nova",
"November": "Noviembre",
"October": "Octubre",
"of": "de",
"Oh no": "Oh no",
"Oman": "Omán",
"Once a team is deleted, all of its resources and data will be permanently deleted. Before deleting this team, please download any data or information regarding this team that you wish to retain.": "Una vez que se elimina un equipo, todos sus recursos y datos se eliminarán de forma permanente. Antes de eliminar este equipo, descargue cualquier dato o información sobre este equipo que desee conservar.",
"Once your account is deleted, all of its resources and data will be permanently deleted. Before deleting your account, please download any data or information that you wish to retain.": "Una vez su cuenta sea borrada, todos sus recursos y datos se eliminarán de forma permanente. Antes de borrar su cuenta, por favor descargue cualquier dato o información que desee conservar.",
"Only Trashed": "Solo en papelera",
"Original": "Original",
"Our billing management portal allows you to conveniently manage your subscription plan, payment method, and download your recent invoices.": "Nuestro portal de administración de facturación le permite administrar cómodamente su plan de suscripción, método de pago y descargar sus facturas recientes.",
"Page Expired": "Página expirada",
"Pagination Navigation": "Navegación por los enlaces de paginación",
"Pakistan": "Pakistán",
"Palau": "Palau",
"Palestinian Territory, Occupied": "Territorios Palestinos",
"Panama": "Panamá",
"Papua New Guinea": "Papúa Nueva Guinea",
"Paraguay": "Paraguay",
"Password": "Contraseña",
"Pay :amount": "Pague :amount",
"Payment Cancelled": "Pago cancelado",
"Payment Confirmation": "Confirmación de pago",
"Payment Information": "Información del pago",
"Payment Method": "Método de pago",
"Payment Successful": "Pago exitoso",
"Pending Team Invitations": "Invitaciones de equipo pendientes",
"Per Page": "Por Página",
"Permanently delete this team.": "Eliminar este equipo de forma permanente",
"Permanently delete your account.": "Eliminar su cuenta de forma permanente.",
"Permissions": "Permisos",
"Peru": "Perú",
"Philippines": "Filipinas",
"Photo": "Foto",
"Pitcairn": "Islas Pitcairn",
"Please accept the terms of service.": "Por favor acepte los términos del servicio.",
"Please click the button below to verify your email address.": "Por favor, haga clic en el botón de abajo para verificar su dirección de correo electrónico.",
"Please confirm access to your account by entering one of your emergency recovery codes.": "Por favor confirme el acceso a su cuenta ingresando uno de sus códigos de recuperación de emergencia.",
"Please confirm access to your account by entering the authentication code provided by your authenticator application.": "Por favor confirme el acceso a su cuenta digitando el código de autenticación provisto por su aplicación autenticadora.",
"Please confirm your password before continuing.": "Por favor confirme su contraseña antes de continuar.",
"Please copy your new API token. For your security, it won't be shown again.": "Por favor copie su nuevo token API. Por su seguridad, no se volverá a mostrar.",
"Please enter your password to confirm you would like to log out of your other browser sessions across all of your devices.": "Por favor ingrese su contraseña para confirmar que desea cerrar las demás sesiones de otros navegadores en todos sus dispositivos.",
"Please provide a maximum of three receipt emails addresses.": "Proporcione un máximo de tres direcciones para recibir correo electrónico.",
"Please provide the email address of the person you would like to add to this team.": "Por favor proporcione la dirección de correo electrónico de la persona que le gustaría agregar a este equipo.",
"Please provide your name.": "Por favor proporcione su nombre.",
"Poland": "Polonia",
"Portugal": "Portugal",
"Press / to search": "Presione / para buscar",
"Preview": "Previsualizar",
"Previewing": "Vista previa",
"Previous": "Previo",
"Privacy Policy": "Política de Privacidad",
"Profile": "Perfil",
"Profile Information": "Información de perfil",
"Puerto Rico": "Puerto Rico",
"Qatar": "Qatar",
"Quarter To Date": "Trimestre hasta la fecha",
"Receipt Email Addresses": "Direcciones para recibir correo electrónico",
"Receipts": "Recibos",
"Recovery Code": "Código de recuperación",
"Regards": "Saludos",
"Regenerate Recovery Codes": "Regenerar códigos de recuperación",
"Register": "Registrarse",
"Reload": "Recargar",
"Remember me": "Mantener sesión activa",
"Remember Me": "Mantener sesión activa",
"Remove": "Eliminar",
"Remove Photo": "Eliminar foto",
"Remove Team Member": "Eliminar miembro del equipo",
"Replicate": "Replicar",
"Resend Verification Email": "Reenviar correo de verificación",
"Reset Filters": "Restablecer filtros",
"Reset Password": "Restablecer contraseña",
"Reset Password Notification": "Notificación de restablecimiento de contraseña",
"resource": "recurso",
"Resource Row Dropdown": "Desplegable Fila de Recursos",
"Resources": "Recursos",
"resources": "recursos",
"Restore": "Restaurar",
"Restore Resource": "Restaurar Recursos",
"Restore Selected": "Restaurar Selección",
"results": "resultados",
"Resume Subscription": "Reanudar suscripción",
"Return to :appName": "Regresar a :appName",
"Reunion": "Reunión",
"Role": "Rol",
"Romania": "Rumania",
"Run Action": "Ejecutar Acción",
"Russian Federation": "Federación Rusa",
"Rwanda": "Ruanda",
"Réunion": "Reunión",
"Saint Barthelemy": "San Bartolomé",
"Saint Barthélemy": "San Bartolomé",
"Saint Helena": "Santa Helena",
"Saint Kitts And Nevis": "San Cristóbal y Nieves",
"Saint Kitts and Nevis": "Saint Kitts y Nevis",
"Saint Lucia": "Santa Lucía",
"Saint Martin": "San Martín",
"Saint Martin (French part)": "San Martín (parte francesa)",
"Saint Pierre And Miquelon": "San Pedro y Miquelón",
"Saint Pierre and Miquelon": "San Pedro y Miquelón",
"Saint Vincent And Grenadines": "San Vicente y las Granadinas",
"Saint Vincent and the Grenadines": "San Vicente y las Granadinas",
"Samoa": "Samoa",
"San Marino": "San Marino",
"Sao Tome And Principe": "Santo Tomé y Príncipe",
"Sao Tome and Principe": "Santo Tomé y Príncipe",
"Saudi Arabia": "Arabia Saudita",
"Save": "Guardar",
"Saved.": "Guardado.",
"Search": "Buscar",
"Select": "Seleccione",
"Select a different plan": "Seleccione un plan diferente",
"Select A New Photo": "Seleccione una nueva foto",
"Select Action": "Seleccione una Acción",
"Select All": "Seleccione Todo",
"Select All Matching": "Seleccione Todas las coincidencias",
"Send Password Reset Link": "Enviar enlace para restablecer la contraseña",
"Senegal": "Senegal",
"September": "Septiembre",
"Serbia": "Serbia",
"Server Error": "Error del servidor",
"Service Unavailable": "Servicio no disponible",
"Setup Key": "Clave de configuración",
"Seychelles": "Seychelles",
"Show All Fields": "Mostrar todos los campos",
"Show Content": "Mostrar contenido",
"Show Recovery Codes": "Mostrar códigos de recuperación",
"Showing": "Mostrando",
"Sierra Leone": "Sierra Leona",
"Signed in as": "Registrado como",
"Singapore": "Singapur",
"Sint Maarten (Dutch part)": "San Martín",
"Slovakia": "Eslovaquia",
"Slovenia": "Eslovenia",
"Solomon Islands": "Islas Salomón",
"Somalia": "Somalia",
"Something went wrong.": "Algo salió mal.",
"Sorry! You are not authorized to perform this action.": "¡Lo siento! Usted no está autorizado para ejecutar esta acción.",
"Sorry, your session has expired.": "Lo siento, su sesión ha caducado.",
"South Africa": "Sudáfrica",
"South Georgia And Sandwich Isl.": "Islas Georgias del Sur y Sandwich del Sur",
"South Georgia and the South Sandwich Islands": "Georgia del sur y las islas Sandwich del sur",
"South Sudan": "Sudán del Sur",
"Spain": "España",
"Sri Lanka": "Sri Lanka",
"Standalone Actions": "Acciones independientes",
"Start Polling": "Iniciar encuesta",
"State / County": "Estado / País",
"Stop Impersonating": "Detener personificación",
"Stop Polling": "Detener encuesta",
"Store these recovery codes in a secure password manager. They can be used to recover access to your account if your two factor authentication device is lost.": "Guarde estos códigos de recuperación en un administrador de contraseñas seguro. Se pueden utilizar para recuperar el acceso a su cuenta si pierde su dispositivo de autenticación de dos factores.",
"Subscribe": "Suscriba",
"Subscription Information": "Información de suscripción",
"Subscription Pending": "Suscripción pendiente",
"Sudan": "Sudán",
"Suriname": "Suriname",
"Svalbard And Jan Mayen": "Svalbard y Jan Mayen",
"Svalbard and Jan Mayen": "Svalbard y Jan Mayen",
"Swaziland": "Eswatini",
"Sweden": "Suecia",
"Switch Teams": "Cambiar de equipo",
"Switzerland": "Suiza",
"Syrian Arab Republic": "Siria",
"System": "Sistema",
"Taiwan": "Taiwán",
"Taiwan, Province of China": "Taiwan, provincia de China",
"Tajikistan": "Tayikistán",
"Tanzania": "Tanzania",
"Tanzania, United Republic of": "Tanzania, República Unida de",
"Team Details": "Detalles del equipo",
"Team Invitation": "Invitación de equipo",
"Team Members": "Miembros del equipo",
"Team Name": "Nombre del equipo",
"Team Owner": "Propietario del equipo",
"Team Settings": "Ajustes del equipo",
"Terms of Service": "Términos del servicio",
"Thailand": "Tailandia",
"Thanks for signing up! Before getting started, could you verify your email address by clicking on the link we just emailed to you? If you didn't receive the email, we will gladly send you another.": "¡Gracias por registrarse! Antes de comenzar, ¿podría verificar su dirección de correo electrónico haciendo clic en el enlace que le acabamos de enviar? Si no recibió el correo electrónico, con gusto le enviaremos otro.",
"Thanks for your continued support. We've attached a copy of your invoice for your records. Please let us know if you have any questions or concerns.": "Gracias por su apoyo continuo. Hemos adjuntado una copia de su factura para sus registros. Háganos saber si tiene alguna pregunta o inquietud.",
"Thanks,": "Gracias,",
"The :attribute must be a valid role.": ":Attribute debe ser un rol válido.",
"The :attribute must be at least :length characters and contain at least one number.": "La :attribute debe tener al menos :length caracteres y contener por lo menos un número.",
"The :attribute must be at least :length characters and contain at least one special character and one number.": "La :attribute debe tener al menos :length caracteres y contener por lo menos un caracter especial y un número.",
"The :attribute must be at least :length characters and contain at least one special character.": "La :attribute debe tener al menos :length caracteres y contener por lo menos un carácter especial.",
"The :attribute must be at least :length characters and contain at least one uppercase character and one number.": "La :attribute debe tener al menos :length caracteres y contener por lo menos una letra mayúscula y un número.",
"The :attribute must be at least :length characters and contain at least one uppercase character and one special character.": "La :attribute debe tener al menos :length caracteres y contener por lo menos una letra mayúscula y un carácter especial.",
"The :attribute must be at least :length characters and contain at least one uppercase character, one number, and one special character.": "La :attribute debe tener al menos :length caracteres y contener por lo menos una letra mayúscula, un número y un carácter especial.",
"The :attribute must be at least :length characters and contain at least one uppercase character.": "La :attribute debe tener al menos :length caracteres y contener por lo menos una letra mayúscula.",
"The :attribute must be at least :length characters.": "La :attribute debe tener al menos :length caracteres.",
"The :attribute must contain at least one letter.": "La :attribute debe contener al menos una letra.",
"The :attribute must contain at least one number.": "La :attribute debe contener al menos un número.",
"The :attribute must contain at least one symbol.": "La :attribute debe contener al menos un símbolo.",
"The :attribute must contain at least one uppercase and one lowercase letter.": "La :attribute debe contener al menos una letra mayúscula y una minúscula.",
"The :resource was created!": "¡El :resource fue creado!",
"The :resource was deleted!": "¡El :resource fue eliminado!",
"The :resource was restored!": "¡El :resource fue restaurado!",
"The :resource was updated!": "¡El :resource fue actualizado!",
"The action ran successfully!": "¡La acción se ejecutó correctamente!",
"The file was deleted!": "¡El archivo fue eliminado!",
"The given :attribute has appeared in a data leak. Please choose a different :attribute.": "La :attribute proporcionada se ha visto comprometida en una filtración de datos (data leak). Elija una :attribute diferente.",
"The government won't let us show you what's behind these doors": "El gobierno no nos permitirá mostrarle lo que hay detrás de estas puertas",
"The HasOne relationship has already been filled.": "La relación HasOne ya fué completada.",
"The password is incorrect.": "La contraseña es incorrecta.",
"The payment was successful.": "El pago fue exitoso.",
"The provided coupon code is invalid.": "El código de cupón proporcionado no es válido.",
"The provided password does not match your current password.": "La contraseña proporcionada no coincide con su contraseña actual.",
"The provided password was incorrect.": "La contraseña proporcionada no es correcta.",
"The provided two factor authentication code was invalid.": "El código de autenticación de dos factores proporcionado no es válido.",
"The provided VAT number is invalid.": "El número VAT proporcionado no es válido.",
"The receipt emails must be valid email addresses.": "Los correos electrónicos de recepción deben ser direcciones válidas.",
"The resource was attached!": "¡Se adjuntó el recurso!",
"The resource was prevented from being saved!": "¡Se evitó que el recurso se guardara!",
"The resource was updated!": "¡El recurso fue actualizado!",
"The selected country is invalid.": "El país seleccionado no es válido.",
"The selected plan is invalid.": "El plan seleccionado no es válido.",
"The team's name and owner information.": "Nombre del equipo e información del propietario.",
"There are no available options for this resource.": "No hay opciones disponibles para este recurso.",
"There are no fields to display.": "No hay campos para mostrar.",
"There are no new notifications.": "No hay notificaciones nuevas.",
"There is no active subscription.": "No hay una suscripción activa.",
"There was a problem executing the action.": "Hubo un problema ejecutando la acción.",
"There was a problem fetching the resource.": "Hubo un problema obteniendo el recurso.",
"There was a problem submitting the form.": "Hubo un problema al enviar el formulario.",
"These people have been invited to your team and have been sent an invitation email. They may join the team by accepting the email invitation.": "Estas personas han sido invitadas a su equipo y se les ha enviado un correo electrónico de invitación. Pueden unirse al equipo aceptando la invitación por correo electrónico.",
"This account does not have an active subscription.": "Esta cuenta no tiene una suscripción activa.",
"This copy of Nova is unlicensed.": "Esta copia de Nova no tiene licencia.",
"This coupon code can only be used by new customers.": "Este cupón puede ser usado solamente por nuevos clientes.",
"This device": "Este dispositivo",
"This file field is read-only.": "Este campo de archivo es de solo lectura.",
"This image": "Esta imagen",
"This is a secure area of the application. Please confirm your password before continuing.": "Esta es un área segura de la aplicación. Confirme su contraseña antes de continuar.",
"This password does not match our records.": "Esta contraseña no coincide con nuestros registros.",
"This password reset link will expire in :count minutes.": "Este enlace de restablecimiento de contraseña expirará en :count minutos.",
"This payment was already successfully confirmed.": "Este pago ya se confirmó con éxito.",
"This payment was cancelled.": "Este pago fue cancelado.",
"This resource no longer exists": "Este recurso ya no existe",
"This subscription cannot be resumed. Please create a new subscription.": "Esta suscripción no se puede reanudar. Por favor cree una nueva suscripción.",
"This subscription has expired and cannot be resumed. Please create a new subscription.": "Esta suscripción ha caducado y no se puede reanudar. Cree una nueva suscripción.",
"This user already belongs to the team.": "Este usuario ya pertenece al equipo.",
"This user has already been invited to the team.": "Este usuario ya ha sido invitado al equipo.",
"Timor-Leste": "Timor Oriental",
"to": "al",
"To finish enabling two factor authentication, scan the following QR code using your phone's authenticator application or enter the setup key and provide the generated OTP code.": "Para terminar de habilitar la autenticación de dos factores, escanee el siguiente código QR usando la aplicación de autenticación de su teléfono o ingrese la clave de configuración y proporcione el código OTP generado.",
"Today": "Hoy",
"Toggle navigation": "Activar navegación",
"Togo": "Togo",
"Tokelau": "Tokelau",
"Token Name": "Nombre del token",
"Tonga": "Tonga",
"Too Many Requests": "Demasiadas peticiones",
"total": "total",
"Total:": "Total:",
"Trashed": "Desechado",
"Trinidad And Tobago": "Trinidad y Tobago",
"Trinidad and Tobago": "Trinidad y Tobago",
"Tunisia": "Tunisia",
"Turkey": "Turquía",
"Turkmenistan": "Turkmenistán",
"Turks And Caicos Islands": "Islas Turcas y Caicos",
"Turks and Caicos Islands": "Islas Turcas y Caicos",
"Tuvalu": "Tuvalu",
"Two Factor Authentication": "Autenticación de dos factores",
"Two factor authentication is now enabled. Scan the following QR code using your phone's authenticator application or enter the setup key.": "La autenticación de dos factores ahora está habilitada. Escanee el siguiente código QR usando la aplicación de autenticación de su teléfono o ingrese la clave de configuración.",
"Uganda": "Uganda",
"Ukraine": "Ucrania",
"Unauthorized": "No autorizado",
"United Arab Emirates": "Emiratos Árabes Unidos",
"United Kingdom": "Reino Unido",
"United States": "Estados Unidos",
"United States Minor Outlying Islands": "Islas Ultramarinas Menores de los Estados Unidos",
"United States Outlying Islands": "Islas Ultramarinas Menores de los Estados Unidos",
"Update": "Actualizar",
"Update & Continue Editing": "Actualice & Continúe Editando",
"Update :resource": "Actualizar :resource",
"Update :resource: :title": "Actualice el :title del :resource:",
"Update attached :resource: :title": "Actualice el :title del :resource: adjuntado",
"Update Password": "Actualizar contraseña",
"Update Payment Information": "Actualizar la información de pago",
"Update Payment Method": "Actualizar método de pago",
"Update your account's profile information and email address.": "Actualice la información de su cuenta y la dirección de correo electrónico",
"Uruguay": "Uruguay",
"Use a recovery code": "Use un código de recuperación",
"Use an authentication code": "Use un código de autenticación",
"Uzbekistan": "Uzbekistan",
"Value": "Valor",
"Vanuatu": "Vanuatu",
"VAT Number": "Número VAT",
"Venezuela": "Venezuela",
"Venezuela, Bolivarian Republic of": "Venezuela, República Bolivariana de",
"Verify Email Address": "Confirme su correo electrónico",
"Verify Your Email Address": "Verifique su dirección de correo electrónico",
"Viet Nam": "Vietnam",
"View": "Vista",
"View Receipt": "Ver recibo",
"Virgin Islands, British": "Islas Vírgenes Británicas",
"Virgin Islands, U.S.": "Islas Vírgenes Estadounidenses",
"Wallis And Futuna": "Wallis y Futuna",
"Wallis and Futuna": "Wallis y Futuna",
"We are processing your subscription. Once the subscription has successfully processed, this page will update automatically. Typically, this process should only take a few seconds.": "Estamos procesando su suscripción. Una vez que la suscripción se haya procesado correctamente esta página se actualizará automáticamente. Normalmente, este proceso solo debería llevar unos segundos.",
"We are unable to process your payment. Please contact customer support.": "No podemos procesar su pago. Comuníquese con el servicio de atención al cliente.",
"We have emailed your password reset link!": "¡Le hemos enviado un correo electrónico con su enlace de restablecimiento de contraseña!",
"We were unable to find a registered user with this email address.": "No pudimos encontrar un usuario registrado con esta dirección de correo electrónico.",
"We will send a receipt download link to the email addresses that you specify below. You may separate multiple email addresses using commas.": "Enviaremos un enlace de descarga de recibo a las direcciones de correo electrónico que especifique a continuación. Puede separar varias direcciones de correo electrónico con comas.",
"We're lost in space. The page you were trying to view does not exist.": "Estamos perdidos en el espacio. La página que intenta buscar no existe.",
"Welcome Back!": "¡Bienvenido de nuevo!",
"Western Sahara": "Sahara Occidental",
"When two factor authentication is enabled, you will be prompted for a secure, random token during authentication. You may retrieve this token from your phone's Google Authenticator application.": "Cuando la autenticación de dos factores esté habilitada, le pediremos un token aleatorio seguro durante la autenticación. Puede recuperar este token desde la aplicación Google Authenticator de su teléfono.",
"Whoops": "Ups",
"Whoops!": "¡Ups!",
"Whoops! Something went wrong.": "¡Ups! Algo salió mal.",
"With Trashed": "Incluida la papelera",
"Write": "Escriba",
"Year To Date": "Año hasta la fecha",
"Yearly": "Anual",
"Yemen": "Yemen",
"Yes": "Sí",
"You are already subscribed.": "Usted ya está suscrito.",
"You are currently within your free trial period. Your trial will expire on :date.": "Actualmente se encuentra dentro de su período de prueba gratuito. Su prueba vencerá el :date.",
"You are logged in!": "¡Usted está conectado!",
"You are receiving this email because we received a password reset request for your account.": "Ha recibido este mensaje porque se solicitó un restablecimiento de contraseña para su cuenta.",
"You have been invited to join the :team team!": "¡Usted ha sido invitado a unirse al equipo :team!",
"You have enabled two factor authentication.": "Ha habilitado la autenticación de dos factores.",
"You have not enabled two factor authentication.": "No ha habilitado la autenticación de dos factores.",
"You may accept this invitation by clicking the button below:": "Puede aceptar esta invitación haciendo clic en el botón de abajo:",
"You may cancel your subscription at any time. Once your subscription has been cancelled, you will have the option to resume the subscription until the end of your current billing cycle.": "Puedes cancelar tu subscripción en cualquier momento. Una vez que su suscripción haya sido cancelada, tendrá la opción de reanudar la suscripción hasta el final de su ciclo de facturación actual.",
"You may delete any of your existing tokens if they are no longer needed.": "Puede eliminar cualquiera de sus tokens existentes si ya no los necesita.",
"You may not delete your personal team.": "No se puede borrar su equipo personal.",
"You may not leave a team that you created.": "No se puede abandonar un equipo que usted creó.",
"Your :invoiceName invoice is now available!": "¡Su factura :invoiceName ya está disponible!",
"Your card was declined. Please contact your card issuer for more information.": "Su tarjeta fue rechazada. Comuníquese con el emisor de su tarjeta para obtener más información.",
"Your current payment method is :paypal.": "Su método de pago actual es :paypal.",
"Your current payment method is a credit card ending in :lastFour that expires on :expiration.": "Su método de pago actual es una tarjeta de crédito que termina en :lastFour que vence el :expiration.",
"Your email address is unverified.": "Su dirección de correo electrónico no está verificada.",
"Your registered VAT Number is :vatNumber.": "Su número VAT registrado es :vatNumber.",
"Zambia": "Zambia",
"Zimbabwe": "Zimbabwe",
"Zip / Postal Code": "Zip / Código postal",
"Åland Islands": "Islas Åland"
}

View File

@@ -0,0 +1,18 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Authentication Language Lines
|--------------------------------------------------------------------------
|
| The following language lines are used during authentication for various
| messages that we need to display to the user. You are free to modify
| these language lines according to your application's requirements.
|
*/
'failed' => 'Estas credenciales no coinciden con nuestros registros.',
'password' => 'La contraseña ingresada no es correcta.',
'throttle' => 'Demasiados intentos de acceso. Por favor intente nuevamente en :seconds segundos.',
];

View File

@@ -0,0 +1,17 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Pagination Language Lines
|--------------------------------------------------------------------------
|
| The following language lines are used by the paginator library to build
| the simple pagination links. You are free to change them to anything
| you want to customize your views to better match your application.
|
*/
'previous' => '&laquo; Anterior',
'next' => 'Siguiente &raquo;',
];

View File

@@ -0,0 +1,20 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Password Reminder Language Lines
|--------------------------------------------------------------------------
|
| The following language lines are the default lines which match reasons
| that are given by the password broker for a password update attempt
| has failed, such as for an invalid token or invalid new password.
|
*/
'reset' => '¡Su contraseña ha sido restablecida!',
'sent' => '¡Le hemos enviado por correo electrónico el enlace para restablecer su contraseña!',
'throttled' => 'Por favor espere antes de intentar de nuevo.',
'token' => 'El token de restablecimiento de contraseña es inválido.',
'user' => 'No encontramos ningún usuario con ese correo electrónico.',
];

View File

@@ -0,0 +1,139 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Validation Language Lines
|--------------------------------------------------------------------------
|
| The following language lines contain the default error messages used by
| the validator class. Some of these rules have multiple versions such
| as the size rules. Feel free to tweak each of these messages here.
|
*/
'accepted' => 'Este campo debe ser aceptado.',
'active_url' => 'Esta no es una URL válida.',
'after' => 'Debe ser una fecha después de :date.',
'after_or_equal' => 'Debe ser una fecha después o igual a :date.',
'alpha' => 'Este campo solo puede contener letras.',
'alpha_dash' => 'Este campo solo puede contener letras, números, guiones y guiones bajos.',
'alpha_num' => 'Este campo solo puede contener letras y números.',
'array' => 'Este campo debe ser un array (colección).',
'before' => 'Debe ser una fecha antes de :date.',
'before_or_equal' => 'Debe ser una fecha anterior o igual a :date.',
'between' => [
'numeric' => 'Este valor debe ser entre :min y :max.',
'file' => 'Este archivo debe ser entre :min y :max kilobytes.',
'string' => 'El texto debe ser entre :min y :max caracteres.',
'array' => 'El contenido debe tener entre :min y :max elementos.',
],
'boolean' => 'El campo debe ser verdadero o falso.',
'confirmed' => 'La confirmación no coincide.',
'date' => 'Esta no es una fecha válida.',
'date_equals' => 'El campo debe ser una fecha igual a :date.',
'date_format' => 'El campo no corresponde al formato :format.',
'different' => 'Este valor deben ser diferente de :other.',
'digits' => 'Debe tener :digits dígitos.',
'digits_between' => 'Debe tener entre :min y :max dígitos.',
'dimensions' => 'Las dimensiones de esta imagen son inválidas.',
'distinct' => 'El campo tiene un valor duplicado.',
'email' => 'No es un correo válido.',
'ends_with' => 'Debe finalizar con uno de los siguientes valores: :values.',
'exists' => 'El valor seleccionado es inválido.',
'file' => 'El campo debe ser un archivo.',
'filled' => 'Este campo debe tener un valor.',
'gt' => [
'numeric' => 'El valor del campo debe ser mayor que :value.',
'file' => 'El archivo debe ser mayor que :value kilobytes.',
'string' => 'El texto debe ser mayor de :value caracteres.',
'array' => 'El contenido debe tener mas de :value elementos.',
],
'gte' => [
'numeric' => 'El valor debe ser mayor o igual que :value.',
'file' => 'El tamaño del archivo debe ser mayor o igual que :value kilobytes.',
'string' => 'El texto debe ser mayor o igual de :value caracteres.',
'array' => 'El contenido debe tener :value elementos o más.',
],
'image' => 'Esta debe ser una imagen.',
'in' => 'El valor seleccionado es inválido.',
'in_array' => 'Este valor no existe en :other.',
'integer' => 'Esto debe ser un entero.',
'ip' => 'Debe ser una dirección IP válida.',
'ipv4' => 'Debe ser una dirección IPv4 válida.',
'ipv6' => 'Debe ser una dirección IPv6 válida.',
'json' => 'Debe ser un texto válido en JSON.',
'lt' => [
'numeric' => 'El valor debe ser menor que :value.',
'file' => 'El tamaño del archivo debe ser menor a :value kilobytes.',
'string' => 'El texto debe ser menor de :value caracteres.',
'array' => 'El contenido debe tener menor de :value elementos.',
],
'lte' => [
'numeric' => 'El valor debe ser menor o igual que :value.',
'file' => 'El tamaño del archivo debe ser menor o igual que :value kilobytes.',
'string' => 'El texto debe ser menor o igual de :value caracteres.',
'array' => 'El contenido no debe tener más de :value elementos.',
],
'max' => [
'numeric' => 'El valor no debe ser mayor de :max.',
'file' => 'El tamaño del archivo no debe ser mayor a :max kilobytes.',
'string' => 'El texto no debe ser mayor a :max caracteres.',
'array' => 'El contenido no debe tener más de :max elementos.',
],
'mimes' => 'Debe ser un archivo de tipo: :values.',
'mimetypes' => 'Debe ser un archivo de tipo: :values.',
'min' => [
'numeric' => 'El valor debe ser al menos de :min.',
'file' => 'El tamaño del archivo debe ser al menos de :min kilobytes.',
'string' => 'El texto debe ser al menos de :min caracteres.',
'array' => 'El contenido debe tener al menos :min elementos.',
],
'multiple_of' => 'Este valor debe ser múltiplo de :value',
'not_in' => 'El valor seleccionado es inválido.',
'not_regex' => 'Este formato es inválido.',
'numeric' => 'Debe ser un número.',
'password' => 'La contraseña es incorrecta.',
'present' => 'Este campo debe estar presente.',
'regex' => 'Este formato es inválido.',
'required' => 'Este campo es requerido.',
'required_if' => 'Este campo es requerido cuando :other es :value.',
'required_unless' => 'Este campo es requerido a menos que :other esté en :values.',
'required_with' => 'Este campo es requerido cuando :values está presente.',
'required_with_all' => 'Este campo es requerido cuando :values están presentes.',
'required_without' => 'Este campo es requerido cuando :values no está presente.',
'required_without_all' => 'Este campo es requerido cuando ninguno de :values están presentes.',
'same' => 'El valor de este campo debe ser igual a :other.',
'size' => [
'numeric' => 'El valor debe ser :size.',
'file' => 'El tamaño del archivo debe ser de :size kilobytes.',
'string' => 'El texto debe ser de :size caracteres.',
'array' => 'El contenido debe tener :size elementos.',
],
'starts_with' => 'Debe comenzar con alguno de los siguientes valores: :values.',
'string' => 'Debe ser un texto.',
'timezone' => 'Debe ser de una zona horaria válida.',
'unique' => 'Este campo ya ha sido tomado.',
'uploaded' => 'Falló al subir.',
'url' => 'Este formato es inválido.',
'uuid' => 'Debe ser un UUID válido.',
/*
|--------------------------------------------------------------------------
| Custom Validation Language Lines
|--------------------------------------------------------------------------
|
| Here you may specify custom validation messages for attributes using the
| convention "attribute.rule" to name the lines. This makes it quick to
| specify a specific custom language line for a given attribute rule.
|
*/
'custom' => [
'attribute-name' => [
'rule-name' => 'custom-message',
],
],
];

View File

@@ -0,0 +1,17 @@
<?php
/*
|--------------------------------------------------------------------------
| Nova Language Lines
|--------------------------------------------------------------------------
|
| The following language lines contain the default error messages used by
| the validator class. Some of these rules have multiple versions such
| as the size rules. Feel free to tweak each of these messages here.
|
*/
return [
'attached' => 'Este campo ya se adjuntó.',
'relatable' => 'Este campo no se puede asociar con este recurso.',
];

View File

@@ -0,0 +1,17 @@
<?php
/*
|--------------------------------------------------------------------------
| Nova Language Lines
|--------------------------------------------------------------------------
|
| The following language lines contain the default error messages used by
| the validator class. Some of these rules have multiple versions such
| as the size rules. Feel free to tweak each of these messages here.
|
*/
return [
'attached' => 'Este :attribute ya se adjuntó.',
'relatable' => 'Este :attribute no se puede asociar con este recurso',
];

View File

@@ -0,0 +1,240 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Validation Language Lines
|--------------------------------------------------------------------------
|
| The following language lines contain the default error messages used by
| the validator class. Some of these rules have multiple versions such
| as the size rules. Feel free to tweak each of these messages.
|
*/
'accepted' => ':attribute debe ser aceptado.',
'active_url' => ':attribute no es una URL válida.',
'after' => ':attribute debe ser una fecha posterior a :date.',
'after_or_equal' => ':attribute debe ser una fecha posterior o igual a :date.',
'alpha' => ':attribute sólo debe contener letras.',
'alpha_dash' => ':attribute sólo debe contener letras, números, guiones y guiones bajos.',
'alpha_num' => ':attribute sólo debe contener letras y números.',
'array' => ':attribute debe ser un conjunto.',
'before' => ':attribute debe ser una fecha anterior a :date.',
'before_or_equal' => ':attribute debe ser una fecha anterior o igual a :date.',
'between' => [
'numeric' => ':attribute tiene que estar entre :min - :max.',
'file' => ':attribute debe pesar entre :min - :max kilobytes.',
'string' => ':attribute tiene que tener entre :min - :max caracteres.',
'array' => ':attribute tiene que tener entre :min - :max elementos.',
],
'boolean' => 'El campo :attribute debe tener un valor verdadero o falso.',
'confirmed' => 'La confirmación de :attribute no coincide.',
'date' => ':attribute no es una fecha válida.',
'date_equals' => ':attribute debe ser una fecha igual a :date.',
'date_format' => ':attribute no corresponde al formato :format.',
'different' => ':attribute y :other deben ser diferentes.',
'digits' => ':attribute debe tener :digits dígitos.',
'digits_between' => ':attribute debe tener entre :min y :max dígitos.',
'dimensions' => 'Las dimensiones de la imagen :attribute no son válidas.',
'distinct' => 'El campo :attribute contiene un valor duplicado.',
'email' => ':attribute no es un correo válido.',
'ends_with' => 'El campo :attribute debe finalizar con uno de los siguientes valores: :values',
'exists' => ':attribute es inválido.',
'file' => 'El campo :attribute debe ser un archivo.',
'filled' => 'El campo :attribute es obligatorio.',
'gt' => [
'numeric' => 'El campo :attribute debe ser mayor que :value.',
'file' => 'El campo :attribute debe tener más de :value kilobytes.',
'string' => 'El campo :attribute debe tener más de :value caracteres.',
'array' => 'El campo :attribute debe tener más de :value elementos.',
],
'gte' => [
'numeric' => 'El campo :attribute debe ser como mínimo :value.',
'file' => 'El campo :attribute debe tener como mínimo :value kilobytes.',
'string' => 'El campo :attribute debe tener como mínimo :value caracteres.',
'array' => 'El campo :attribute debe tener como mínimo :value elementos.',
],
'image' => ':attribute debe ser una imagen.',
'in' => ':attribute es inválido.',
'in_array' => 'El campo :attribute no existe en :other.',
'integer' => ':attribute debe ser un número entero.',
'ip' => ':attribute debe ser una dirección IP válida.',
'ipv4' => ':attribute debe ser una dirección IPv4 válida.',
'ipv6' => ':attribute debe ser una dirección IPv6 válida.',
'json' => 'El campo :attribute debe ser una cadena JSON válida.',
'lt' => [
'numeric' => 'El campo :attribute debe ser menor que :value.',
'file' => 'El campo :attribute debe tener menos de :value kilobytes.',
'string' => 'El campo :attribute debe tener menos de :value caracteres.',
'array' => 'El campo :attribute debe tener menos de :value elementos.',
],
'lte' => [
'numeric' => 'El campo :attribute debe ser como máximo :value.',
'file' => 'El campo :attribute debe tener como máximo :value kilobytes.',
'string' => 'El campo :attribute debe tener como máximo :value caracteres.',
'array' => 'El campo :attribute debe tener como máximo :value elementos.',
],
'max' => [
'numeric' => ':attribute no debe ser mayor que :max.',
'file' => ':attribute no debe ser mayor que :max kilobytes.',
'string' => ':attribute no debe ser mayor que :max caracteres.',
'array' => ':attribute no debe tener más de :max elementos.',
],
'mimes' => ':attribute debe ser un archivo con formato: :values.',
'mimetypes' => ':attribute debe ser un archivo con formato: :values.',
'min' => [
'numeric' => 'El tamaño de :attribute debe ser de al menos :min.',
'file' => 'El tamaño de :attribute debe ser de al menos :min kilobytes.',
'string' => ':attribute debe contener al menos :min caracteres.',
'array' => ':attribute debe tener al menos :min elementos.',
],
'multiple_of' => 'El campo :attribute debe ser múltiplo de :value',
'not_in' => ':attribute es inválido.',
'not_regex' => 'El formato del campo :attribute no es válido.',
'numeric' => ':attribute debe ser numérico.',
'password' => 'La contraseña es incorrecta.',
'present' => 'El campo :attribute debe estar presente.',
'regex' => 'El formato de :attribute es inválido.',
'required' => 'El campo :attribute es obligatorio.',
'required_if' => 'El campo :attribute es obligatorio cuando :other es :value.',
'required_unless' => 'El campo :attribute es obligatorio a menos que :other esté en :values.',
'required_with' => 'El campo :attribute es obligatorio cuando :values está presente.',
'required_with_all' => 'El campo :attribute es obligatorio cuando :values están presentes.',
'required_without' => 'El campo :attribute es obligatorio cuando :values no está presente.',
'required_without_all' => 'El campo :attribute es obligatorio cuando ninguno de :values está presente.',
'same' => ':attribute y :other deben coincidir.',
'size' => [
'numeric' => 'El tamaño de :attribute debe ser :size.',
'file' => 'El tamaño de :attribute debe ser :size kilobytes.',
'string' => ':attribute debe contener :size caracteres.',
'array' => ':attribute debe contener :size elementos.',
],
'starts_with' => 'El campo :attribute debe comenzar con uno de los siguientes valores: :values',
'string' => 'El campo :attribute debe ser una cadena de caracteres.',
'timezone' => 'El :attribute debe ser una zona válida.',
'unique' => 'El campo :attribute ya ha sido registrado.',
'uploaded' => 'Subir :attribute ha fallado.',
'url' => 'El formato :attribute es inválido.',
'uuid' => 'El campo :attribute debe ser un UUID válido.',
/*
|--------------------------------------------------------------------------
| Custom Validation Language Lines
|--------------------------------------------------------------------------
|
| Here you may specify custom validation messages for attributes using the
| convention "attribute.rule" to name the lines. This makes it quick to
| specify a specific custom language line for a given attribute rule.
|
*/
'custom' => [
'password' => [
'min' => 'La :attribute debe contener más de :min caracteres',
],
'email' => [
'unique' => 'El :attribute ya ha sido registrado.',
],
],
/*
|--------------------------------------------------------------------------
| Custom Validation Attributes
|--------------------------------------------------------------------------
|
| The following language lines are used to swap attribute place-holders
| with something more reader friendly such as E-Mail Address instead
| of "email". This simply helps us make messages a little cleaner.
|
*/
'attributes' => [
'address' => 'dirección',
'age' => 'edad',
'body' => 'contenido',
'city' => 'ciudad',
'content' => 'contenido',
'country' => 'país',
'current_password' => 'contraseña actual',
'date' => 'fecha',
'day' => 'día',
'description' => 'descripción',
'email' => 'correo electrónico',
'excerpt' => 'extracto',
'first_name' => 'nombre',
'gender' => 'género',
'hour' => 'hora',
'last_name' => 'apellido',
'message' => 'mensaje',
'minute' => 'minuto',
'mobile' => 'móvil',
'month' => 'mes',
'name' => 'Nombre',
'password' => 'contraseña',
'password_confirmation' => 'confirmación de la contraseña',
'phone' => 'teléfono',
'price' => 'precio',
'role' => 'rol',
'second' => 'segundo',
'sex' => 'sexo',
'subject' => 'asunto',
'terms' => 'términos',
'time' => 'hora',
'title' => 'título',
'username' => 'usuario',
'year' => 'año',
'category' => 'categoría',
'sell_price' => 'precio de venta',
'subcategory' => 'subcategoria',
'short_description' => 'descripción corta',
'long_description' => 'descripción larga',
'subcategory_id' => 'subcategoria',
'provider_id' => 'proveedor',
'subscription_email' => 'correo electrónico de suscripción',
'surnames' => 'Apellidos',
'payu_card' => 'Tarjeta',
'payu_cvc' => 'Codigo CVC',
'payu_month' => 'Mes',
'payu_year' => 'Año',
'payu_name' => 'Nombre y Apellido',
'payu_email' => 'Correo electrónico',
'type' => 'modulo',
'file' => 'imagen',
'ask' => 'pregunta',
'answer' => 'respuesta',
'policy' => 'política',
'information' => 'información',
'module_abrevius' => 'módulo',
'status' => 'estado',
'project' => 'nombre proyecto',
'user_name' => 'nombre de usuario',
'company_name' => 'Razón social',
'contact_name' => 'nombre de contacto',
'office_number' => 'teléfono',
'phone_number' => 'celular',
'street' => 'calle y número',
'village' => 'colonia',
'company_sector' => 'giro de empresa',
'legal_agent' => 'representante legal',
'country_id' => 'pais',
'confirm_password' => 'confirmar contraseña',
'full_name' => 'nombre',
'mother_last_name' => 'apellido materno',
'position' => 'puesto',
'specific_occupation_id' => 'ocupación específica',
'blood_type' => 'tipo de sangre',
'company_id' => 'empresa',
'user_type' => 'tipo de usuario',
'assigned_amount' => 'monto asignado',
'coadmin_company_id' => 'Administrador',
'nfc_type' => 'Tipo de NFC',
'nfc_following' => 'Numeros siguientes del NFC',
'nfc_expiration' => 'Fecha de vencimiento',
'nfc_amount' => 'Cantidad de comprobantes',
'nfc_next' => 'Próximo NFC a emitir',
'nfc_select' => 'Estado de NFC',
'g-recaptcha-response' => 'reCAPTCHA'
],
];

View File

@@ -1,64 +1,549 @@
@extends('backend.layouts.blank') <!DOCTYPE html>
<html lang="en">
@section('content') <head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>La Pieza.DO | Todo lo que buscas!</title>
<!-- Font Awesome Style Link -->
<link rel="stylesheet" href="{{ static_asset('assets/registrocomercio/css/icofont.min.css') }}">
<!-- Owl-Carousel Style Link -->
<link rel="stylesheet" href="{{ static_asset('assets/registrocomercio/css/owl.carousel.min.css') }}">
<!-- Bootstrap Style Link -->
<link rel="stylesheet" href="{{ static_asset('assets/registrocomercio/css/bootstrap.min.css') }}">
<!-- Aos Style Link -->
<link rel="stylesheet" href="{{ static_asset('assets/registrocomercio/css/aos.css') }}">
<!-- Custom Style Link -->
<link rel="stylesheet" href="{{ static_asset('assets/registrocomercio/css/style.css') }}">
<!-- Responsive Style Link -->
<link rel="stylesheet" href="{{ static_asset('assets/registrocomercio/css/responsive.css') }}">
<!-- Favicon -->
<link rel="shortcut icon" href="{{ static_asset('assets/registrocomercio/img/favicon.png') }}" type="image/x-icon">
{{-- <link rel="stylesheet" href="{{ static_asset('assets/registrocomercio/style.css') }}"> --}}
<div class="h-100 bg-cover bg-center py-5 d-flex align-items-center" style="background-image: url({{ uploaded_asset(get_setting('admin_login_background')) }})"> </head>
<body>
<!-- Page-wrapper-Start -->
<div class="page_wrapper">
<!-- Preloader -->
<div id="preloader">
<div id="loader"></div>
</div>
<!-- Header Start -->
<!-- Banner-Section-Start -->
<section class="banner_section">
<!-- hero bg -->
<div class="hero_bg"> <img src="{{ static_asset('assets/registrocomercio/images/hero-bg.png') }}" alt="image"> </div>
<!-- container start -->
<div class="container"> <div class="container">
<!-- row start -->
<div class="row"> <div class="row">
<div class="col-lg-6 col-xl-4 mx-auto"> <div class="col-lg-6 col-md-12" data-aos="fade-right" data-aos-duration="1500">
<div class="card text-left"> <!-- banner text -->
<div class="card-header">{{ translate('Create a New Account') }}</div> <div class="banner_text">
<div class="card-body"> <!-- h1 -->
<form method="POST" action="{{ route('register') }}"> <h1> Bienvenido a <br><span style="color: black;">La Pieza.<span
@csrf style="color: #E63108;">DO</span></span></h1>
<!-- p -->
<p style="color: black;"><span style="color: #003b73;">Vende, factura, organiza tu
inventario y recibe pagos en línea.</span>Tenemos las herramientas para que tu
negocio crezca.
</p>
</div>
<div class="trial_box">
<!-- form -->
<form action="" data-aos="fade-in" data-aos-duration="1500"
data-aos-delay="100">
<!-- <div class="form-group">
<input type="email" class="form-control" placeholder="Enter your email">
</div> -->
<div class="form-group"> <div class="form-group">
<input id="name" type="text" class="form-control{{ $errors->has('name') ? ' is-invalid' : '' }}" name="name" value="{{ old('name') }}" required autofocus placeholder="{{ translate('Full Name') }}"> <a href="{{ route('shop.view.account.type') }}" class="btn">COMIENZA AQUI!</a>
@if ($errors->has('name'))
<span class="invalid-feedback" role="alert">
<strong>{{ $errors->first('name') }}</strong>
</span>
@endif
</div> </div>
<div class="form-group">
<input id="password" type="password" class="form-control{{ $errors->has('password') ? ' is-invalid' : '' }}" name="password" required placeholder="{{ translate('password') }}">
@if ($errors->has('password'))
<span class="invalid-feedback" role="alert">
<strong>{{ $errors->first('password') }}</strong>
</span>
@endif
</div>
<div class="form-group">
<input id="email" type="email" class="form-control{{ $errors->has('email') ? ' is-invalid' : '' }}" name="email" value="{{ old('email') }}" required placeholder="{{ translate('Email') }}">
@if ($errors->has('email'))
<span class="invalid-feedback" role="alert">
<strong>{{ $errors->first('email') }}</strong>
</span>
@endif
</div>
<div class="form-group">
<input id="password-confirm" type="password" class="form-control" name="password_confirmation" required placeholder="{{ translate('Confrim Password') }}">
</div>
<div class="checkbox pad-btm text-left">
<input id="demo-form-checkbox" class="magic-checkbox" type="checkbox" required>
<label for="demo-form-checkbox">{{translate('I agree with the Terms and Conditions')}}</label>
</div>
<button type="submit" class="btn btn-primary btn-lg btn-block">
{{ translate('Register') }}
</button>
</form> </form>
<div class="mt-3">
{{translate('Already have an account')}} ? <a href="{{route('login')}}" class="btn-link mar-rgt text-bold">{{translate('Sign In')}}</a>
</div> </div>
</div>
</div>
</div>
</div>
</div>
</div>
@endsection <!-- list -->
<div class="trial_box_list">
<ul>
<li><i class="icofont-check-circled"></i> Registrate Gratis!</li>
</ul>
</div>
</div>
<!-- banner images start -->
<div class="col-lg-3 col-md-6" data-aos="fade-in" data-aos-duration="1500">
<div class="banner_images image_box1">
<span class="banner_image1"> <img class="moving_position_animatin"
src="{{ static_asset('assets/registrocomercio/images/bannerimage1.png') }}" alt="image"> </span>
<span class="banner_image2"> <img class="moving_animation" src="{{ static_asset('assets/registrocomercio/images/bannerimage2.png') }} "
alt="image"> </span>
</div>
</div>
<div class="col-lg-3 col-md-6" data-aos="fade-in" data-aos-duration="1500">
<div class="banner_images image_box2">
<span class="banner_image3"> <img class="moving_animation" src="{{ static_asset('assets/registrocomercio/images/bannerimage3.png') }} "
alt="image"> </span>
<span class="banner_image4"> <img class="moving_position_animatin"
src="{{ static_asset('assets/registrocomercio/images/bannerimage4.png') }} " alt="image"> </span>
</div>
</div>
<!-- banner slides end -->
</div>
<!-- row end -->
</div>
<!-- container end -->
</section>
<!-- Banner-Section-end -->
<!-- Features-Section-Start -->
<section class="row_am features_section" id="features">
<!-- section bg -->
<div class="feature_section_bg"> <img src="{{ static_asset('assets/registrocomercio/images/hero-red-bg.png') }} " alt="image"> </div>
<!-- container start -->
<div class="container">
<div class="features_inner">
<!-- feature image -->
<div class="section_title" data-aos="fade-up" data-aos-duration="1500" data-aos-delay="300">
<!-- h2 -->
<h2 style="color:#003b73"><span style="color: black;">Lo</span style="color: #003b73;"> que hace
de <span style="color: black;">La Pieza.<span style="color: #E63108;">DO</span></span><br>
una opción única!</h2>
<!-- p -->
<p>Maneja tu inventario, recibe pagos, factura y vende en linea<br> de la manera segura y
efectiva.</p>
</div>
<!-- story -->
<div class="features_block">
<div class="row">
<div class="col-md-3">
<div class="feature_box" data-aos="fade-up" data-aos-duration="1500">
<div class="image">
<img src="{{ static_asset('assets/registrocomercio/images/secure_data.png') }} " alt="image">
</div>
<div class="text">
<h4>Datos Seguros</h4>
<p>Contamos con los estándares internacionales de seguridad y SSL.</p>
</div>
</div>
</div>
<div class="col-md-3">
<div class="feature_box" data-aos="fade-up" data-aos-duration="1700">
<div class="image">
<img src="{{ static_asset('assets/registrocomercio/images/functional.png') }} " alt="image">
</div>
<div class="text">
<h4>Automatización de Servicios</h4>
<p>Simple para vender, simple para ganar, Todo automatizado.</p>
</div>
</div>
</div>
<div class="col-md-3">
<div class="feature_box" data-aos="fade-up" data-aos-duration="1900">
<div class="image">
<img src="{{ static_asset('assets/registrocomercio/images/live-chat.png') }} " alt="image">
</div>
<div class="text">
<h4>Inteligencia Artificial</h4>
<p>Para conocer el comportamiento de compra de tus clientes y ofrecerles lo
mejor.</p>
</div>
</div>
</div>
<div class="col-md-3">
<div class="feature_box" data-aos="fade-up" data-aos-duration="1900">
<div class="image">
<img src="{{ static_asset('assets/registrocomercio/images/support.png') }} " alt="image">
</div>
<div class="text">
<h4>Tu inventario en linea</h4>
<p>Te ayudamos a organizar tu inventario, ponerlo en línea y a vender!.</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- container end -->
</section>
<!-- Features-Section-end -->
<!-- About-App-Section-Start -->
<section class="row_am about_app_section">
<!-- container start -->
<div class="container">
<!-- row start -->
<div class="row">
<div class="col-lg-6">
<!-- about images -->
<!-- <div class="about_img" data-aos="fade-in" data-aos-duration="1500">
<div class="frame_img">
<img class="moving_position_animatin" src="{{ static_asset('assets/registrocomercio/images/about-frame.png') }} " alt="image" >
</div>
<div class="screen_img">
<img class="moving_animation" src="{{ static_asset('assets/registrocomercio/images/about-screen.png') }} " alt="image" >
</div>
</div> -->
</div>
<div class="col-lg-6">
<!-- about text -->
</div>
</div>
<!-- row end -->
</div>
<!-- container end -->
</section>
<!-- About-App-Section-end -->
<!-- ModernUI-Section-Start -->
<section class="row_am modern_ui_section">
<!-- section bg -->
<div class="modernui_section_bg"> <img src="{{ static_asset('assets/registrocomercio/images/hero-bg.png') }} " alt="image"> </div>
<!-- container start -->
<div class="container">
<!-- row start -->
<div class="row">
<div class="col-lg-6">
<!-- UI content -->
<div class="ui_text">
<div class="section_title" data-aos="fade-up" data-aos-duration="1500"
data-aos-delay="100">
<h2>Diseño moderno<br> <span style="color: #003b73">y pensado para ti!</span></h2>
<p>
Nuestra misión es que tengas una herramienta que te permita realizar tus ventas de
forma rápida y segura y súper fácil de usar.
</p>
</div>
<ul class="design_block">
<li data-aos="fade-up" data-aos-duration="1500">
<h4>Fácil Acceso</h4>
<p>Solo tienes que poner tu email, teléfono, facebook o instagram, tu contraseña y
¡listo!.</p>
</li>
<li data-aos="fade-up" data-aos-duration="1500">
<h4>Sincronice con su sistema en la computadora</h4>
<p>Cuando estés en línea, todo se sincroniza en tu computadora, para que puedas
acceder a tu negocio desde cualquier lugar.</p>
</li>
<li data-aos="fade-up" data-aos-duration="1500">
<h4>Tu inventario a la mano</h4>
<p>Tenemos la gestión de inventario para ti desde tu móvil o computadora, todo con
un solo clic.</p>
</li>
</ul>
</div>
</div>
<div class="col-lg-6">
<!-- UI Image -->
<div class="ui_images" data-aos="fade-in" data-aos-duration="1500">
<div class="left_img">
<img class="moving_position_animatin" src="{{ static_asset('assets/registrocomercio/images/modern01.png') }} " alt="image">
</div>
<!-- UI Image -->
<div class="right_img">
<img class="moving_position_animatin" src="{{ static_asset('assets/registrocomercio/images/shield_icon.png') }} " alt="image">
<img class="moving_position_animatin" src="{{ static_asset('assets/registrocomercio/images/modern02.png') }} " alt="image">
<img class="moving_position_animatin" src="{{ static_asset('assets/registrocomercio/images/modern03.png') }} " alt="image">
</div>
</div>
</div>
</div>
<!-- row end -->
</div>
<!-- container end -->
</section>
<!-- ModernUI-Section-end -->
<!-- How-It-Workes-Section-Start -->
<section class="row_am how_it_works" id="how_it_work">
<!-- section bg -->
<div class="how_section_bg"> <img src="{{ static_asset('assets/registrocomercio/images/hero-red-bg.png') }} " alt="image"> </div>
<!-- container start -->
<div class="container">
<div class="how_it_inner">
<div class="section_title" data-aos="fade-up" data-aos-duration="1500" data-aos-delay="300">
<!-- h2 -->
<h2><span style="color: #003b73">Cómo funciona <span style="color: black;">La Pieza.<span
style="color: #E63108;">DO</span></span> en 3 sencillos pasos</h2>
<!-- p -->
<p>Usar <span style="color: black;">La Pieza.<span style="color: #E63108;">DO</span> es súper
fácil, solo sigue estos pasos.</p>
</div>
<div class="step_block">
<!-- UL -->
<ul>
<!-- step -->
<li>
<div class="step_text" data-aos="fade-right" data-aos-duration="1500">
<h4>Descarga la app</h4>
<div class="app_icon">
<a href="#"><i class="icofont-brand-android-robot"></i></a>
<a href="#"><i class="icofont-brand-apple"></i></a>
</div>
<p>Descarga la App en Google Play o Play Store</p>
</div>
<div class="step_number number1">
<h3>01</h3>
</div>
<div class="step_img" data-aos="fade-left" data-aos-duration="1500">
<img src="{{ static_asset('assets/registrocomercio/images/download_app.jpg') }} " alt="image">
</div>
</li>
<!-- step -->
<li>
<div class="step_text" data-aos="fade-left" data-aos-duration="1500">
<h4>Registrate y crea una cuenta</h4>
<span>Totalmente Gratis!</span>
<p>Inicia sesión en la aplicación o en tu computadora. Una cuenta para todos los
dispositivos.</p>
</div>
<div class="step_number number2">
<h3>02</h3>
</div>
<div class="step_img" data-aos="fade-right" data-aos-duration="1500">
<img src="{{ static_asset('assets/registrocomercio/images/create_account.jpg') }} " alt="image">
</div>
</li>
<!-- step -->
<li>
<div class="step_text" data-aos="fade-right" data-aos-duration="1500">
<h4>Todo listo disfruta la app!</h4>
<span>Si tienes alguna pregunta visita <a href="#">FAQs.</a></span>
<p>Obten la experiencia más increíble. <br> Explora y comparte la app.</p>
</div>
<div class="step_number number3">
<h3>03</h3>
</div>
<div class="step_img" data-aos="fade-left" data-aos-duration="1500">
<img src="{{ static_asset('assets/registrocomercio/images/enjoy_app.jpg') }} " alt="image">
</div>
</li>
</ul>
</div>
</div>
</div>
<!-- container end -->
</section>
<!-- FAQ-Section start -->
<section class="row_am faq_section">
<!-- section bg -->
<div class="faq_bg"> <img src="{{ static_asset('assets/registrocomercio/images/hero-bg.png') }} " alt="image"> </div>
<!-- container start -->
<div class="container">
<div class="section_title" data-aos="fade-up" data-aos-duration="1500" data-aos-delay="300">
<!-- h2 -->
<h2><span>FAQ</span> - Preguntas Frecuentes</h2>
<!-- p -->
<p>Aqui tenemos todas las respuestas a tus preguntas con respecto al uso de <span
style="color: black;">La Pieza.<span style="color: #E63108;">DO</span></span>. Aquí podrás
encontrar respuestas rápidas para que puedas utilizar la aplicación.</p>
</div>
<!-- faq data -->
<div class="faq_panel">
<div class="accordion" id="accordionExample">
<div class="card" data-aos="fade-up" data-aos-duration="1500">
<div class="card-header" id="headingOne">
<h2 class="mb-0">
<button type="button" class="btn btn-link active" data-toggle="collapse"
data-target="#collapseOne">
<i class="icon_faq icofont-plus"></i></i> Cómo puedo subir mi
inventario?</button>
</h2>
</div>
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne"
data-parent="#accordionExample">
<div class="card-body">
<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry lorem
Ipsum has. been the
industrys standard dummy text ever since the when an unknown printer took a
galley of type and
scrambled it to make a type specimen book. It has survived not only five cen
turies but also the
leap into electronic typesetting, remaining essentially unchanged.</p>
</div>
</div>
</div>
<div class="card" data-aos="fade-up" data-aos-duration="1500">
<div class="card-header" id="headingTwo">
<h2 class="mb-0">
<button type="button" class="btn btn-link collapsed" data-toggle="collapse"
data-target="#collapseTwo"><i class="icon_faq icofont-plus"></i></i> Cómo
configuro mi cuenta ?</button>
</h2>
</div>
<div id="collapseTwo" class="collapse" aria-labelledby="headingTwo"
data-parent="#accordionExample">
<div class="card-body">
<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry lorem
Ipsum has. been the
industrys standard dummy text ever since the when an unknown printer took a
galley of type and
scrambled it to make a type specimen book. It has survived not only five cen
turies but also the
leap into electronic typesetting, remaining essentially unchanged.</p>
</div>
</div>
</div>
<div class="card" data-aos="fade-up" data-aos-duration="1500">
<div class="card-header" id="headingThree">
<h2 class="mb-0">
<button type="button" class="btn btn-link collapsed" data-toggle="collapse"
data-target="#collapseThree"><i class="icon_faq icofont-plus"></i></i>Cuál es
el proceso para solicitar un reembolso
?</button>
</h2>
</div>
<div id="collapseThree" class="collapse" aria-labelledby="headingThree"
data-parent="#accordionExample">
<div class="card-body">
<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry lorem
Ipsum has. been the
industrys standard dummy text ever since the when an unknown printer took a
galley of type and
scrambled it to make a type specimen book. It has survived not only five cen
turies but also the
leap into electronic typesetting, remaining essentially unchanged.</p>
</div>
</div>
</div>
<div class="card" data-aos="fade-up" data-aos-duration="1500">
<div class="card-header" id="headingFour">
<h2 class="mb-0">
<button type="button" class="btn btn-link collapsed" data-toggle="collapse"
data-target="#collapseFour"><i class="icon_faq icofont-plus"></i></i>Como
registro mis productos
?</button>
</h2>
</div>
<div id="collapseFour" class="collapse" aria-labelledby="headingFour"
data-parent="#accordionExample">
<div class="card-body">
<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry lorem
Ipsum has. been the
industrys standard dummy text ever since the when an unknown printer took a
galley of type and
scrambled it to make a type specimen book. It has survived not only five cen
turies but also the
leap into electronic typesetting, remaining essentially unchanged.</p>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- container end -->
</section>
<!-- FAQ-Section end -->
<section class="row_am free_app_section" id="getstarted">
<!-- container start -->
<div class="container">
<div class="free_app_inner" data-aos="fade-in" data-aos-duration="1500" data-aos-delay="100">
<!-- row start -->
<div class="row">
<!-- content -->
<div class="col-md-6">
<div class="free_text">
<div class="section_title">
<h2>Descargala grátis para Android y Apple</h2>
<p>Descarga nuestra app y sácale provecho a tu negocio en línea. Registrate y
descubre lo nuevo que tenemos para ti.</p>
</div>
<ul class="app_btn">
<li>
<a href="#">
<img src="{{ static_asset('assets/registrocomercio/images/appstore_blue.png') }} " alt="image">
</a>
</li>
<li>
<a href="#">
<img src="{{ static_asset('assets/registrocomercio/images/googleplay_blue.png') }} " alt="image">
</a>
</li>
</ul>
</div>
</div>
<!-- images -->
<div class="col-md-6">
<div class="free_img">
<img src="{{ static_asset('assets/registrocomercio/images/download-screen01.png') }} " alt="image">
<img class="mobile_mockup" src="{{ static_asset('assets/registrocomercio/images/download-screen02.png') }} " alt="image">
</div>
</div>
</div>
<!-- row end -->
</div>
</div>
<!-- container end -->
</section>
<!-- Download-Free-App-section-end -->
<!-- Story-Section-Start -->
<footer>
<!-- go top button -->
<div class="go_top">
<span><img src="{{ static_asset('assets/registrocomercio/images/go_top.png') }} " alt="image"></span>
</div>
</footer>
<!-- Footer-Section end -->
<!-- VIDEO MODAL -->
<div class="purple_backdrop"></div>
</div>
<!-- Page-wrapper-End -->
<!-- Jquery-js-Link -->
<script src="{{ static_asset('assets/registrocomercio/js/jquery.js') }}"></script>
<!-- owl-js-Link -->
<script src="{{ static_asset('assets/registrocomercio/js/owl.carousel.min.js') }}"></script>
<!-- bootstrap-js-Link -->
<script src="{{ static_asset('assets/registrocomercio/js/bootstrap.min.js') }}"></script>
<!-- aos-js-Link -->
<script src="{{ static_asset('assets/registrocomercio/js/aos.js') }}"></script>
<!-- main-js-Link -->
<script src="{{ static_asset('assets/registrocomercio/js/main.js') }}"></script>
</body>
</html>

View File

@@ -1,4 +1,4 @@
<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#e8ebef"> {{-- <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#e8ebef">
@php @php
$logo = get_setting('header_logo'); $logo = get_setting('header_logo');
@endphp @endphp
@@ -73,4 +73,4 @@
<!-- END Container --> <!-- END Container -->
</td> </td>
</tr> </tr>
</table> </table> --}}

View File

@@ -0,0 +1,156 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="color-scheme" content="light">
<meta name="supported-color-schemes" content="light">
<style>
@media only screen and (max-width: 600px) {
.inner-body {
width: 100% !important;
}
.footer {
width: 100% !important;
}
}
@media only screen and (max-width: 500px) {
.button {
width: 100% !important;
}
}
</style>
</head>
<body>
<table class="wrapper" width="100%" cellpadding="0" cellspacing="0" role="presentation">
<tr>
<td align="center">
<table class="content" width="100%" cellpadding="0" cellspacing="0" role="presentation">
@props(['url'])
<tr>
<td class="header">
<a href="{{-- $url --}}" style="display: inline-block;">
{{-- <img src="https://laravel.com/img/notification-logo.png" class="logo" alt="Laravel Logo"> --}}
{{-- <img src="{{ \Illuminate\Support\Facades\Storage::url($system_email->cover->url) }}" class="logo" alt="Abrevius Logo"> --}}
</a>
</td>
</tr>
<!-- Email Body -->
<tr>
<td class="body" width="100%" cellpadding="0" cellspacing="0" style="border: hidden !important;">
<table class="inner-body" align="center" width="570" cellpadding="0" cellspacing="0" role="presentation">
<!-- Body content -->
<tr>
<td class="content-cell">
{{-- VERIFICACION DE CUENTA --}}
<table class="action" align="center" width="100%" cellpadding="0" cellspacing="0" role="presentation">
<tr>
<td align="center">
<table width="100%" border="0" cellpadding="0" cellspacing="0" role="presentation">
<tr>
<td align="center">
<table border="0" cellpadding="0" cellspacing="0" role="presentation">
<tr>
<td style="font-size: 18px;">
<a href="{{ route('verification.verify', ['id' => $user->id, 'hash' => $user->confirmation_code]) }}" class="button button-primary" target="_blank" rel="noopener">Confirme su dirección de correo electrónico</a>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellpadding="0" cellspacing="0" role="presentation">
<tr>
<td style="font-size: 18px;">
Si no creó una cuenta, no se requiere ninguna otra acción.
</td>
</tr>
<tr>
<td style="font-size: 18px; height: 20px;">&nbsp;</td>
</tr>
<tr>
<td style="font-size: 18px;">
Saludos,
</td>
</tr>
<tr>
<td style="font-size: 18px;">
{{ config('app.name') }}
</td>
</tr>
</table>
<table class="subcopy" width="100%" cellpadding="0" cellspacing="0" role="presentation">
<tr>
<td style="font-size: 18px; height: 20px;">&nbsp;</td>
</tr>
<tr>
<td style="font-size: 15px;">
Si tiene problemas para hacer clic en el botón "Dirección verificación de correo electrónico", copie y pegue la URL a continuación en su navegador web: {{ url('verify/' . $user->confirmation_code) }}
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table class="footer" align="center" width="570" cellpadding="0" cellspacing="0" role="presentation">
<tr>
<td class="content-cell" align="center">
© {{ date('Y') }} {{ config('app.name') }}. @lang('All rights reserved.')
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>

View File

@@ -241,7 +241,7 @@
<li class="mb-2"> <li class="mb-2">
<p class="fs-13 text-soft-light mb-0"> <p class="fs-13 text-soft-light mb-0">
{{ translate('Conviertete en Delivery') }} {{ translate('Conviertete en Delivery') }}
<a target="_blank" href="{{ route('shop.view.index') }}{{-- {{ route('shops.create') }} --}}" class="fs-13 fw-700 animate-underline-white text-white ml-2 btn btn-primary-lapieza">{{ translate('Apply Now') }}</a> <a target="_blank" href="{{ route('register') }}{{-- {{ route('shops.create') }} --}}" class="fs-13 fw-700 animate-underline-white text-white ml-2 btn btn-primary-lapieza">{{ translate('Apply Now') }}</a>
</p> </p>
</li> </li>
@guest @guest
@@ -276,7 +276,7 @@
<li class="mb-2"> <li class="mb-2">
<p class="fs-13 text-soft-light mb-0"> <p class="fs-13 text-soft-light mb-0">
{{ translate('Become A Seller') }} {{ translate('Become A Seller') }}
<a target="_blank" href="{{ route('shop.view.index') }}{{-- {{ route('shops.create') }} --}}" class="fs-13 fw-700 text-white animate-underline-white ml-2 btn btn-primary-lapieza">{{ translate('Apply Now') }}</a> <a target="_blank" href="{{ route('register') }}{{-- {{ route('shops.create') }} --}}" class="fs-13 fw-700 text-white animate-underline-white ml-2 btn btn-primary-lapieza">{{ translate('Apply Now') }}</a>
</p> </p>
</li> </li>
@guest @guest

View File

@@ -331,7 +331,7 @@
</svg> </svg>
</span> </span>
<a href="{{ route('user.login') }}" class="text-white hov-opacity-100 hov-text-primary fs-12 d-inline-block border-right border-soft-light border-width-2 pr-2 ml-3">{{ translate('Login')}}</a> <a href="{{ route('user.login') }}" class="text-white hov-opacity-100 hov-text-primary fs-12 d-inline-block border-right border-soft-light border-width-2 pr-2 ml-3">{{ translate('Login')}}</a>
<a href="http://clientes.lapieza.net" class="text-white hov-opacity-100 hov-text-primary fs-12 d-inline-block py-2 pl-2">{{ translate('Registration')}}</a> <a href="{{ route('register') }}" class="text-white hov-opacity-100 hov-text-primary fs-12 d-inline-block py-2 pl-2">{{ translate('Registration')}}</a>
</span> </span>
@endauth @endauth
</div> </div>
@@ -546,7 +546,7 @@
</svg> </svg>
</span> </span>
<a href="{{ route('user.login') }}" class="text-reset opacity-60 hov-opacity-100 hov-text-primary fs-12 d-inline-block border-right border-soft-light border-width-2 pr-2 ml-3">{{ translate('Login')}}</a> <a href="{{ route('user.login') }}" class="text-reset opacity-60 hov-opacity-100 hov-text-primary fs-12 d-inline-block border-right border-soft-light border-width-2 pr-2 ml-3">{{ translate('Login')}}</a>
<a href="{{ route('user.registration') }}" class="text-reset opacity-60 hov-opacity-100 hov-text-primary fs-12 d-inline-block py-2 pl-2">{{ translate('Registration')}}</a> <a href="{{ route('register') }}" class="text-reset opacity-60 hov-opacity-100 hov-text-primary fs-12 d-inline-block py-2 pl-2">{{ translate('Registration')}}</a>
</span> </span>
@endauth @endauth
<hr> <hr>

View File

@@ -85,7 +85,7 @@
<!-- Register Now --> <!-- Register Now -->
<div class="text-center mb-3"> <div class="text-center mb-3">
<p class="text-muted mb-0">{{ translate('Dont have an account?') }}</p> <p class="text-muted mb-0">{{ translate('Dont have an account?') }}</p>
<a href="{{ route('user.registration') }}">{{ translate('Register Now') }}</a> <a href="{{ route('register') }}">{{ translate('Register Now') }}</a>
</div> </div>
<!-- Social Login --> <!-- Social Login -->

View File

@@ -10,7 +10,7 @@
@guest @guest
<p class="fs-14 fw-400 mb-0 px-3 px-sm-4 mt-3"><a <p class="fs-14 fw-400 mb-0 px-3 px-sm-4 mt-3"><a
href="{{ route('user.login') }}">{{ translate('Login') }}</a> or <a class="mr-1" href="{{ route('user.login') }}">{{ translate('Login') }}</a> or <a class="mr-1"
href="{{ route('user.registration') }}">{{ translate('Register ') }}</a>{{ translate(' to submit your questions to seller') }} href="{{ route('register') }}">{{ translate('Register ') }}</a>{{ translate(' to submit your questions to seller') }}
</p> </p>
@endguest @endguest

View File

@@ -1,4 +1,4 @@
<php lang="en"> <html lang="en">
<head> <head>
<!-- Required meta tags --> <!-- Required meta tags -->
@@ -54,25 +54,32 @@
</div> </div>
<div class="container-md"> <div class="container-md">
<div class="row"> <div class="row">
<div class="col-lg-7 offset-lg-5 p-sm-0"> <div class="col-lg-12 offset-lg-5 p-sm-0">
<div class="ugf-content pt340"> <div class="ugf-content pt340">
<h2>Vamos! <span>Únete a nuestra plataforma</span></h2> <h2>Vamos! <span>Únete a nuestra plataforma</span></h2>
<p>Selecciona el tipo de cuenta</p> <p>Selecciona el tipo de cuenta</p>
<div class="account-category"> <div class="account-category">
<a data-type="customer" href="javascript:void(0)" class="account-type personal"> <a href="{{ route('register.buyer.index') }}" class="account-type">
<span class="account-icon"><img <span class="account-icon"><img
src="{{ static_asset('assets/registrocomercio/registro-form/assets/images/account-personal.png') }}" src="{{ static_asset('assets/registrocomercio/registro-form/assets/images/account-personal.png') }}"
alt=""></span> alt=""></span>
<p>Comprador </p> <p>Comprador </p>
<span class="icon"><i class="las la-arrow-right"></i></span> <span class="icon"><i class="las la-arrow-right"></i></span>
</a> </a>
<a data-type="seller" href="javascript:void(0)" class="account-type business"> <a href="{{ route('business.index') }}" class="account-type">
<span class="account-icon"><img <span class="account-icon"><img
src="{{ static_asset('assets/registrocomercio/registro-form/assets/images/account-business.png') }}" src="{{ static_asset('assets/registrocomercio/registro-form/assets/images/account-business.png') }}"
alt=""></span> alt=""></span>
<p>Negocio </p> <p>Negocio </p>
<span class="icon"><i class="las la-arrow-right"></i></span> <span class="icon"><i class="las la-arrow-right"></i></span>
</a> </a>
<a href="{{ route('workshop.index') }}" class="account-type ">
<span class="account-icon"><img
src="{{ static_asset('assets/registrocomercio/registro-form/assets/images/casa.png') }}"
alt=""></span>
<p>Taller </p>
<span class="icon"><i class="las la-arrow-right"></i></span>
</a>
</div> </div>
</div> </div>
</div> </div>
@@ -110,28 +117,8 @@
<script href="{{ static_asset('assets/registrocomercio/registro-form/assets/js/custom.js') }}"></script> <script href="{{ static_asset('assets/registrocomercio/registro-form/assets/js/custom.js') }}"></script>
</body> </body>
</php> </html>
<script> <script>
// Esperar a que el documento esté listo
$(document).ready(function() {
console.log("listo");
$('.account-type').click(function(e) {
var account_type = $(this).data('type')
if (account_type) {
localStorage.setItem("account_type", account_type);
window.location.href = "{{ route('shop.view.register.email') }}";
} else {
}
});
});
</script> </script>

View File

@@ -875,6 +875,7 @@
line-height: 60px; line-height: 60px;
} }
@media all and (max-width: 1600px) { @media all and (max-width: 1600px) {
.logo { .logo {
top: 50px; top: 50px;
@@ -901,7 +902,7 @@
} }
.ugf-content.pt270 { .ugf-content.pt270 {
padding-top: 180px; padding-top: 120px;
} }
.ugf-content.pt340 { .ugf-content.pt340 {
padding-top: 250px; padding-top: 250px;
@@ -966,6 +967,10 @@
.resend-code { .resend-code {
margin-bottom: 100px; margin-bottom: 100px;
} }
.ugf-content.pt270 {
padding-top: 120px;
}
} }
@media all and (max-width: 767px) { @media all and (max-width: 767px) {
.ugf-wrapper .ugf-content-block .logo { .ugf-wrapper .ugf-content-block .logo {

View File

@@ -0,0 +1,337 @@
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>La Pieza.DO | Registro</title>
<!-- Bootstrap CSS -->
<link rel="stylesheet"
href="{{ static_asset('assets/registrocomercio/registro-form/assets/css/bootstrap.min.css') }}">
<!-- External Css -->
<link rel="stylesheet"
href="{{ static_asset('assets/registrocomercio/registro-form/assets/css/line-awesome.min.css') }}">
<link rel="stylesheet"
href="{{ static_asset('assets/registrocomercio/registro-form/assets/css/owl.carousel.min.css') }}" />
<link rel="stylesheet"
href="https://maxst.icons8.com/vue-static/landings/line-awesome/font-awesome-line-awesome/css/all.min.css">
<link rel="stylesheet"
href="https://maxst.icons8.com/vue-static/landings/line-awesome/line-awesome/1.3.0/css/line-awesome.min.css">
<!-- Custom Css -->
<link rel="stylesheet" type="text/css"
href="{{ static_asset('assets/registrocomercio/registro-form/assets/css/main.css') }}">
<link rel="stylesheet" type="text/css"
href="{{ static_asset('assets/registrocomercio/registro-form/assets/css/theme-1.css') }}">
<!-- Fonts -->
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap" rel="stylesheet">
<!-- Favicon -->
<link rel="icon"
href="{{ static_asset('assets/registrocomercio/registro-form/assets/images/favicon.png') }}">
<link rel="apple-touch-icon"
href="{{ static_asset('assets/registrocomercio/registro-form/assets/images/apple-touch-icon.png') }}">
<link rel="apple-touch-icon" sizes="72x72"
href="{{ static_asset('assets/registrocomercio/registro-form/assets/images/icon-72x72.png') }}">
<link rel="apple-touch-icon" sizes="114x114"
href="{{ static_asset('assets/registrocomercio/registro-form/assets/images/icon-114x114.png') }}">
<style>
/*social icon colored*/
ul.social a {
display: inline-block;
width: 36px;
height: 36px;
border-radius: 50em;
line-height: 43px;
text-align: center;
font-size: 18px;
background-color: #d5d5df;
}
ul.social-md a {
display: inline-block;
width: 20px;
height: 20px;
border-radius: 50em;
line-height: 22px;
text-align: center;
font-size: 13px;
background-color: #d5d5df;
}
ul.social a:hover {
-webkit-transform: translateY(-3px);
transform: translateY(-3px);
}
ul.social i {
color: #171727;
font-size: 24px;
font-weight: 700;
}
ul.social a:hover i{
color: #fff;
}
ul.social.colored i {
color: #fff;
}
ul.social [class*="facebook"]:hover,
ul.social.colored [class*="facebook"] {
background-color: #3b5998;
}
ul.social [class*="twitter"]:hover,
ul.social.colored [class*="twitter"] {
background-color: #1da1f2;
}
ul.social [class*="google"]:hover,
ul.social.colored [class*="google"] {
background-color: #e62833;
}
ul.social.colored [class*="apple"] {
background-color: #141414;
}
ul.social [class*="youtube"]:hover,
ul.social.colored [class*="youtube"] {
background-color: #ff0000;
}
ul.social [class*="instagram"]:hover,
ul.social.colored [class*="instagram"] {
background-color: #bd32a2;
}
ul.social [class*="tripadvisor"]:hover,
ul.social.colored [class*="tripadvisor"] {
background-color: #32da9d;
}
ul.social [class*="linkedin"]:hover,
ul.social.colored [class*="linkedin"] {
background-color: #0070ac;
}
ul.colored-light [class*="facebook"] {
background-color: #c2d9fd;
}
ul.colored-light [class*="twitter"] {
background-color: #ace5f3;
}
ul.colored-light [class*="google"] {
background-color: #ffcbcc;
}
ul.colored-light [class*="youtube"] {
background-color: #ffcbcc;
}
ul.colored-light [class*="instagram"] {
background-color: #f7e2f3;
}
ul.colored-light [class*="facebook"]:hover {
background-color: #3b5998;
}
ul.colored-light [class*="twitter"]:hover {
background-color: #1da1f2;
}
ul.colored-light [class*="google"]:hover {
background-color: #ff0000;
}
ul.colored-light [class*="youtube"]:hover {
background-color: #ff0000;
}
ul.colored-light [class*="instagram"]:hover {
background-color: #bd32a2;
}
ul.colored-light [class*="facebook"] i {
color: #3b5998;
}
ul.colored-light [class*="twitter"] i {
color: #1da1f2;
}
ul.colored-light [class*="google"] i {
color: #ff0000;
}
ul.colored-light [class*="youtube"] i {
color: #ff0000;
}
ul.colored-light [class*="instagram"] i {
color: #bd32a2;
}
ul.colored-light a:hover i{
color: #ffffff;
}
</style>
</head>
<body>
<div class="ugf-wrapper theme-bg">
<div class="ugf-content-block">
<div class="logo">
</div>
<div class="container-md">
<div class="row">
<div class="col-lg-7 offset-lg-5 p-sm-0">
<div class="ugf-content pt270">
<a href="{{ route('shop.view.account.type') }}" class="prev-page"> <i class="las la-arrow-left"></i> Volver Atrás</a>
<h2>Vamos! <span>Únete a nuestra plataforma</span></h2>
<p>Puedes registrarte llegando los siguientes pasos o a traves de una red social </p>
<div class="form-group" style="">
<ul class="list-inline social colored mb-4">
<li class="list-inline-item">
<a href="{{-- route('social.login', ['provider' => 'facebook']) --}}" class="facebook">
<i class="lab la-facebook-f" style="position: relative;top: 5px;"></i>
</a>
</li>
<li class="list-inline-item">
<a href="{{-- route('social.login', ['provider' => 'google']) --}}" class="google">
<i class="lab la-google" style="position: relative;top: 5px;"></i>
</a>
</li>
<li class="list-inline-item">
<a href="{{-- route('social.login', ['provider' => 'twitter']) --}}" class="twitter">
<i class="lab la-twitter" style="position: relative;top: 5px;"></i>
</a>
</li>
</ul>
</div>
{{-- formulario con correo --}}
<form class="form-flex email-form" id="emailGroup">
<div class="form-row col-md-9">
<div class="form-group">
<label for="inputMail" id="emailLabel">Correo Electrónico</label>
<input type="email" placeholder="micorreo@email.com" class="form-control email" required>
<a id="phoneLink" style="text-decoration: underline; margin-left: 250px;" href="#">Utilice el número de teléfono en su lugar</a>
</div>
<div class="form-group">
<label for="inputPassword">Contraseña</label>
<input type="password" placeholder="Contraseña"
class="form-control" id="inputPassword" required>
</div>
<div class="form-group">
<label for="inputConfirmPassword">Repetir Contraseña</label>
<input type="password" placeholder="Repetir Contraseña"
class="form-control" id="inputConfirmPassword" required>
</div>
</div>
<button id="btnSubmit btnSubmitEmail" class="btn"><span>Iniciemos</span> <i
class="las la-arrow-right"></i></button>
</form>
{{-- formulario con numero de telefono --}}
<form class="form-flex email-form" id="phoneGroup">
<div class="form-row col-md-9" >
<div class="form-group">
<label for="inputMail" id="phoneLabel">Teléfono</label>
<input type="number" placeholder="Teléfono" class="form-control phone" required>
<a id="emailLink" style="text-decoration: underline; margin-left: 250px;" href="#">Utilice el correo electrónico en su lugar</a>
</div>
<div class="form-group">
<label for="inputPassword" id="password2">Contraseña</label>
<input type="password" placeholder="Contraseña"
class="form-control" id="inputPassword" required>
</div>
<div class="form-group">
<label for="inputConfirmPassword" id="repitpassword2">Repetir Contraseña</label>
<input type="password" placeholder="Repetir Contraseña"
class="form-control" id="inputConfirmPassword" required>
</div>
</div>
<button id="btnSubmit btnSubmitPhone" class="btn"><span>Iniciemos</span> <i
class="las la-arrow-right"></i></button>
</form>
<div id="result"></div>
</div>
</div>
</div>
</div>
<div class="alternet-access">
<p>Ya tienes una cuenta?<a href="login.php">&nbsp; Entra aqui!</a></p>
</div>
</div>
<div class="ugf-sidebar flex-bottom ugf-sidebar-bg-2 sidebar-steps">
<div class="steps">
<div class="step">
<span>1</span>
<p>Tipo de Cuenta</p>
</div>
<div class="step step-onprocess">
<span>2</span>
<p>Verificación de Inicio</p>
</div>
<div class="step">
<span>3</span>
<p>Confirmación de Datos</p>
</div>
</div>
</div>
</div>
<!-- Optional JavaScript -->
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
{{-- <script src="{{ static_asset('assets/registrocomercio/registro-form/assets/js/jquery.min.js') }}"></script> --}}
<script src="https://code.jquery.com/jquery-3.7.0.min.js"
integrity="sha256-2Pmvv0kuTBOenSvLm6bvfBSSHrUJ+3A7x6P5Ebd07/g=" crossorigin="anonymous"></script>
<script src="{{ static_asset('assets/registrocomercio/registro-form/assets/js/popper.min.js') }}"></script>
<script src="{{ static_asset('assets/registrocomercio/registro-form/assets/js/bootstrap.min.js') }}"></script>
<script src="{{ static_asset('assets/registrocomercio/registro-form/assets/js/owl.carousel.min.js') }}"></script>
<script src="{{ static_asset('assets/registrocomercio/registro-form/assets/js/custom.js') }}"></script>
</body>
</html>
<script>
$(document).ready(function() {
// Ocultar el formulario de teléfono por defecto
$("#phoneGroup").hide();
// Mostrar el formulario de correo electrónico al cargar la página
$("#emailGroup").show();
// Manejar el evento de clic en el enlace "phoneLink"
$("#phoneLink").click(function() {
$("#phoneGroup").show();
$("#emailGroup").hide();
});
// Manejar el evento de clic en el enlace "emailLink"
$("#emailLink").click(function() {
$("#phoneGroup").hide();
$("#emailGroup").show();
});
});
</script>

View File

@@ -0,0 +1,373 @@
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>La Pieza.DO | Registro</title>
<!-- Bootstrap CSS -->
<link rel="stylesheet"
href="{{ static_asset('assets/registrocomercio/registro-form/assets/css/bootstrap.min.css') }}">
<!-- External Css -->
<link rel="stylesheet"
href="{{ static_asset('assets/registrocomercio/registro-form/assets/css/line-awesome.min.css') }}">
<link rel="stylesheet"
href="{{ static_asset('assets/registrocomercio/registro-form/assets/css/owl.carousel.min.css') }}" />
<link rel="stylesheet"
href="https://maxst.icons8.com/vue-static/landings/line-awesome/font-awesome-line-awesome/css/all.min.css">
<link rel="stylesheet"
href="https://maxst.icons8.com/vue-static/landings/line-awesome/line-awesome/1.3.0/css/line-awesome.min.css">
<!-- Custom Css -->
<link rel="stylesheet" type="text/css"
href="{{ static_asset('assets/registrocomercio/registro-form/assets/css/main.css') }}">
<link rel="stylesheet" type="text/css"
href="{{ static_asset('assets/registrocomercio/registro-form/assets/css/theme-1.css') }}">
<!-- Fonts -->
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap" rel="stylesheet">
<!-- Favicon -->
<link rel="icon"
href="{{ static_asset('assets/registrocomercio/registro-form/assets/images/favicon.png') }}">
<link rel="apple-touch-icon"
href="{{ static_asset('assets/registrocomercio/registro-form/assets/images/apple-touch-icon.png') }}">
<link rel="apple-touch-icon" sizes="72x72"
href="{{ static_asset('assets/registrocomercio/registro-form/assets/images/icon-72x72.png') }}">
<link rel="apple-touch-icon" sizes="114x114"
href="{{ static_asset('assets/registrocomercio/registro-form/assets/images/icon-114x114.png') }}">
<style>
/*social icon colored*/
ul.social a {
display: inline-block;
width: 36px;
height: 36px;
border-radius: 50em;
line-height: 43px;
text-align: center;
font-size: 18px;
background-color: #d5d5df;
}
ul.social-md a {
display: inline-block;
width: 20px;
height: 20px;
border-radius: 50em;
line-height: 22px;
text-align: center;
font-size: 13px;
background-color: #d5d5df;
}
ul.social a:hover {
-webkit-transform: translateY(-3px);
transform: translateY(-3px);
}
ul.social i {
color: #171727;
font-size: 24px;
font-weight: 700;
}
ul.social a:hover i{
color: #fff;
}
ul.social.colored i {
color: #fff;
}
ul.social [class*="facebook"]:hover,
ul.social.colored [class*="facebook"] {
background-color: #3b5998;
}
ul.social [class*="twitter"]:hover,
ul.social.colored [class*="twitter"] {
background-color: #1da1f2;
}
ul.social [class*="google"]:hover,
ul.social.colored [class*="google"] {
background-color: #e62833;
}
ul.social.colored [class*="apple"] {
background-color: #141414;
}
ul.social [class*="youtube"]:hover,
ul.social.colored [class*="youtube"] {
background-color: #ff0000;
}
ul.social [class*="instagram"]:hover,
ul.social.colored [class*="instagram"] {
background-color: #bd32a2;
}
ul.social [class*="tripadvisor"]:hover,
ul.social.colored [class*="tripadvisor"] {
background-color: #32da9d;
}
ul.social [class*="linkedin"]:hover,
ul.social.colored [class*="linkedin"] {
background-color: #0070ac;
}
ul.colored-light [class*="facebook"] {
background-color: #c2d9fd;
}
ul.colored-light [class*="twitter"] {
background-color: #ace5f3;
}
ul.colored-light [class*="google"] {
background-color: #ffcbcc;
}
ul.colored-light [class*="youtube"] {
background-color: #ffcbcc;
}
ul.colored-light [class*="instagram"] {
background-color: #f7e2f3;
}
ul.colored-light [class*="facebook"]:hover {
background-color: #3b5998;
}
ul.colored-light [class*="twitter"]:hover {
background-color: #1da1f2;
}
ul.colored-light [class*="google"]:hover {
background-color: #ff0000;
}
ul.colored-light [class*="youtube"]:hover {
background-color: #ff0000;
}
ul.colored-light [class*="instagram"]:hover {
background-color: #bd32a2;
}
ul.colored-light [class*="facebook"] i {
color: #3b5998;
}
ul.colored-light [class*="twitter"] i {
color: #1da1f2;
}
ul.colored-light [class*="google"] i {
color: #ff0000;
}
ul.colored-light [class*="youtube"] i {
color: #ff0000;
}
ul.colored-light [class*="instagram"] i {
color: #bd32a2;
}
ul.colored-light a:hover i{
color: #ffffff;
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
</head>
<body>
<div class="ugf-wrapper theme-bg">
<div class="ugf-content-block">
<div class="logo">
</div>
<div class="container-md">
<div class="row">
<div class="col-lg-7 offset-lg-5 p-sm-0">
<div style=" padding-top: 100px;" class="ugf-content pt270">
<a href="{{ route('shop.view.account.type') }}" class="prev-page"> <i class="las la-arrow-left"></i> Volver Atrás</a>
<h2>Vamos! <span>Únete a nuestra plataforma</span></h2>
<p>Puedes registrarte llegando los siguientes pasos o a traves de una red social </p>
<div class="form-group" style="">
<ul class="list-inline social colored mb-4">
<li class="list-inline-item">
<a href="{{-- route('social.login', ['provider' => 'facebook']) --}}" class="facebook">
<i class="lab la-facebook-f" style="position: relative;top: 5px;"></i>
</a>
</li>
<li class="list-inline-item">
<a href="{{-- route('social.login', ['provider' => 'google']) --}}" class="google">
<i class="lab la-google" style="position: relative;top: 5px;"></i>
</a>
</li>
<li class="list-inline-item">
<a href="{{-- route('social.login', ['provider' => 'twitter']) --}}" class="twitter">
<i class="lab la-twitter" style="position: relative;top: 5px;"></i>
</a>
</li>
</ul>
</div>
{{-- formulario con correo --}}
<form class="form-flex email-form was-validated" id="emailGroup" method="POST" action="{{ route('register.buyer.store') }}">
@csrf
<div class="container">
<div class="form-row col-md-9">
<div class="form-group mb-4">
<label for="email" id="emailLabel">Correo Electrónico</label>
<input type="email" name="email" id="email" placeholder="{{ __('Email') }}" class="form-control email @error('email') is-invalid @enderror" value="{{ old('email') }}">
<a id="phoneLink" style="text-decoration: underline; margin-left: 250px;" href="#" class="mb-3">Utilice el número de teléfono en su lugar</a>
@error('email')
<div class="invalid-feedback">{{ $message }}</div>
@enderror
</div>
<div class="form-group mb-4">
<label for="password">Contraseña</label>
<input type="password" name="password" id="password" placeholder="{{ __('Password') }}" class="form-control @error('password') is-invalid @enderror" id="inputPassword">
@error('password')
<div class="invalid-feedback">{{ $message }}</div>
@enderror
</div>
<div class="form-group mb-4">
<label for="password_confirmation">Repetir Contraseña</label>
<input type="password" name="password_confirmation" id="password_confirmation" placeholder="{{ __('Confirm Password') }}" class="form-control @error('password_confirmation') is-invalid @enderror">
@error('password_confirmation')
<div class="invalid-feedback">{{ $message }}</div>
@enderror
</div>
<div class="form-group mb-4">
{{-- {{ env('RECAPTCHA_SITE_KEY') }} --}}
<div class="g-recaptcha" data-sitekey="6Le0OJsnAAAAALJsc4xJaNot1HfSmHpYgJYDzTYT"></div>
@if ($errors->has('g-recaptcha-response'))
<p style="font-size: 80%;" class="text-danger">{{ $errors->first('g-recaptcha-response') }}</p>
@endif
</div>
<div class="form-group mb-12 d-flex">
<button id="" class="btn btn-primary btn-lg btn-block"><span>Iniciemos</span> <i class="las la-arrow-right"></i></button>
</div>
</div>
</div>
</form>
{{-- formulario con numero de telefono --}}
<form class="form-flex email-form" id="phoneGroup">
<div class="form-row col-md-9" >
<div class="form-group mb-4">
<label for="inputMail" id="phoneLabel">Teléfono</label>
<input type="number" placeholder="Teléfono" class="form-control phone" required>
<a id="emailLink" style="text-decoration: underline; margin-left: 250px;" href="#">Utilice el correo electrónico en su lugar</a>
</div>
<div class="form-group mb-4">
<label for="inputPassword" id="password2">Contraseña</label>
<input type="password" placeholder="Contraseña"
class="form-control" id="inputPassword" required>
</div>
<div class="form-group mb-4">
<label for="inputConfirmPassword" id="repitpassword2">Repetir Contraseña</label>
<input type="password" placeholder="Repetir Contraseña"
class="form-control" id="inputConfirmPassword" required>
</div>
<div class="form-group mb-12 d-flex">
<button id="" class="btn btn-primary btn-lg btn-block"><span>Iniciemos</span> <i class="las la-arrow-right"></i></button>
</div>
</div>
</form>
<div id="result"></div>
</div>
</div>
</div>
</div>
<div class="alternet-access">
<p>Ya tienes una cuenta?<a href="login.php">&nbsp; Entra aqui!</a></p>
</div>
</div>
<div class="ugf-sidebar flex-bottom ugf-sidebar-bg-2 sidebar-steps">
<div class="steps">
<div class="step">
<span>1</span>
<p>Tipo de Cuenta</p>
</div>
<div class="step step-onprocess">
<span>2</span>
<p>Verificación de Inicio</p>
</div>
<div class="step">
<span>3</span>
<p>Confirmación de Datos</p>
</div>
</div>
</div>
</div>
<!-- Optional JavaScript -->
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
{{-- <script src="{{ static_asset('assets/registrocomercio/registro-form/assets/js/jquery.min.js') }}"></script> --}}
<script src="https://code.jquery.com/jquery-3.7.0.min.js"
integrity="sha256-2Pmvv0kuTBOenSvLm6bvfBSSHrUJ+3A7x6P5Ebd07/g=" crossorigin="anonymous"></script>
<script src="{{ static_asset('assets/registrocomercio/registro-form/assets/js/popper.min.js') }}"></script>
<script src="{{ static_asset('assets/registrocomercio/registro-form/assets/js/bootstrap.min.js') }}"></script>
<script src="{{ static_asset('assets/registrocomercio/registro-form/assets/js/owl.carousel.min.js') }}"></script>
<script src="{{ static_asset('assets/registrocomercio/registro-form/assets/js/custom.js') }}"></script>
</body>
</html>
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
<script>
$(document).ready(function() {
// Ocultar el formulario de teléfono por defecto
$("#phoneGroup").hide();
// Mostrar el formulario de correo electrónico al cargar la página
$("#emailGroup").show();
// Manejar el evento de clic en el enlace "phoneLink"
$("#phoneLink").click(function() {
$("#phoneGroup").show();
$("#emailGroup").hide();
});
// Manejar el evento de clic en el enlace "emailLink"
$("#emailLink").click(function() {
$("#phoneGroup").hide();
$("#emailGroup").show();
});
});
</script>

View File

@@ -1,4 +1,4 @@
<php lang="en"> <html lang="en">
<head> <head>
<!-- Required meta tags --> <!-- Required meta tags -->
@@ -59,44 +59,44 @@
<div class="row"> <div class="row">
<div class="col-lg-7 offset-lg-5 p-sm-0"> <div class="col-lg-7 offset-lg-5 p-sm-0">
<div class="ugf-content pt340"> <div class="ugf-content pt340">
<a href="{{ route('shop.view.register.email') }}" class="prev-page"> <i {{-- <a href="" class="prev-page"> <i
class="las la-arrow-left"></i> Volver Atrás</a> class="las la-arrow-left"></i> Volver Atrás</a> --}}
<h2>Verificación de correo electrónico</h2> <h2>Verificación de correo electrónico</h2>
<p>Por favor verifica tu dirección de correo electrónico <strong><a
href="/cdn-cgi/l/email-protection" class="__cf_email__"
data-cfemail="7e131f17123e1b061f130e121b501d1113">[email&#160;protected]</a></strong> @if(!is_null($user) && !$user->email_verified_at)
<br> y coloca el código de verificación aqui! <p>Por favor verifica tu dirección de correo electrónico
<strong>
<a href="#" class="__cf_email__" data-cfemail="7e131f17123e1b061f130e121b501d1113">{{ $user->email }}</a>
</strong>
</p> </p>
<form class="form-flex email-verification-form"> @else
<div class="form-group mx-2"> <div class="alert alert-success" role="alert">
<input type="text" placeholder="0" class="form-control" maxlength="1" Correo verificado correctamente.
style="border: 1px solid #E0E0E0">
</div> </div>
<div class="form-group mx-2"> <a style="display: inline-block;
<input type="text" placeholder="0" class="form-control" maxlength="1" padding: 10px 20px;
style="border: 1px solid #E0E0E0"> background-color: #22b46b;
</div> color: #fff;
<div class="form-group mx-2"> text-decoration: none;
<input type="text" placeholder="0" class="form-control" maxlength="1" border-radius: 4px" href="{{ route('dashboard') }}">Continuar</a>
style="border: 1px solid #E0E0E0"> @endif
</div>
<div class="form-group mx-2">
<input type="text" placeholder="0" class="form-control" maxlength="1"
style="border: 1px solid #E0E0E0">
</div> {{-- <p class="resend-code">No lo has recibido aún? <a href="#"> Reenviar código</a>
<div class="form-group mx-2"> </p> --}}
<input type="text" placeholder="0" class="form-control" maxlength="1"
style="border: 1px solid #E0E0E0">
</div>
<a href="{{-- {{ route('shop.view.signup.complete') }} --}}" class="btn verifi-code"><span>Siguiente</span> <i
class="las la-arrow-right"></i></a>
</form>
<p class="resend-code">No lo has recibido aún? <a href="#"> Reenviar código</a>
</p>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="alternet-access">
<p><a href="{{ route('logout') }}">Cerrar sesión</a></p>
</div>
</div> </div>
<div class="ugf-sidebar flex-bottom ugf-sidebar-bg-2 sidebar-steps"> <div class="ugf-sidebar flex-bottom ugf-sidebar-bg-2 sidebar-steps">
<div class="steps"> <div class="steps">
@@ -133,150 +133,8 @@
<script href="{{ static_asset('assets/registrocomercio/registro-form/assets/js/custom.js') }}"></script> <script href="{{ static_asset('assets/registrocomercio/registro-form/assets/js/custom.js') }}"></script>
</body> </body>
</php> </html>
<script> <script>
// Esperar a que el documento esté listo
$(document).ready(function() {
var Toast = Swal.mixin({
toast: true,
position: 'top-end',
showConfirmButton: false,
timer: 3000
});
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
const inputs = document.querySelectorAll('.form-control');
const maxLength = 1;
var correoElectronico = localStorage.getItem("correoElectronico");
inputs.forEach((input, index) => {
input.addEventListener('keyup', (event) => {
if (input.value.length >= maxLength) {
if (index < inputs.length - 1) {
inputs[index + 1].focus();
}
}
});
});
// Asignar evento clic al botón
var btnSubmit = $(".resend-code");
// Asignar evento clic al botón
btnSubmit.click(function(event) {
event.preventDefault(); // Evitar el envío del formulario por defecto
// Obtener el valor del campo de correo electrónico
// Validar si el campo de correo electrónico contiene un valor válido de correo
// Hacer la solicitud AJAX usando jQuery
$.ajax({
url: "{{ route('api.user.register.email') }}", // URL de la API
method: "POST",
data: {
email: correoElectronico
}, // Datos a enviar en la solicitud POST
dataType: "json", // Tipo de datos esperados en la respuesta
success: function(response) {
// Mostrar un mensaje con SweetAlert
Toast.fire({
icon: 'success',
iconColor: 'white',
background: '#53B96A',
color: 'white',
title: "Codigo Reenviado"
});
},
error: function(error) {
// Error en la solicitud, puedes manejar el error aquí
console.error(error);
}
});
});
$('.verifi-code').click(function(e) {
e.preventDefault();
const inputs = document.querySelectorAll('.form-control');
// Verificar que todos los campos estén llenos
var allFieldsFilled = true;
inputs.forEach(input => {
if (input.value.trim() === '') {
allFieldsFilled = false;
return;
}
});
if (!allFieldsFilled) {
// Mostrar notificación si no todos los campos están llenos
Toast.fire({
icon: 'warning',
iconColor: 'white',
background: '#FFC107',
color: 'white',
title: "Rellene todos los campos"
});
} else {
// Obtener los códigos ingresados
var codes = '';
inputs.forEach(input => {
codes += input.value;
});
// Hacer la solicitud AJAX usando jQuery
$.ajax({
url: "{{ route('api.user.verify.code') }}", // URL de la API para verificar códigos
method: "POST",
data: {
email: correoElectronico,
codes: codes,
account_type : localStorage.getItem("account_type")
}, // Datos a enviar en la solicitud POST
dataType: "json", // Tipo de datos esperados en la respuesta
success: function(response) {
// Después de realizar la solicitud AJAX exitosa
Toast.fire({
icon: 'success',
iconColor: 'white',
background: '#53B96A',
color: 'white',
title: "Código enviado"
});
window.location.href = "{{ route('shop.view.signup.complete') }}";
},
error: function(error) {
// Error en la solicitud, puedes manejar el error aquí
console.error(error);
// Obtener el mensaje de error de la respuesta JSON si está presente
var errorMessage = error.responseJSON && error.responseJSON
.message ? error.responseJSON.message : "Error desconocido";
// Mostrar notificación de error con el mensaje personalizado
Toast.fire({
icon: 'error',
iconColor: 'white',
background: '#FF0000',
color: 'white',
title: errorMessage
});
}
});
}
});
});
</script> </script>

View File

@@ -1,4 +1,4 @@
<php lang="en"> <html lang="en">
<head> <head>
<!-- Required meta tags --> <!-- Required meta tags -->
@@ -112,7 +112,7 @@
<script src="{{ static_asset('assets/registrocomercio/registro-form/assets/js/custom.js') }}"></script> <script src="{{ static_asset('assets/registrocomercio/registro-form/assets/js/custom.js') }}"></script>
</body> </body>
</php> </html>
<script> <script>
// Esperar a que el documento esté listo // Esperar a que el documento esté listo

View File

@@ -1,4 +1,4 @@
<php lang="en"> <html lang="en">
<head> <head>
<!-- Required meta tags --> <!-- Required meta tags -->
@@ -57,7 +57,8 @@
<h2>Tu Registro fue Completado!</h2> <h2>Tu Registro fue Completado!</h2>
<p>Bienvenido a La Pieza.DO, en breve nuestro departamento de servicios te enviara un email con todos <p>Bienvenido a La Pieza.DO, en breve nuestro departamento de servicios te enviara un email con todos
los detalles de tu cuenta y la confirmación de tu registro.</p> los detalles de tu cuenta y la confirmación de tu registro.</p>
<a id="panel-link" class="btn" href="">Ir al Panel</a> <a id="panel-link" class="btn" href="{{ route('dashboard') }}">Ir al Panel</a>
</div> </div>
</div> </div>
@@ -82,21 +83,6 @@
<script> <script>
$(document).ready(function() {
var accountType = localStorage.getItem("account_type");
if (accountType === "seller") {
$("#panel-link").text("Ir al Panel de Negocio");
// Cambia la siguiente línea con la ruta correcta para el panel de vendedor
$("#panel-link").attr("href", "https://devs.lapieza.net/seller/login");
} else if (accountType === "customer") {
$("#panel-link").text("Ir al Panel de Comprador");
// Cambia la siguiente línea con la ruta correcta para el panel de comprador
$("#panel-link").attr("href", "https://devs.lapieza.net/users/login");
} else {
$("#panel-link").text("Ir al Panel");
$("#panel-link").attr("href", "#");
}
});
</script> </script>
</php> </html>

View File

@@ -0,0 +1,337 @@
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>La Pieza.DO | Registro</title>
<!-- Bootstrap CSS -->
<link rel="stylesheet"
href="{{ static_asset('assets/registrocomercio/registro-form/assets/css/bootstrap.min.css') }}">
<!-- External Css -->
<link rel="stylesheet"
href="{{ static_asset('assets/registrocomercio/registro-form/assets/css/line-awesome.min.css') }}">
<link rel="stylesheet"
href="{{ static_asset('assets/registrocomercio/registro-form/assets/css/owl.carousel.min.css') }}" />
<link rel="stylesheet"
href="https://maxst.icons8.com/vue-static/landings/line-awesome/font-awesome-line-awesome/css/all.min.css">
<link rel="stylesheet"
href="https://maxst.icons8.com/vue-static/landings/line-awesome/line-awesome/1.3.0/css/line-awesome.min.css">
<!-- Custom Css -->
<link rel="stylesheet" type="text/css"
href="{{ static_asset('assets/registrocomercio/registro-form/assets/css/main.css') }}">
<link rel="stylesheet" type="text/css"
href="{{ static_asset('assets/registrocomercio/registro-form/assets/css/theme-1.css') }}">
<!-- Fonts -->
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap" rel="stylesheet">
<!-- Favicon -->
<link rel="icon"
href="{{ static_asset('assets/registrocomercio/registro-form/assets/images/favicon.png') }}">
<link rel="apple-touch-icon"
href="{{ static_asset('assets/registrocomercio/registro-form/assets/images/apple-touch-icon.png') }}">
<link rel="apple-touch-icon" sizes="72x72"
href="{{ static_asset('assets/registrocomercio/registro-form/assets/images/icon-72x72.png') }}">
<link rel="apple-touch-icon" sizes="114x114"
href="{{ static_asset('assets/registrocomercio/registro-form/assets/images/icon-114x114.png') }}">
<style>
/*social icon colored*/
ul.social a {
display: inline-block;
width: 36px;
height: 36px;
border-radius: 50em;
line-height: 43px;
text-align: center;
font-size: 18px;
background-color: #d5d5df;
}
ul.social-md a {
display: inline-block;
width: 20px;
height: 20px;
border-radius: 50em;
line-height: 22px;
text-align: center;
font-size: 13px;
background-color: #d5d5df;
}
ul.social a:hover {
-webkit-transform: translateY(-3px);
transform: translateY(-3px);
}
ul.social i {
color: #171727;
font-size: 24px;
font-weight: 700;
}
ul.social a:hover i{
color: #fff;
}
ul.social.colored i {
color: #fff;
}
ul.social [class*="facebook"]:hover,
ul.social.colored [class*="facebook"] {
background-color: #3b5998;
}
ul.social [class*="twitter"]:hover,
ul.social.colored [class*="twitter"] {
background-color: #1da1f2;
}
ul.social [class*="google"]:hover,
ul.social.colored [class*="google"] {
background-color: #e62833;
}
ul.social.colored [class*="apple"] {
background-color: #141414;
}
ul.social [class*="youtube"]:hover,
ul.social.colored [class*="youtube"] {
background-color: #ff0000;
}
ul.social [class*="instagram"]:hover,
ul.social.colored [class*="instagram"] {
background-color: #bd32a2;
}
ul.social [class*="tripadvisor"]:hover,
ul.social.colored [class*="tripadvisor"] {
background-color: #32da9d;
}
ul.social [class*="linkedin"]:hover,
ul.social.colored [class*="linkedin"] {
background-color: #0070ac;
}
ul.colored-light [class*="facebook"] {
background-color: #c2d9fd;
}
ul.colored-light [class*="twitter"] {
background-color: #ace5f3;
}
ul.colored-light [class*="google"] {
background-color: #ffcbcc;
}
ul.colored-light [class*="youtube"] {
background-color: #ffcbcc;
}
ul.colored-light [class*="instagram"] {
background-color: #f7e2f3;
}
ul.colored-light [class*="facebook"]:hover {
background-color: #3b5998;
}
ul.colored-light [class*="twitter"]:hover {
background-color: #1da1f2;
}
ul.colored-light [class*="google"]:hover {
background-color: #ff0000;
}
ul.colored-light [class*="youtube"]:hover {
background-color: #ff0000;
}
ul.colored-light [class*="instagram"]:hover {
background-color: #bd32a2;
}
ul.colored-light [class*="facebook"] i {
color: #3b5998;
}
ul.colored-light [class*="twitter"] i {
color: #1da1f2;
}
ul.colored-light [class*="google"] i {
color: #ff0000;
}
ul.colored-light [class*="youtube"] i {
color: #ff0000;
}
ul.colored-light [class*="instagram"] i {
color: #bd32a2;
}
ul.colored-light a:hover i{
color: #ffffff;
}
</style>
</head>
<body>
<div class="ugf-wrapper theme-bg">
<div class="ugf-content-block">
<div class="logo">
</div>
<div class="container-md">
<div class="row">
<div class="col-lg-7 offset-lg-5 p-sm-0">
<div class="ugf-content pt270">
<a href="{{ route('shop.view.account.type') }}" class="prev-page"> <i class="las la-arrow-left"></i> Volver Atrás</a>
<h2>Vamos! <span>Únete a nuestra plataforma</span></h2>
<p>Puedes registrarte llegando los siguientes pasos o a traves de una red social </p>
<div class="form-group" style="">
<ul class="list-inline social colored mb-4">
<li class="list-inline-item">
<a href="{{-- route('social.login', ['provider' => 'facebook']) --}}" class="facebook">
<i class="lab la-facebook-f" style="position: relative;top: 5px;"></i>
</a>
</li>
<li class="list-inline-item">
<a href="{{-- route('social.login', ['provider' => 'google']) --}}" class="google">
<i class="lab la-google" style="position: relative;top: 5px;"></i>
</a>
</li>
<li class="list-inline-item">
<a href="{{-- route('social.login', ['provider' => 'twitter']) --}}" class="twitter">
<i class="lab la-twitter" style="position: relative;top: 5px;"></i>
</a>
</li>
</ul>
</div>
{{-- formulario con correo --}}
<form class="form-flex email-form" id="emailGroup">
<div class="form-row col-md-9">
<div class="form-group">
<label for="inputMail" id="emailLabel">Correo Electrónico</label>
<input type="email" placeholder="micorreo@email.com" class="form-control email" required>
<a id="phoneLink" style="text-decoration: underline; margin-left: 250px;" href="#">Utilice el número de teléfono en su lugar</a>
</div>
<div class="form-group">
<label for="inputPassword">Contraseña</label>
<input type="password" placeholder="Contraseña"
class="form-control" id="inputPassword" required>
</div>
<div class="form-group">
<label for="inputConfirmPassword">Repetir Contraseña</label>
<input type="password" placeholder="Repetir Contraseña"
class="form-control" id="inputConfirmPassword" required>
</div>
</div>
<button id="btnSubmit btnSubmitEmail" class="btn"><span>Iniciemos</span> <i
class="las la-arrow-right"></i></button>
</form>
{{-- formulario con numero de telefono --}}
<form class="form-flex email-form" id="phoneGroup">
<div class="form-row col-md-9" >
<div class="form-group">
<label for="inputMail" id="phoneLabel">Teléfono</label>
<input type="number" placeholder="Teléfono" class="form-control phone" required>
<a id="emailLink" style="text-decoration: underline; margin-left: 250px;" href="#">Utilice el correo electrónico en su lugar</a>
</div>
<div class="form-group">
<label for="inputPassword" id="password2">Contraseña</label>
<input type="password" placeholder="Contraseña"
class="form-control" id="inputPassword" required>
</div>
<div class="form-group">
<label for="inputConfirmPassword" id="repitpassword2">Repetir Contraseña</label>
<input type="password" placeholder="Repetir Contraseña"
class="form-control" id="inputConfirmPassword" required>
</div>
</div>
<button id="btnSubmit btnSubmitPhone" class="btn"><span>Iniciemos</span> <i
class="las la-arrow-right"></i></button>
</form>
<div id="result"></div>
</div>
</div>
</div>
</div>
<div class="alternet-access">
<p>Ya tienes una cuenta?<a href="login.php">&nbsp; Entra aqui!</a></p>
</div>
</div>
<div class="ugf-sidebar flex-bottom ugf-sidebar-bg-2 sidebar-steps">
<div class="steps">
<div class="step">
<span>1</span>
<p>Tipo de Cuenta</p>
</div>
<div class="step step-onprocess">
<span>2</span>
<p>Verificación de Inicio</p>
</div>
<div class="step">
<span>3</span>
<p>Confirmación de Datos</p>
</div>
</div>
</div>
</div>
<!-- Optional JavaScript -->
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
{{-- <script src="{{ static_asset('assets/registrocomercio/registro-form/assets/js/jquery.min.js') }}"></script> --}}
<script src="https://code.jquery.com/jquery-3.7.0.min.js"
integrity="sha256-2Pmvv0kuTBOenSvLm6bvfBSSHrUJ+3A7x6P5Ebd07/g=" crossorigin="anonymous"></script>
<script src="{{ static_asset('assets/registrocomercio/registro-form/assets/js/popper.min.js') }}"></script>
<script src="{{ static_asset('assets/registrocomercio/registro-form/assets/js/bootstrap.min.js') }}"></script>
<script src="{{ static_asset('assets/registrocomercio/registro-form/assets/js/owl.carousel.min.js') }}"></script>
<script src="{{ static_asset('assets/registrocomercio/registro-form/assets/js/custom.js') }}"></script>
</body>
</html>
<script>
$(document).ready(function() {
// Ocultar el formulario de teléfono por defecto
$("#phoneGroup").hide();
// Mostrar el formulario de correo electrónico al cargar la página
$("#emailGroup").show();
// Manejar el evento de clic en el enlace "phoneLink"
$("#phoneLink").click(function() {
$("#phoneGroup").show();
$("#emailGroup").hide();
});
// Manejar el evento de clic en el enlace "emailLink"
$("#emailLink").click(function() {
$("#phoneGroup").hide();
$("#emailGroup").show();
});
});
</script>

View File

@@ -20,6 +20,7 @@ use App\Http\Controllers\WishlistController;
use App\Http\Controllers\ShopViewsController; use App\Http\Controllers\ShopViewsController;
use App\Http\Controllers\AizUploadController; use App\Http\Controllers\AizUploadController;
use App\Http\Controllers\Auth\LoginController; use App\Http\Controllers\Auth\LoginController;
use App\Http\Controllers\Auth\RegisterController;
use App\Http\Controllers\SubscriberController; use App\Http\Controllers\SubscriberController;
use App\Http\Controllers\ConversationController; use App\Http\Controllers\ConversationController;
use App\Http\Controllers\FollowSellerController; use App\Http\Controllers\FollowSellerController;
@@ -48,38 +49,76 @@ use App\Http\Controllers\Payment\InstamojoController;
use App\Http\Controllers\Payment\SslcommerzController; use App\Http\Controllers\Payment\SslcommerzController;
use App\Http\Controllers\Payment\MercadopagoController; use App\Http\Controllers\Payment\MercadopagoController;
use App\Http\Controllers\Payment\AuthorizenetController; use App\Http\Controllers\Payment\AuthorizenetController;
use App\Http\Controllers\TypeBusinessController;
use App\Http\Controllers\TypeBuyerController;
use App\Http\Controllers\TypeWorkshopController;
use App\Http\Controllers\UserController; use App\Http\Controllers\UserController;
/* Grupo de rutas para el registro de tienda */ /* Grupo de rutas para el registro de tienda */
Route::controller(ShopViewsController::class)->group(function () { // Route::controller(ShopViewsController::class)->group(function () {
Route::get('/register-shop', 'index')->name('shop.view.index'); // Route::get('register/type_account', 'account_type')->name('shop.view.account.type');
Route::get('/register-shop/account-type', 'account_type')->name('shop.view.account.type'); // Route::get('/register/email-verification', 'verification_email')->name('shop.view.email.verification');
Route::get('/register-shop/register-email', 'register_email')->name('shop.view.register.email'); // Route::get('/register-shop/signup-complete', 'signup_complete')->name('shop.view.signup.complete');
// });
Route::get('/register-shop/email-verification', 'verification_email')->name('shop.view.email.verification'); Route::prefix('register')->group(function () {
Route::get('/register-shop/signup-complete', 'signup_complete')->name('shop.view.signup.complete'); //selecionar e; tipo de cuenta al registrar
Route::get('type_account', [ShopViewsController::class, 'account_type'])->name('shop.view.account.type');
//Route::get('/register-shop/account-type', 'account_type')->name('shop.view.account.type');
/* Route::get('/register-shop/register', 'register')->name('shop.view.register');
Route::get('/register-shop/email-verification', 'email_verification')->name('shop.view.email.verification');
Route::get('/register-shop/personal-account', 'personal_account')->name('shop.view.personal-account');
Route::get('/register-shop/personal-shop', 'personal_shop')->name('shop.view.email.personal-shop'); */
//vista donde muestra mensaje de verificar cuenta
Route::get('email-verification', [ShopViewsController::class, 'verification_email'])->name('shop.view.email.verification');
//vista de registro exitoso
Route::get('signup-complete', [ShopViewsController::class, 'signup_complete'])->name('shop.view.signup.complete');
}); });
//esto es para registrar a los usuario de tipo COMPRADOR
// Route::resource('register/buyer', TypeBuyerController::class);
Route::prefix('register')->group(function () {
Route::get('buyer', [TypeBuyerController::class, 'index'])->name('register.buyer.index');
Route::post('buyer', [TypeBuyerController::class, 'store'])->name('register.buyer.store');
//esto no se esta usando
// Route::get('buyer/create', [TypeBuyerController::class, 'create'])->name('register.buyer.create');
// Route::get('buyer/{buyer}', [TypeBuyerController::class, 'show'])->name('register.buyer.show');
// Route::get('buyer/{buyer}/edit', [TypeBuyerController::class, 'edit'])->name('register.buyer.edit');
// Route::put('buyer/{buyer}', [TypeBuyerController::class, 'update'])->name('register.buyer.update');
// Route::delete('buyer/{buyer}', [TypeBuyerController::class, 'destroy'])->name('register.buyer.destroy');
});
//esto es para registrar a los usuario de tipo NEGOCIO
Route::resource('register/business', TypeBusinessController::class);
//esto es para registrar a los usuario de tipo TALLER
Route::resource('register/workshop', TypeWorkshopController::class);
//Esto es para verifica la cuenta del usuario que recien se registra
Route::get('email/verify/{id}/{hash}', [VerificationController::class, 'verify'])->name('verification.verify');
/* by joan */ /* by joan */
/* Api para guardar el correo y generar un token */ /* Api para guardar el correo y generar un token */
Route::post('user/register-email', [UserController::class, 'register_email'])->name('api.user.register.email'); // Route::post('user/register-email', [UserController::class, 'register_email'])->name('api.user.register.email');
Route::post('user/verify-code', [UserController::class, 'verify_code'])->name('api.user.verify.code'); // Route::post('user/verify-code', [UserController::class, 'verify_code'])->name('api.user.verify.code');
@@ -139,10 +178,11 @@ Route::controller(LoginController::class)->group(function () {
Route::get('/account-deletion', 'account_deletion')->name('account_delete'); Route::get('/account-deletion', 'account_deletion')->name('account_delete');
}); });
Route::controller(VerificationController::class)->group(function () { // Route::controller(VerificationController::class)->group(function () {
Route::get('/email/resend', 'resend')->name('verification.resend'); // Route::get('/email/resend', 'resend')->name('verification.resend');
Route::get('/verification-confirmation/{code}', 'verification_confirmation')->name('email.verification.confirmation'); // Route::get('/verification-confirmation/{code}', 'verification_confirmation')->name('email.verification.confirmation');
});
// });
Route::controller(HomeController::class)->group(function () { Route::controller(HomeController::class)->group(function () {
Route::get('/email_change/callback', 'email_change_callback')->name('email_change.callback'); Route::get('/email_change/callback', 'email_change_callback')->name('email_change.callback');
@@ -151,7 +191,11 @@ Route::controller(HomeController::class)->group(function () {
Route::get('/users/login', 'login')->name('user.login'); Route::get('/users/login', 'login')->name('user.login');
Route::get('/seller/login', 'login')->name('seller.login'); Route::get('/seller/login', 'login')->name('seller.login');
Route::get('/deliveryboy/login', 'login')->name('deliveryboy.login'); Route::get('/deliveryboy/login', 'login')->name('deliveryboy.login');
Route::get('/users/registration', 'registration')->name('user.registration');
//esto lo comente es codigo antiguo
// Route::get('/users/registration', 'registration')->name('user.registration');
Route::post('/users/login/cart', 'cart_login')->name('cart.login.submit'); Route::post('/users/login/cart', 'cart_login')->name('cart.login.submit');
// Route::get('/new-page', 'new_page')->name('new_page'); // Route::get('/new-page', 'new_page')->name('new_page');
@@ -284,7 +328,9 @@ Route::group(['middleware' => ['user', 'verified', 'unbanned']], function () {
Route::controller(HomeController::class)->group(function () { Route::controller(HomeController::class)->group(function () {
Route::get('/dashboard', 'dashboard')->name('dashboard')->middleware(['prevent-back-history']); Route::get('/dashboard', 'dashboard')->name('dashboard')->middleware(['prevent-back-history']);
Route::get('/profile', 'profile')->name('profile'); Route::get('/profile', 'profile')->name('profile');
Route::post('/new-user-verification', 'new_verify')->name('user.new.verify');
//
// Route::post('/new-user-verification', 'new_verify')->name('user.new.verify');
Route::post('/new-user-email', 'update_email')->name('user.change.email'); Route::post('/new-user-email', 'update_email')->name('user.change.email');
Route::post('/user/update-profile', 'userProfileUpdate')->name('user.profile.update'); Route::post('/user/update-profile', 'userProfileUpdate')->name('user.profile.update');
}); });
@@ -490,4 +536,3 @@ Route::controller(PageController::class)->group(function () {
/* Route::post('/shops/create/store', 'ShopController@store')->middleware('cors'); */ /* Route::post('/shops/create/store', 'ShopController@store')->middleware('cors'); */