Update Login dan Logout

This commit is contained in:
Muhammad Raihan Surya 2023-09-08 11:16:34 +07:00
parent 35bc68bd4c
commit 3b29fc2e10
68 changed files with 3373 additions and 696 deletions

View File

@ -0,0 +1,17 @@
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\Transactions;
use Illuminate\Support\Facades\Auth;
class AdminDashboardController extends Controller
{
public function index(){
return view('admin.index',[
"transaction"=>Transactions::allTransactions()
]);
}
}

View File

@ -16,9 +16,8 @@ class AdminRefundController extends Controller
{ {
// $refundData = Refund::all(); // $refundData = Refund::all();
// return view('Admin.refund.history-refund', ['history_refund' => $refundData]); // return view('Admin.refund.history-refund', ['history_refund' => $refundData]);
return view('admin/refund/history-refund',[ return view('admin.refund.index',[
'name'=>'Jilhan Haura', "refunds" => Refunds::HistoryRefund()
"history_refund" => Refunds::HistoryRefund()
]); ]);
} }
@ -43,8 +42,7 @@ class AdminRefundController extends Controller
*/ */
public function show(Refund $refund) public function show(Refund $refund)
{ {
return view('admin/refund/detail-refund',[ return view('admin.refund.detail-refund',[
'name'=>'Jilhan Haura',
"detail_refund"=> Refunds::DetailRefund() "detail_refund"=> Refunds::DetailRefund()
]); ]);
} }

View File

@ -15,19 +15,10 @@ class AdminSettingController extends Controller
{ {
$settings = Setting::all(); $settings = Setting::all();
return view('admin.setting.index', [ return view('admin.setting.index', [
'name' => 'Jilhan Haura',
'settings' => $settings, 'settings' => $settings,
]); ]);
} }
/**
* Show the form for creating a new resource.
*/
public function create()
{
//
}
/** /**
* Store a newly created resource in storage. * Store a newly created resource in storage.
*/ */

View File

@ -14,9 +14,8 @@ class AdminTransactionController extends Controller
*/ */
public function index() public function index()
{ {
return view('admin/transaction/history-transaction', [ return view('admin.transaction.index', [
'name' => 'Jilhan Haura', 'transactions' => Transaction::all(),
'transaction' => Transactions::allTransactions(),
]); ]);
} }
@ -41,8 +40,7 @@ class AdminTransactionController extends Controller
*/ */
public function show(transaction $transaction) public function show(transaction $transaction)
{ {
return view('admin/transaction/detail-transaction',[ return view('admin.transaction.detail-transaction',[
'name'=>'Jilhn Haura',
'detail_transaction' => Transactions::allDetailTransactions() 'detail_transaction' => Transactions::allDetailTransactions()
]); ]);
} }

View File

@ -13,8 +13,8 @@ class AdminUserController extends Controller
*/ */
public function index() public function index()
{ {
$list_users = User::where('role','User')->get(); $users = User::where('role','User')->get();
return view('admin.users.list-user', ['name' => 'Muhammad Raihan Surya', 'list_users' => $list_users]); return view('admin.users.index', ['users' => $users]);
} }
/** /**
@ -39,7 +39,7 @@ class AdminUserController extends Controller
public function show($id) public function show($id)
{ {
$user = User::find($id); $user = User::find($id);
return view('admin.users.detail-user',['name'=>"Muhammad Raihan Surya", 'detail_user'=>$user]); return view('admin.users.detail-user',['user'=>$user]);
} }
/** /**

View File

@ -12,21 +12,29 @@ use Illuminate\Support\Facades\Storage;
use thiagoalessio\TesseractOCR\TesseractOCR; use thiagoalessio\TesseractOCR\TesseractOCR;
use Intervention\Image\ImageManagerStatic as Image; use Intervention\Image\ImageManagerStatic as Image;
use Illuminate\Support\Facades\Session; use Illuminate\Support\Facades\Session;
use Laravolt\Indonesia\Models\City;
use Laravolt\Indonesia\Models\District;
use Laravolt\Indonesia\Models\Province;
use Laravolt\Indonesia\Models\Village;
class LoginController extends Controller class LoginController extends Controller
{ {
/** // /**
* Create a new AuthController instance. // * Create a new AuthController instance.
* // *
* @return void // * @return void
*/ // */
public function __construct() // public function __construct()
{ // {
$this->middleware('auth:api', ['except' => ['login', 'authenticate', 'register', 'hai']]); // $this->middleware('auth:api', ['except' => ['login', 'authenticate', 'register', 'hai']]);
} // }
public function login() public function login()
{ {
$provinces = Province::all();
$cities = City::all();
$districts = District::all();
$villages = Village::all();
return view('index'); return view('index');
} }
@ -37,6 +45,7 @@ class LoginController extends Controller
*/ */
public function authenticate(Request $request) public function authenticate(Request $request)
{ {
// dd($request);
$credentials = $request->validate([ $credentials = $request->validate([
'email' => ['required', 'email'], 'email' => ['required', 'email'],
'password' => ['required', 'min:8'], 'password' => ['required', 'min:8'],
@ -45,11 +54,11 @@ class LoginController extends Controller
if (Auth::attempt($credentials)) { if (Auth::attempt($credentials)) {
if (Auth::user()->status == 'Finished') { if (Auth::user()->status == 'Finished') {
$request->session()->regenerate(); $request->session()->regenerate();
if (ucwords(Auth::user()->role) == 'Admin') { if (ucwords(Auth::user()->role) == 'Admin') {
return redirect()->intended('/dashboard'); // return redirect()->route('admin.index');
return redirect()->intended('admin');
} else { } else {
return redirect()->intended('/'); return redirect()->intended('user');
} }
} else { } else {
Session::flash('message', 'Akun tidak ditemukan atau sedang dalam pengajuan'); Session::flash('message', 'Akun tidak ditemukan atau sedang dalam pengajuan');
@ -64,11 +73,6 @@ class LoginController extends Controller
->onlyInput('email'); ->onlyInput('email');
} }
public function hai()
{
echo 'sukses';
}
/** /**
* Log the user out (Invalidate the token). * Log the user out (Invalidate the token).
* *
@ -85,126 +89,129 @@ class LoginController extends Controller
return redirect()->route('login'); return redirect()->route('login');
} }
public function registerStore(Request $request) public function register(Request $request)
{ {
$validatedData = $request->validate([ dd($request);
'nama' => 'required|max:255', // $validatedData = $request->validate([
'email' => 'required|string|email|unique:users', // 'nama' => 'required|max:255',
'password' => 'required|string|min:8', // 'email' => 'required|string|email|unique:users',
'nohp' => 'required', // 'password' => 'required|string|min:8',
'nik' => 'required', // 'nohp' => 'required',
'alamat' => 'required', // 'nik' => 'required',
'foto_ktp' => 'required|image|mimes:jpeg,svg,png,jpg', // 'alamat' => 'required',
'foto_wajah' => 'required|image|mimes:jpeg,svg,png,jpg', // 'foto_ktp' => 'required|image|mimes:jpeg,svg,png,jpg',
'foto_profil' => 'image|mimes:jpeg,svg,png,jpg', // 'foto_wajah' => 'required|image|mimes:jpeg,svg,png,jpg',
'gender' => 'required', // 'foto_profil' => 'image|mimes:jpeg,svg,png,jpg',
// 'gender' => 'required',
// ]);
// // $validatedData['email_verified_at'] = now();
// $validatedData['foto-ktp'] = '';
// $validatedData['foto-wajah'] = '';
// $validatedData['foto-profil'] ='';
// if ($request->hasFile('foto_ktp') && $request->hasFile('foto_wajah')) {
// // $namaGambarOri = $request->file('foto-gambar')->getClientOriginalName();
// // $namaGambar = round(microtime(true) * 1000) . '-' . str_replace(' ', '-', $namaGambarOri);
// $tipeFotoKtp = $request->file('foto_ktp')->getClientMimeType();
// $tipeFotoWajah = $request->file('foto_wajah')->getClientMimeType();
// $validatedData['foto-ktp'] = 'Foto-KTP-' . $request->nama . '.' . $tipeFotoKtp;
// $validatedData['foto-wajah'] = 'Foto-Wajah' . $request->nama . '.' . $tipeFotoWajah;
// // Simpan foto
// $request->file('foto-ktp')->storeAs('public/foto-ktp', $validatedData['foto-ktp']);
// $request->file('foto-wajah')->storeAs('public/foto-wajah', $validatedData['foto-wajah']);
// }
// if($request->hasFile('foto_profil')){
// $tipeFotoProfil = $request->file('foto_profil')->getClientMimeType();
// $validatedData['foto-profil'] = 'Foto-Profil-' . $request->nama . '.' . $tipeFotoProfil;
// // Simpan foto
// $request->file('foto-profil')->storeAs('public/foto-profil', $validatedData['foto-profil']);
// }
// //OCR
// try {
// $imagePath = storage_path('foto-ktp/' . $validatedData['foto-ktp']);
// $image = Image::make($imagePath);
// $image->greyscale(); // Convert to grayscale
// $image->contrast(10); // Increase contrast, adjust the value as needed
// $preprocessedImagePath = storage_path('preprocessed_image.jpg');
// $image->save($preprocessedImagePath);
// $result = (new TesseractOCR($preprocessedImagePath))->run();
// // (5) Normalize
// $lines = explode("\n", $result);
// $nikOCR = '';
// $nikInputan = $request->nik;
// $namaInputan = $request->nama;
// foreach ($lines as $line) {
// // normalize NIK
// if (strpos($line, 'NIK') !== false) {
// $nikOCR = preg_replace('/[^0-9]/', '', $line);
// }
// // Mencari nama
// if (strpos($line, $namaInputan) !== false) {
// $namaOCR = trim(substr($line, strpos($line, ':') + 1));
// }
// }
// //Selesai
// $percent = 0.0;
// if (similar_text($nikInputan, $nikOCR, $percent) >= 70 && similar_text($namaOCR, $namaOCR, $percent) >= 70) {
// $validatedData['status'] = 'Progress';
// } else {
// $validatedData['status'] = 'Pending';
// }
// } catch (\Exception $e) {
// $validatedData['status'] = 'Pending';
// }
// //OCR
// //Deteksi wajah belum
// $validatedData['remember_token'] = Str::random(10);
// $validatedData['password'] = Hash::make($request->password);
// User::create([
// 'id' => Str::uuid(),
// 'nama' => $validatedData['nama'],
// 'email' => $validatedData['email'],
// 'email_verified_at' => null,
// 'password' => $validatedData['password'],
// 'role' => 'User',
// 'nohp' => $validatedData['nohp'],
// 'nik' => $validatedData['nik'],
// 'alamat' => $validatedData['alamat'],
// 'foto_ktp' => $validatedData['foto-ktp'],
// 'foto_wajah' => $validatedData['foto-wajah'],
// 'foto_profil' => $validatedData['foto-profil'],
// 'status' => $validatedData['status'],
// 'gender' => $validatedData['gender'],
// 'remember_token' => Str::random(10),
// ]);
// return redirect('/login')->with('daftar', 'Daftar berhasil, silahkan login');
}
public function statusAkun($email){
$result = User::where('email',$email)->get();
if($result->isNotEmpty()){
return response()->json([
'status' => true,
'message' => $result,
]); ]);
}else{
// $validatedData['email_verified_at'] = now(); return response()->json([
'status' => false,
$validatedData['foto-ktp'] = ''; 'message' => $result,
$validatedData['foto-wajah'] = '';
$validatedData['foto-profil'] ='';
if ($request->hasFile('foto_ktp') && $request->hasFile('foto_wajah')) {
// $namaGambarOri = $request->file('foto-gambar')->getClientOriginalName();
// $namaGambar = round(microtime(true) * 1000) . '-' . str_replace(' ', '-', $namaGambarOri);
$tipeFotoKtp = $request->file('foto_ktp')->getClientMimeType();
$tipeFotoWajah = $request->file('foto_wajah')->getClientMimeType();
$validatedData['foto-ktp'] = 'Foto-KTP-' . $request->nama . '.' . $tipeFotoKtp;
$validatedData['foto-wajah'] = 'Foto-Wajah' . $request->nama . '.' . $tipeFotoWajah;
// Simpan foto
$request->file('foto-ktp')->storeAs('public/foto-ktp', $validatedData['foto-ktp']);
$request->file('foto-wajah')->storeAs('public/foto-wajah', $validatedData['foto-wajah']);
}
if($request->hasFile('foto_profil')){
$tipeFotoProfil = $request->file('foto_profil')->getClientMimeType();
$validatedData['foto-profil'] = 'Foto-Profil-' . $request->nama . '.' . $tipeFotoProfil;
// Simpan foto
$request->file('foto-profil')->storeAs('public/foto-profil', $validatedData['foto-profil']);
}
//OCR
try {
$imagePath = storage_path('foto-ktp/' . $validatedData['foto-ktp']);
$image = Image::make($imagePath);
$image->greyscale(); // Convert to grayscale
$image->contrast(10); // Increase contrast, adjust the value as needed
$preprocessedImagePath = storage_path('preprocessed_image.jpg');
$image->save($preprocessedImagePath);
$result = (new TesseractOCR($preprocessedImagePath))->run();
// (5) Normalize
$lines = explode("\n", $result);
$nikOCR = '';
$nikInputan = $request->nik;
$namaInputan = $request->nama;
foreach ($lines as $line) {
// normalize NIK
if (strpos($line, 'NIK') !== false) {
$nikOCR = preg_replace('/[^0-9]/', '', $line);
}
// Mencari nama
if (strpos($line, $namaInputan) !== false) {
$namaOCR = trim(substr($line, strpos($line, ':') + 1));
}
}
//Selesai
$percent = 0.0;
if (similar_text($nikInputan, $nikOCR, $percent) >= 70 && similar_text($namaOCR, $namaOCR, $percent) >= 70) {
$validatedData['status'] = 'Progress';
} else {
$validatedData['status'] = 'Pending';
}
} catch (\Exception $e) {
$validatedData['status'] = 'Pending';
}
//OCR
//Deteksi wajah belum
$validatedData['remember_token'] = Str::random(10);
$validatedData['password'] = Hash::make($request->password);
User::create([
'id' => Str::uuid(),
'nama' => $validatedData['nama'],
'email' => $validatedData['email'],
'email_verified_at' => null,
'password' => $validatedData['password'],
'role' => 'User',
'nohp' => $validatedData['nohp'],
'nik' => $validatedData['nik'],
'alamat' => $validatedData['alamat'],
'foto_ktp' => $validatedData['foto-ktp'],
'foto_wajah' => $validatedData['foto-wajah'],
'foto_profil' => $validatedData['foto-profil'],
'status' => $validatedData['status'],
'gender' => $validatedData['gender'],
'remember_token' => Str::random(10),
]); ]);
return redirect('/login')->with('daftar', 'Daftar berhasil, silahkan login');
} }
public function register()
{
return view('index');
}
public function approveUser(Request $request)
{
}
public function deniedUser(Request $request)
{
} }
} }

View File

@ -1,19 +1,21 @@
<?php <?php
namespace App\Http\Controllers\Admin; namespace App\Http\Controllers\User;
use App\Models\Contact; use App\Models\Contact;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class ContactController extends Controller class UserContactController extends Controller
{ {
/** /**
* Display a listing of the resource. * Display a listing of the resource.
*/ */
public function index() public function index()
{ {
// $contacts = Contact::where('pemilik_kontak',Auth::user()->email);
return view('user.contact.index',['contacts'=>$contacts]);
} }
/** /**
@ -29,7 +31,22 @@ class ContactController extends Controller
*/ */
public function store(Request $request) public function store(Request $request)
{ {
// $result = Contact::create([
'pemilik_kontak' => Auth::user()->email,
'relasi_kontak' => $request->relasi_kontak,
]);
if($result){
return response()->json([
'status' => true,
'message' => $result,
]);
}else{
return response()->json([
'status' => false,
'message' => $result,
]);
}
} }
/** /**

View File

@ -0,0 +1,16 @@
<?php
namespace App\Http\Controllers\User;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\RefundUser;
class UserDashboardController extends Controller
{
public function index(){
return view('user.index',[
"refundUserss"=>RefundUser::HistoryRefundUser()
]);
}
}

View File

@ -0,0 +1,30 @@
<?php
namespace App\Http\Controllers\User;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Models\RefundUser;
class UserRefundController extends Controller
{
public function index()
{
return view('user.refund.index', [
'name' => 'npannisa',
'refundUserss' => RefundUser::HistoryRefundUser(),
]);
}
public function createRefund(Request $request)
{
return view('user.refund.new-refund');
}
public function historyRefund($id){
return view('user.transaction.pembeli.history-refund',[
'name'=>'npannisa',
"refundUserss"=>RefundUser::HistoryRefundUser()
]);
}
}

View File

@ -1,65 +0,0 @@
<?php
namespace App\Http\Controllers;
use App\Models\Transaction;
use Illuminate\Http\Request;
class UserTransaction extends Controller
{
/**
* Display a listing of the resource.
*/
public function index()
{
//
}
/**
* Show the form for creating a new resource.
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*/
public function store(Request $request)
{
//
}
/**
* Display the specified resource.
*/
public function show(Transaction $transaction)
{
//
}
/**
* Show the form for editing the specified resource.
*/
public function edit(Transaction $transaction)
{
//
}
/**
* Update the specified resource in storage.
*/
public function update(Request $request, Transaction $transaction)
{
//
}
/**
* Remove the specified resource from storage.
*/
public function destroy(Transaction $transaction)
{
//
}
}

View File

@ -0,0 +1,94 @@
<?php
namespace App\Http\Controllers\User;
use App\Models\Transaction;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\TransactionUser;
class UserTransactionController extends Controller
{
/**
* Display a listing of the resource.
*/
public function indexPembeli()
{
return view('user.transaction.pembeli.transaction-pembeli',[
'name'=>'npannisa',
'TransactionUser'=>TransactionUser::HistoryTransaction()
]);
}
/**
* Display a listing of the resource.
*/
public function indexPenjual()
{
return view('user.transaction.penjual.transaction-penjual',[
'name'=>'npannisa',
"TransactionUser"=>TransactionUser::HistoryTransaction()
]);
}
public function detailTransaction($id){
return view('user.transaction.pembeli.detail-transaction',[
'name'=>'npannisa',
"TransactionUser"=>TransactionUser::HistoryTransaction()
]);
}
/**
* Show the form for creating a new resource.
*/
public function createTransaction(Request $request)
{
return view('user.transaction.pembeli.new-transaction',[
'name'=>'npannisa',
"TransactionUser"=>TransactionUser::HistoryTransaction()
]);
}
/**
* Store a newly created resource in storage.
*/
public function invoiceTransaction($id)
{
return view('user.transaction.pembeli.invoice-transaction',[
'name'=>'npannisa',
"TransactionUser"=>TransactionUser::HistoryTransaction()
]);
}
/**
* Display the specified resource.
*/
public function show(Transaction $transaction)
{
//
}
/**
* Show the form for editing the specified resource.
*/
public function edit(Transaction $transaction)
{
//
}
/**
* Update the specified resource in storage.
*/
public function update(Request $request, Transaction $transaction)
{
//
}
/**
* Remove the specified resource from storage.
*/
public function destroy(Transaction $transaction)
{
//
}
}

View File

@ -0,0 +1,24 @@
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
use Illuminate\Support\Facades\Auth;
class Admin
{
/**
* Handle an incoming request.
*
* @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
*/
public function handle(Request $request, Closure $next): Response
{
if(Auth::user()->role != 'Admin'){
return redirect()->back();
}
return $next($request);
}
}

View File

@ -0,0 +1,24 @@
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
use Illuminate\Support\Facades\Auth;
class User
{
/**
* Handle an incoming request.
*
* @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
*/
public function handle(Request $request, Closure $next): Response
{
if(Auth::user()->role != 'User'){
return redirect()->back();
}
return $next($request);
}
}

44
app/Models/RefundUser.php Normal file
View File

@ -0,0 +1,44 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class RefundUser
{
// use HasFactory;
private static $history_refundUser=[
[
"orderId" => "INV-1234",
"Customer" => "npannisa",
"seller" => "rayhan",
"Total" => " Rp.200.000",
"dueDate"=>"29 juni 2023",
"status"=>"diterima",
"uploadBukti" => "5.jpg"
],
[
"orderId" => "INV-1234",
"Customer" => "hantu",
"seller" => "rayhan",
"Total" => " Rp.200.000",
"dueDate"=>"29 juni 2023",
"status"=>"ditolak",
"uploadBukti" => "5.jpg"
],
[
"orderId" => "INV-1234",
"Customer" => "pocong",
"seller" => "rayhan",
"Total" => " Rp.200.000",
"dueDate"=>"29 juni 2023",
"status"=>"diterima",
"uploadBukti" => "5.jpg"
],
];
public static function HistoryRefundUser(){
return self::$history_refundUser;
}
}

View File

@ -0,0 +1,57 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
class TransactionUser
{
private static $history_transaction=[
[
"userId" => "NPA-9876",
"orderId" => "INV-1234",
"Customer" => "Nurul Prima",
"seller" => "Jilhan",
"total" => "Rp.500.000",
"dueDate"=>"29 juni 2023",
"status"=>"OnProgress",
"action" => ""
],
[
"userId" => "NPA-9879",
"orderId" => "INV-1234",
"Customer" => "Nurul Prima Annisa",
"seller" => "Raihan",
"total" => "Rp.500.000",
"dueDate"=>"29 juni 2025",
"status"=>"Diterima",
"action" => ""
],
// [
// "userId" => "NPA-9877",
// "orderId" => "INV-1235",
// "Customer" => "Nurul Annisa",
// "seller" => "Rayhan",
// "total" => "Rp.900.000",
// "dueDate"=>"29 Juli 2023",
// "status"=>"Pembeli",
// "action" => ""
// ],
// [
// "userId" => "NPA-9878",
// "orderId" => "INV-1236",
// "Customer" => "Nurul Prima Annisa",
// "seller" => "Rayhan",
// "total" => "Rp.900.000",
// "dueDate"=>"29 Juli 2023",
// "status"=>"Pembeli",
// "action" => ""
// ],
];
public static function HistoryTransaction(){
return self::$history_transaction;
}
}

View File

@ -20,7 +20,9 @@ class User extends Authenticatable
* @var array<int, string> * @var array<int, string>
*/ */
protected $fillable = [ protected $fillable = [
'nama', 'nama_depan',
'nama_belakang',
'tanggal_lahir',
'email', 'email',
'password', 'password',
'role_id', 'role_id',
@ -96,9 +98,26 @@ class User extends Authenticatable
return $this->hasMany(Transaction::class, 'email', 'penjual'); return $this->hasMany(Transaction::class, 'email', 'penjual');
} }
public function kelurahan(){ public function village(){
return $this->belongsTo('Laravolt\Indonesia\Models\Village', 'code', 'kode_kelurahan'); return $this->belongsTo('Laravolt\Indonesia\Models\Village', 'code', 'kode_kelurahan');
} }
//Relasi //Relasi
//function alamat
public function getVillageName(){
return $this->village->name;
}
public function getDistrictName(){
return $this->village->district->name;
}
public function getCityName(){
return $this->village->district->city->name;
}
public function getProvinceName(){
return $this->village->district->city->province->name;
}
} }

View File

@ -19,7 +19,9 @@ class UserFactory extends Factory
{ {
return [ return [
'id' => Str::uuid(), 'id' => Str::uuid(),
'nama' => $this->faker->name, 'nama_depan' => $this->faker->firstName,
'nama_belakang' => $this->faker->lastName,
'tanggal_lahir' => $this->faker->date($format = 'Y-m-d', $max = 'now'),
'email' => fake()->unique()->safeEmail(), 'email' => fake()->unique()->safeEmail(),
'email_verified_at' => now(), 'email_verified_at' => now(),
'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password 'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password
@ -28,7 +30,7 @@ class UserFactory extends Factory
'nik' => $this->faker->nik($this->faker->randomElement(['male', 'female']),$this->faker->dateTimeBetween('-65 years', '-18 years')), 'nik' => $this->faker->nik($this->faker->randomElement(['male', 'female']),$this->faker->dateTimeBetween('-65 years', '-18 years')),
'alamat'=> $this->faker->address, 'alamat'=> $this->faker->address,
'nohp'=> $this->faker->phoneNumber(), 'nohp'=> $this->faker->phoneNumber(),
'status'=> $this->faker->randomElement(['Progress', 'Finished']), 'status'=> $this->faker->randomElement(['Progress', 'Finished', 'Rejected']),
'gender' => $this->faker->randomElement(['Laki-laki', 'Perempuan']), 'gender' => $this->faker->randomElement(['Laki-laki', 'Perempuan']),
'kode_kelurahan' => '1101012002', 'kode_kelurahan' => '1101012002',
]; ];

View File

@ -13,7 +13,9 @@ return new class extends Migration
{ {
Schema::create('users', function (Blueprint $table) { Schema::create('users', function (Blueprint $table) {
$table->uuid('id')->primary; $table->uuid('id')->primary;
$table->string('nama',255); $table->string('nama_depan',255);
$table->string('nama_belakang',255);
$table->date('tanggal_lahir');
$table->string('email',50)->unique(); $table->string('email',50)->unique();
$table->timestamp('email_verified_at')->nullable(); $table->timestamp('email_verified_at')->nullable();
$table->string('password'); $table->string('password');

View File

@ -24,7 +24,7 @@ return new class extends Migration
$table->double('total_harga'); // gross amount $table->double('total_harga'); // gross amount
$table->string('signature_key'); $table->string('signature_key');
$table->string('metode_pembayaran'); $table->string('metode_pembayaran');
$table->enum('status',['settlement','capture','pending','cancel','refund','expire','failure','progress','failed'])->default('pending'); // transaction_status $table->enum('status',['Settlement','Capture','Pending','Cancel','Refund','Expire','Failure','Progress','Failed'])->default('Pending'); // transaction_status
$table->timestamp('batas_pembayaran'); $table->timestamp('batas_pembayaran');
$table->timestamp('batas_pengiriman_barang'); $table->timestamp('batas_pengiriman_barang');
$table->timestamps(); $table->timestamps();

View File

@ -16,7 +16,7 @@ return new class extends Migration
$table->foreignUuid('order_id'); $table->foreignUuid('order_id');
$table->double('total',10); $table->double('total',10);
$table->timestamp('due_date'); $table->timestamp('due_date');
$table->enum('status',['partial_refund','deny','pending'])->default('pending'); $table->enum('status',['Partial Refund','Deny','Pending'])->default('Pending');
$table->foreign('order_id')->on('transactions')->references('order_id'); $table->foreign('order_id')->on('transactions')->references('order_id');
}); });

View File

@ -25,7 +25,9 @@ class DatabaseSeeder extends Seeder
User::factory()->create([ User::factory()->create([
'id' => Str::uuid(), 'id' => Str::uuid(),
'nama' => $faker->name, 'nama_depan' => $faker->firstName,
'nama_belakang' => $faker->lastName,
'tanggal_lahir' => $faker->date($format = 'Y-m-d', $max = 'now'),
'email' => fake()->unique()->safeEmail(), 'email' => fake()->unique()->safeEmail(),
'email_verified_at' => now(), 'email_verified_at' => now(),
'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password 'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 70 KiB

View File

@ -0,0 +1,126 @@
/******************************************
* ANIMATION BTN SIGN IN & SIGN UP
******************************************/
const sign_in_btn = document.querySelector("#sign-in-btn");
const sign_up_btn = document.querySelector("#sign-up-btn");
const container = document.querySelector(".container");
sign_up_btn.addEventListener("click", () => {
container.classList.add("sign-up-mode");
});
sign_in_btn.addEventListener("click", () => {
container.classList.remove("sign-up-mode");
});
/******************************************
* END ANIMATION BTN SIGN IN & SIGN UP
******************************************/
/******************************************
* PRELOADER
******************************************/
setTimeout(function () {
$("#preloader").fadeToggle();
}, 200);
/******************************************
* END PRELOADER
******************************************/
/******************************************
* MULTIPLE FORM
******************************************/
var form_1 = document.querySelector(".form_1");
var form_2 = document.querySelector(".form_2");
var form_3 = document.querySelector(".form_3");
var form_4 = document.querySelector(".form_4");
var form_1_btns = document.querySelector(".form_1_btns");
var form_2_btns = document.querySelector(".form_2_btns");
var form_3_btns = document.querySelector(".form_3_btns");
var form_4_btns = document.querySelector(".form_4_btns");
var form_1_next_btn = document.querySelector(".form_1_btns .btn_next");
var form_2_back_btn = document.querySelector(".form_2_btns .btn_back");
var form_2_next_btn = document.querySelector(".form_2_btns .btn_next");
var form_3_back_btn = document.querySelector(".form_3_btns .btn_back");
var form_3_next_btn = document.querySelector(".form_3_btns .btn_next");
var form_4_back_btn = document.querySelector(".form_4_btns .btn_back");
var form_2_progessbar = document.querySelector(".form_2_progessbar");
var form_3_progessbar = document.querySelector(".form_3_progessbar");
var form_4_progessbar = document.querySelector(".form_4_progessbar");
var btn_done = document.querySelector(".btn_done");
var modal_wrapper = document.querySelector(".modal_wrapper");
var shadow = document.querySelector(".shadow");
form_1_next_btn.addEventListener("click", function () {
form_1.style.display = "none";
form_2.style.display = "block";
form_1_btns.style.display = "none";
form_2_btns.style.display = "flex";
form_2_progessbar.classList.add("active");
});
form_2_back_btn.addEventListener("click", function () {
form_1.style.display = "block";
form_2.style.display = "none";
form_1_btns.style.display = "flex";
form_2_btns.style.display = "none";
form_2_progessbar.classList.remove("active");
});
form_2_next_btn.addEventListener("click", function () {
form_2.style.display = "none";
form_3.style.display = "block";
form_3_btns.style.display = "flex";
form_2_btns.style.display = "none";
form_3_progessbar.classList.add("active");
});
form_3_next_btn.addEventListener("click", function () {
form_3.style.display = "none";
form_4.style.display = "block";
form_4_btns.style.display = "flex";
form_3_btns.style.display = "none";
form_4_progessbar.classList.add("active");
});
form_3_back_btn.addEventListener("click", function () {
form_2.style.display = "block";
form_3.style.display = "none";
form_3_btns.style.display = "none";
form_2_btns.style.display = "flex";
form_3_progessbar.classList.remove("active");
});
form_4_back_btn.addEventListener("click", function () {
form_3.style.display = "block";
form_4.style.display = "none";
form_4_btns.style.display = "none";
form_3_btns.style.display = "flex";
form_4_progessbar.classList.remove("active");
});
btn_done.addEventListener("click", function () {
modal_wrapper.classList.add("active");
});
shadow.addEventListener("click", function () {
modal_wrapper.classList.remove("active");
});
/******************************************
* MULTIPLE FORM END
******************************************/

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,315 @@
/******************************************
* DROP AND DRAG IMAGE
******************************************/
const dropArea = document.querySelector('.drop-area');
const inputFile = document.getElementById('input-file');
dropArea.addEventListener('click', function() {
inputFile.click()
})
inputFile.addEventListener('change', function() {
const file = this.files[0];
if (file.type.startsWith('image/')) {
if (file.size < 2000000) {
create_thumbnail(file);
} else {
alert('Image size must be less than 2MB');
}
} else {
alert('Must be image');
}
})
dropArea.addEventListener('dragover', function(e) {
e.preventDefault();
this.style.borderStyle = 'solid';
const h3 = this.querySelector('h3');
h3.textContent = 'Release here to upload image';
})
dropArea.addEventListener('drop', function(e) {
e.preventDefault();
inputFile.files = e.dataTransfer.files;
const file = e.dataTransfer.files[0];
if (file.type.startsWith('image/')) {
if (file.size < 2000000) {
create_thumbnail(file);
} else {
alert('Image size must be less than 2MB');
}
} else {
alert('Must be image');
}
})
const command = ['dragleave', 'dragend']
command.forEach(item => {
dropArea.addEventListener(item, function() {
this.style.borderStyle = 'dashed';
const h3 = this.querySelector('h3');
h3.textContent = 'Drag and drop or click here to select image';
})
})
function create_thumbnail(file) {
const img = document.querySelectorAll('.thumbnail');
const imgName = document.querySelectorAll('.img-name');
img.forEach(item => item.remove());
imgName.forEach(item => item.remove());
const reader = new FileReader();
reader.onload = () => {
const url = reader.result;
const img = document.createElement('img');
img.src = url;
img.className = 'thumbnail'
const span = document.createElement('span');
span.className = 'img-name';
span.textContent = file.name;
dropArea.appendChild(img);
dropArea.appendChild(span);
dropArea.style.borderColor = 'transparent';
}
reader.readAsDataURL(file);
}
/******************************************
* END DROP AND DRAG IMAGE
******************************************/
/******************************************
* DROPDOOWN INPUT
******************************************/
const optionMenu = document.querySelector(".select-menu"),
selectBtn = optionMenu.querySelector(".select-btn"),
options = optionMenu.querySelectorAll(".option"),
sBtn_text = optionMenu.querySelector(".sBtn-text");
selectBtn.addEventListener("click", () =>
optionMenu.classList.toggle("active")
);
options.forEach((option) => {
option.addEventListener("click", () => {
let selectedOption = option.querySelector(".option-text").innerText;
sBtn_text.innerText = selectedOption;
optionMenu.classList.remove("active");
});
});
/******************************************
* DROPDOOWN INPUT END
******************************************/
/******************************************
* PROGRESS BAR MULTIPLE FORM
******************************************/
"use strict";
//jQuery time
var current_fs, next_fs, previous_fs; //fieldsets
var left, opacity, scale; //fieldset properties which we will animate
var animating; //flag to prevent quick multi-click glitches
$(".next").click(function() {
if (animating) return false;
animating = true;
current_fs = $(this).parent();
next_fs = $(this).parent().next();
//activate next step on progressbar using the index of next_fs
$("#progressbar li").eq($("fieldset").index(next_fs)).addClass("active");
//show the next fieldset
next_fs.show();
//hide the current fieldset with style
current_fs.animate({
opacity: 0
}, {
step: function(now, mx) {
//as the opacity of current_fs reduces to 0 - stored in "now"
//1. scale current_fs down to 80%
scale = 0 - (0 - now) * 0;
//2. bring next_fs from the right(50%)
left = (now * 50) + "%";
//3. increase opacity of next_fs to 1 as it moves in
opacity = 1 - now;
current_fs.css({
'transform': 'scale(' + scale + ')'
});
next_fs.css({
'left': left,
'opacity': opacity
});
},
duration: 500,
complete: function() {
current_fs.hide();
animating = false;
},
//this comes from the custom easing plugin
easing: 'easeOutQuint'
});
});
$(".previous").click(function() {
if (animating) return false;
animating = true;
current_fs = $(this).parent();
previous_fs = $(this).parent().prev();
//de-activate current step on progressbar
$("#progressbar li").eq($("fieldset").index(current_fs)).removeClass("active");
//show the previous fieldset
previous_fs.show();
//hide the current fieldset with style
current_fs.animate({
opacity: 0
}, {
step: function(now, mx) {
//as the opacity of current_fs reduces to 0 - stored in "now"
//1. scale previous_fs from 80% to 100%
scale = 0.8 + (1 - now) * 0.2;
//2. take current_fs to the right(50%) - from 0%
left = ((1 - now) * 50) + "%";
//3. increase opacity of previous_fs to 1 as it moves in
opacity = 1 - now;
current_fs.css({
'left': left
});
previous_fs.css({
'transform': 'scale(' + scale + ')',
'opacity': opacity
});
},
duration: 500,
complete: function() {
current_fs.hide();
animating = false;
},
//this comes from the custom easing plugin
easing: 'easeOutQuint'
});
});
$(".submit").click(function() {
return false;
})
$(document).ready(function() {
$('select').material_select();
});
var counter = 0;
var orderCounter = 1;
function newKeyword() {
$(".keywords").append(
'<div class=\"row rowKey animated zoomIn2\">\r\n <div class=\"input-field col s6\" style=\"\r\n width: 42%;\r\n\">\r\n \r\n <input id=\"icon_prefix1' +
counter + '\" type=\"text\" class=\"validate\">\r\n <label for=\"icon_prefix1' + counter +
'\" class=\"\">Keyword<\/label>\r\n <\/div>\r\n <div class=\"row\">\r\n <!--<div style=\" top: 0.8rem;\" class=\"col s2\"> Density :<\/div> -->\r\n <div class=\"input-field col s2\" style=\" top: 0.7rem;\"> Density<\/div>\r\n <div class=\"input-field col s2\">\r\n <input id=\"icon_telephone1' +
counter + '\" type=\"number\" class=\"validate\">\r\n <label for=\"icon_telephone1' + counter +
'\" class=\"\">Min<\/label>\r\n <\/div>\r\n <div class=\"input-field col s2\">\r\n <input id=\"max1' +
counter + '\" type=\"number\" class=\"validate\">\r\n <label for=\"max1' + counter +
'\" class=\"\">Max<\/label>\r\n <\/div>\r\n <i class=\"material-icons prefix remove active\" style=\"\r\n margin-top: 1.7rem; cursor: pointer;color: #607D8B;\r\n\">close<\/i><\/div>\r\n <\/div>'
);
counter++;
};
$(".promo-example").hover(
function() {
$(this).addClass("hovered");
},
function() {
$(this).removeClass("hovered");
}
);
$(".promo-example").click(
function() {
$(".promo-example").removeClass("selected")
$(this).addClass("selected");
}
);
$(".promo-example2").hover(
function() {
$(this).addClass("hovered");
},
function() {
$(this).removeClass("hovered");
}
);
$(".promo-example2").click(
function() {
$(".promo-example").removeClass("selected")
$(this).addClass("selected");
}
);
$(".keywords").delegate(".remove", "click", function() {
$(this).closest('.rowKey').remove();
});
function newOrder() {
var orderNumber = $(".card").length;
//var orderNumber = $(".card").index(this);
$(".creation").prepend(
'<div class=\"card animated zoomIn\">\r\n\t\t<h2 class=\"fs-title\" style=\" padding-top: 25px;\r\n padding-left: 25px;\r\n text-align: left;\r\n width: 100%;\">Product description n\u00B0' +
orderNumber +
'<\/h2>\r\n<div class=\"row\">\r\n <div class=\"input-field col s12\">\r\n <input id=\"first_name' +
orderNumber + '\" type=\"text\" class=\"validate\">\r\n <label for=\"first_name' +
orderNumber +
'\">Order name<\/label> \r\n <\/div> \r\n <div class=\"row col s12\" style=\"color:grey;font-size: 10px;text-align: left;margin-top: -10px;margin-left: 0px\">Name your order, you can also use a reference Id from your system to find it easily <\/div>\r\n <\/div>\r\n <div class=\"row\">\r\n <div class=\"input-field col s12\">\r\n <input id=\"first_name2' +
orderNumber + '\" type=\"text\" class=\"validate\">\r\n <label for=\"first_name2' +
orderNumber +
'\">URL (optional)<\/label> \r\n <\/div> \r\n \r\n <div class=\"row col s12\" style=\"color:grey;font-size: 10px;text-align: left;margin-top: -10px;margin-left: 0px\">You can add an url to give more informations to the writer<\/div> <\/div> \r\n \r\n <div class=\"row\">\r\n <div class=\"input-field col s12\">\r\n <input id=\"first_name2' +
orderNumber + '\" type=\"text\" class=\"validate\">\r\n <label for=\"first_name2' +
orderNumber +
'\">Reference id (optional)<\/label> \r\n <\/div> \r\n \r\n <div class=\"row col s12\" style=\"color:grey;font-size: 10px;text-align: left;margin-top: -10px;margin-left: 0px\">You can add a reference id to match the order with your system<\/div> <\/div> \r\n <div class=\"keywords\"> \r\n<!-- <div class=\"row\">\r\n <div class=\"input-field col s6\">\r\n <i class=\"material-icons prefix\">label<\/i>\r\n <input id=\"icon_prefix' +
orderNumber + '\" type=\"text\" class=\"validate\">\r\n <label for=\"icon_prefix' +
orderNumber +
'\">Keyword<\/label>\r\n <\/div>\r\n <div class=\"row\">\r\n <div style=\"margin-top:2rem\" class=\"col s2\"> Density<\/div> \r\n <div class=\"input-field col s2\"> Density<\/div>\r\n <div class=\"input-field col s2\">\r\n <input id=\"icon_telephone' +
orderNumber + '\" type=\"number\" class=\"validate\">\r\n <label for=\"icon_telephone' +
orderNumber +
'\">Min<\/label>\r\n <\/div>\r\n <div class=\"input-field col s2\">\r\n <input id=\"max' +
orderNumber + '\" type=\"number\" class=\"validate\">\r\n <label for=\"max' + orderNumber +
'\">Max<\/label>\r\n <\/div>\r\n <\/div>\r\n <\/div>-->\r\n \r\n\r\n <\/div>\r\n <div><a class=\"waves-effect waves-light btn\" onClick=\"newKeyword()\"><i class=\"material-icons left\">add<\/i>Add a Keyword<\/a><\/div> \r\n <\/div>\r\n <\/div>'
);
orderCounter++;
counter++;
};
$("fieldset").delegate(".removeOrder", "click", function() {
$(this).closest('.card').remove();
});
/******************************************
* END PROGRESS BAR MULTIPLE FORM
******************************************/

View File

@ -184,7 +184,7 @@
<div class="card-body" id="top-5-scroll"> <div class="card-body" id="top-5-scroll">
<ul class="list-unstyled list-unstyled-border"> <ul class="list-unstyled list-unstyled-border">
<li class="media"> <li class="media">
<img class="mr-3 rounded" width="55" src="assets/img/avatar/avatar-6.png" <img class="mr-3 rounded" width="55" src="{{asset('assets/img/avatar/avatar-6.png')}}"
alt="product"> alt="product">
<div class="media-body"> <div class="media-body">
<div class="float-right"> <div class="float-right">
@ -204,7 +204,7 @@
</div> </div>
</li> </li>
<li class="media"> <li class="media">
<img class="mr-3 rounded" width="55" src="assets/img/avatar/avatar-1.png" <img class="mr-3 rounded" width="55" src="{{asset('assets/img/avatar/avatar-1.png')}}"
alt="product"> alt="product">
<div class="media-body"> <div class="media-body">
<div class="float-right"> <div class="float-right">
@ -224,7 +224,7 @@
</div> </div>
</li> </li>
<li class="media"> <li class="media">
<img class="mr-3 rounded" width="55" src="assets/img/avatar/avatar-2.png" <img class="mr-3 rounded" width="55" src="{{asset('assets/img/avatar/avatar-2.png')}}"
alt="product"> alt="product">
<div class="media-body"> <div class="media-body">
<div class="float-right"> <div class="float-right">
@ -244,7 +244,7 @@
</div> </div>
</li> </li>
<li class="media"> <li class="media">
<img class="mr-3 rounded" width="55" src="assets/img/avatar/avatar-3.png" <img class="mr-3 rounded" width="55" src="{{asset('assets/img/avatar/avatar-3.png')}}"
alt="product"> alt="product">
<div class="media-body"> <div class="media-body">
<div class="float-right"> <div class="float-right">
@ -264,7 +264,7 @@
</div> </div>
</li> </li>
<li class="media"> <li class="media">
<img class="mr-3 rounded" width="55" src="assets/img/avatar/avatar-4.png" <img class="mr-3 rounded" width="55" src="{{asset('assets/img/avatar/avatar-4.png')}}"
alt="product"> alt="product">
<div class="media-body"> <div class="media-body">
<div class="float-right"> <div class="float-right">

View File

@ -137,8 +137,8 @@
</li> </li>
<li class="dropdown"><a href="#" data-toggle="dropdown" <li class="dropdown"><a href="#" data-toggle="dropdown"
class="nav-link dropdown-toggle nav-link-lg nav-link-user"> class="nav-link dropdown-toggle nav-link-lg nav-link-user">
<img alt="image" src="{{asset('assets/img/avatar/avatar-1.png')}}" class="rounded-circle mr-1"> <img alt="image" src="{{asset('assets/img/avatar/ok.jpg')}}" class="rounded-circle mr-1">
<div class="d-sm-none d-lg-inline-block">Hi, {{ $name }}</div> <div class="d-sm-none d-lg-inline-block">Hi, {{ Auth::user()->nama_depan }}</div>
</a> </a>
<div class="dropdown-menu dropdown-menu-right"> <div class="dropdown-menu dropdown-menu-right">
<div class="dropdown-title">Logged in 5 min ago</div> <div class="dropdown-title">Logged in 5 min ago</div>
@ -152,7 +152,7 @@
<i class="fas fa-cog"></i> Settings <i class="fas fa-cog"></i> Settings
</a> --}} </a> --}}
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>
<a href="#" class="dropdown-item has-icon text-danger"> <a href="{{route('logout')}}" class="dropdown-item has-icon text-danger">
<i class="fas fa-sign-out-alt"></i> Logout <i class="fas fa-sign-out-alt"></i> Logout
</a> </a>
</div> </div>

View File

@ -152,8 +152,6 @@
<!-- JS Libraies --> <!-- JS Libraies -->
<script src="{{ asset('assets/modules/datatables/datatables.min.js') }}"></script> <script src="{{ asset('assets/modules/datatables/datatables.min.js') }}"></script>
{{-- <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.11.5/css/jquery.dataTables.css"> --}}
{{-- <script type="text/javascript" charset="utf8" src="https://cdn.datatables.net/1.11.5/js/jquery.dataTables.js"></script> --}}
<script src="{{ asset('assets/modules/datatables/DataTables-1.10.16/js/dataTables.bootstrap4.min.js') }}"></script> <script src="{{ asset('assets/modules/datatables/DataTables-1.10.16/js/dataTables.bootstrap4.min.js') }}"></script>
<script src="{{ asset('assets/modules/datatables/Select-1.2.4/js/dataTables.select.min.js') }}"></script> <script src="{{ asset('assets/modules/datatables/Select-1.2.4/js/dataTables.select.min.js') }}"></script>
<script src="{{ asset('assets/modules/jquery-ui/jquery-ui.min.js') }}"></script> <script src="{{ asset('assets/modules/jquery-ui/jquery-ui.min.js') }}"></script>

View File

@ -1,14 +1,14 @@
<div class="main-sidebar sidebar-style-2"> <div class="main-sidebar sidebar-style-2">
<aside id="sidebar-wrapper"> <aside id="sidebar-wrapper">
<div class="sidebar-brand"> <div class="sidebar-brand">
<a href="index.html">REKBER</a> <a href="{{route('admin.index')}}">REKBER</a>
</div> </div>
<div class="sidebar-brand sidebar-brand-sm"> <div class="sidebar-brand sidebar-brand-sm">
<a href="index.html">RK</a> <a href="{{route('admin.index')}}">RK</a>
</div> </div>
<ul class="sidebar-menu"> <ul class="sidebar-menu">
<li class="menu-header">Dashboard</li> <li class="menu-header">Dashboard</li>
<li ><a class="nav-link active" href="{{route('index')}}"><i class="fas fa-fire"></i> <span>Dashboard</span></a></li> <li ><a class="nav-link active" href="{{route('admin.index')}}"><i class="fas fa-fire"></i> <span>Dashboard</span></a></li>
<li class="menu-header">Starter</li> <li class="menu-header">Starter</li>
<li><a class="nav-link" href="{{route('admin-user.index')}}"><i class="far fa-user"></i> <span>User</span></a></li> <li><a class="nav-link" href="{{route('admin-user.index')}}"><i class="far fa-user"></i> <span>User</span></a></li>
<li><a class="nav-link" href="{{route('admin-transaction.index')}}"><i <li><a class="nav-link" href="{{route('admin-transaction.index')}}"><i

View File

@ -0,0 +1,62 @@
@extends('Admin.layout.main')
@section('content')
<div class="main-content">
<section class="section">
<div class="section-header">
<h1>Profile</h1>
</div>
<div class="col-12">
<div class="card">
<div class="card-head">
<img id="card_head" src="/assets/images/sampul.jpg"></img>
</div>
{{-- <div class="card-head"></div> --}}
<div class="image-crop">
<img id="avatar" src="/assets/images/dashboard/img_1.jpg"></img>
</div><br>
<div class="row">
<div class="col-lg-12">
<div class="row">
<div class="col-md-6">
<div>
<strong style="font-size: 20px; color: black;"><b>Tsalsabila Jilhan
Haura</b></strong><br>
Super Admin<br>
</div>
</div>
<div class="col-md">
<div>
<div class="row">
<div class="col-1"><i class="fas fa-id-card"></i></div>
<div class="col-lg-9 col-md-8">94894893848</div>
</div>
<div class="row">
<div class="col-1"><i class="fas fa-user"></i></div>
<div class="col-lg-9 col-md-8">jilhan Haura</div>
</div>
<div class="row">
<div class="col-1"><i class="fas fa-user-tag"></i></div>
<div class="col-lg-9 col-md-8">Super Admin</div>
</div>
<div class="row">
<div class="col-1"><i class="fas fa-map-marker-alt"></i></div>
<div class="col-lg-9 col-md-8">Jl simpang komplek polda</div>
</div>
<div class="row">
<div class="col-1"><i class="fas fa-phone"></i></div>
<div class="col-lg-9 col-md-8">+62 1209 0120 02</div>
</div>
<div class="row">
<div class="col-1"><i class="fas fa-envelope"></i></div>
<div class="col-lg-9 col-md-8">jilhan@gmail.com</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
@endsection

View File

@ -1,62 +1,377 @@
@extends('Admin.layout.main') @extends('admin.layout.main')
@section('content') @section('content')
<div class="main-content"> <div class="main-content">
<section class="section"> <section class="section">
<div class="section-header"> <div class="section-header">
<h1>Profile</h1> <h1>Profile</h1>
</div> </div>
<div class="col-12"> <div class="card-body profile-card py-2 d-flex flex-column align-items-center text-center"
style="border: 1px solid #ddd; border-radius: 8px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); position: relative; background: linear-gradient(45deg, #f3f3f3, #e0e0e0);">
<i class="bi bi-arrow-right" style="position: absolute; top: 10px; right: 10px; font-size: 24px;"></i>
<img src="assets/img/avatar/ok.jpg" alt="Profile" class="rounded-circle" style="width: 150px; height: 150px;">
<h2 class="mt-3">Nurul Prima Annisa</h2>
<h5 class="mb-0">#1238dsbias0-30832bjs</h5>
</div>
<div class="card"> <div class="card">
<div class="card-head"> <div class="card-body pt-3">
<img id="card_head" src="/assets/images/sampul.jpg"></img> <!-- Bordered Tabs -->
</div> <ul class="nav nav-tabs nav-tabs-bordered">
{{-- <div class="card-head"></div> --}}
<div class="image-crop"> <li class="nav-item">
<img id="avatar" src="/assets/images/dashboard/img_1.jpg"></img> <button class="nav-link active" data-bs-toggle="tab"
</div><br> data-bs-target="#profile-overview">Overview</button>
</li>
<li class="nav-item">
<button class="nav-link" data-bs-toggle="tab" data-bs-target="#profile-edit">Edit
Profile</button>
</li>
<li class="nav-item">
<button class="nav-link" data-bs-toggle="tab"
data-bs-target="#profile-settings">Settings</button>
</li>
<li class="nav-item">
<button class="nav-link" data-bs-toggle="tab" data-bs-target="#profile-change-password">Change
Password</button>
</li>
</ul>
<div class="tab-content pt-2">
<div class="tab-pane fade show active profile-overview" id="profile-overview">
<h5 class="card-title">About</h5>
<p class="small fst-italic">Nurul prima annisa Nurul prima annisa Nurul prima annisa Nurul prima
annisa
Nurul prima annisa Nurul prima annisa Nurul prima annisa Nurul prima annisa Nurul prima
annisa Nurul prima annisa
Nurul prima annisa Nurul prima annisa Nurul prima annisa Nurul prima annisa Nurul prima
annisa Nurul prima annisa
Nurul prima annisa Nurul prima annisa Nurul prima annisa Nurul prima annisa Nurul prima
annisa Nurul prima annisa
Nurul prima annisa Nurul prima annisa Nurul prima annisa Nurul prima annisa Nurul prima
annisa Nurul prima annisa
Nurul prima annisa Nurul prima annisa Nurul prima annisa Nurul prima annisa Nurul prima
annisa Nurul prima annisa
Nurul prima annisa Nurul prima annisa Nurul prima annisa Nurul prima annisa Nurul prima
annisa Nurul prima annisa Nurul prima annisa Nurul prima annisa Nurul prima annisa Nurul
prima
annisa
Nurul prima annisa Nurul prima annisa Nurul prima annisa Nurul prima annisa Nurul prima
annisa Nurul prima annisa
Nurul prima annisa Nurul prima annisa Nurul prima annisa Nurul prima annisa Nurul prima
annisa Nurul prima annisa
Nurul prima annisa Nurul prima annisa Nurul prima annisa Nurul prima annisa Nurul prima
annisa Nurul prima annisa
Nurul prima annisa Nurul prima annisa Nurul prima annisa Nurul prima annisa Nurul prima
annisa Nurul prima annisa
Nurul prima annisa Nurul prima annisa Nurul prima annisa Nurul prima annisa Nurul prima
annisa Nurul prima annisa
Nurul prima annisa Nurul prima annisa Nurul prima annisa Nurul prima annisa Nurul prima
annisa Nurul prima annisa
</p>
<h5 class="card-title">Profile Details</h5>
<div class="row"> <div class="row">
<div class="col-lg-12"> <div class="col-lg-3 col-md-4 label ">Full Name</div>
<div class="col-lg-9 col-md-8">Nurul Prima Annisa</div>
</div>
<div class="row"> <div class="row">
<div class="col-md-6"> <div class="col-lg-3 col-md-4 label">Company</div>
<div> <div class="col-lg-9 col-md-8">Ya apa yak</div>
<strong style="font-size: 20px; color: black;"><b>Tsalsabila Jilhan
Haura</b></strong><br>
Super Admin<br>
</div> </div>
</div>
<div class="col-md">
<div>
<div class="row"> <div class="row">
<div class="col-1"><i class="fas fa-id-card"></i></div> <div class="col-lg-3 col-md-4 label">Job</div>
<div class="col-lg-9 col-md-8">94894893848</div> <div class="col-lg-9 col-md-8">Frontend Web </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-1"><i class="fas fa-user"></i></div> <div class="col-lg-3 col-md-4 label">Country</div>
<div class="col-lg-9 col-md-8">jilhan Haura</div> <div class="col-lg-9 col-md-8">Indonesia</div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-1"><i class="fas fa-user-tag"></i></div> <div class="col-lg-3 col-md-4 label">Address</div>
<div class="col-lg-9 col-md-8">Super Admin</div> <div class="col-lg-9 col-md-8">Depok city broww</div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-1"><i class="fas fa-map-marker-alt"></i></div> <div class="col-lg-3 col-md-4 label">Phone</div>
<div class="col-lg-9 col-md-8">Jl simpang komplek polda</div> <div class="col-lg-9 col-md-8">(+62) 486-3538 29071</div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-1"><i class="fas fa-phone"></i></div> <div class="col-lg-3 col-md-4 label">Email</div>
<div class="col-lg-9 col-md-8">+62 1209 0120 02</div> <div class="col-lg-9 col-md-8">npannisa23@gmail.com</div>
</div> </div>
<div class="row">
<div class="col-1"><i class="fas fa-envelope"></i></div> </div>
<div class="col-lg-9 col-md-8">jilhan@gmail.com</div>
<div class="tab-pane fade profile-edit pt-3" id="profile-edit">
<!-- Profile Edit Form -->
<form>
<div class="row mb-3">
<label for="profileImage" class="col-md-4 col-lg-3 col-form-label">Profile Image</label>
<div class="col-md-8 col-lg-9">
<img id="profileImagePreview" src="assets/img/avatar/ok.jpg" alt="Profile"
style="max-width: 100%; max-height: 150px;">
<div class="d-flex justify-content-between align-items-center mt-2">
<label for="profileImageInput" class="btn btn-primary btn-sm"
title="Upload new profile image">
<i class="bi bi-upload"></i> Upload
<input type="file" id="profileImageInput" accept="image/*"
style="display: none;">
</label>
</div>
</div>
</div>
<div class="row mb-3">
<label for="fullName" class="col-md-4 col-lg-3 col-form-label">Full Name</label>
<div class="col-md-8 col-lg-9">
<input name="fullName" type="text" class="form-control" id="fullName"
value="Nurul Prima Annisa">
</div>
</div>
<div class="row mb-3">
<label for="about" class="col-md-4 col-lg-3 col-form-label">About</label>
<div class="col-md-8 col-lg-9">
<textarea name="about" class="form-control" id="about" style="height: 100px">
</textarea>
</div>
</div>
<div class="row mb-3">
<label for="company" class="col-md-4 col-lg-3 col-form-label">Company</label>
<div class="col-md-8 col-lg-9">
<input name="company" type="text" class="form-control" id="company"
value="Abbauf Mulia Konsultan Teknologi">
</div>
</div>
<div class="row mb-3">
<label for="Job" class="col-md-4 col-lg-3 col-form-label">Job</label>
<div class="col-md-8 col-lg-9">
<input name="job" type="text" class="form-control" id="Job"
value="Frontend Web">
</div>
</div>
<div class="row mb-3">
<label for="Country" class="col-md-4 col-lg-3 col-form-label">Country</label>
<div class="col-md-8 col-lg-9">
<input name="country" type="text" class="form-control" id="Country"
value="Indonesia">
</div>
</div>
<div class="row mb-3">
<label for="Address" class="col-md-4 col-lg-3 col-form-label">Address</label>
<div class="col-md-8 col-lg-9">
<input name="address" type="text" class="form-control" id="Address"
value="Depok city broww">
</div>
</div>
<div class="row mb-3">
<label for="Phone" class="col-md-4 col-lg-3 col-form-label">Phone</label>
<div class="col-md-8 col-lg-9">
<input name="phone" type="text" class="form-control" id="Phone"
value="(+62) 486-3538 29071">
</div>
</div>
<div class="row mb-3">
<label for="Email" class="col-md-4 col-lg-3 col-form-label">Email</label>
<div class="col-md-8 col-lg-9">
<input name="email" type="email" class="form-control" id="Email"
value="npannisa23@gmail.com">
</div>
</div>
{{-- <div class="row mb-3">
<label for="Twitter" class="col-md-4 col-lg-3 col-form-label">Twitter Profile</label>
<div class="col-md-8 col-lg-9">
<input name="twitter" type="text" class="form-control" id="Twitter"
value="https://twitter.com/#">
</div>
</div>
<div class="row mb-3">
<label for="Facebook" class="col-md-4 col-lg-3 col-form-label">Facebook
Profile</label>
<div class="col-md-8 col-lg-9">
<input name="facebook" type="text" class="form-control" id="Facebook"
value="https://facebook.com/#">
</div>
</div>
<div class="row mb-3">
<label for="Instagram" class="col-md-4 col-lg-3 col-form-label">Instagram
Profile</label>
<div class="col-md-8 col-lg-9">
<input name="instagram" type="text" class="form-control" id="Instagram"
value="https://instagram.com/npannisa_?utm_source=qr&igshid=MzNlNGNkZWQ4Mg%3D%3D#">
</div>
</div>
<div class="row mb-3">
<label for="Linkedin" class="col-md-4 col-lg-3 col-form-label">Linkedin
Profile</label>
<div class="col-md-8 col-lg-9">
<input name="linkedin" type="text" class="form-control" id="Linkedin"
value="https://github.com/npannisa#">
</div>
</div> --}}
<div class="text-center">
<a href="profile" type="submit" class="btn btn-primary">Save Changes</a>
</div>
</form><!-- End Profile Edit Form -->
</div>
<div class="tab-pane fade pt-3" id="profile-settings">
<!-- Settings Form -->
<form>
<div class="row mb-3">
<label for="fullName" class="col-md-4 col-lg-3 col-form-label">Email
Notifications</label>
<div class="col-md-8 col-lg-9">
<div class="form-check">
<input class="form-check-input" type="checkbox" id="changesMade" checked>
<label class="form-check-label" for="changesMade">
Changes made to your account
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" id="newProducts" checked>
<label class="form-check-label" for="newProducts">
Information on new products and services
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" id="proOffers">
<label class="form-check-label" for="proOffers">
Marketing and promo offers
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" id="securityNotify" checked
disabled>
<label class="form-check-label" for="securityNotify">
Security alerts
</label>
</div> </div>
</div> </div>
</div> </div>
<div class="text-center">
<button type="submit" class="btn btn-primary">Save Changes</button>
</div>
</form><!-- End settings Form -->
</div>
<div class="tab-pane fade pt-3" id="profile-change-password">
<!-- Change Password Form -->
<form>
<div class="row mb-3">
<label for="currentPassword" class="col-md-4 col-lg-3 col-form-label">Current
Password</label>
<div class="col-md-8 col-lg-9">
<input name="password" type="password" class="form-control"
id="currentPassword">
</div> </div>
</div> </div>
<div class="row mb-3">
<label for="newPassword" class="col-md-4 col-lg-3 col-form-label">New Password</label>
<div class="col-md-8 col-lg-9">
<input name="newpassword" type="password" class="form-control" id="newPassword">
</div> </div>
</div> </div>
<div class="row mb-3">
<label for="renewPassword" class="col-md-4 col-lg-3 col-form-label">Re-enter New
Password</label>
<div class="col-md-8 col-lg-9">
<input name="renewpassword" type="password" class="form-control"
id="renewPassword">
</div>
</div>
<div class="text-center">
<button type="submit" class="btn btn-primary">Change Password</button>
</div>
</form><!-- End Change Password Form -->
</div>
</div><!-- End Bordered Tabs -->
</div>
</div> </div>
</section> </section>
</div> </div>
{{-- profile --}}
<script>
document.addEventListener("DOMContentLoaded", function() {
// Mendapatkan elemen-elemen tombol tab
const editProfileTab = document.querySelector('[data-bs-target="#profile-edit"]');
const settingsTab = document.querySelector('[data-bs-target="#profile-settings"]');
const changePasswordTab = document.querySelector('[data-bs-target="#profile-change-password"]');
const overviewTab = document.querySelector('[data-bs-target="#profile-overview"]');
// Menambahkan event listener untuk mengubah tab saat tombol diklik
editProfileTab.addEventListener("click", function() {
activateTabAndContent(editProfileTab, "#profile-edit");
});
settingsTab.addEventListener("click", function() {
activateTabAndContent(settingsTab, "#profile-settings");
});
changePasswordTab.addEventListener("click", function() {
activateTabAndContent(changePasswordTab, "#profile-change-password");
});
// Menambahkan event listener untuk kembali ke tab "Overview"
overviewTab.addEventListener("click", function() {
activateTabAndContent(overviewTab, "#profile-overview");
});
// Fungsi untuk mengaktifkan tab dan konten
function activateTabAndContent(tabButton, tabContentId) {
// Nonaktifkan tab aktif saat ini
const activeTabButton = document.querySelector(".nav-link.active");
const activeTabContent = document.querySelector(".tab-pane.active");
activeTabButton.classList.remove("active");
activeTabContent.classList.remove("show", "active");
// Aktifkan tab yang dipilih
tabButton.classList.add("active");
// Tampilkan konten tab yang dipilih
const selectedTabContent = document.querySelector(tabContentId);
selectedTabContent.classList.add("show", "active");
}
});
</script>
{{-- profile --}}
@endsection @endsection

View File

@ -1,4 +1,4 @@
@extends('Admin.layout.main') @extends('admin.layout.main')
@section('content') @section('content')
<div class="main-content"> <div class="main-content">
@ -62,5 +62,5 @@
</section> </section>
</div> </div>
@include('Admin.refund.next-detail-refund') @include('admin.refund.modal-next-detail-refund')
@endsection @endsection

View File

@ -1,4 +1,4 @@
@extends('Admin.layout.main') @extends('admin.layout.main')
@section('content') @section('content')
<div class="main-content"> <div class="main-content">
<section class="section"> <section class="section">
@ -30,26 +30,16 @@
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@foreach ($history_refund as $HistoryRefund) @foreach ($refunds as $refund)
<tr> <tr>
<td>{{ $HistoryRefund['no'] }}</td> <td>{{ $loop->iteration }}</td>
<td class="font-weight-600">{{ $HistoryRefund['orderId'] }}</a></td> <td class="font-weight-600">{{ $refund->orderId }}</a></td>
<td class="font-weight-600">{{ $HistoryRefund['customer'] }}</td> <td class="font-weight-600">{{ $refund['customer'] }}</td>
<td class="font-weight-600">{{ $HistoryRefund['seller'] }}</td> <td class="font-weight-600">{{ $refund['seller'] }}</td>
<td class="font-weight-600">{{ $HistoryRefund['total'] }}</td> <td class="font-weight-600">{{ $refund['total'] }}</td>
<td>{{ $HistoryRefund['date'] }}</td> <td>{{ $refund['date'] }}</td>
<td> <td>
@php <div class="badge {{ $refund->status == 'Partial Refund' ? 'badge-succes' : ($refund->status == 'Pending' ? 'badge-info' : 'badge-warning') }}">{{ $refund->status }}</div>
$refundStatus = '';
if ($HistoryRefund['status'] === 'Refund Success') {
$refundStatus = 'badge-success';
} elseif ($HistoryRefund['status'] === 'Process Refund') {
$refundStatus = 'badge-warning';
} elseif ($HistoryRefund['status'] === 'Refunds Refused') {
$refundStatus = 'badge-danger';
}
@endphp
<div class="badge {{ $refundStatus }}">{{ $HistoryRefund['status'] }}</div>
</td> </td>
<td> <td>
<div class="btn-group"> <div class="btn-group">

View File

@ -59,7 +59,7 @@
</div> </div>
</section> </section>
</div> </div>
@include('admin.setting.add-data') @include('admin.setting.modal-add-setting')
<script> <script>
$(document).ready(function() { $(document).ready(function() {
const table = $('#table-2').DataTable(); // Inisialisasi DataTable const table = $('#table-2').DataTable(); // Inisialisasi DataTable

View File

@ -12,20 +12,16 @@
<div class="section-body"> <div class="section-body">
<div class="row"> <div class="row">
<div class="col-12"> <div class="col-12">
<form action="{{route('admin-setting.store')}}" method="POST"> <form action="{{ route('admin-setting.store') }}" method="POST">
@csrf @csrf
<div class="card-header"> <div class="card-header">
<h4>Add Data Setting</h4> <h4>Tambah data kebijakan persentase keuntungan</h4>
</div> </div>
<div class="card-body"> <div class="card-body">
<div class="form-group"> <div class="form-group">
<label>Bulan</label> <label>Bulan</label>
<input type="month" class="form-control" name="bulan_tahun" required> <input type="month" class="form-control" name="bulan_tahun" required>
</div> </div>
{{-- <div class="form-group">
<label>Tahun</label>
<input type="number" class="form-control" name="tahun" required>
</div> --}}
<div class="form-group"> <div class="form-group">
<label>Persentase</label> <label>Persentase</label>
<input type="number" class="form-control" name="persentase" required> <input type="number" class="form-control" name="persentase" required>

View File

@ -24,32 +24,32 @@
<th>Customer</th> <th>Customer</th>
<th>Seller</th> <th>Seller</th>
<th>Total</th> <th>Total</th>
<th>Due Date</th> <th>Status</th>
<th>Status</th> <th>Status</th>
<th>Action</th> <th>Action</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@foreach ($transaction as $transactions) @foreach ($transactions as $transaction)
<tr> <tr>
<td>{{ $transactions['no'] }}</td> <td>{{ $transaction['no'] }}</td>
<td><a href="#">{{ $transactions['orderId'] }}</a></td> <td><a href="#">{{ $transaction['orderId'] }}</a></td>
<td class="font-weight-600">{{ $transactions['customer'] }}</td> <td class="font-weight-600">{{ $transaction['customer'] }}</td>
<td class="font-weight-600">{{ $transactions['seller'] }}</td> <td class="font-weight-600">{{ $transaction['seller'] }}</td>
<td class="font-weight-600">{{ $transactions['total'] }}</td> <td class="font-weight-600">{{ $transaction['total'] }}</td>
<td>{{ $transactions['date'] }}</td> <td>{{ $transaction['date'] }}</td>
<td> <td>
@php @php
$statusClass = ''; $statusClass = '';
if ($transactions['status'] === 'pending') { if ($transaction['status'] === 'pending') {
$statusClass = 'badge-warning'; $statusClass = 'badge-warning';
} elseif ($transactions['status'] === 'paid') { } elseif ($transaction['status'] === 'paid') {
$statusClass = 'badge-success'; $statusClass = 'badge-success';
} elseif ($transactions['status'] === 'unpaid') { } elseif ($transaction['status'] === 'unpaid') {
$statusClass = 'badge-danger'; $statusClass = 'badge-danger';
} }
@endphp @endphp
<div class="badge {{ $statusClass }}">{{ $transactions['status'] }}</div> <div class="badge {{ $transaction->status }}">{{ $transaction['status'] }}</div>
</td> </td>
<td> <td>
<div class="btn-group"> <div class="btn-group">
@ -74,5 +74,5 @@
</div> </div>
</div> </div>
</div> </div>
@include('Admin.transaction.Tracking') @include('admin.transaction.modal-tracking')
@endsection @endsection

View File

@ -75,7 +75,7 @@
</div> </div>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<a href="{{route('admin-transaction.index')}}" class="btn btn-primary mx-1">Back</a> <a href="{{ route('admin-transaction.index') }}" class="btn btn-primary mx-1">Back</a>
</div> </div>
</div> </div>
</div> </div>

View File

@ -5,7 +5,7 @@
<div class="section-header"> <div class="section-header">
<h1>Detail Users</h1> <h1>Detail Users</h1>
<div class="section-header-breadcrumb"> <div class="section-header-breadcrumb">
<div class="breadcrumb-item active"><a href="{{route('index')}}">Dashboard</a></div> <div class="breadcrumb-item active"><a href="{{ route('index') }}">Dashboard</a></div>
<div class="breadcrumb-item">Users</div> <div class="breadcrumb-item">Users</div>
<div class="breadcrumb-item">Details</div> <div class="breadcrumb-item">Details</div>
</div> </div>
@ -15,7 +15,7 @@
<div class="card"> <div class="card">
<div class="card-body"> <div class="card-body">
<div class="d-flex justify-content-between align-items-center"> <div class="d-flex justify-content-between align-items-center">
<div class="card-title pb-2 m-0">User Id<br /><span>#{{ $detail_user->id }}</span> <div class="card-title pb-2 m-0">User Id<br /><span>#{{ $user->id }}</span>
</div> </div>
</div> </div>
<div class="d-flex flex-column"> <div class="d-flex flex-column">
@ -24,23 +24,23 @@
<hr class="border border-1 opacity-75 w-100"> <hr class="border border-1 opacity-75 w-100">
<div class="data-field"> <div class="data-field">
<span class="fw-bold text-start">NIK</span> <span class="fw-bold text-start">NIK</span>
<span class="text-muted ">{{ $detail_user->nik }}</span> <span class="text-muted ">{{ $user->nik }}</span>
</div> </div>
<div class="data-field"> <div class="data-field">
<span class="fw-bold text-start">Name</span> <span class="fw-bold text-start">Name</span>
<span class="text-muted ">{{ $detail_user->nama }}</span> <span class="text-muted ">{{ $user->nama }}</span>
</div> </div>
<div class="data-field"> <div class="data-field">
<span class="fw-bold text-start">Gender</span> <span class="fw-bold text-start">Gender</span>
<span class="text-muted ">{{ $detail_user->gender }}</span> <span class="text-muted ">{{ $user->gender }}</span>
</div> </div>
{{-- <div class="data-field"> {{-- <div class="data-field">
<span class="fw-bold text-start">Religion</span> <span class="fw-bold text-start">Religion</span>
<span class="text-muted ">{{ $detail_user }}</span> <span class="text-muted ">{{ $user }}</span>
</div> --}} </div> --}}
{{-- <div class="data-field"> {{-- <div class="data-field">
<span class="fw-bold text-start">Blood Type</span> <span class="fw-bold text-start">Blood Type</span>
<span class="text-muted ">{{ $detail_user['bloodType'] }}</span> <span class="text-muted ">{{ $user['bloodType'] }}</span>
</div> --}} </div> --}}
</div> </div>
<hr class="border border-1 opacity-75 w-100"> <hr class="border border-1 opacity-75 w-100">
@ -52,37 +52,37 @@
<div class="data-field"> <div class="data-field">
<span class="fw-bold text-start">Email</span> <span class="fw-bold text-start">Email</span>
<span class="text-muted ">{{ $detail_user->email }}</span> <span class="text-muted ">{{ $user->email }}</span>
</div> </div>
<div class="data-field"> <div class="data-field">
<span class="fw-bold text-start">Phone Number</span> <span class="fw-bold text-start">Phone Number</span>
<span class="text-muted ">{{ $detail_user->nohp }}</span> <span class="text-muted ">{{ $user->nohp }}</span>
</div> </div>
<hr class="border border-1 opacity-75 w-100"> <hr class="border border-1 opacity-75 w-100">
<div class="d-flex justify-content-between align-items-center"> <div class="d-flex justify-content-between align-items-center">
<div class="card-title pb-2 m-0"> <div class="card-title pb-2 m-0">
<h4>Address</h4> <h4>Alamat</h4>
</div> </div>
</div> </div>
{{-- <div class="data-field">
<span class="fw-bold text-start">Province</span>
<span class="text-muted ">{{ $detail_user['province'] }}</span>
</div>
<div class="data-field"> <div class="data-field">
<span class="fw-bold text-start">City</span> <span class="fw-bold text-start">Provinsi</span>
<span class="text-muted ">{{ $detail_user['city'] }}</span> <span class="text-muted ">{{ $user->getProvinceName() }}</span>
</div> </div>
<div class="data-field"> <div class="data-field">
<span class="fw-bold text-start">District</span> <span class="fw-bold text-start">Kota</span>
<span class="text-muted ">{{ $detail_user['district'] }}</span> <span class="text-muted ">{{ $user->getCityName() }}</span>
</div>
<div class="data-field">
<span class="fw-bold text-start">Kecamatan</span>
<span class="text-muted ">{{ $user->getDistrictName() }}</span>
</div> </div>
<div class="data-field"> <div class="data-field">
<span class="fw-bold text-start">Village</span> <span class="fw-bold text-start">Village</span>
<span class="text-muted ">{{ $detail_user['village'] }}</span> <span class="text-muted ">{{ $user->getVillageName() }}</span>
</div> --}} </div>
<div class="data-field"> <div class="data-field">
<span class="fw-bold text-start">Alamat</span> <span class="fw-bold text-start">Alamat</span>
<span class="text-muted ">{{ $detail_user->alamat }}</span> <span class="text-muted ">{{ $user->alamat }}</span>
</div> </div>
</div> </div>
</div> </div>

View File

@ -1,4 +1,4 @@
@extends('Admin.layout.main') @extends('admin.layout.main')
@section('content') @section('content')
<div class="main-content"> <div class="main-content">
<section class="section"> <section class="section">
@ -28,13 +28,13 @@
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@foreach ($list_users as $user) @foreach ($users as $user)
<tr> <tr>
<td>{{ $loop->iteration }}</td> <td>{{ $loop->iteration }}</td>
<td>{{ $user->id }}</td> <td>{{ $user->id }}</td>
<td> <td>
<figure class="avatar mr-2 avatar-xl"> <figure class="avatar mr-2 avatar-xl">
<img src="{{ asset('assets/img/avatar/avatar-6.png') }}" alt="..."> <img src="{{ $user->foto_profil != null ? asset('storage') : asset('assets/img/avatar/avatar-6.png') }}" alt="...">
</figure> </figure>
</td> </td>
<td>{{ $user->nama }}</td> <td>{{ $user->nama }}</td>

View File

@ -1,38 +0,0 @@
<div class="modal fade" id="modaldelete" aria-hidden="true" aria-labelledby="myModalLabel"
tabindex="-1">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="myModalLabel">Yakin Hapus Contact?</h5>
</div>
<div class="modal-body">
Apakah Anda yakin ingin menghapus kontak ini?
</div>
<div class="modal-footer">
<button type="button" href="/contact" class="btn btn-secondary"
data-dismiss="modal">Batal</button>
<button type="button" class="btn btn-danger" data-bs-toggle="modal"
data-bs-target="#modaldeleteconfirm">Ya, Hapus Contact!</button>
</div>
</div>
</div>
</div>
<div class="modal fade" id="modaldeleteconfirm" aria-hidden="true" aria-labelledby="myModalLabel"
tabindex="-1">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="myModalLabel">Kontak Telah Dihapus</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal"
aria-label="Close"></button>
</div>
<div class="modal-body">
Kontak telah berhasil dihapus.
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" data-bs-dismiss="modal">Tutup</button>
</div>
</div>
</div>
</div>

View File

@ -35,12 +35,12 @@
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@foreach ($contacts as $key => $contact) @foreach ($contacts as $contact)
<tr> <tr>
<td>{{ ++$key }}</td> <td>{{ $loop->iteration }}</td>
<td class="font-weight-600">{{ $contact['email'] }}</td> <td class="font-weight-600">{{ $contact->relasi_kontak->nama_depan.' '.$contact->relasi_kontak->nama_belakang }}</td>
<td class="text-center font-weight-600">{{ $contact['name'] }}</td> <td class="text-center font-weight-600">{{ $contact->relasi_kontak}}</td>
<td class="text-center font-weight-600">{{ $contact['phone'] }}</td> <td class="text-center font-weight-600">{{ $contact->relasi_kontak->nohp }}</td>
<td class="text-center"> <td class="text-center">
<button class="btn btn-info open-detail-modal" data-toggle="modal" data-target="#modaldetail">Detail</button> <button class="btn btn-info open-detail-modal" data-toggle="modal" data-target="#modaldetail">Detail</button>
{{-- <a href="/detail-contact" type="button" class="btn btn-primary">Detail</a> --}} {{-- <a href="/detail-contact" type="button" class="btn btn-primary">Detail</a> --}}
@ -55,9 +55,9 @@
</div> </div>
</div> </div>
</div> </div>
@extends('user.contact.detail-contact') @extends('user.contact.modal-detail-contact')
@extends('user.contact.delete-contact') @extends('user.contact.modal-delete-contact')
@extends('user.contact.add-contact') @extends('user.contact.modal-add-contact')
@endsection @endsection

View File

@ -15,12 +15,10 @@
<!-- Modal Body --> <!-- Modal Body -->
<div class="modal-body"> <div class="modal-body">
<p class="statusMsg"></p> <p class="statusMsg"></p>
<form role="form" <form role="form">
>
<div class="form-group"> <div class="form-group">
<label for="inputemail">Email</label> <label for="inputemail">Email</label>
<input type="text" class="form-control" id="inputemail" <input type="text" class="form-control" id="inputemail" placeholder="Enter your email" />
placeholder="Enter your email" />
</div> </div>
<div class="form-group"> <div class="form-group">
<button type="button" class="btn btn-primary" id="checkButton">Check</button> <button type="button" class="btn btn-primary" id="checkButton">Check</button>

View File

@ -0,0 +1,34 @@
<div class="modal fade" id="modaldelete" aria-hidden="true" aria-labelledby="myModalLabel" tabindex="-1">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="myModalLabel">Yakin Hapus Contact?</h5>
</div>
<div class="modal-body">
Apakah Anda yakin ingin menghapus kontak ini?
</div>
<div class="modal-footer">
<button type="button" href="/contact" class="btn btn-secondary" data-dismiss="modal">Batal</button>
<button type="button" class="btn btn-danger" data-bs-toggle="modal"
data-bs-target="#modaldeleteconfirm">Ya, Hapus Contact!</button>
</div>
</div>
</div>
</div>
<div class="modal fade" id="modaldeleteconfirm" aria-hidden="true" aria-labelledby="myModalLabel" tabindex="-1">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="myModalLabel">Kontak Telah Dihapus</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
Kontak telah berhasil dihapus.
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" data-bs-dismiss="modal">Tutup</button>
</div>
</div>
</div>
</div>

View File

@ -84,7 +84,7 @@
<div class="dropdown-list-content dropdown-list-message"> <div class="dropdown-list-content dropdown-list-message">
<a href="#" class="dropdown-item dropdown-item-unread"> <a href="#" class="dropdown-item dropdown-item-unread">
<div class="dropdown-item-avatar"> <div class="dropdown-item-avatar">
<img alt="image" src="assets/img/avatar/avatar-1.png" class="rounded-circle"> <img alt="image" src="{{asset('assets/img/avatar/avatar-1.png')}}" class="rounded-circle">
<div class="is-online"></div> <div class="is-online"></div>
</div> </div>
<div class="dropdown-item-desc"> <div class="dropdown-item-desc">
@ -95,7 +95,7 @@
</a> </a>
<a href="#" class="dropdown-item dropdown-item-unread"> <a href="#" class="dropdown-item dropdown-item-unread">
<div class="dropdown-item-avatar"> <div class="dropdown-item-avatar">
<img alt="image" src="assets/img/avatar/avatar-2.png" class="rounded-circle"> <img alt="image" src="{{asset('assets/img/avatar/avatar-2.png')}}" class="rounded-circle">
</div> </div>
<div class="dropdown-item-desc"> <div class="dropdown-item-desc">
<b>Dedik Sugiharto</b> <b>Dedik Sugiharto</b>
@ -105,7 +105,7 @@
</a> </a>
<a href="#" class="dropdown-item dropdown-item-unread"> <a href="#" class="dropdown-item dropdown-item-unread">
<div class="dropdown-item-avatar"> <div class="dropdown-item-avatar">
<img alt="image" src="assets/img/avatar/avatar-3.png" class="rounded-circle"> <img alt="image" src="{{asset('assets/img/avatar/avatar-3.png')}}" class="rounded-circle">
<div class="is-online"></div> <div class="is-online"></div>
</div> </div>
<div class="dropdown-item-desc"> <div class="dropdown-item-desc">
@ -116,7 +116,7 @@
</a> </a>
<a href="#" class="dropdown-item"> <a href="#" class="dropdown-item">
<div class="dropdown-item-avatar"> <div class="dropdown-item-avatar">
<img alt="image" src="assets/img/avatar/avatar-4.png" class="rounded-circle"> <img alt="image" src="{{asset('assets/img/avatar/avatar-4.png')}}" class="rounded-circle">
</div> </div>
<div class="dropdown-item-desc"> <div class="dropdown-item-desc">
<b>Ardian Rahardiansyah</b> <b>Ardian Rahardiansyah</b>
@ -126,7 +126,7 @@
</a> </a>
<a href="#" class="dropdown-item"> <a href="#" class="dropdown-item">
<div class="dropdown-item-avatar"> <div class="dropdown-item-avatar">
<img alt="image" src="assets/img/avatar/avatar-5.png" class="rounded-circle"> <img alt="image" src="{{asset('assets/img/avatar/avatar-5.png')}}" class="rounded-circle">
</div> </div>
<div class="dropdown-item-desc"> <div class="dropdown-item-desc">
<b>Alfa Zulkarnain</b> <b>Alfa Zulkarnain</b>
@ -203,7 +203,7 @@
<li class="dropdown"><a href="#" data-toggle="dropdown" <li class="dropdown"><a href="#" data-toggle="dropdown"
class="nav-link dropdown-toggle nav-link-lg nav-link-user"> class="nav-link dropdown-toggle nav-link-lg nav-link-user">
<img alt="image" src="assets/img/avatar/avatar-1.png" class="rounded-circle mr-1"> <img alt="image" src="assets/img/avatar/avatar-1.png" class="rounded-circle mr-1">
<div class="d-sm-none d-lg-inline-block">Hi, {{ $name }}</div> <div class="d-sm-none d-lg-inline-block">Hi, {{ Auth::user()->name }}</div>
</a> </a>
<div class="dropdown-menu dropdown-menu-right"> <div class="dropdown-menu dropdown-menu-right">
<div class="dropdown-title">Logged in 5 min ago</div> <div class="dropdown-title">Logged in 5 min ago</div>
@ -217,7 +217,7 @@
<i class="fas fa-cog"></i> Settings <i class="fas fa-cog"></i> Settings
</a> --}} </a> --}}
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>
<a href="#" class="dropdown-item has-icon text-danger"> <a href="{{route('logout')}}" class="dropdown-item has-icon text-danger">
<i class="fas fa-sign-out-alt"></i> Logout <i class="fas fa-sign-out-alt"></i> Logout
</a> </a>
</div> </div>

View File

@ -12,26 +12,24 @@
<link rel="stylesheet" href="{{ asset('assets/modules/fontawesome/css/all.min.css') }}"> <link rel="stylesheet" href="{{ asset('assets/modules/fontawesome/css/all.min.css') }}">
<link rel="stylesheet" href="https://cdn.materialdesignicons.com/5.4.55/css/materialdesignicons.min.css"> <link rel="stylesheet" href="https://cdn.materialdesignicons.com/5.4.55/css/materialdesignicons.min.css">
<!-- CSS Libraries --> <!-- CSS Libraries -->
<link rel="stylesheet" href="{{asset('assets/modules/jqvmap/dist/jqvmap.min.css')}}"> <link rel="stylesheet" href="{{ asset('assets/modules/jqvmap/dist/jqvmap.min.css') }}">
<link rel="stylesheet" href="{{asset('assets/modules/summernote/summernote-bs4.css')}}"> <link rel="stylesheet" href="{{ asset('assets/modules/summernote/summernote-bs4.css') }}">
<link rel="stylesheet" href="{{asset('assets/modules/owlcarousel2/dist/assets/owl.carousel.min.css')}}"> <link rel="stylesheet" href="{{ asset('assets/modules/owlcarousel2/dist/assets/owl.carousel.min.css') }}">
<link rel="stylesheet" href="{{asset('assets/modules/owlcarousel2/dist/assets/owl.theme.default.min.css')}}"> <link rel="stylesheet" href="{{ asset('assets/modules/owlcarousel2/dist/assets/owl.theme.default.min.css') }}">
<link rel="stylesheet" href="{{asset('assets/modules/datatables/datatables.min.css')}}"> <link rel="stylesheet" href="{{ asset('assets/modules/datatables/datatables.min.css') }}">
<link rel="stylesheet" href="{{asset('assets/modules/datatables/DataTables-1.10.16/css/dataTables.bootstrap4.min.css')}}"> <link rel="stylesheet"
<link rel="stylesheet" href="{{asset('assets/modules/datatables/Select-1.2.4/css/select.bootstrap4.min.css')}}"> href="{{ asset('assets/modules/datatables/DataTables-1.10.16/css/dataTables.bootstrap4.min.css') }}">
<link rel="stylesheet" href="{{ asset('assets/modules/datatables/Select-1.2.4/css/select.bootstrap4.min.css') }}">
<link rel="stylesheet" href="{{ asset('assets/css/main.css') }}"> <link rel="stylesheet" href="{{ asset('assets/css/main.css') }}">
<!-- Template CSS --> <!-- Template CSS -->
<link rel="stylesheet" href="{{asset('assets/css/style.css')}}"> <link rel="stylesheet" href="{{ asset('assets/css/style.css') }}">
<link rel="stylesheet" href="{{asset('assets/css/components.css')}}"> <link rel="stylesheet" href="{{ asset('assets/css/components.css') }}">
<!-- Start GA --> <!-- Start GA -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-94034622-3"></script> {{-- <script async src="https://www.googletagmanager.com/gtag/js?id=UA-94034622-3"></script> --}}
<script> {{-- <script>
window.dataLayer = window.dataLayer || []; window.dataLayer = window.dataLayer || [];
function gtag() { function gtag() {
@ -40,8 +38,11 @@
gtag('js', new Date()); gtag('js', new Date());
gtag('config', 'UA-94034622-3'); gtag('config', 'UA-94034622-3');
</script> </script> --}}
<!-- /END GA --> <!-- /END GA -->
{{-- JS --}}
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head> </head>
<body> <body>
@ -49,39 +50,85 @@
<header class="header-area header-sticky"> <header class="header-area header-sticky">
@include('user.layout.header') @include('user.layout.header')
</header> </header>
<!-- ***** Main Banner Area Start ***** --> <!-- ***** Main Banner Area Start ***** -->
<main id="main" style="min-height: 100vh;"> <main id="main" style="min-height: 100vh;">
@include('user.layout.sidebar') @include('user.layout.sidebar')
@yield('content') @yield('content')
</main> </main>
<!-- End #main --> <!-- End #main -->
<footer id="footer"> <footer id="footer">
@include('user.layout.footer') @include('user.layout.footer')
</footer> </footer>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
<script>
$(document).ready(function() {
let searchParams = new URLSearchParams(window.location.search);
let dateInterval = searchParams.get('from-to');
let start = moment().subtract(29, 'days');
let end = moment();
if (dateInterval) {
dateInterval = dateInterval.split(' - ');
start = moment(dateInterval[0]);
end = moment(dateInterval[1]);
}
$('#date-range').daterangepicker({
"showDropdowns": true,
"showWeekNumbers": true,
"alwaysShowCalendars": true,
startDate: start,
endDate: end,
locale: {
format: 'YYYY-MM-DD',
firstDay: 1,
},
ranges: {
'Today': [moment(), moment()],
'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
'Last 7 Days': [moment().subtract(6, 'days'), moment()],
'Last 30 Days': [moment().subtract(29, 'days'), moment()],
'This Month': [moment().startOf('month'), moment().endOf('month')],
'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1,
'month').endOf(
'month')],
'This Year': [moment().startOf('year'), moment().endOf('year')],
'Last Year': [moment().subtract(1, 'year').startOf('year'), moment().subtract(1, 'year')
.endOf(
'year')
],
'All time': [moment().subtract(30, 'year').startOf('month'), moment().endOf('month')],
}
});
});
</script>
<!-- General JS Scripts --> <!-- General JS Scripts -->
<script src="{{asset('assets/modules/jquery.min.js')}}"></script> <script src="{{ asset('assets/modules/jquery.min.js') }}"></script>
<script src="{{asset('assets/modules/popper.js')}}"></script>i <script src="{{ asset('assets/modules/popper.js') }}"></script>i
<script src="{{asset('assets/modules/tooltip.js')}}"></script> <script src="{{ asset('assets/modules/tooltip.js') }}"></script>
<script src="{{asset('assets/modules/bootstrap/js/bootstrap.min.js')}}"></script> <script src="{{ asset('assets/modules/bootstrap/js/bootstrap.min.js') }}"></script>
<script src="{{asset('assets/modules/nicescroll/jquery.nicescroll.min.js')}}"></script> <script src="{{ asset('assets/modules/nicescroll/jquery.nicescroll.min.js') }}"></script>
<script src="{{asset('assets/modules/moment.min.js')}}"></script> <script src="{{ asset('assets/modules/moment.min.js') }}"></script>
<script src="{{asset('assets/js/stisla.js')}}"></script> <script src="{{ asset('assets/js/stisla.js') }}"></script>
<!-- JS Libraies --> <!-- JS Libraies -->
<script src="{{asset('assets/modules/jquery.sparkline.min.js')}}"></script> <script src="{{ asset('assets/modules/jquery.sparkline.min.js') }}"></script>
<script src="{{asset('assets/modules/chart.min.js')}}"></script> <script src="{{ asset('assets/modules/chart.min.js') }}"></script>
<script src="{{asset('assets/modules/owlcarousel2/dist/owl.carousel.min.js')}}"></script> <script src="{{ asset('assets/modules/owlcarousel2/dist/owl.carousel.min.js') }}"></script>
<script src="{{asset('assets/modules/summernote/summernote-bs4.js')}}"></script> <script src="{{ asset('assets/modules/summernote/summernote-bs4.js') }}"></script>
<script src="{{asset('assets/modules/chocolat/dist/js/jquery.chocolat.min.js')}}"></script> <script src="{{ asset('assets/modules/chocolat/dist/js/jquery.chocolat.min.js') }}"></script>
<!-- JS Libraies --> <!-- JS Libraies -->
<script src="{{asset('assets/modules/datatables/datatables.min.js')}}"></script> <script src="{{ asset('assets/modules/datatables/datatables.min.js') }}"></script>
<script src="{{asset('assets/modules/datatables/DataTables-1.10.16/js/dataTables.bootstrap4.min.js')}}"></script> <script src="{{ asset('assets/modules/datatables/DataTables-1.10.16/js/dataTables.bootstrap4.min.js') }}"></script>
<script src="{{asset('assets/modules/datatables/Select-1.2.4/js/dataTables.select.min.js')}}"></script> <script src="{{ asset('assets/modules/datatables/Select-1.2.4/js/dataTables.select.min.js') }}"></script>
<script src="{{asset('assets/modules/jquery-ui/jquery-ui.min.js')}}"></script> <script src="{{ asset('assets/modules/jquery-ui/jquery-ui.min.js') }}"></script>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script> <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
{{-- <script type="text/javascript"> {{-- <script type="text/javascript">
@ -103,24 +150,18 @@
<!-- Page Specific JS File --> <!-- Page Specific JS File -->
<script src="{{asset('assets/js/page/modules-datatables.js')}}"></script> <script src="{{ asset('assets/js/page/modules-datatables.js') }}"></script>
<!-- Page Specific JS File --> <!-- Page Specific JS File -->
<script src="{{asset('assets/js/page/index.js')}}"></script> <script src="{{ asset('assets/js/page/index.js') }}"></script>
<script src="https://cdn.jsdelivr.net/npm/daterangepicker@3.1.0/daterangepicker.min.js"></script>i <script src="https://cdn.jsdelivr.net/npm/daterangepicker@3.1.0/daterangepicker.min.js"></script>i
<script src="{{ asset('assets/js/page/index-0.js') }}"></script> <script src="{{ asset('assets/js/page/index-0.js') }}"></script>
<!-- Template JS File --> <!-- Template JS File -->
<script src="{{asset('assets/js/scripts.js')}}"></script> <script src="{{ asset('assets/js/scripts.js') }}"></script>
<script src="{{asset('assets/js/custom.js')}}"></script> <script src="{{ asset('assets/js/custom.js') }}"></script>
<script src="{{ asset('assets/js/main.js') }}"></script> <script src="{{ asset('assets/js/main.js') }}"></script>
{{-- refund --}}
{{-- @include('sweetalert::alert') --}}
</body> </body>
</html> </html>

View File

@ -1,49 +1,48 @@
<div class="main-sidebar sidebar-style-2"> <div class="main-sidebar sidebar-style-2">
<aside id="sidebar-wrapper"> <aside id="sidebar-wrapper">
<div class="sidebar-brand"> <div class="sidebar-brand">
<a href="index.html">REKBER</a> <a href="{{route('user.index')}}">REKBER</a>
</div> </div>
<div class="sidebar-brand sidebar-brand-sm"> <div class="sidebar-brand sidebar-brand-sm">
<a href="index.html">RK</a> <a href="{{route('user.index')}}">RK</a>
</div> </div>
<ul class="sidebar-menu"> <ul class="sidebar-menu">
<li class="menu-header">Dashboard</li> <li class="menu-header">Dashboard</li>
<li><a class="nav-link active" href="/"><i class="fas fa-fire"></i> <span>Dashboard</span></a></li> <li><a class="nav-link active" href="{{route('user.index')}}"><i class="fas fa-fire"></i> <span>Dashboard</span></a></li>
<li class="menu-header">Starter</li> <li class="menu-header">Starter</li>
<li class="drop-down "> <li class="drop-down ">
<a class="nav-link" data-toggle="collapse" href="#submenuTransaction" aria-expanded="false" aria-controls="submenuTransaction"> <a class="nav-link" data-toggle="collapse" href="#submenuTransaction" aria-expanded="false" aria-controls="submenuTransaction">
<i class="fas fa-columns"></i><span>Transaction</span> <i class="fas fa-caret-down"></i> <i class="fas fa-columns"></i><span>Transaksi</span> <i class="fas fa-caret-down"></i>
</a> </a>
<div id="submenuTransaction" class="collapse"> <div id="submenuTransaction" class="collapse">
<ul class="nav flex-column sub-menu"> <ul class="nav flex-column sub-menu">
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" href="/penjual"> <a class="nav-link" href="{{route('user-transaction.index.pembeli')}}">
<i class="fas fa-user"></i> Penjual <i class="fas fa-users"></i> Pembeli
</a> </a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" href="/pembeli"> <a class="nav-link" href="{{route('user-transaction.index.penjual')}}">
<i class="fas fa-users"></i> Pembeli <i class="fas fa-user"></i> Penjual
</a> </a>
</li> </li>
</ul> </ul>
</div> </div>
</li> </li>
<li> <li>
<a class="nav-link active" href="/contact"> <a class="nav-link active" href="{{route('user-contact.index')}}">
<i class="fas fa-address-book"></i> <span>Manajemen Contact</span> <i class="fas fa-address-book"></i> <span>Kontak</span>
</a> </a>
</li> </li>
<li> <li>
<a class="nav-link active" href="/refund"> <a class="nav-link active" href="{{route('user-refund.index')}}">
<i class="fas fa-money-check-alt"></i> <span>Halaman Refund</span> <i class="fas fa-money-check-alt"></i> <span>Refund</span>
</a> </a>
</li> </li>

View File

@ -11,7 +11,7 @@
<i class="bi bi-arrow-right" style="position: absolute; top: 10px; right: 10px; font-size: 24px;"></i> <i class="bi bi-arrow-right" style="position: absolute; top: 10px; right: 10px; font-size: 24px;"></i>
<img src="assets/img/avatar/ok.jpg" alt="Profile" class="rounded-circle" style="width: 150px; height: 150px;"> <img src="assets/img/avatar/ok.jpg" alt="Profile" class="rounded-circle" style="width: 150px; height: 150px;">
<h2 class="mt-3">Nurul Prima Annisa</h2> <h2 class="mt-3">Nurul Prima Annisa</h2>
<h5 class="mb-0">@npannisa</h5> <h5 class="mb-0">#123udfai90-20udf82</h5>
</div> </div>
<div class="card"> <div class="card">

View File

@ -1,33 +0,0 @@
<div class="modal fade" id="bayar" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1"
aria-labelledby="staticBackdropLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header d-flex justify-content-center">
<h3 class="modal-title fs-5" id="staticBackdropLabel">Lakukan Pembayaran</h3>
<a type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></a>
</div>
<div class="modal-body">
<form action="#" method="post">
<div class="mb-3">
<label for="nominal" class="form-label">Nominal</label>
<input type="text" class="form-control" name="nominal" id="nominal" required>
</div>
<div class="mb-3">
<label for="tujuan" class="form-label">Tujuan</label>
<input type="text" class="form-control" name="tujuan" id="tujuan" required>
</div>
<div class="mb-3">
<label for="textare" class="form-label">Deskripsi</label>
<textarea class="form-control" id="deskripsi" rows="3"></textarea>
</div>
</form>
</div>
<div class="modal-footer">
<a href="/invoice-transaction" type="button" class="btn btn-primary">Selesai</a>
</div>
</div>
</div>
</div>

View File

@ -196,11 +196,11 @@
{{-- <div class="col-12 col-md-12 col-lg-7"> {{-- <div class="col-12 col-md-12 col-lg-7">
<div class="card"> <div class="card">
<div class="card-body"> <div class="card-body">
@foreach ($TransactionUser as $HistoryTransaction) --}} @foreach ($TransactionUser as $HistoryTransaction) --}}
{{-- <div class="d-flex flex-column"> {{-- <div class="d-flex flex-column">
<div class="data-fieldr"> <div class="data-fieldr">
<span class="fw-bold text-start">Order Details</span> <span class="fw-bold text-start">Order Details</span>
@ -232,13 +232,13 @@
</div> </div>
</div> --}} </div> --}}
{{-- @endforeach --}} {{-- @endforeach --}}
{{-- Pindahan modal --}} {{-- Pindahan modal --}}
{{-- awal modal transaksi --}} {{-- awal modal transaksi --}}
{{-- <div class="modal fade" id="detailtransaksi" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" {{-- <div class="modal fade" id="detailtransaksi" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1"
aria-labelledby="staticBackdropLabel" aria-hidden="true"> aria-labelledby="staticBackdropLabel" aria-hidden="true">
<div class="modal-dialog"> <div class="modal-dialog">
<div class="modal-content"> <div class="modal-content">

View File

@ -1,16 +0,0 @@
<div class="modal fade" id="selesai" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1"
aria-labelledby="staticBackdropLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered">
<!-- Menggunakan class modal-dialog-centered untuk memusatkan modal -->
<div class="modal-content">
<div class="modal-header d-flex justify-content-center">
<h2 class="modal-title fs-5" id="staticBackdropLabel">Konfirmasi Pesanan</h2>
<a type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></a>
</div>
<div class="modal-footer d-flex justify-content-center">
<a href="/pembeli" type="button" class="btn btn-danger">Pesanan Belum diterima</a>
<a href="/pembeli" type="button" class="btn btn-primary">Pesanan diterima</a>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,93 @@
@extends('user.layout.main')
@section('content')
<div class="main-content">
<section class="section">
<div class="section-header">
<div class="section-header-breadcrumb">
<div class="breadcrumb-item active"><a href="#">Dashboard</a></div>
<div class="breadcrumb-item"><a href="#"> Transaction</a></div>
<div class="breadcrumb-item">Manajemen Kontak</div>
<div class="breadcrumb-item">Halaman Refund</div>
</div>
</div>
<div class="row">
<div class="col-12 mb-4">
<div class="hero bg-primary text-white">
<div class="hero-inner">
<h1>Welcome! npannisa</h1>
<p class="lead">How Are You Today?</p>
</div>
</div>
</div>
<div class="col-md-12">
<div class="card">
<div class="d-grid gap-2 d-md-flex justify-content-md-end" style="margin-bottom: 20px">
<a class="nav-link active" href="new-transaction">
<button class="btn btn-primary btn-lg">Lakukan Transaksi Baru</button>
</a>
</div>
<div class="card-body">
<div class="table-responsive">
<table class="table table-striped" id="table-1">
<thead>
<tr>
<th>User ID</th>
<th>Order ID</th>
<th>Customer</th>
<th>Seller</th>
<th>Total</th>
<th>Due Date</th>
<th>Status</th>
<th>Action</th>
</tr>
</thead>
<tbody>
@foreach ($TransactionUser as $HistoryTransaction)
<tr>
<td>{{ $HistoryTransaction['userId'] }}</td>
<td>{{ $HistoryTransaction['orderId'] }}</td>
<td>{{ $HistoryTransaction['Customer'] }}</td>
<td>{{ $HistoryTransaction['seller'] }}</td>
<td>{{ $HistoryTransaction['total'] }}</td>
<td>{{ $HistoryTransaction['dueDate'] }}</td>
<td>{{ $HistoryTransaction['status'] }}</td>
<td>
<div class="btn-group">
<button type="button" class="btn btn-primary dropdown-toggle"
data-toggle="dropdown" aria-haspopup="true"
aria-expanded="false">
Action
</button>
<ul class="dropdown-menu">
<li><a class="dropdown-item"
href="/detail-transaction">Detail</a></li>
<li><a class="dropdown-item"
href="/refund-transaction">Refund</a></li>
{{-- <li><a class="dropdown-item"
href="/invoice-transaction">Bayar</a></li> --}}
<li><a class="dropdown-item" data-toggle="modal"
data-target="#bayar">Bayar</a></li>
<li><a class="dropdown-item" data-toggle="modal"
data-target="#selesai">Selesai</a></li>
</ul>
</div>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</section>
@extends('user.transaction.pembeli.modal-bayar-transaction')
@extends('user.transaction.pembeli.modal-end-transaction')
@endsection

View File

@ -116,9 +116,11 @@
<hr> <hr>
<div class="text-md-right"> <div class="text-md-right">
<div class="float-lg-left mb-lg-0 mb-3"> <div class="float-lg-left mb-lg-0 mb-3">
<a href="/pembeli" class="btn btn-primary btn-icon icon-left"><i class="fas fa-credit-card" id="payment"></i> Process <a href="/pembeli" class="btn btn-primary btn-icon icon-left"><i class="fas fa-credit-card"
id="payment"></i> Process
Payment</a> Payment</a>
<a href="/pembeli" class="btn btn-danger btn-icon icon-left"><i class="fas fa-times"></i> Cancel</a> <a href="/pembeli" class="btn btn-danger btn-icon icon-left"><i class="fas fa-times"></i>
Cancel</a>
</div> </div>
<button class="btn btn-warning btn-icon icon-left"><i class="fas fa-print"></i> Print</button> <button class="btn btn-warning btn-icon icon-left"><i class="fas fa-print"></i> Print</button>
</div> </div>

View File

@ -0,0 +1,33 @@
<div class="modal fade" id="bayar" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1"
aria-labelledby="staticBackdropLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header d-flex justify-content-center">
<h3 class="modal-title fs-5" id="staticBackdropLabel">Lakukan Pembayaran</h3>
<a type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></a>
</div>
<div class="modal-body">
<form action="#" method="post">
<div class="mb-3">
<label for="nominal" class="form-label">Nominal</label>
<input type="text" class="form-control" name="nominal" id="nominal" required>
</div>
<div class="mb-3">
<label for="tujuan" class="form-label">Tujuan</label>
<input type="text" class="form-control" name="tujuan" id="tujuan" required>
</div>
<div class="mb-3">
<label for="textare" class="form-label">Deskripsi</label>
<textarea class="form-control" id="deskripsi" rows="3"></textarea>
</div>
</form>
</div>
<div class="modal-footer">
<a href="/invoice-transaction" type="button" class="btn btn-primary">Selesai</a>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,16 @@
<div class="modal fade" id="selesai" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1"
aria-labelledby="staticBackdropLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered">
<!-- Menggunakan class modal-dialog-centered untuk memusatkan modal -->
<div class="modal-content">
<div class="modal-header d-flex justify-content-center">
<h2 class="modal-title fs-5" id="staticBackdropLabel">Konfirmasi Pesanan</h2>
<a type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></a>
</div>
<div class="modal-footer d-flex justify-content-center">
<a href="/pembeli" type="button" class="btn btn-danger">Pesanan Belum diterima</a>
<a href="/pembeli" type="button" class="btn btn-primary">Pesanan diterima</a>
</div>
</div>
</div>
</div>

View File

@ -15,12 +15,14 @@
<div class="form-row"> <div class="form-row">
<div class="form-group col-md-12"> <div class="form-group col-md-12">
<label for="inputpembeli">Nama Pembeli</label> <label for="inputpembeli">Nama Pembeli</label>
<input type="email" class="form-control" id="inputpembeli" placeholder="Masukkan nama pembeli"> <input type="email" class="form-control" id="inputpembeli"
placeholder="Masukkan nama pembeli">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label for="inputpenjual">Nama Penjual</label> <label for="inputpenjual">Nama Penjual</label>
<input type="text" class="form-control" id="inputpenjual" placeholder="Masukkan nama penjual"> <input type="text" class="form-control" id="inputpenjual"
placeholder="Masukkan nama penjual">
</div> </div>
<div class="form-group"> <div class="form-group">
<label for="harga">Harga</label> <label for="harga">Harga</label>
@ -36,7 +38,8 @@
</div> </div>
<div class="form-group"> <div class="form-group">
<label for="inputdeskripsi">Deskripsi</label> <label for="inputdeskripsi">Deskripsi</label>
<textarea class="form-control resizable" id="deskripsi" placeholder="Deskripsikan jenis apa transaksi yang anda lakukan"></textarea> <textarea class="form-control resizable" id="deskripsi"
placeholder="Deskripsikan jenis apa transaksi yang anda lakukan"></textarea>
</div> </div>
<div class="form-group mb-0"> <div class="form-group mb-0">
<div class="form-check"> <div class="form-check">

View File

@ -1,93 +0,0 @@
@extends('user.layout.main')
@section('content')
<div class="main-content">
<section class="section">
<div class="section-header">
<div class="section-header-breadcrumb">
<div class="breadcrumb-item active"><a href="#">Dashboard</a></div>
<div class="breadcrumb-item"><a href="#"> Transaction</a></div>
<div class="breadcrumb-item">Manajemen Kontak</div>
<div class="breadcrumb-item">Halaman Refund</div>
</div>
</div>
<div class="row">
<div class="col-12 mb-4">
<div class="hero bg-primary text-white">
<div class="hero-inner">
<h1>Welcome! npannisa</h1>
<p class="lead">How Are You Today?</p>
</div>
</div>
</div>
<div class="col-md-12">
<div class="card">
<div class="d-grid gap-2 d-md-flex justify-content-md-end" style="margin-bottom: 20px">
<a class="nav-link active" href="new-transaction">
<button class="btn btn-primary btn-lg">Lakukan Transaksi Baru</button>
</a>
</div>
<div class="card-body">
<div class="table-responsive">
<table class="table table-striped" id="table-1">
<thead>
<tr>
<th>User ID</th>
<th>Order ID</th>
<th>Customer</th>
<th>Seller</th>
<th>Total</th>
<th>Due Date</th>
<th>Status</th>
<th>Action</th>
</tr>
</thead>
<tbody>
@foreach ($TransactionUser as $HistoryTransaction)
<tr>
<td>{{ $HistoryTransaction['userId'] }}</td>
<td>{{ $HistoryTransaction['orderId'] }}</td>
<td>{{ $HistoryTransaction['Customer'] }}</td>
<td>{{ $HistoryTransaction['seller'] }}</td>
<td>{{ $HistoryTransaction['total'] }}</td>
<td>{{ $HistoryTransaction['dueDate'] }}</td>
<td>{{ $HistoryTransaction['status'] }}</td>
<td>
<div class="btn-group">
<button type="button" class="btn btn-primary dropdown-toggle"
data-toggle="dropdown" aria-haspopup="true"
aria-expanded="false">
Action
</button>
<ul class="dropdown-menu">
<li><a class="dropdown-item"
href="/detail-transaction">Detail</a></li>
<li><a class="dropdown-item"
href="/refund-transaction">Refund</a></li>
{{-- <li><a class="dropdown-item"
href="/invoice-transaction">Bayar</a></li> --}}
<li><a class="dropdown-item" data-toggle="modal"
data-target="#bayar">Bayar</a></li>
<li><a class="dropdown-item" data-toggle="modal"
data-target="#selesai">Selesai</a></li>
</ul>
</div>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</section>
@extends('user.transaction.Pembeli.bayar-transaction')
@extends('user.transaction.Pembeli.end-transaction')
@endsection

View File

@ -0,0 +1,478 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>REKBER</title>
<!-- icon font awesome -->
<script src="https://kit.fontawesome.com/64d58efce2.js" crossorigin="anonymous"></script>
<!-- css -->
<link rel="stylesheet" href="{{ asset('assets/css/login_register/style.css') }}" />
<meta name="csrf-token" content="{{ csrf_token() }}">
<!-- ionicons -->
<script type="module" src="https://unpkg.com/ionicons@5.5.2/dist/ionicons/ionicons.esm.js"></script>
<!-- Boxicons -->
<script src="https://unpkg.com/boxicons@2.1.4/dist/boxicons.js"></script>
<link href='https://unpkg.com/boxicons@2.1.4/css/boxicons.min.css' rel='stylesheet'>
</head>
<body>
<!-- ======= PRELOADER ======= -->
<div id="preloader">
<div id="status">
<div class="preloader" aria-busy="true" aria-label="Loading, please wait." role="progressbar">
</div>
</div>
</div>
<!-- ======= END PRELOADER ======= -->
<!-- ======= MODAL ======= -->
<div class="modal_wrapper">
<div class="shadow"></div>
<div class="success_wrap">
<span class="modal_icon"><ion-icon name="checkmark-sharp"></ion-icon></span>
<p>You have successfully completed the process.</p>
</div>
</div>
<!-- ======= MODAL ======= -->
<div class="container">
<div class="forms-container">
<div class="signin-signup">
<!-- ======= SIGN IN FORM ======= -->
<form action="{{ route('authenticate') }}" class="sign-in-form" method="POST"
enctype="multipart/form-data">
@csrf
<h2 class="title">Sign In</h2>
<p>
Selamat datang kembali, silakan isi form login di bawah ini untuk masuk ke akun anda.
</p>
<div style="width: 100%; display: flex; align-items: center;">
<div class="input-field-signin-flex">
<i class="fas fa-envelope" aria-hidden="true"></i>
{{-- <input type="text" class="telp-input-signin" maxlength="13" oninput="this.value = this.value.replace(/[^0-9]/g, '').substring(0, 13);" placeholder="Nomer Telepon"> --}}
<input type="email" class="telp-input-signin" placeholder="Email" name="email" required>
</div>
<button type="button" class="btn-otp solid" id="cekAkun">Cek Akun</button>
</div>
<div class="input-field">
<i class="fas fa-unlock-alt" aria-hidden="true"></i>
<input type="password" class="otp-input" placeholder="Password" name="password" required>
</div>
<button type="submit" class="btn solid" id="login-btn">Login</button>
</form>
<!-- ======= END SIGN IN FORM ======= -->
<!-- ======= SIGN UP FORM ======= -->
<form action="{{ route('register') }}" class="sign-up-form" id="msform" enctype="multipart/form-data"
method="POST">
@csrf
<h2 class="title">Sign Up</h2>
<p style="width: 90%">
Selamat datang kembali, silakan isi form login di bawah ini untuk masuk ke akun anda.
</p>
<<!--=======PROGRESS BAR=======-->
<div class="header">
<ul>
<li class="active form_1_progessbar">
<div>
<p>1</p>
</div>
</li>
<li class="form_2_progessbar">
<div>
<p>2</p>
</div>
</li>
<li class="form_3_progessbar">
<div>
<p>3</p>
</div>
</li>
<li class="form_4_progessbar">
<div>
<p>4</p>
</div>
</li>
</ul>
</div>
<!-- ======= END PROGRESS BAR ======= -->
<!-- ======= FORM MULTIPLE ======= -->
<div class="form_wrap">
<!-- ======= FORM PERSONAL DATA ======= -->
<div class="form_1 data_info">
<div style="display: flex;">
<div class="input-field-signup-flex">
<i class="fas fa-user"></i>
<input type="text" placeholder="Nama Depan" class="first-name-input"
name="nama_depan" />
</div>
<div class="input-field-signup-flex" style="margin-left: 3%">
<i class="fas fa-user"></i>
<input type="text" placeholder="Nama Belakang" class="last-name-input"
name="nama_belakang" />
</div>
</div>
<div class="input-field up">
<i class="fa fa-envelope" aria-hidden="true"></i>
<input type="email" placeholder="Email" class="email-input" name="email" />
</div>
<div class="input-field up">
<i class="fa fa-phone" aria-hidden="true"></i>
<input type="text" class="telp-input-signup" maxlength="13"
oninput="this.value = this.value.replace(/[^0-9]/g, '').substring(0, 13);"
placeholder="Nomer Telepon" name="nohp">
</div>
<div style="display: flex;">
<div class="input-field-signup-flex up gender-select-menu" style="width: 190%">
<div class="gender-select-input">
<span class="gender-select">Jenis Kelamin</span>
<i class="bx bx-chevron-down" style="padding: 0"></i>
</div>
<ul class="gender-options" name="gender">
<li class="gender-option">
<span class="gender-option-text">Laki-laki</span>
</li>
<li class="gender-option">
<span class="gender-option-text">Perempuan</span>
</li>
</ul>
</div>
<div class="input-field-signup-flex up" style="margin-left: 3%">
<i class="fa fa-calendar" aria-hidden="true"></i>
<input type="date" placeholder="Tanggal Lahir" name="tanggal_lahir" />
</div>
</div>
</div>
<!-- ======= END FORM PERSONAL DATA ======= -->
<!-- ======= FORM ADDRESS ======= -->
<div class="form_2 data_info" style="display: none;">
<div class="input-field select-menu" style="width: 190%" name="alamat">
<div class="select-btn">
<span class="sBtn-text">Select Provinsi</span>
<i class="bx bx-chevron-down"></i>
</div>
<ul class="options">
<li class="option">
<span class="option-text">Nanggroe Aceh Darussalam</span>
</li>
<li class="option">
<span class="option-text">Sumatera Utara</span>
</li>
<li class="option">
<span class="option-text">Sumatera Selatan</span>
</li>
<li class="option">
<span class="option-text">Sumatera Barat</span>
</li>
<li class="option">
<span class="option-text">Bengkulu</span>
</li>
<li class="option">
<span class="option-text">Riau</span>
</li>
<li class="option">
<span class="option-text">Kepulauan Riau</span>
</li>
<li class="option">
<span class="option-text">Jambi</span>
</li>
<li class="option">
<span class="option-text">Lampung</span>
</li>
<li class="option">
<span class="option-text">Bangka Belitung</span>
</li>
<li class="option">
<span class="option-text">Kalimantan Barat</span>
</li>
<li class="option">
<span class="option-text">Kalimantan Timur</span>
</li>
<li class="option">
<span class="option-text">Kalimantan Selatan</span>
</li>
<li class="option">
<span class="option-text">Kalimantan Tengah</span>
</li>
<li class="option">
<span class="option-text">Kalimantan Utara</span>
</li>
<li class="option">
<span class="option-text">Banten</span>
</li>
<li class="option">
<span class="option-text">DKI Jakarta</span>
</li>
<li class="option">
<span class="option-text">Jawa Barat</span>
</li>
<li class="option">
<span class="option-text">Jawa Tengah</span>
</li>
<li class="option">
<span class="option-text">Daerah Istimewa Yogyakarta</span>
</li>
<li class="option">
<span class="option-text">Jawa Timur</span>
</li>
<li class="option">
<span class="option-text">Bali</span>
</li>
<li class="option">
<span class="option-text">Nusa Tenggara Timur</span>
</li>
<li class="option">
<span class="option-text">Nusa Tenggara Barat</span>
</li>
<li class="option">
<span class="option-text">Gorontalo</span>
</li>
<li class="option">
<span class="option-text">Sulawesi Barat</span>
</li>
<li class="option">
<span class="option-text">Sulawesi Tengah</span>
</li>
<li class="option">
<span class="option-text">Sulawesi Utara</span>
</li>
<li class="option">
<span class="option-text">Sulawesi Tenggara</span>
</li>
<li class="option">
<span class="option-text">Sulawesi Selatan</span>
</li>
<li class="option">
<span class="option-text">Maluku Utara</span>
</li>
<li class="option">
<span class="option-text">Maluku</span>
</li>
<li class="option">
<span class="option-text">Papua Barat</span>
</li>
<li class="option">
<span class="option-text">Papua</span>
</li>
<li class="option">
<span class="option-text">Papua Tengah</span>
</li>
<li class="option">
<span class="option-text">Papua Pegunungan</span>
</li>
<li class="option">
<span class="option-text">Papua Selatan</span>
</li>
<li class="option">
<span class="option-text">Papua Barat Daya</span>
</li>
</ul>
</div>
<div class="input-field select-menu" style="width: 190%">
<div class="select-btn">
<span class="sBtn-text">Select Kabupaten/Kota</span>
<i class="bx bx-chevron-down"></i>
</div>
</div>
<div class="input-field select-menu" style="width: 190%">
<div class="select-btn">
<span class="sBtn-text">Select Kecamatan</span>
<i class="bx bx-chevron-down"></i>
</div>
</div>
</div>
<!-- ======= END FORM ADDRESS ======= -->
<!-- ======= FORM DROP & DRAG IMAGE ======= -->
<div class="form_3 data_info" style="display: none;">
<div class="container-img">
<div class="drop-area box box-h">
<div class="img">
<img src="img/uploadimg.svg" alt="">
</div>
<h5 class="drop-area-title">Tarik atau Seret gambar mu di sini</h5>
<p class="drop-area-text">type jpg, png atau jpeg</p>
<input type="file" accept="image/*" id="input-file" hidden
name="foto[]" multiple>
</div>
</div>
</div>
<!-- ======= FORM DROP & DRAG IMAGE ======= -->
<!-- ======= FORM PIN ======= -->
<div class="form_4 data_info" style="display: none;">
<div style="display: flex">
<div class="input-field-signup-flex">
<i class="fa fa-unlock-alt" aria-hidden="true"></i>
<input type="text" class="pin-input" maxlength="6"
oninput="this.value = this.value.replace(/[^0-9]/g, '').substring(0, 6);"
placeholder="PIN" name="password">
</div>
<div class="input-field-signup-flex" style="margin-left: 3%">
<i class="fa fa-unlock-alt" aria-hidden="true"></i>
<input type="text" class="konfir-pin-input" maxlength="6"
oninput="this.value = this.value.replace(/[^0-9]/g, '').substring(0, 6);"
placeholder="Konfirmasi PIN" name="confirm_password">
</div>
</div>
</div>
<!-- ======= END FORM PIN ======= -->
<!-- ======= BTN FORM NEXT & BACK ======= -->
<div class="btns_wrap">
<div class="common_btns form_1_btns">
<button type="button" class="btn_next">Next <span class="icon"><ion-icon
name="arrow-forward-sharp"></ion-icon></span></button>
</div>
<div class="common_btns form_2_btns" style="display: none;">
<button type="button" class="btn_back"><span class="icon"><ion-icon
name="arrow-back-sharp"></ion-icon></span>Back</button>
<button type="button" class="btn_next">Next <span class="icon"><ion-icon
name="arrow-forward-sharp"></ion-icon></span></button>
</div>
<div class="common_btns form_3_btns" style="display: none;">
<button type="button" class="btn_back"><span class="icon"><ion-icon
name="arrow-back-sharp"></ion-icon></span>Back</button>
<button type="button" class="btn_next">Next <span class="icon"><ion-icon
name="arrow-forward-sharp"></ion-icon></span></button>
</div>
<div class="common_btns form_4_btns" style="display: none;">
<button type="button" class="btn_back"><span class="icon"><ion-icon
name="arrow-back-sharp"></ion-icon></span>Back</button>
<button type="submit" class="btn_done">Sign Up</button>
</div>
</div>
<!-- ======= BTN FORM NEXT & BACK ======= -->
</div>
<!-- ======= END FORM MIULTIPLE ======= -->
</form>
<!-- ======= END FORM SIGN UP ======= -->
</div>
</div>
<div class="panels-container">
<div class="panel left-panel">
<div class="content">
<h3>Belum memiliki akun?</h3>
<p>
Daftarkan akun anda sekarang untuk nikmatin Aplikasi RekBer. Daftar di sini.
</p>
<button class="btn transparent" id="sign-up-btn">
Sign up
</button>
<p><a href="/">kembali</a></p>
</div>
<img src="{{ asset('assets/img/login_register/Payment Information-pana.svg') }}" class="image"
alt="" />
</div>
<div class="panel right-panel">
<div class="content">
<h3>Sudah memiliki akun?</h3>
<p>
Silakan masuk ke dalam RekBar menggunakan akun yang telah Anda buat sebelumnya di sini.
</p>
<button class="btn transparent" id="sign-in-btn">
Sign In
</button>
<p><a href="/">kembali</a></p>
</div>
<img src="{{ asset('assets/img/login_register/Payment Information-pana.svg') }}" class="image"
alt="" />
</div>
</div>
</div>
<script src="{{ asset('assets/js/login_register/jquery.js') }}"></script>
<script src="{{ asset('assets/js/login_register/app.js') }}"></script>
<script src="{{ asset('assets/js/login_register/script.js') }}"></script>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="//cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<script>
$(document).ready(function() {
$('#cekAkun').on('click', function() {
let email = document.querySelector('[name="email"]').value;
const csrfToken = $('meta[name="csrf-token"]').attr('content');
// Periksa apakah input email kosong
if (email.trim() === '') {
Swal.fire({
title: 'Gagal!',
text: 'Email tidak boleh kosong',
icon: 'error'
});
} else {
try {
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': csrfToken
}
});
$.ajax({
url: "{{ route('status.akun', ':email') }}".replace(':email', email),
type: 'GET',
success: function(response) {
let status = response.message[0].status
if (response.status) {
Swal.fire({
title: 'Akun ditemukan',
text: 'Akun dengan email ' + email + (status ==
'Finished' ? ' siap digunakan' : (
status == 'Progress' ?
' masih proses verifikasi' :
' ditolak')),
icon: (status == 'Finished' ? 'success' : (
status == 'Progress' ? 'info' :
'error')),
confirmButtonText: 'OK'
});
} else {
Swal.fire({
title: 'Gagal',
text: 'Akun dengen email ' + email +
' tidak tersedia',
icon: 'error',
confirmButtonText: 'OK'
});
}
},
error: function(error) {
Swal.fire({
title: 'Gagal!',
text: 'Gagal memuat data karena ' + error,
icon: 'error',
confirmButtonText: 'OK',
});
}
});
} catch (error) {
Swal.fire({
title: 'Gagal!',
text: 'Gagal memuat data karena ' + error,
icon: 'error',
confirmButtonText: 'OK',
});
}
}
});
});
</script>
</body>
</html>

View File

@ -3,11 +3,19 @@
use Illuminate\Support\Facades\Route; use Illuminate\Support\Facades\Route;
use App\Models\Refunds; use App\Models\Refunds;
use App\Models\Transactions; use App\Models\Transactions;
//Admin
use App\Http\Controllers\Admin\AdminRefundController; use App\Http\Controllers\Admin\AdminRefundController;
use App\Http\Controllers\Admin\AdminUserController; use App\Http\Controllers\Admin\AdminUserController;
use App\Http\Controllers\Admin\AdminSettingController; use App\Http\Controllers\Admin\AdminSettingController;
use App\Http\Controllers\Admin\AdminTransactionController; use App\Http\Controllers\Admin\AdminTransactionController;
use App\Http\Controllers\Admin\AdminDashboardController;
//Login
use App\Http\Controllers\Login\LoginController; use App\Http\Controllers\Login\LoginController;
//User
use App\Http\Controllers\User\UserDashboardController;
use App\Http\Controllers\User\UserContactController;
use App\Http\Controllers\User\UserTransactionController;
use App\Http\Controllers\User\UserRefundController;
// use Illuminate\Foundation\Auth\User; // use Illuminate\Foundation\Auth\User;
@ -25,12 +33,8 @@ Route::get('/welcome', function () {
return view('welcome' return view('welcome'
); );
}); });
Route::get('/', function () {
return view('admin.index',[
'name'=>'Jilhan Haura',
"transaction"=>Transactions::allTransactions()
]);
})->name('index');
Route::get('/detail_transaction', function () { Route::get('/detail_transaction', function () {
return view('admin/transaction/detail-transaction',[ return view('admin/transaction/detail-transaction',[
'name'=>'Jilhn Haura', 'name'=>'Jilhn Haura',
@ -49,7 +53,6 @@ Route::get('/detail_transaction', function () {
// "history_refund" => Refunds::HistoryRefund() // "history_refund" => Refunds::HistoryRefund()
// ]); // ]);
// }); // });
// Route::get('/refund',[RefundController::class,'index']);
@ -98,17 +101,27 @@ Route::get('/profile',function() {
// }); // });
Route::resource('/login',LoginController::class); // Route::resource('/login',LoginController::class);
// Login, logout dan register // Login, logout dan register
Route::controller(LoginController::class)->group(function(){
Route::get('/','login')->name('login');
Route::get('/logout','logout')->name('logout');
Route::post('/','authenticate')->name('authenticate');
Route::post('/register','register')->name('register');
Route::get('/cek-email/{email}','statusAkun')->name('status.akun');
});
// admin dan user // admin dan user
// Route::middleware(['auth'])->group(function(){ Route::middleware(['auth'])->group(function(){
Route::middleware(['admin'])->group(function(){
Route::prefix('admin')->group(function(){ Route::prefix('admin')->group(function(){
// Tampilan dashboard admin beserta perhitungan // Tampilan dashboard admin beserta perhitungan
Route::controller(AdminDashboardController::class)->group(function(){
Route::get('/','index')->name('admin.index');
});
// Tampilan, aprove atau deny dan hapus user // Tampilan, aprove atau deny dan hapus user
// Route::resource('admin-user', AdminUserController::class); // Route::resource('admin-user', AdminUserController::class);
Route::controller(AdminUserController::class)->group(function(){ Route::controller(AdminUserController::class)->group(function(){
@ -125,12 +138,31 @@ Route::resource('/login',LoginController::class);
// Tampilan, tambah, ubah dan hapus kebijakan persentase perusahaan // Tampilan, tambah, ubah dan hapus kebijakan persentase perusahaan
Route::resource('admin-setting',AdminSettingController::class); Route::resource('admin-setting',AdminSettingController::class);
}); });
});
Route::middleware(['user'])->group(function(){
Route::prefix('user')->group(function(){ Route::prefix('user')->group(function(){
// Tampilan dashboard user beserta perhitungan // Tampilan dashboard user beserta perhitungan
// Tampilan, tambah dan hapus kontak Route::controller(UserDashboardController::class)->group(function(){
// Tampilan transaksi, bayar, update status pengiriman dan refund Route::get('/','index')->name('user.index');
// Tampilan refund
// Tampilan
// Route::resource('user', UserController::class);
}); });
// }); // Tampilan, tambah dan hapus kontak
Route::controller(UserContactController::class)->group(function(){
Route::get('user-contact','index')->name('user-contact.index');
Route::get('cek-contact/{email}','cekEmail')->name('user-contact.email');
Route::post('user-contact','store')->name('user-contact.store');
Route::delete('user-contact/{id}','delete')->name('user-contact.delete');
});
// Tampilan transaksi, bayar, update status pengiriman dan refund
Route::controller(UserTransactionController::class)->group(function(){
Route::get('user-transaction-pembeli','indexPembeli')->name('user-transaction.index.pembeli');
Route::get('user-transaction-penjual','indexPenjual')->name('user-transaction.index.penjual');
//bayar
});
// Tampilan refund
Route::controller(UserRefundController::class)->group(function(){
Route::get('user-refund','index')->name('user-refund.index');
});
});
});
});