feat: account-registration

This commit is contained in:
myuqinurrohman 2025-02-25 14:20:07 +07:00
parent 9a52748041
commit adb2d9dc88
34 changed files with 1415 additions and 30 deletions

View File

@ -0,0 +1,32 @@
<?php
use Illuminate\Support\Str;
// Template
// if (! function_exists('my_custom_function')) {
// function my_custom_function($param) {
// }
// }
if (! function_exists('store_file')) {
function store_file($file, $path, $disk = 'public')
{
if (isset($file)) {
$randomFilename = Str::random(35).time().'.'.$file->getClientOriginalExtension();
$originalFileName = Str::slug(pathinfo($file->getClientOriginalName(), PATHINFO_FILENAME)).'.'.$file->getClientOriginalExtension();
$file->storeAs($path, $randomFilename, $disk);
return [
'randomFileName' => $randomFilename,
'originalFileName' => $originalFileName,
'isSuccess' => true,
];
} else {
return [
'randomFileName' => null,
'originalFileName' => null,
'isSuccess' => false,
];
}
}
}

View File

@ -3,29 +3,165 @@
namespace App\Http\Controllers;
use App\Http\Requests\LoginRequest;
use App\Http\Requests\RegisterRequest;
use App\Models\Company;
use App\Models\Journalist;
use App\Models\Media;
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
class AuthController extends Controller
{
public function login(){
return view('auth.login', [
'title' => 'Login'
'title' => 'Masuk'
]);
}
public function loginAction(LoginRequest $request){
$credentials = $request->validated();
$validatedData = $request->validated();
if(Auth::attempt($credentials)){
if(Auth::attempt($validatedData)){
$request->session()->regenerate();
return redirect()->intended('/dashboard/overview');
// return redirect()->intended('/dashboard/overview');
return "masuk";
}else{
return redirect()->back();
}
}
public function register(){}
public function register(){
return view('auth.register', [
'title' => 'Daftar'
]);
}
public function registerAction(){}
public function registerAction(RegisterRequest $request){
public function logout(){}
DB::beginTransaction();
try{
$validatedData = $request->validated();
$createdUser = User::create([
'name' => $validatedData['name'],
'email' => $validatedData['email'],
'password' => $validatedData['password'],
'status' => '0',
'role_id' => '3',
]);
$companyFiles = [
'company_director_nik_doc',
'company_deed_incorporation_doc',
'company_siup_nib_doc',
'company_npwp_doc',
'company_pkp_doc',
'company_annual_tax_return_doc',
'company_domicile_certificate_doc',
'company_profile_doc',
'company_cooperation_request_doc',
];
$companyFileNames = [];
foreach($companyFiles as $file){
$companyFileNames[$file] = store_file($validatedData[$file], '/uploads/companies', 'public')['randomFileName'];
}
$createdCompany = Company::create([
'name' => $validatedData['company_name'],
'email' => $validatedData['company_email'],
'address' => $validatedData['company_address'],
'director_name' => $validatedData['company_director_name'],
'director_nik' => $validatedData['company_director_nik'],
'director_nik_doc' => $companyFileNames['company_director_nik_doc'],
'deed_incorporation' => $validatedData['company_deed_incorporation'],
'deed_incorporation_doc' => $companyFileNames['company_deed_incorporation_doc'],
'siup_nib' => $validatedData['company_siup_nib'],
'siup_nib_doc' => $companyFileNames['company_siup_nib_doc'],
'npwp' => $validatedData['company_npwp'],
'npwp_doc' => $companyFileNames['company_npwp_doc'],
'pkp' => $validatedData['company_pkp'],
'pkp_doc' => $companyFileNames['company_pkp_doc'],
'annual_tax_return' => $validatedData['company_annual_tax_return'],
'annual_tax_return_doc' => $companyFileNames['company_annual_tax_return_doc'],
'domicile_certificate' => $validatedData['company_domicile_certificate'],
'domicile_certificate_doc' => $companyFileNames['company_domicile_certificate_doc'],
'profile' => $validatedData['company_profile'],
'profile_doc' => $companyFileNames['company_profile_doc'],
'cooperation_request' => $validatedData['company_cooperation_request'],
'cooperation_request_doc' => $companyFileNames['company_cooperation_request_doc'],
'user_id' => $createdUser->id,
]);
$mediaFiles = [
'media_journalism_organization_doc',
'media_press_council_certificate_doc'
];
$mediaFileNames = [];
foreach($mediaFiles as $file){
$mediaFileNames[$file] = store_file($validatedData[$file], '/uploads/media', 'public')['randomFileName'];
}
$createdMedia = Media::create([
'name' => $validatedData['media_name'],
'address' => $validatedData['media_address'],
'link' => $validatedData['media_link'],
'type' => $validatedData['media_type'],
'classification' => $validatedData['media_classification'],
'journalism_organization' => $validatedData['media_journalism_organization'],
'journalism_organization_doc' => $mediaFileNames['media_journalism_organization_doc'],
'press_council_certificate' => $validatedData['media_press_council_certificate'],
'press_council_certificate_doc' => $mediaFileNames['media_press_council_certificate_doc'],
'company_id' => $createdCompany->id,
]);
$journalistFiles = [
'journalist_press_card_doc',
'journalist_ukw_sertificate_doc'
];
$journalistFileNames = [];
foreach($journalistFiles as $file){
$journalistFileNames[$file] = store_file($validatedData[$file], '/uploads/journalists', 'public')['randomFileName'];
}
$createdJournalist = Journalist::create([
'name' => $validatedData['journalist_name'],
'email' => $validatedData['journalist_email'],
'phone_number' => $validatedData['journalist_phone_number'],
'press_card' => $validatedData['journalist_press_card'],
'press_card_doc' => $journalistFileNames['journalist_press_card_doc'],
'ukw_sertificate' => $validatedData['journalist_ukw_sertificate'],
'ukw_sertificate_doc' => $journalistFileNames['journalist_ukw_sertificate_doc'],
'media_id' => $createdMedia->id,
]);
DB::commit();
return redirect()->route('auth.register.success');
}catch(\Exception $e){
DB::rollBack();
throw $e;
}
}
public function registerSuccess(){
return view('auth.register-success', [
'title' => 'Daftar Berhasil'
]);
}
public function logout(Request $request){
Auth::logout();
$request->session()->invalidate();
$request->session()->regenerateToken();
return redirect()->route('login');
}
}

View File

@ -0,0 +1,77 @@
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Support\Facades\Auth;
use Illuminate\Validation\Rules\Password;
class RegisterRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return !Auth::check();
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
*/
public function rules(): array
{
return [
// Login credential
'name' => ['required'],
'email' => ['required', 'email'],
'password' => ['required', 'confirmed', Password::min(8)
->mixedCase()
->numbers()
->symbols()],
// Company
'company_name' => ['required', 'max:100'],
'company_email' => ['required', 'max:100', 'email'],
'company_address' => ['required'],
'company_director_name' => ['required', 'max:100'],
'company_director_nik' => ['required', 'max:100'],
'company_director_nik_doc' => ['required', 'file', 'mimes:pdf', 'max:2048'],
'company_deed_incorporation' => ['required', 'max:100'],
'company_deed_incorporation_doc' => ['required', 'file', 'mimes:pdf', 'max:2048'],
'company_siup_nib' => ['required', 'max:100'],
'company_siup_nib_doc' => ['required', 'file', 'mimes:pdf', 'max:2048'],
'company_npwp' => ['required', 'max:100'],
'company_npwp_doc' => ['required', 'file', 'mimes:pdf', 'max:2048'],
'company_pkp' => ['required', 'max:100'],
'company_pkp_doc' => ['required', 'file', 'mimes:pdf', 'max:2048'],
'company_annual_tax_return' => ['required', 'max:100'],
'company_annual_tax_return_doc' => ['required', 'file', 'mimes:pdf', 'max:2048'],
'company_domicile_certificate' => ['required', 'max:100'],
'company_domicile_certificate_doc' => ['required', 'file', 'mimes:pdf', 'max:2048'],
'company_profile' => ['required', 'max:100'],
'company_profile_doc' => ['required', 'file', 'mimes:pdf', 'max:2048'],
'company_cooperation_request' => ['required', 'max:100'],
'company_cooperation_request_doc' => ['required', 'file', 'mimes:pdf', 'max:2048'],
// Media
'media_name' => ['required', 'max:100'],
'media_address' => ['required'],
'media_link' => ['required'],
'media_type' => ['required'],
'media_classification' => ['required'],
'media_journalism_organization' => ['required', 'max:100'],
'media_journalism_organization_doc' => ['required', 'file', 'mimes:pdf', 'max:2048'],
'media_press_council_certificate' => ['required', 'max:100'],
'media_press_council_certificate_doc' => ['required', 'file', 'mimes:pdf', 'max:2048'],
// Journalist
'journalist_name' => ['required', 'max:100'],
'journalist_email' => ['required', 'max:100', 'email'],
'journalist_phone_number' => ['required', 'max:100'],
'journalist_press_card' => ['required', 'max:100'],
'journalist_press_card_doc' => ['required', 'file', 'mimes:pdf', 'max:2048'],
'journalist_ukw_sertificate' => ['required', 'max:100'],
'journalist_ukw_sertificate_doc' => ['required', 'file', 'mimes:pdf', 'max:2048'],
];
}
}

36
app/Models/Company.php Normal file
View File

@ -0,0 +1,36 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Company extends Model
{
protected $table = 'companies';
protected $fillable = [
'name',
'email',
'address',
'director_name',
'director_nik',
'director_nik_doc',
'deed_incorporation',
'deed_incorporation_doc',
'siup_nib',
'siup_nib_doc',
'npwp',
'npwp_doc',
'pkp',
'pkp_doc',
'annual_tax_return',
'annual_tax_return_doc',
'domicile_certificate',
'domicile_certificate_doc',
'profile',
'profile_doc',
'cooperation_request',
'cooperation_request_doc',
'user_id'
];
}

21
app/Models/Journalist.php Normal file
View File

@ -0,0 +1,21 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Journalist extends Model
{
protected $table = 'journalists';
protected $fillable = [
'name',
'email',
'phone_number',
'press_card',
'press_card_doc',
'ukw_sertificate',
'ukw_sertificate_doc',
'media_id',
];
}

23
app/Models/Media.php Normal file
View File

@ -0,0 +1,23 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Media extends Model
{
protected $table = 'media';
protected $fillable = [
'name',
'address',
'link',
'type',
'classification',
'journalism_organization',
'journalism_organization_doc',
'press_council_certificate',
'press_council_certificate_doc',
'company_id',
];
}

15
app/Models/Role.php Normal file
View File

@ -0,0 +1,15 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Role extends Model
{
protected $table = 'user_roles';
protected $fillable = [
'name',
'description'
];
}

View File

@ -21,6 +21,8 @@ class User extends Authenticatable
'name',
'email',
'password',
'status',
'role_id'
];
/**

View File

@ -27,7 +27,10 @@
"App\\": "app/",
"Database\\Factories\\": "database/factories/",
"Database\\Seeders\\": "database/seeders/"
}
},
"files": [
"app/Helpers/CustomHelper.php"
]
},
"autoload-dev": {
"psr-4": {
@ -71,4 +74,4 @@
},
"minimum-stability": "stable",
"prefer-stable": true
}
}

View File

@ -0,0 +1,29 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('user_roles', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->text('description')->nullable();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('roles');
}
};

View File

@ -17,6 +17,9 @@ public function up(): void
$table->string('email')->unique();
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->enum('status', ['0', '1', '2'])->default('0');
$table->unsignedBigInteger('role_id');
$table->foreign('role_id')->references('id')->on('user_roles');
$table->rememberToken();
$table->timestamps();
});

View File

@ -0,0 +1,51 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('companies', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('email');
$table->text('address');
$table->string('director_name');
$table->string('director_nik');
$table->string('director_nik_doc')->nullable();
$table->string('deed_incorporation');
$table->string('deed_incorporation_doc')->nullable();
$table->string('siup_nib');
$table->string('siup_nib_doc')->nullable();
$table->string('npwp');
$table->string('npwp_doc')->nullable();
$table->string('pkp');
$table->string('pkp_doc')->nullable();
$table->string('annual_tax_return');
$table->string('annual_tax_return_doc')->nullable();
$table->string('domicile_certificate');
$table->string('domicile_certificate_doc')->nullable();
$table->string('profile');
$table->string('profile_doc')->nullable();
$table->string('cooperation_request');
$table->string('cooperation_request_doc')->nullable();
$table->unsignedBigInteger('user_id');
$table->foreign('user_id')->references('id')->on('users');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('companies');
}
};

View File

@ -0,0 +1,38 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('media', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->text('address');
$table->string('link');
$table->enum('type', ['online','print','radio','television']);
$table->enum('classification', ['local', 'regional', 'national']);
$table->string('journalism_organization');
$table->string('journalism_organization_doc')->nullable();
$table->string('press_council_certificate');
$table->string('press_council_certificate_doc')->nullable();
$table->unsignedBigInteger('company_id');
$table->foreign('company_id')->references('id')->on('companies');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('media');
}
};

View File

@ -0,0 +1,36 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('journalists', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('email');
$table->string('phone_number');
$table->string('press_card');
$table->string('press_card_doc')->nullable();
$table->string('ukw_sertificate');
$table->string('ukw_sertificate_doc')->nullable();
$table->unsignedBigInteger('media_id');
$table->foreign('media_id')->references('id')->on('media');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('journalists');
}
};

View File

@ -0,0 +1,17 @@
<?php
namespace Database\Seeders;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
class CompanySeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run(): void
{
//
}
}

View File

@ -13,11 +13,7 @@ class DatabaseSeeder extends Seeder
*/
public function run(): void
{
// User::factory(10)->create();
User::factory()->create([
'name' => 'Test User',
'email' => 'test@example.com',
]);
$this->call(RoleSeeder::class);
$this->call(UserSeeder::class);
}
}

View File

@ -0,0 +1,17 @@
<?php
namespace Database\Seeders;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
class JournalistSeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run(): void
{
//
}
}

View File

@ -0,0 +1,17 @@
<?php
namespace Database\Seeders;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
class MediaSeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run(): void
{
//
}
}

View File

@ -0,0 +1,23 @@
<?php
namespace Database\Seeders;
use App\Models\Role;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
class RoleSeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run(): void
{
Role::insert([
['name' => "Administrator", 'description' => null],
['name' => "Monitoring Admin", 'description' => null],
['name' => "Company", 'description' => null],
['name' => "Content Admin", 'description' => null],
]);
}
}

View File

@ -0,0 +1,24 @@
<?php
namespace Database\Seeders;
use App\Models\User;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
class UserSeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run(): void
{
$createdUser = User::create([
'name' => 'Administrator',
'email' => 'admin@gmail.com',
'password' => 'Rahasia123@',
'status' => '1',
'role_id' => '1'
]);
}
}

View File

@ -3,3 +3,29 @@ .auth-validation-error{
color: red;
font-size: 0.7rem;
}
.required-input{
color: red;
font-weight: bolder;
font-size: 0.8rem;
}
#password-strength-status {
margin-top: 5px;
font-size: 12px;
font-weight: bold;
}
.invalid {
color: red;
border-color: red;
}
.valid {
color: green;
border-color: green;
}
input:focus {
outline: none; /* Menghilangkan outline default */
}

View File

@ -8,7 +8,7 @@ .email-wraper {
width: 100%;
}
.email-wraper a {
color: #854fff;
color: #3572EF;
word-break: break-all;
}
.email-wraper .link-block {
@ -46,7 +46,7 @@ .email-warning {
border-bottom: #f4bd0e;
}
.email-btn {
background: #854fff;
background: #3572EF;
border-radius: 4px;
color: #ffffff !important;
display: inline-block;
@ -71,12 +71,12 @@ .email-logo {
}
.email-title {
font-size: 13px;
color: #854fff;
color: #3572EF;
padding-top: 12px;
}
.email-heading {
font-size: 18px;
color: #854fff;
color: #3572EF;
font-weight: 600;
margin: 0;
line-height: 1.4;
@ -101,7 +101,7 @@ .email-heading-s2 {
}
.email-heading-s3 {
font-size: 18px;
color: #854fff;
color: #3572EF;
font-weight: 400;
margin-bottom: 8px;
}
@ -144,4 +144,4 @@ @media (max-width: 480px) {
.email-ul-col2 li {
width: 100%;
}
}
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,29 @@
document.getElementById("email").addEventListener("keyup", function() {
var password = this.value;
var strengthStatus = document.getElementById("password-strength-status");
var colorClass = '';
console.log("Password input:", password); // Menambahkan log untuk debug
// Regex untuk memeriksa kriteria kata sandi
var hasUpper = /[A-Z]/.test(password); // Memeriksa huruf besar
var hasLower = /[a-z]/.test(password); // Memeriksa huruf kecil
var hasNumber = /\d/.test(password); // Memeriksa angka
var hasSymbol = /[!@#$%^&*(),.?":{}|<>]/.test(password); // Memeriksa simbol
// Cek apakah kata sandi memenuhi semua kriteria
if (hasUpper && hasLower && hasNumber && hasSymbol) {
strengthStatus.textContent = 'Kata sandi valid';
colorClass = 'valid'; // Jika valid, set warna hijau
} else {
strengthStatus.textContent = 'Kata sandi tidak memenuhi syarat';
colorClass = 'invalid'; // Jika tidak memenuhi syarat, set warna merah
}
// Ubah warna input dan border sesuai dengan status
this.classList.remove("invalid", "valid");
this.classList.add(colorClass);
// Set warna indikator kekuatan
strengthStatus.className = colorClass;
});

View File

@ -118,7 +118,7 @@
NioApp.PassSwitch = function () {
NioApp.Passcode('.passcode-switch');
}; // Toastr Message @v1.0
}; // Toastr Message @v1.0
NioApp.Toast = function (msg, ttype, opt) {
@ -456,9 +456,9 @@
headerTag: ".nk-wizard-head",
bodyTag: ".nk-wizard-content",
labels: {
finish: "Submit",
finish: "Daftar",
next: "Lanjut",
previous: "Prev",
previous: "Kembali",
loading: "Loading ..."
},
titleTemplate: '<span class="number"></span> #title#',
@ -483,7 +483,7 @@
return $self_id.valid();
},
onFinished: function onFinished(event, currentIndex) {
window.location.href = "#";
$self_id.submit();
}
}).validate({
errorElement: "span",
@ -999,4 +999,4 @@
NioApp.init();
return NioApp;
}(NioApp, jQuery);
}(NioApp, jQuery);

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -75,7 +75,7 @@
</div>
</form><!-- form -->
<div class="text-center mt-5">
<span class="fw-500">Belum memiliki akun? <a href="#">Buat akun</a></span>
<span class="fw-500">Belum memiliki akun? <a href="{{route('auth.register')}}">Buat akun</a></span>
</div>
</div><!-- .nk-block -->
<div class="nk-block nk-auth-footer">

View File

@ -0,0 +1,107 @@
<!DOCTYPE html>
<html lang="zxx" class="js">
<head>
<base href="../">
<meta charset="utf-8">
<meta name="author" content="Softnio">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="A powerful and conceptual apps base dashboard template that especially build for developers and programmers.">
<!-- Fav Icon -->
<link rel="shortcut icon" href="./images/favicon.png">
<!-- Page Title -->
<title>{{$title}} - App Name</title>
<!-- StyleSheets -->
<link rel="stylesheet" href="{{asset('assets/dashboard/css/dashlite.css?ver=3.0.3')}}">
<link id="skin-default" rel="stylesheet" href="{{asset('assets/dashboard/css/theme.css?ver=3.0.3')}}">
<link rel="stylesheet" href="{{asset('assets/dashboard/css/style-email.css')}}">
</head>
<body class="nk-body bg-lighter npc-default has-sidebar ">
<div class="nk-app-root">
<!-- main @s -->
<div class="nk-main ">
<!-- wrap @s -->
<div class="nk-wrap ">
<!-- content @s -->
<div class="nk-content ">
<div class="container-fluid">
<div class="nk-content-inner">
<div class="nk-content-body">
<div class="content-page wide-md m-auto">
<!-- here -->
<div class="nk-block">
<div class="card">
<div class="card-inner">
<table class="email-wraper">
<tr>
<td class="py-5">
<table class="email-header">
<tbody>
<tr>
<td class="text-center pb-4">
<a href="#"><img class="email-logo" src="{{asset('assets/defaults/simedkom-logo-full.png')}}" alt="logo"></a>
<p class="email-title">Sistem Media Komunikasi Kabupaten Purwakarta</p>
</td>
</tr>
</tbody>
</table>
<table class="email-body text-center">
<tbody>
<tr>
<td class="px-3 px-sm-5 pt-3 pt-sm-5 pb-4">
<img class="w-100px" src="{{asset('assets/defaults/checked.png')}}" alt="Verified">
</td>
</tr>
<tr>
<td class="px-3 px-sm-5 pb-3 pb-sm-5">
<h5 class="text-success mb-3">Akun Anda berhasil dibuat.</h5>
<p>Kami telah menerima pendaftaran Anda. Harap tunggu hingga akun Anda diverifikasi oleh admin sebelum dapat digunakan. Anda hanya dapat login menggunakan akun yang sudah terverifikasi. Terimakasih.</p>
</td>
</tr>
<tr>
<td class="px-3 px-sm-5 pb-3 pb-sm-5">
<a href="{{route('login')}}">Kembali</a>
</td>
</tr>
</tbody>
</table>
<table class="email-footer">
<tbody>
<tr>
<td class="text-center pt-4">
<p class="email-copyright-text">Copyright © 2025 Diskominfo Purwakarta. All rights reserved.</p>
<ul class="email-social">
<li><a href="javascript:void(0);"><img src="{{asset('assets/defaults/instagram.png')}}" alt=""></a></li>
<li><a href="javascript:void(0);"><img src="{{asset('assets/defaults/facebook.png')}}" alt=""></a></li>
<li><a href="javascript:void(0);"><img src="{{asset('assets/defaults/youtube.png')}}" alt=""></a></li>
<li><a href="javascript:void(0);"><img src="{{asset('assets/defaults/twitter.png')}}" alt=""></a></li>
</ul>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</table>
</div>
</div>
</div><!-- .nk-block -->
</div><!-- .content-page -->
</div>
</div>
</div>
</div>
<!-- content @e -->
</div>
<!-- wrap @e -->
</div>
<!-- main @e -->
</div>
<!-- app-root @e -->
<!-- JavaScript -->
<script src="{{asset('assets/dashboard/js/bundle.js?ver=3.0.3')}}"></script>
<script src="{{asset('assets/dashboard/js/scripts.js?ver=3.0.3')}}"></script>
</body>
</html>

View File

@ -0,0 +1,620 @@
<!DOCTYPE html>
<html lang="zxx" class="js">
<head>
<base href="../../../">
<meta charset="utf-8">
<meta name="author" content="Softnio">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="A powerful and conceptual apps base dashboard template that especially build for developers and programmers.">
<!-- Fav Icon -->
<link rel="shortcut icon" href="{{asset('assets/defaults/simedkom-logo-circle.png')}}">
<!-- Page Title -->
<title>Register | App Name</title>
<!-- StyleSheets -->
<link rel="stylesheet" href="{{asset('assets/dashboard/css/dashlite.css?ver=3.0.3')}}">
<link rel="stylesheet" href="{{asset('assets/dashboard/css/custom.css')}}">
<link id="skin-default" rel="stylesheet" href="{{asset('assets/dashboard/css/theme.css?ver=3.0.3')}}">
</head>
<body class="nk-body bg-white npc-default pg-auth">
<div class="nk-app-root">
<!-- main @s -->
<div class="nk-main ">
<!-- wrap @s -->
<div class="nk-wrap nk-wrap-nosidebar">
<!-- content @s -->
<div class="nk-content ">
<div class="nk-split nk-split-page nk-split-md">
<div class="nk-split-content nk-block-area nk-block-area-column nk-auth-container bg-white w-lg-45">
<div class="nk-block nk-block-middle nk-auth-body">
<div class="brand-logo pb-5">
<a href="html/index.html" class="logo-link">
<img class="logo-light logo-img logo-img-lg" src="{{asset('assets/defaults/simedkom-logo-full.png')}}" srcset="{{asset('assets/defaults/simedkom-logo-full.png')}}" alt="logo">
<img class="logo-dark logo-img logo-img-lg" src="{{asset('assets/defaults/simedkom-logo-full.png')}}" srcset="{{asset('assets/defaults/simedkom-logo-full.png')}}" alt="logo-dark">
</a>
</div>
<div class="nk-block-head">
<div class="nk-block-head-content">
@foreach ($errors->all() as $err)
{{ $err . " " }}
@endforeach
<h5 class="nk-block-title">Daftar Akun</h5>
<div class="nk-block-des">
<p>Buat akun baru untuk mengakses panel.</p>
</div>
</div>
</div><!-- .nk-block-head -->
<form action="{{route('auth.register.action')}}" class="nk-wizard nk-wizard-simple is-alter" id="wizard-01" method="post" enctype="multipart/form-data">
@csrf
<div class="nk-wizard-head">
<h5>Step 1</h5>
</div>
<div class="nk-wizard-content">
<div class="row gy-3">
<h5>Kredensial Login</h5>
<div class="col-md-12">
<div class="form-group">
<label class="form-label" for="name">Nama Lengkap<span class="required-input">*</span></label>
<div class="form-control-wrap">
<input type="text" class="form-control required" required id="name" name="name" placeholder="Masukan nama lengkap" value="{{old('name')}}">
</div>
@error('name')
<span class="auth-validation-error">{{$message}}</span>
@enderror
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label class="form-label" for="email">Email<span class="required-input">*</span></label>
<div class="form-control-wrap">
<input type="text" class="form-control required" required id="email" name="email" placeholder="Masukan email" value="{{old('email')}}">
</div>
@error('email')
<span class="auth-validation-error">{{$message}}</span>
@enderror
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label class="form-label" for="password">Kata Sandi<span class="required-input">*</span></label>
<div class="form-control-wrap">
<input type="password" class="form-control required" required id="password" name="password" placeholder="Masukan kata sandi">
<div id="password-strength-status"></div>
</div>
@error('password')
<span class="auth-validation-error">{{$message}}</span>
@enderror
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label class="form-label" for="password-confirmation">Ulangi Kata Sandi<span class="required-input">*</span></label>
<div class="form-control-wrap">
<input type="password" class="form-control required" required id="password-confirmation" name="password_confirmation" placeholder="Ulangi kata sandi">
</div>
@error('repeat_password')
<span class="auth-validation-error">{{$message}}</span>
@enderror
</div>
</div>
</div>
</div>
<div class="nk-wizard-head">
<h5>Step 2</h5>
</div>
<div class="nk-wizard-content">
<div class="row gy-3">
<h5>Data Perusahaan</h5>
<div class="col-md-12">
<div class="form-group">
<label class="form-label" for="company-name">Nama Perusahaan<span class="required-input">*</span></label>
<div class="form-control-wrap">
<input type="text" class="form-control required" required id="company-name" name="company_name" placeholder="Masukan nama perusahaan" value="{{old('company_name')}}">
</div>
@error('company_name')
<span class="auth-validation-error">{{$message}}</span>
@enderror
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label class="form-label" for="company-email">Email Perusahaan<span class="required-input">*</span></label>
<div class="form-control-wrap">
<input type="text" class="form-control required" required id="company-email" name="company_email" placeholder="Masukan email perusahaan" value="{{old('company_email')}}">
</div>
@error('company_email')
<span class="auth-validation-error">{{$message}}</span>
@enderror
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label class="form-label" for="company_address">Alamat Perusahaan<span class="required-input">*</span></label>
<div class="form-control-wrap">
<textarea class="form-control form-control-sm required" required id="company_address" placeholder="Masukan alamat perusahaan" name="company_address">{{old('company_address')}}</textarea>
@error('company_email')
<span class="auth-validation-error">{{$message}}</span>
@enderror
</div>
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label class="form-label" for="company-director-name">Direktur Perusahaan<span class="required-input">*</span></label>
<div class="form-control-wrap">
<input type="text" class="form-control required" required id="company-director-name" name="company_director_name" placeholder="Masukan direktur perusahaan" value="{{old('company_director_name')}}">
</div>
@error('company_director_name')
<span class="auth-validation-error">{{$message}}</span>
@enderror
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label class="form-label" for="company-director-nik">NIK Direktur<span class="required-input">*</span></label>
<div class="form-control-wrap">
<input type="text" class="form-control required" required id="company-director-nik" name="company_director_nik" placeholder="Masukan NIK direktur perusahaan" value="{{old('company_director_nik')}}">
</div>
@error('company_director_nik')
<span class="auth-validation-error">{{$message}}</span>
@enderror
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label class="form-label" for="company-director-nik-document">Dokumen NIK Direktur</label>
<div class="form-control-wrap">
<input type="file" accept=".pdf" class="form-control" id="company-director-nik-document" name="company_director_nik_doc">
</div>
@error('company_director_nik_doc')
<span class="auth-validation-error">{{$message}}</span>
@enderror
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label class="form-label" for="deed-incorporation">Akta Pendirian<span class="required-input">*</span></label>
<div class="form-control-wrap">
<input type="text" class="form-control required" required id="deed-incorporation" name="company_deed_incorporation" placeholder="Masukan akta pendirian" value="{{old('company_deed_incorporation')}}">
</div>
@error('company_deed_incorporation')
<span class="auth-validation-error">{{$message}}</span>
@enderror
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label class="form-label" for="deed-incorporation-document">Dokumen Akta Pendirian</label>
<div class="form-control-wrap">
<input type="file" accept=".pdf" class="form-control" id="deed-incorporation-document" name="company_deed_incorporation_doc">
</div>
@error('company_deed_incorporation_doc')
<span class="auth-validation-error">{{$message}}</span>
@enderror
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label class="form-label" for="siup-nib">SIUP / NIB<span class="required-input">*</span></label>
<div class="form-control-wrap">
<input type="text" class="form-control required" required id="siup-nib" name="company_siup_nib" placeholder="Masukan SIUP / NIB" value="{{old('company_siup_nib')}}">
</div>
@error('company_siup_nib')
<span class="auth-validation-error">{{$message}}</span>
@enderror
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label class="form-label" for="siup-nib-document">Dokumen SIUP / NIB</label>
<div class="form-control-wrap">
<input type="file" accept=".pdf" class="form-control" id="siup-nib-document" name="company_siup_nib_doc">
</div>
@error('company_siup_nib_doc')
<span class="auth-validation-error">{{$message}}</span>
@enderror
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label class="form-label" for="npwp">NPWP<span class="required-input">*</span></label>
<div class="form-control-wrap">
<input type="text" class="form-control required" required id="npwp" name="company_npwp" placeholder="Masukan NPWP" value="{{old('company_npwp')}}">
</div>
@error('company_npwp')
<span class="auth-validation-error">{{$message}}</span>
@enderror
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label class="form-label" for="npwp-document">Dokumen NPWP</label>
<div class="form-control-wrap">
<input type="file" accept=".pdf" class="form-control" id="npwp-document" name="company_npwp_doc">
</div>
@error('company_npwp_doc')
<span class="auth-validation-error">{{$message}}</span>
@enderror
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label class="form-label" for="pkp">PKP<span class="required-input">*</span></label>
<div class="form-control-wrap">
<input type="text" class="form-control required" required id="pkp" name="company_pkp" placeholder="Masukan PKP" value="{{old('company_pkp')}}">
</div>
@error('company_pkp')
<span class="auth-validation-error">{{$message}}</span>
@enderror
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label class="form-label" for="pkp-document">Dokumen PKP</label>
<div class="form-control-wrap">
<input type="file" accept=".pdf" class="form-control" id="pkp-document" name="company_pkp_doc">
</div>
@error('company_pkp_doc')
<span class="auth-validation-error">{{$message}}</span>
@enderror
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label class="form-label" for="annual-tax-return">SPT Tahunan<span class="required-input">*</span></label>
<div class="form-control-wrap">
<input type="text" class="form-control required" required id="annual-tax-return" name="company_annual_tax_return" placeholder="Masukan SPT Tahunan" value="{{old('company_annual_tax_return')}}">
</div>
@error('company_annual_tax_return')
<span class="auth-validation-error">{{$message}}</span>
@enderror
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label class="form-label" for="annual-tax-return-document">Dokumen SPT Tahunan</label>
<div class="form-control-wrap">
<input type="file" accept=".pdf" class="form-control" id="annual-tax-return-document" name="company_annual_tax_return_doc">
</div>
@error('company_annual_tax_return_doc')
<span class="auth-validation-error">{{$message}}</span>
@enderror
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label class="form-label" for="domicile-certificate">Suket Domisili<span class="required-input">*</span></label>
<div class="form-control-wrap">
<input type="text" class="form-control required" required id="domicile-certificate" name="company_domicile_certificate" placeholder="Masukan suket domisili" value="{{old('company_domicile_certificate')}}">
</div>
@error('company_domicile_certificate')
<span class="auth-validation-error">{{$message}}</span>
@enderror
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label class="form-label" for="domicile-certificate-document">Dokumen Suket Domisili</label>
<div class="form-control-wrap">
<input type="file" accept=".pdf" class="form-control" id="domicile-certificate-document" name="company_domicile_certificate_doc">
</div>
@error('company_domicile_certificate_doc')
<span class="auth-validation-error">{{$message}}</span>
@enderror
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label class="form-label" for="company-profile">Profil Perusahaan<span class="required-input">*</span></label>
<div class="form-control-wrap">
<input type="text" class="form-control required" required id="company-profile" name="company_profile" placeholder="Masukan profil perusahaan" value="{{old('company_profile')}}">
</div>
@error('company_profile')
<span class="auth-validation-error">{{$message}}</span>
@enderror
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label class="form-label" for="company-profile-document">Dokumen Profil Perusahaan<span class="required-input">*</span></label>
<div class="form-control-wrap">
<input type="file" accept=".pdf" class="form-control required" required id="company-profile-document" name="company_profile_doc">
</div>
@error('company_profile_doc')
<span class="auth-validation-error">{{$message}}</span>
@enderror
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label class="form-label" for="cooperation-request">Permohonan Kerjasama<span class="required-input">*</span></label>
<div class="form-control-wrap">
<input type="text" class="form-control required" required id="cooperation-request" name="company_cooperation_request" placeholder="Masukan permohonan kerjasama" value="{{old('company_cooperation_request')}}">
</div>
@error('company_cooperation_request')
<span class="auth-validation-error">{{$message}}</span>
@enderror
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label class="form-label" for="cooperation-request-document">Dokumen Permohonan Kerjasama</label>
<div class="form-control-wrap">
<input type="file" accept=".pdf" class="form-control" id="cooperation-request-document" name="company_cooperation_request_doc">
</div>
@error('company_cooperation_request_doc')
<span class="auth-validation-error">{{$message}}</span>
@enderror
</div>
</div>
</div><!-- .row -->
</div>
<div class="nk-wizard-head">
<h5>Step 3</h5>
</div>
<div class="nk-wizard-content">
<div class="row gy-2">
<h5>Data Media</h5>
<div class="col-md-12">
<div class="form-group">
<label class="form-label" for="media-name">Nama Media<span class="required-input">*</span></label>
<div class="form-control-wrap">
<input type="text" class="form-control required" required id="media-name" name="media_name" placeholder="Masukan nama media" value="{{old('media_name')}}">
</div>
@error('media_name')
<span class="auth-validation-error">{{$message}}</span>
@enderror
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label class="form-label" for="media-address">Alamat Media<span class="required-input">*</span></label>
<div class="form-control-wrap">
<textarea class="form-control form-control-sm required" required id="media-address" placeholder="Masukan alamat perusahaan" name="media_address">{{old('media_address')}}</textarea>
@error('media_address')
<span class="auth-validation-error">{{$message}}</span>
@enderror
</div>
@error('media_address')
<span class="auth-validation-error">{{$message}}</span>
@enderror
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label class="form-label" for="media-link">Link Media<span class="required-input">*</span></label>
<div class="form-control-wrap">
<input type="text" class="form-control required" required id="media-link" name="media_link" placeholder="Masukan nama media" value="{{old('media_link')}}">
</div>
@error('media_link')
<span class="auth-validation-error">{{$message}}</span>
@enderror
</div>
</div>
<div class="col-md-12">
<label class="form-label">Jenis<span class="required-input">*</span></label>
<ul class="d-flex flex-wrap g-2">
<li>
<div class="custom-control custom-radio">
<input type="radio" class="custom-control-input" name="media_type" id="online" value="online" {{ old('media_type') == 'online' ? 'checked' : '' }}>
<label class="custom-control-label" for="online">Online</label>
</div>
</li>
<li>
<div class="custom-control custom-radio">
<input type="radio" class="custom-control-input" name="media_type" id="print" value="print" {{ old('media_type') == 'print' ? 'checked' : '' }}>
<label class="custom-control-label" for="print">Cetak</label>
</div>
</li>
<li>
<div class="custom-control custom-radio">
<input type="radio" class="custom-control-input" name="media_type" id="radio" value="radio" {{ old('media_type') == 'radio' ? 'checked' : '' }}>
<label class="custom-control-label" for="radio">Radio</label>
</div>
</li>
<li>
<div class="custom-control custom-radio">
<input type="radio" class="custom-control-input" name="media_type" id="television" value="television" {{ old('media_type') == 'television' ? 'checked' : '' }}>
<label class="custom-control-label" for="television">Televisi</label>
</div>
</li>
</ul>
@error('media_type')
<span class="auth-validation-error">{{$message}}</span>
@enderror
</div>
<div class="col-md-12">
<label class="form-label">Klasifikasi<span class="required-input">*</span></label>
<ul class="d-flex flex-wrap g-2">
<li>
<div class="custom-control custom-radio">
<input type="radio" class="custom-control-input" name="media_classification" id="local" value="local" {{ old('media_classification') == 'local' ? 'checked' : '' }}>
<label class="custom-control-label" for="local">Lokal</label>
</div>
</li>
<li>
<div class="custom-control custom-radio">
<input type="radio" class="custom-control-input" name="media_classification" id="regional" value="regional" {{ old('media_classification') == 'regional' ? 'checked' : '' }}>
<label class="custom-control-label" for="regional">Regional</label>
</div>
</li>
<li>
<div class="custom-control custom-radio">
<input type="radio" class="custom-control-input" name="media_classification" id="national" value="national" {{ old('media_classification') == 'national' ? 'checked' : '' }}>
<label class="custom-control-label" for="national">Nasional</label>
</div>
</li>
</ul>
@error('media_classification')
<span class="auth-validation-error">{{$message}}</span>
@enderror
</div>
<div class="col-md-12">
<div class="form-group">
<label class="form-label" for="journalism-organization">Organisasi Kewartawanan<span class="required-input">*</span></label>
<div class="form-control-wrap">
<input type="text" class="form-control required" required id="journalism-organization" name="media_journalism_organization" placeholder="Masukan organisasi kewartawanan" value="{{old('media_journalism_organization')}}">
</div>
@error('media_journalism_organization')
<span class="auth-validation-error">{{$message}}</span>
@enderror
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label class="form-label" for="journalism-organization-document">Dokumen Organisasi Kewartawanan</label>
<div class="form-control-wrap">
<input type="file" accept=".pdf" class="form-control" id="journalism-organization-document" name="media_journalism_organization_doc">
</div>
@error('media_journalism_organization_doc')
<span class="auth-validation-error">{{$message}}</span>
@enderror
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label class="form-label" for="press-council-certificate">Sertifikat Dewan Pers<span class="required-input">*</span></label>
<div class="form-control-wrap">
<input type="text" class="form-control required" required id="press-council-certificate" name="media_press_council_certificate" placeholder="Masukan sertifikat dewan pers" value="{{old('media_press_council_certificate')}}">
</div>
@error('media_press_council_certificate')
<span class="auth-validation-error">{{$message}}</span>
@enderror
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label class="form-label" for="press-council-certificate-document">Dokumen Sertifikat Dewan Pers</label>
<div class="form-control-wrap">
<input type="file" accept=".pdf" class="form-control" id="press-council-certificate-document" name="media_press_council_certificate_doc">
</div>
@error('media_press_council_certificate_doc')
<span class="auth-validation-error">{{$message}}</span>
@enderror
</div>
</div>
</div><!-- .row -->
</div>
<div class="nk-wizard-head">
<h5>Step 4</h5>
</div>
<div class="nk-wizard-content">
<div class="row gy-2">
<h5>Data Jurnalis</h5>
<div class="col-md-12">
<div class="form-group">
<label class="form-label" for="journalist-name">Nama Jurnalis<span class="required-input">*</span></label>
<div class="form-control-wrap">
<input type="text" class="form-control required" required id="journalist-name" name="journalist_name" placeholder="Masukan nama jurnalis" value="{{old('journalist_name')}}">
</div>
@error('journalist_name')
<span class="auth-validation-error">{{$message}}</span>
@enderror
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label class="form-label" for="journalist-email">Email Jurnalis<span class="required-input">*</span></label>
<div class="form-control-wrap">
<input type="email" class="form-control required" required id="journalist-email" name="journalist_email" placeholder="Masukan email jurnalis" value="{{old('journalist_email')}}">
</div>
@error('journalist_email')
<span class="auth-validation-error">{{$message}}</span>
@enderror
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label class="form-label" for="journalist-phone-number">Nomor Telepon<span class="required-input">*</span></label>
<div class="form-control-wrap">
<input type="text" class="form-control required" required id="journalist-phone-number" name="journalist_phone_number" placeholder="Masukan nonor telepon jurnalis" value="{{old('journalist_phone_number')}}">
</div>
@error('journalist_phone_number')
<span class="auth-validation-error">{{$message}}</span>
@enderror
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label class="form-label" for="journalist-press-card">Kartu Pers<span class="required-input">*</span></label>
<div class="form-control-wrap">
<input type="text" class="form-control required" required id="journalist-press-card" name="journalist_press_card" placeholder="Masukan kartu pers" value="{{old('journalist_press_card')}}">
</div>
@error('journalist_press_card')
<span class="auth-validation-error">{{$message}}</span>
@enderror
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label class="form-label" for="journalist-press-card-document">Dokumen Kartu Pers<span class="required-input">*</span></label>
<div class="form-control-wrap">
<input type="file" accept=".pdf" class="form-control" id="journalist-press-card-document" name="journalist_press_card_doc">
</div>
@error('journalist_press_card_doc')
<span class="auth-validation-error">{{$message}}</span>
@enderror
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label class="form-label" for="ukw-sertificate">Sertifikat UKW<span class="required-input">*</span></label>
<div class="form-control-wrap">
<input type="text" class="form-control required" required id="ukw-sertificate" name="journalist_ukw_sertificate" placeholder="Masukan sertifikat UKW" value="{{old('journalist_ukw_sertificate')}}">
</div>
@error('journalist_ukw_sertificate')
<span class="auth-validation-error">{{$message}}</span>
@enderror
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label class="form-label" for="ukw-sertificate-document">Dokumen Sertifikat UKW<span class="required-input">*</span></label>
<div class="form-control-wrap">
<input type="file" accept=".pdf" class="form-control" id="ukw-sertificate-document" name="journalist_ukw_sertificate_doc">
</div>
@error('journalist_ukw_sertificate_doc')
<span class="auth-validation-error">{{$message}}</span>
@enderror
</div>
</div>
</div><!-- .row -->
</div>
</form>
<div class="form-note-s2 pt-4">Sudah memiliki akun ? <a href="{{route('login')}}"><strong>Masuk</strong></a>
</div>
</div><!-- .nk-block -->
<div class="nk-block nk-auth-footer">
<div class="mt-3 text-center">
<p>&copy; 2025 Diskominfo Purwakarta</p>
</div>
</div><!-- .nk-block -->
</div><!-- nk-split-content -->
<div class="nk-split-content nk-split-stretch bg-abstract"></div><!-- nk-split-content -->
</div><!-- nk-split -->
</div>
<!-- wrap @e -->
</div>
<!-- content @e -->
</div>
<!-- main @e -->
</div>
<!-- app-root @e -->
<!-- JavaScript -->
<script src="{{asset('assets/dashboard/js/bundle.js?ver=3.0.3')}}"></script>
<script src="{{asset('assets/dashboard/js/scripts.js?ver=3.0.3')}}"></script>
<script src="{{asset('assets/dashboard/js/libs/tagify.js?ver=3.0.3')}}"></script>
<script src="{{asset('assets/dashboard/js/custom.js')}}"></script>
{{-- <script>
// Menambahkan log untuk memastikan script berjalan
console.log("Script loaded!");
document.getElementById("password").addEventListener("input", function() {
var password = this.value;
console.log("Password input:", password);
});
</script> --}}
</body>
</html>

View File

@ -7,13 +7,20 @@
return view('welcome');
});
Route::controller(AuthController::class)->group(function(){
Route::prefix('auth')->group(function(){
Route::prefix('auth')->group(function(){
Route::controller(AuthController::class)->group(function(){
Route::get('/login', 'login')->name('login');
Route::name('auth.')->group(function(){
Route::post('/login', 'loginAction')->name('login.action');
Route::get('/register', 'register')->name('register');
Route::post('/register', 'registerAction')->name('register.action');
Route::get('/register-success', 'registerSuccess')->name('register.success');
Route::get('/logout', 'logout')->name('logout');
});
});
});
Route::middleware(['auth'])->group(function(){
});