Compare commits

..

4 Commits
main ... master

Author SHA1 Message Date
jilhanhaura
7cfa1dd8df s 2023-09-18 19:14:42 +07:00
jilhanhaura
af7c67312f update 2023-09-08 13:57:36 +07:00
jilhanhaura
8fe73b5327 profile 2023-09-04 10:19:06 +07:00
jilhanhaura
62814cd226 new 2023-09-04 09:29:01 +07:00
63 changed files with 3884 additions and 21802 deletions

View File

@ -4,33 +4,14 @@ namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Carbon\Carbon;
use App\Models\Transactions; use App\Models\Transactions;
use App\Models\Transaction;
use App\Models\Refund;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Auth;
class AdminDashboardController extends Controller class AdminDashboardController extends Controller
{ {
public function index(){ public function index(){
$sumSettlement = 0;
$sumCancelled = 0;
$sumRefund = 0;
$currentYear = Carbon::now()->year;
$dataChartTransaction = [];
$dataChartRefund = [];
for($bulan = 1; $bulan <= 12; $bulan++){
$transaction = Transaction::whereMonth('created_at',$bulan)->whereYear('created_at', $currentYear)->sum('total_bayar');
// $transaction = Transaction::where('status','finished')->whereMonth('created_at',$bulan)->whereYear('created_at', $currentYear)->sum('total_bayar');
// $refund = Refund::whereMonth('created_at',$bulan)->whereYear('created_at', $currentYear)->sum('total');
// $refund = Refund::where('status','Partial Refund')->whereMonth('created_at',$bulan)->whereYear('created_at', $currentYear)->sum('total');
$dataChartTransaction[] = intval($transaction);
// $dataChartRefund[] = intval($refund);
}
return view('admin.index',[ return view('admin.index',[
"transaction"=>Transactions::allTransactions(), "transaction"=>Transactions::allTransactions()
"dataChartTransaction" => $dataChartTransaction,
// "dataChartRefund" => $dataChartRefund
]); ]);
} }

View File

@ -3,12 +3,10 @@
namespace App\Http\Controllers\Login; namespace App\Http\Controllers\Login;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Mail\verificationMail;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Hash;
use App\Models\User; use App\Models\User;
use Illuminate\Support\Facades\Mail;
use Illuminate\Support\Str; use Illuminate\Support\Str;
use Illuminate\Support\Facades\Storage; use Illuminate\Support\Facades\Storage;
use thiagoalessio\TesseractOCR\TesseractOCR; use thiagoalessio\TesseractOCR\TesseractOCR;
@ -34,6 +32,10 @@ class LoginController extends Controller
public function login() public function login()
{ {
$provinces = Province::all();
$cities = City::all();
$districts = District::all();
$villages = Village::all();
return view('index'); return view('index');
} }
@ -45,18 +47,10 @@ class LoginController extends Controller
public function authenticate(Request $request) public function authenticate(Request $request)
{ {
// dd($request); // dd($request);
$credentials = $request->validate( $credentials = $request->validate([
[
'email' => ['required', 'email'], 'email' => ['required', 'email'],
'password' => ['required', 'min:8'], 'password' => ['required', 'min:8'],
], ]);
[
'email.required' => 'Alamat email wajib diisi.',
'email.email' => 'Alamat email harus berformat valid.',
'password.required' => 'Password wajib diisi.',
'password.min' => 'Password harus memiliki panjang minimal 8 karakter.',
]
);
if (Auth::attempt($credentials)) { if (Auth::attempt($credentials)) {
if (Auth::user()->status == 'Finished') { if (Auth::user()->status == 'Finished') {
@ -67,22 +61,17 @@ class LoginController extends Controller
} else { } else {
return redirect()->intended('user'); return redirect()->intended('user');
} }
} else if(Auth::user()->status == 'Rejected'){
Session::flash('message', 'Akun ditolak karena tidak memenuhi persyaratan');
return redirect()->back();
} else { } else {
Session::flash('message', 'Akun tidak ditemukan atau sedang dalam pengajuan'); Session::flash('message', 'Akun tidak ditemukan atau sedang dalam pengajuan');
return redirect()->back(); return redirect()->back();
} }
} }
// $error = $credentials->errors();
// ->withInput($request->except('key'))
// ->withErrors($validator)
return redirect() return redirect()
->back() ->back()
->withErrors($credentials) ->withErrors([
'email' => 'Email dengan' . $credentials['email'] . ' tidak tersedia.',
])
->onlyInput('email'); ->onlyInput('email');
} }
@ -104,6 +93,7 @@ class LoginController extends Controller
public function register(Request $request) public function register(Request $request)
{ {
// input
$nama_depan = $request->get('nama-depan'); $nama_depan = $request->get('nama-depan');
$nama_belakang = $request->get('nama-belakang'); $nama_belakang = $request->get('nama-belakang');
$tanggal_lahir = $request->get('tanggal-lahir'); $tanggal_lahir = $request->get('tanggal-lahir');
@ -144,7 +134,7 @@ class LoginController extends Controller
$image->greyscale(); // Convert to grayscale $image->greyscale(); // Convert to grayscale
$image->contrast(10); // Increase contrast, adjust the value as needed $image->contrast(10); // Increase contrast, adjust the value as needed
$preprocessedfotoKTP = public_path('storage/preprocessed/preprocessed_image.jpg'); $preprocessedfotoKTP = storage_path('preprocessed_image.jpg');
$image->save($preprocessedfotoKTP); $image->save($preprocessedfotoKTP);
$result = (new TesseractOCR($preprocessedfotoKTP))->run(); $result = (new TesseractOCR($preprocessedfotoKTP))->run();
@ -152,10 +142,9 @@ class LoginController extends Controller
// (5) Normalize // (5) Normalize
$lines = explode("\n", $result); $lines = explode("\n", $result);
$namaOCR = '';
$nikOCR = ''; $nikOCR = '';
$nikInputan = $nik; $nikInputan = $nik;
$namaInputan = $nama_depan . ' ' . $nama_belakang; $namaInputan = $nama_depan.' '.$nama_belakang;
foreach ($lines as $line) { foreach ($lines as $line) {
// Mencari NIK // Mencari NIK
@ -171,7 +160,7 @@ class LoginController extends Controller
//Selesai //Selesai
$persentase_kemiripan = (similar_text($nikInputan, $nikOCR, $percent) + similar_text($namaOCR, $namaOCR, $percent)) / 2; $persentase_kemiripan = (similar_text($nikInputan, $nikOCR, $percent) + similar_text($namaOCR, $namaOCR, $percent))/2;
// $status = 'Progress'; // $status = 'Progress';
// if (similar_text($nikInputan, $nikOCR, $percent) >= 70 && similar_text($namaOCR, $namaOCR, $percent) >= 70) { // if (similar_text($nikInputan, $nikOCR, $percent) >= 70 && similar_text($namaOCR, $namaOCR, $percent) >= 70) {
@ -179,6 +168,7 @@ class LoginController extends Controller
// } else { // } else {
// $status = 'Progress'; // $status = 'Progress';
// } // }
} catch (\Exception $e) { } catch (\Exception $e) {
// $status = 'Progress'; // $status = 'Progress';
} }
@ -188,6 +178,11 @@ class LoginController extends Controller
$password = Hash::make($new_password); $password = Hash::make($new_password);
// return response()->json([
// 'status' => true,
// 'message' => Uuid::uuid4(),
// ]);
$result = User::create([ $result = User::create([
'id' => Uuid::uuid4(), 'id' => Uuid::uuid4(),
'nama_depan' => $nama_depan, 'nama_depan' => $nama_depan,
@ -270,83 +265,4 @@ class LoginController extends Controller
return response()->json($data); return response()->json($data);
} }
public function kirimKodeVerifikasi(Request $request)
{
$email = $request->get('email');
$code = $request->get('code');
$verificationEmail = [
'code' => $code,
'email' => $email,
];
try {
Mail::to($email)->send(new verificationMail($verificationEmail));
return response()->json([
'message' => 'Kode verifikasi berhasil dikirim ke email. Silahkan cek di email anda.',
'status' => true,
]);
} catch (\Exception $e) {
return response()->json([
'message' => 'Kode verifikasi gagal dikirim ke email. ' . $e,
'status' => false,
]);
}
}
public function getOcr()
{
//OCR
// dd(phpinfo());
try {
$fotoKTP = public_path('storage/foto-ktp/ktp.jpg');
$image = Image::make($fotoKTP);
$image->greyscale(); // Convert to grayscale
$image->contrast(10); // Increase contrast, adjust the value as needed
$preprocessedfotoKTP = public_path('storage/preprocessed/preprocessed_image.jpg');
$image->save($preprocessedfotoKTP);
$result = (new TesseractOCR($preprocessedfotoKTP))->run();
// (5) Normalize
$lines = explode("\n", $result);
$nikOCR = '';
$namaOCR = '';
$nikInputan = '3471140209790001';
$namaInputan = 'RIYANTO. SE';
foreach ($lines as $line) {
// Mencari NIK
if (strpos($line, $nikInputan) !== false) {
$nikOCR = preg_replace('/[^0-9]/', '', $line);
}
// Mencari nama
if (strpos($line, $namaInputan) !== false) {
$namaOCR = trim(substr($line, strpos($line, ':') + 1));
}
}
//Selesai
$persentase_kemiripan = (similar_text($nikInputan, $nikOCR, $percent) + similar_text($namaOCR, $namaOCR, $percent)) / 2;
// $status = 'Progress';
dd([$persentase_kemiripan, $lines]);
// if (similar_text($nikInputan, $nikOCR, $percent) >= 70 && similar_text($namaOCR, $namaOCR, $percent) >= 70) {
// $status = 'Progress';
// } else {
// $status = 'Progress';
// }
} catch (\Exception $e) {
// $status = 'Progress';
dd($e);
}
//OCR
}
} }

View File

@ -7,7 +7,6 @@ use App\Models\User;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
class UserContactController extends Controller class UserContactController extends Controller
{ {
@ -21,16 +20,6 @@ class UserContactController extends Controller
// dd($contacts); // dd($contacts);
} }
public function getContact()
{
$data = DB::table('contacts')
->select('contacts.relasi_kontak', 'users.nama_depan', 'users.nama_belakang')
->join('users', 'contacts.relasi_kontak', '=', 'users.email')
->where('contacts.pemilik_kontak','=',Auth::user()->email)
->paginate(10);
return response()->json($data);
}
/** /**
* Show the form for creating a new resource. * Show the form for creating a new resource.
*/ */
@ -45,23 +34,23 @@ class UserContactController extends Controller
public function store(Request $request) public function store(Request $request)
{ {
$email_relasi = $request->input('email'); $email_relasi = $request->input('email');
if ($email_relasi == Auth::user()->email) { if($email_relasi == Auth::user()->email){
return response()->json([ return response()->json([
'status' => false, 'status' => false,
'message' => 'Kontak yang ingin didaftarkan tidak boleh sama', 'message' => 'Kontak yang ingin didaftarkan tidak boleh sama',
]); ]);
} else { }else{
$result = Contact::create([ $result = Contact::create([
'pemilik_kontak' => Auth::user()->email, 'pemilik_kontak' => Auth::user()->email,
'relasi_kontak' => $request->input('email'), 'relasi_kontak' => $request->input('email'),
]); ]);
if ($result) { if($result){
return response()->json([ return response()->json([
'status' => true, 'status' => true,
'message' => 'Akun berhasil masuk ke kontak', 'message' => 'Akun berhasil masuk ke kontak',
]); ]);
} else { }else{
return response()->json([ return response()->json([
'status' => false, 'status' => false,
'message' => 'Akun gagal masuk ke kontak', 'message' => 'Akun gagal masuk ke kontak',
@ -75,6 +64,7 @@ class UserContactController extends Controller
*/ */
public function show(Contact $contact) public function show(Contact $contact)
{ {
} }
/** /**
@ -100,14 +90,14 @@ class UserContactController extends Controller
{ {
try { try {
$result = Contact::destroy($id); $result = Contact::destroy($id);
if ($result) { if($result){
return response()->json([ return response()->json([
'message' => 'Berhasil hapus data', 'message' => 'Berhasil hapus data',
'status' => true, 'status' => true,
]); ]);
} else { }else{
return response()->json([ return response()->json([
'message' => 'Gagal hapus data karena ' . $result, 'message' => 'Gagal hapus data karena '.$result,
'status' => false, 'status' => false,
]); ]);
} }
@ -122,13 +112,13 @@ class UserContactController extends Controller
public function cekEmail($email) public function cekEmail($email)
{ {
$result = User::where('email', $email)->get(); $result = User::where('email', $email)->get();
if ($result->isNotEmpty() && $result[0]->role == 'User' && $result[0]->status != 'Rejected') { if ($result->isNotEmpty() && $result[0]->role == 'User') {
if ($result[0]->status == 'Finished') { if($result[0]->status == 'Finished'){
return response()->json([ return response()->json([
'status' => true, 'status' => true,
'message' => $result, 'message' => $result,
]); ]);
} else { }else{
return response()->json([ return response()->json([
'status' => false, 'status' => false,
'message' => 'Akun dengen email ' . $email . ' tersedia dan belum diverifikasi', 'message' => 'Akun dengen email ' . $email . ' tersedia dan belum diverifikasi',
@ -137,7 +127,7 @@ class UserContactController extends Controller
} else { } else {
return response()->json([ return response()->json([
'status' => false, 'status' => false,
'message' => 'Akun dengen email ' . $email . ' tidak tersedia atau ditolak', 'message' => 'Akun dengen email ' . $email . ' tidak tersedia',
]); ]);
} }
} }

View File

@ -3,34 +3,21 @@
namespace App\Http\Controllers\User; namespace App\Http\Controllers\User;
use App\Models\Transaction; use App\Models\Transaction;
use App\Models\TransactionDescription;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Models\Setting;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use App\Models\TransactionUser; use App\Models\TransactionUser;
use App\Models\User;
use Carbon\Carbon;
use Illuminate\Support\Facades\Http;
use Illuminate\Support\Facades\Auth;
use Ramsey\Uuid\Uuid;
use Midtrans\Config;
use Midtrans\Snap;
use Midtrans\Transaction as Trans;
class UserTransactionController extends Controller class UserTransactionController extends Controller
{ {
/** /**
* Display a listing of the resource. * Display a listing of the resource.
*/ */
public function indexPembeli() public function indexPembeli()
{ {
return view('user.transaction.pembeli.index', [ return view('user.transaction.pembeli.transaction-pembeli',[
'transactions' => Transaction::where('pembeli', Auth::user()->email) 'name'=>'npannisa',
->latest() 'TransactionUser'=>TransactionUser::HistoryTransaction()
->get(),
]); ]);
// dd(Transaction::where('pembeli',Auth::user()->email)->get());
} }
/** /**
@ -38,19 +25,17 @@ class UserTransactionController extends Controller
*/ */
public function indexPenjual() public function indexPenjual()
{ {
return view('user.transaction.penjual.index', [ return view('user.transaction.penjual.transaction-penjual',[
'transactions' => Transaction::where('penjual', Auth::user()->email)->get(), 'name'=>'npannisa',
"TransactionUser"=>TransactionUser::HistoryTransaction()
]); ]);
} }
public function detailTransaction($id) public function detailTransaction($id){
{ return view('user.transaction.pembeli.detail-transaction',[
return view('user.transaction.pembeli.detail-transaction', [ 'name'=>'npannisa',
'transaction' => Transaction::findOrFail($id), "TransactionUser"=>TransactionUser::HistoryTransaction()
'trackings' => TransactionDescription::where('order_id', $id)->get(),
]); ]);
// dd(Transaction::findOrFail($id));
} }
/** /**
@ -58,7 +43,10 @@ class UserTransactionController extends Controller
*/ */
public function createTransaction(Request $request) public function createTransaction(Request $request)
{ {
return view('user.transaction.pembeli.new-transaction'); return view('user.transaction.pembeli.new-transaction',[
'name'=>'npannisa',
"TransactionUser"=>TransactionUser::HistoryTransaction()
]);
} }
/** /**
@ -66,186 +54,12 @@ class UserTransactionController extends Controller
*/ */
public function invoiceTransaction($id) public function invoiceTransaction($id)
{ {
return view('user.transaction.pembeli.invoice-transaction', [ return view('user.transaction.pembeli.invoice-transaction',[
'name' => 'npannisa', 'name'=>'npannisa',
'TransactionUser' => TransactionUser::HistoryTransaction(), "TransactionUser"=>TransactionUser::HistoryTransaction()
]); ]);
} }
public function storeTransaction(Request $request)
{
$pembeli = Auth::user()->email;
$penjual = $request->get('email_penjual');
$nama_barang = $request->get('nama_barang');
$satuan_barang = $request->get('satuan_barang');
$deskripsi_transaksi = $request->get('deskripsi');
$harga_barang = $request->get('harga_barang');
$jumlah_barang = $request->get('jumlah_barang');
$nama_depan_pembeli = Auth::user()->nama_depan;
$nama_belakang_pembeli = Auth::user()->nama_belakang;
$nohp_pembeli = Auth::user()->nohp;
$nama_penjual = User::where('email', $penjual)->value('nama_depan');
$alamat = ucwords(strtolower(Auth::user()->alamat));
$id = Uuid::uuid4();
$now = Carbon::now()->tz('Asia/Jakarta');
$bulan = $now->format('F');
$tahun = $now->year;
// $persentase_keuntungan = Setting::where('status','Active')
// ->where('bulan','=',$bulan)
// ->where('tahun','=',$tahun)->get();
$persentase_keuntungan = $request->get('persentase_keuntungan');
$total_harga = $request->get('total_harga');
$total_keuntungan = $request->get('total_keuntungan');
$total_bayar = $request->get('total_bayar');
$batas_pembayaran = $now->addDays(1)->toDateTimeString();
$batas_pengiriman_barang_awal = $now->addDays(2)->toDateTimeString();
$batas_pengiriman_barang_akhir = $now->addDays(5)->toDateTimeString();
$params = [
'transaction_details' => [
'order_id' => $id,
'gross_amount' => $total_bayar,
],
'item_details' => [
[
'id' => $nama_barang . time(),
'price' => $harga_barang,
'quantity' => $jumlah_barang,
'name' => $nama_barang,
],
[
'id' => 'BA01',
'price' => $total_keuntungan,
'quantity' => 1,
'name' => 'Biaya Admin',
],
],
'customer_details' => [
'firts_name' => $nama_depan_pembeli,
'last_name' => $nama_belakang_pembeli,
'email' => $pembeli,
'phone' => $nohp_pembeli,
'billing' => [
'first_name' => $nama_depan_pembeli,
'last_name' => $nama_belakang_pembeli,
'email' => $pembeli,
'phone' => $nohp_pembeli,
'address' => Auth::user()->alamat,
'city' => Auth::user()->village->district->city->name,
'country_code' => 'IDN',
],
],
'callbacks' => [
'finish' => 'http://127.0.0.1:8000/user/user-transaction-pembeli/',
],
'expiry' => [
'start_time' => $now->format('Y-m-d H:i:s P'),
'unit' => 'hours',
'duration' => 24,
],
];
Config::$serverKey = 'SB-Mid-server-8rydZAwKoWuoQ6g_3ot0-K7p';
Config::$isProduction = false;
// Set sanitization on (default)
Config::$isSanitized = true;
// Set 3DS transaction for credit card to true
Config::$is3ds = true;
$snap_token = Snap::getSnapToken($params);
$token = $snap_token;
$status = 'pending';
$query = Transaction::create([
'id' => $id,
'pembeli' => $pembeli,
'penjual' => $penjual,
'nama_barang' => $nama_barang,
'deskripsi_transaksi' => $deskripsi_transaksi,
'satuan_barang' => $satuan_barang,
'harga_barang' => $harga_barang,
'jumlah_barang' => $jumlah_barang,
'persentase_keuntungan' => $persentase_keuntungan,
'total_keuntungan' => $total_keuntungan,
'total_harga' => $total_harga,
'total_bayar' => $total_bayar,
'token' => $token,
'status' => $status,
'batas_pembayaran' => $batas_pembayaran,
'batas_pengiriman_barang_awal' => $batas_pengiriman_barang_awal,
'batas_pengiriman_barang_akhir' => $batas_pengiriman_barang_akhir,
]);
if ($query) {
TransactionDescription::create([
'order_id' => $id,
'status' => $status,
'user' => $pembeli,
'judul' => 'fa fa-plus',
'background' => 'bg-buyer',
'deskripsi' => $nama_depan_pembeli . ' telah membuat transaksi baru dengan ' . $nama_penjual,
]);
return response()->json([
'status' => true,
'message' => 'Berhasil menambahkan transaksi. Silahkan lakukan pembayaran.',
]);
} else {
return response()->json([
'status' => false,
'message' => 'Gagal menambahkan transaksi.',
]);
}
}
public function updateStatusTransaction(Request $request)
{
}
public function acceptTransaction(Request $request)
{
}
public function paymentTransaction(Request $request, $id)
{
Config::$serverKey = 'SB-Mid-server-8rydZAwKoWuoQ6g_3ot0-K7p';
Config::$isProduction = false;
// Set sanitization on (default)
Config::$isSanitized = true;
// Set 3DS transaction for credit card to true
Config::$is3ds = true;
$payment = Trans::status($id);
$result = json_decode(json_encode($payment), true);
$query = Transaction::where('id', $id)->update([
'acquire' => $result['acquirer'],
'currency' => $result['currency'],
'fraud_status' => $result['fraud_status'],
'issuer' => $result['issuer'],
'merchant_id' => $result['merchant_id'],
'metode_pembayaran' => $result['payment_type'],
'tanggal_pembayaran' => $result['settlement_time'],
'signature_key' => $result['signature_key'],
'status' => $result['transaction_status'],
'tipe_transaction' => $result['transaction_type'],
'status_code' => $result['status_code'],
]);
if ($query) {
return response()->json([
'status' => true,
'message' => 'Pembayaran sukses. Proses akan dilanjutkan ke penjual',
]);
} else {
return response()->json([
'status' => false,
'message' => 'Pembayaran gagal',
]);
}
}
/** /**
* Display the specified resource. * Display the specified resource.
*/ */

View File

@ -1,59 +0,0 @@
<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Mail\Mailables\Content;
use Illuminate\Mail\Mailables\Envelope;
use Illuminate\Queue\SerializesModels;
class verificationMail extends Mailable
{
use Queueable, SerializesModels;
public $verificationEmail;
/**
* Create a new message instance.
*/
public function __construct($verificationEmail)
{
$this->verificationEmail = $verificationEmail;
}
/**
* Get the message envelope.
*/
// public function envelope(): Envelope
// {
// return new Envelope(
// subject: 'Verification Mail',
// );
// }
/**
* Get the message content definition.
*/
// public function content(): Content
// {
// return new Content(
// view: 'view.name',
// );
// }
/**
* Get the attachments for the message.
*
* @return array<int, \Illuminate\Mail\Mailables\Attachment>
*/
// public function attachments(): array
// {
// return [];
// }
public function build(){
return $this->subject('Kode Verifikasi')->view('email.verification-email');
}
}

View File

@ -23,7 +23,7 @@ class Refund extends Model
//Relasi //Relasi
public function orders(){ public function orders(){
return $this->belongsTo(Transaction::class, 'id', 'order_id'); return $this->belongsTo(Transaction::class, 'order_id', 'order_id');
} }
//Relasi //Relasi
} }

View File

@ -18,14 +18,12 @@ class TransactionDescription extends Model
'order_id', 'order_id',
'user', 'user',
'judul', 'judul',
'status',
'background',
'deskripsi' 'deskripsi'
]; ];
//Relasi //Relasi
public function order(){ public function order(){
return $this->belongsTo(Transaction::class, 'id', 'order_id'); return $this->belongsTo(Transaction::class, 'order_id', 'order_id');
} }
public function user(){ public function user(){

View File

@ -15,23 +15,20 @@ class Transaction extends Model
* @var array<int, string> * @var array<int, string>
*/ */
protected $fillable = [ protected $fillable = [
'id',
'pembeli', 'pembeli',
'penjual', 'penjual',
'nama_barang', 'judul_transaksi',
'deskripsi_transaksi', 'deskripsi transaksi',
'satuan_barang',
'harga_barang',
'jumlah_barang',
'persentase_keuntungan', 'persentase_keuntungan',
'total_keuntungan', 'total_keuntungan',
'harga',
'biaya_admin',
'total_harga', 'total_harga',
'total_bayar', 'signature_key',
'token', 'metode_pembayaran',
'status', 'status',
'batas_pembayaran', 'batas_pembayaran',
'batas_pengiriman_barang_awal', 'batas_pengiriman_barang',
'batas_pengiriman_barang_akhir',
]; ];
/** /**
@ -42,20 +39,20 @@ class Transaction extends Model
protected $casts = [ protected $casts = [
'batas_pembayaran' => 'datetime', 'batas_pembayaran' => 'datetime',
'batas_pengiriman_barang' => 'datetime', 'batas_pengiriman_barang' => 'datetime',
'id' => 'string', 'order_id' => 'string',
]; ];
//Relasi //Relasi
public function data_pembeli(){ public function pembeli(){
return $this->belongsTo(User::class, 'pembeli', 'email'); return $this->belongsTo(User::class, 'email', 'pembeli');
} }
public function data_penjual(){ public function penjual(){
return $this->belongsTo(User::class, 'penjual', 'email'); return $this->belongsTo(User::class, 'email', 'penjual');
} }
public function refunds(){ public function refunds(){
return $this->hasMany(Refund::class, 'order_id', 'id'); return $this->hasMany(Refund::class, 'order_id', 'order_id');
} }
//Relasi //Relasi
} }

View File

@ -15,7 +15,6 @@
"laravel/sanctum": "^3.2", "laravel/sanctum": "^3.2",
"laravel/tinker": "^2.8", "laravel/tinker": "^2.8",
"laravolt/indonesia": "^0.34.0", "laravolt/indonesia": "^0.34.0",
"midtrans/midtrans-php": "^2.5",
"nesbot/carbon": "^2.69", "nesbot/carbon": "^2.69",
"pusher/pusher-php-server": "^7.2", "pusher/pusher-php-server": "^7.2",
"ramsey/uuid": "^4.7", "ramsey/uuid": "^4.7",

162
composer.lock generated
View File

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "4dd1066d585142b363e4e114601be8ce", "content-hash": "eb6424bf82942b6b939788b88ee6586b",
"packages": [ "packages": [
{ {
"name": "brick/math", "name": "brick/math",
@ -1056,16 +1056,16 @@
}, },
{ {
"name": "laravel/framework", "name": "laravel/framework",
"version": "v10.21.0", "version": "v10.22.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/laravel/framework.git", "url": "https://github.com/laravel/framework.git",
"reference": "96b15c7ac382a9adb4a56d40c640e782d669a112" "reference": "9234388a895206d4e1df37342b61adc67e5c5d31"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/laravel/framework/zipball/96b15c7ac382a9adb4a56d40c640e782d669a112", "url": "https://api.github.com/repos/laravel/framework/zipball/9234388a895206d4e1df37342b61adc67e5c5d31",
"reference": "96b15c7ac382a9adb4a56d40c640e782d669a112", "reference": "9234388a895206d4e1df37342b61adc67e5c5d31",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -1252,7 +1252,7 @@
"issues": "https://github.com/laravel/framework/issues", "issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework" "source": "https://github.com/laravel/framework"
}, },
"time": "2023-08-29T13:55:56+00:00" "time": "2023-09-05T13:20:01+00:00"
}, },
{ {
"name": "laravel/prompts", "name": "laravel/prompts",
@ -1304,16 +1304,16 @@
}, },
{ {
"name": "laravel/sanctum", "name": "laravel/sanctum",
"version": "v3.2.6", "version": "v3.3.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/laravel/sanctum.git", "url": "https://github.com/laravel/sanctum.git",
"reference": "217e8a2bc5aa6a827ced97fcb76504029d3115d7" "reference": "95a0181900019e2d79acbd3e2ee7d57e3d0a086b"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/laravel/sanctum/zipball/217e8a2bc5aa6a827ced97fcb76504029d3115d7", "url": "https://api.github.com/repos/laravel/sanctum/zipball/95a0181900019e2d79acbd3e2ee7d57e3d0a086b",
"reference": "217e8a2bc5aa6a827ced97fcb76504029d3115d7", "reference": "95a0181900019e2d79acbd3e2ee7d57e3d0a086b",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -1366,7 +1366,7 @@
"issues": "https://github.com/laravel/sanctum/issues", "issues": "https://github.com/laravel/sanctum/issues",
"source": "https://github.com/laravel/sanctum" "source": "https://github.com/laravel/sanctum"
}, },
"time": "2023-08-22T13:21:11+00:00" "time": "2023-09-04T14:26:54+00:00"
}, },
{ {
"name": "laravel/serializable-closure", "name": "laravel/serializable-closure",
@ -1909,16 +1909,16 @@
}, },
{ {
"name": "league/flysystem", "name": "league/flysystem",
"version": "3.15.1", "version": "3.16.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/thephpleague/flysystem.git", "url": "https://github.com/thephpleague/flysystem.git",
"reference": "a141d430414fcb8bf797a18716b09f759a385bed" "reference": "4fdf372ca6b63c6e281b1c01a624349ccb757729"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/a141d430414fcb8bf797a18716b09f759a385bed", "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/4fdf372ca6b63c6e281b1c01a624349ccb757729",
"reference": "a141d430414fcb8bf797a18716b09f759a385bed", "reference": "4fdf372ca6b63c6e281b1c01a624349ccb757729",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -1927,6 +1927,8 @@
"php": "^8.0.2" "php": "^8.0.2"
}, },
"conflict": { "conflict": {
"async-aws/core": "<1.19.0",
"async-aws/s3": "<1.14.0",
"aws/aws-sdk-php": "3.209.31 || 3.210.0", "aws/aws-sdk-php": "3.209.31 || 3.210.0",
"guzzlehttp/guzzle": "<7.0", "guzzlehttp/guzzle": "<7.0",
"guzzlehttp/ringphp": "<1.1.1", "guzzlehttp/ringphp": "<1.1.1",
@ -1946,7 +1948,7 @@
"microsoft/azure-storage-blob": "^1.1", "microsoft/azure-storage-blob": "^1.1",
"phpseclib/phpseclib": "^3.0.14", "phpseclib/phpseclib": "^3.0.14",
"phpstan/phpstan": "^0.12.26", "phpstan/phpstan": "^0.12.26",
"phpunit/phpunit": "^9.5.11", "phpunit/phpunit": "^9.5.11|^10.0",
"sabre/dav": "^4.3.1" "sabre/dav": "^4.3.1"
}, },
"type": "library", "type": "library",
@ -1981,7 +1983,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/thephpleague/flysystem/issues", "issues": "https://github.com/thephpleague/flysystem/issues",
"source": "https://github.com/thephpleague/flysystem/tree/3.15.1" "source": "https://github.com/thephpleague/flysystem/tree/3.16.0"
}, },
"funding": [ "funding": [
{ {
@ -1993,20 +1995,20 @@
"type": "github" "type": "github"
} }
], ],
"time": "2023-05-04T09:04:26+00:00" "time": "2023-09-07T19:22:17+00:00"
}, },
{ {
"name": "league/flysystem-local", "name": "league/flysystem-local",
"version": "3.15.0", "version": "3.16.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/thephpleague/flysystem-local.git", "url": "https://github.com/thephpleague/flysystem-local.git",
"reference": "543f64c397fefdf9cfeac443ffb6beff602796b3" "reference": "ec7383f25642e6fd4bb0c9554fc2311245391781"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/543f64c397fefdf9cfeac443ffb6beff602796b3", "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/ec7383f25642e6fd4bb0c9554fc2311245391781",
"reference": "543f64c397fefdf9cfeac443ffb6beff602796b3", "reference": "ec7383f25642e6fd4bb0c9554fc2311245391781",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -2041,7 +2043,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/thephpleague/flysystem-local/issues", "issues": "https://github.com/thephpleague/flysystem-local/issues",
"source": "https://github.com/thephpleague/flysystem-local/tree/3.15.0" "source": "https://github.com/thephpleague/flysystem-local/tree/3.16.0"
}, },
"funding": [ "funding": [
{ {
@ -2053,7 +2055,7 @@
"type": "github" "type": "github"
} }
], ],
"time": "2023-05-02T20:02:14+00:00" "time": "2023-08-30T10:23:59+00:00"
}, },
{ {
"name": "league/mime-type-detection", "name": "league/mime-type-detection",
@ -2111,61 +2113,6 @@
], ],
"time": "2023-08-05T12:09:49+00:00" "time": "2023-08-05T12:09:49+00:00"
}, },
{
"name": "midtrans/midtrans-php",
"version": "2.5.2",
"source": {
"type": "git",
"url": "https://github.com/Midtrans/midtrans-php.git",
"reference": "a1ad0c824449ca8c68c4cf11b3417ad518311d2b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Midtrans/midtrans-php/zipball/a1ad0c824449ca8c68c4cf11b3417ad518311d2b",
"reference": "a1ad0c824449ca8c68c4cf11b3417ad518311d2b",
"shasum": ""
},
"require": {
"ext-curl": "*",
"ext-json": "*",
"php": ">=5.4"
},
"require-dev": {
"phpunit/phpunit": "5.7.*",
"psy/psysh": "0.4.*"
},
"type": "library",
"autoload": {
"psr-4": {
"Midtrans\\": "Midtrans/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Andri Setiawan",
"email": "andri.setiawan@veritrans.co.id"
},
{
"name": "Alvin Litani",
"email": "alvin.litani@veritrans.co.id"
},
{
"name": "Ismail Faruqi",
"email": "ismail.faruqi@veritrans.co.id"
}
],
"description": "PHP Wrapper for Midtrans Payment API.",
"homepage": "https://midtrans.com",
"support": {
"issues": "https://github.com/Midtrans/midtrans-php/issues",
"source": "https://github.com/Midtrans/midtrans-php/tree/2.5.2"
},
"time": "2021-08-23T08:52:05+00:00"
},
{ {
"name": "monolog/monolog", "name": "monolog/monolog",
"version": "3.4.0", "version": "3.4.0",
@ -2269,16 +2216,16 @@
}, },
{ {
"name": "nesbot/carbon", "name": "nesbot/carbon",
"version": "2.69.0", "version": "2.70.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/briannesbitt/Carbon.git", "url": "https://github.com/briannesbitt/Carbon.git",
"reference": "4308217830e4ca445583a37d1bf4aff4153fa81c" "reference": "d3298b38ea8612e5f77d38d1a99438e42f70341d"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/4308217830e4ca445583a37d1bf4aff4153fa81c", "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/d3298b38ea8612e5f77d38d1a99438e42f70341d",
"reference": "4308217830e4ca445583a37d1bf4aff4153fa81c", "reference": "d3298b38ea8612e5f77d38d1a99438e42f70341d",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -2371,7 +2318,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2023-08-03T09:00:52+00:00" "time": "2023-09-07T16:43:50+00:00"
}, },
{ {
"name": "nette/schema", "name": "nette/schema",
@ -6543,16 +6490,16 @@
}, },
{ {
"name": "laravel/pint", "name": "laravel/pint",
"version": "v1.12.0", "version": "v1.13.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/laravel/pint.git", "url": "https://github.com/laravel/pint.git",
"reference": "08bcf51e520a5e5aea458fc600ac4869f6934a66" "reference": "22f204242d68095b3ba7dab5d3ef0240454a4652"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/laravel/pint/zipball/08bcf51e520a5e5aea458fc600ac4869f6934a66", "url": "https://api.github.com/repos/laravel/pint/zipball/22f204242d68095b3ba7dab5d3ef0240454a4652",
"reference": "08bcf51e520a5e5aea458fc600ac4869f6934a66", "reference": "22f204242d68095b3ba7dab5d3ef0240454a4652",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -6605,20 +6552,20 @@
"issues": "https://github.com/laravel/pint/issues", "issues": "https://github.com/laravel/pint/issues",
"source": "https://github.com/laravel/pint" "source": "https://github.com/laravel/pint"
}, },
"time": "2023-08-30T07:53:32+00:00" "time": "2023-09-06T11:03:34+00:00"
}, },
{ {
"name": "laravel/sail", "name": "laravel/sail",
"version": "v1.24.0", "version": "v1.24.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/laravel/sail.git", "url": "https://github.com/laravel/sail.git",
"reference": "c8a621d7b69ab2e568d97a20f837ca733a224006" "reference": "3a373bb2845623aed2017c672dc61c84ae974890"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/laravel/sail/zipball/c8a621d7b69ab2e568d97a20f837ca733a224006", "url": "https://api.github.com/repos/laravel/sail/zipball/3a373bb2845623aed2017c672dc61c84ae974890",
"reference": "c8a621d7b69ab2e568d97a20f837ca733a224006", "reference": "3a373bb2845623aed2017c672dc61c84ae974890",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -6670,7 +6617,7 @@
"issues": "https://github.com/laravel/sail/issues", "issues": "https://github.com/laravel/sail/issues",
"source": "https://github.com/laravel/sail" "source": "https://github.com/laravel/sail"
}, },
"time": "2023-08-27T14:26:11+00:00" "time": "2023-09-01T14:05:17+00:00"
}, },
{ {
"name": "mockery/mockery", "name": "mockery/mockery",
@ -7343,16 +7290,16 @@
}, },
{ {
"name": "phpunit/phpunit", "name": "phpunit/phpunit",
"version": "10.3.2", "version": "10.3.3",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git", "url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "0dafb1175c366dd274eaa9a625e914451506bcd1" "reference": "241ed4dd0db1c096984e62d414c4e1ac8d5dbff4"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/0dafb1175c366dd274eaa9a625e914451506bcd1", "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/241ed4dd0db1c096984e62d414c4e1ac8d5dbff4",
"reference": "0dafb1175c366dd274eaa9a625e914451506bcd1", "reference": "241ed4dd0db1c096984e62d414c4e1ac8d5dbff4",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -7424,7 +7371,7 @@
"support": { "support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues", "issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy", "security": "https://github.com/sebastianbergmann/phpunit/security/policy",
"source": "https://github.com/sebastianbergmann/phpunit/tree/10.3.2" "source": "https://github.com/sebastianbergmann/phpunit/tree/10.3.3"
}, },
"funding": [ "funding": [
{ {
@ -7440,7 +7387,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2023-08-15T05:34:23+00:00" "time": "2023-09-05T04:34:51+00:00"
}, },
{ {
"name": "sebastian/cli-parser", "name": "sebastian/cli-parser",
@ -7877,16 +7824,16 @@
}, },
{ {
"name": "sebastian/exporter", "name": "sebastian/exporter",
"version": "5.0.0", "version": "5.0.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/exporter.git", "url": "https://github.com/sebastianbergmann/exporter.git",
"reference": "f3ec4bf931c0b31e5b413f5b4fc970a7d03338c0" "reference": "32ff03d078fed1279c4ec9a407d08c5e9febb480"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/f3ec4bf931c0b31e5b413f5b4fc970a7d03338c0", "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/32ff03d078fed1279c4ec9a407d08c5e9febb480",
"reference": "f3ec4bf931c0b31e5b413f5b4fc970a7d03338c0", "reference": "32ff03d078fed1279c4ec9a407d08c5e9febb480",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -7942,7 +7889,8 @@
], ],
"support": { "support": {
"issues": "https://github.com/sebastianbergmann/exporter/issues", "issues": "https://github.com/sebastianbergmann/exporter/issues",
"source": "https://github.com/sebastianbergmann/exporter/tree/5.0.0" "security": "https://github.com/sebastianbergmann/exporter/security/policy",
"source": "https://github.com/sebastianbergmann/exporter/tree/5.0.1"
}, },
"funding": [ "funding": [
{ {
@ -7950,7 +7898,7 @@
"type": "github" "type": "github"
} }
], ],
"time": "2023-02-03T07:06:49+00:00" "time": "2023-09-08T04:46:58+00:00"
}, },
{ {
"name": "sebastian/global-state", "name": "sebastian/global-state",
@ -8795,5 +8743,5 @@
"php": "^8.1" "php": "^8.1"
}, },
"platform-dev": [], "platform-dev": [],
"plugin-api-version": "2.3.0" "plugin-api-version": "2.6.0"
} }

View File

@ -12,33 +12,21 @@ return new class extends Migration
public function up(): void public function up(): void
{ {
Schema::create('transactions', function (Blueprint $table) { Schema::create('transactions', function (Blueprint $table) {
$table->uuid('id')->primary(); //order_id $table->uuid('order_id')->primary(); //order_id
$table->string('pembeli'); // untuk customer_details $table->string('pembeli'); // untuk customer_details
$table->string('penjual'); //merchant_name $table->string('penjual'); //merchant_name
$table->string('nama_barang'); // item_details -> item_name $table->string('judul_transaksi'); // item_details -> item_name
$table->string('deskripsi_transaksi')->nullable(); $table->string('deskripsi_transaksi');
$table->string('satuan_barang');
$table->double('harga_barang'); // harga sebelum penambahan
$table->double('jumlah_barang');
$table->double('persentase_keuntungan'); // persentase keuntungan $table->double('persentase_keuntungan'); // persentase keuntungan
$table->double('total_keuntungan'); // perolehan keuntungan $table->double('total_keuntungan'); // perolehan keuntungan
$table->double('harga'); // harga sebelum penambahan
$table->double('biaya_admin'); // biaya tambahan
$table->double('total_harga'); // gross amount $table->double('total_harga'); // gross amount
$table->double('total_bayar'); $table->string('signature_key');
$table->string('signature_key')->nullable(); $table->string('metode_pembayaran');
$table->string('token'); $table->enum('status',['Settlement','Capture','Pending','Cancel','Refund','Expire','Failure','Progress','Failed'])->default('Pending'); // transaction_status
$table->string('metode_pembayaran')->nullable();
$table->string('acquire')->nullable();
$table->string('issuer')->nullable();
$table->char('currency',3)->nullable();
$table->string('fraud_status')->nullable();
$table->string('merchant_id')->nullable();
$table->string('status_code')->nullable();
$table->string('tipe_transaction')->nullable();
$table->enum('status',['settlement','capture','pending','cancel','refund','expire','failure','progress','failed','sending','sended','finished'])->default('pending'); // transaction_status
$table->timestamp('batas_pembayaran'); $table->timestamp('batas_pembayaran');
$table->timestamp('batas_pengiriman_barang_awal'); $table->timestamp('batas_pengiriman_barang');
$table->timestamp('batas_pengiriman_barang_akhir');
$table->timestamp('tanggal_pembayaran')->nullable();
$table->timestamps(); $table->timestamps();
$table->foreign('pembeli')->on('users')->references('email'); $table->foreign('pembeli')->on('users')->references('email');
$table->foreign('penjual')->on('users')->references('email'); $table->foreign('penjual')->on('users')->references('email');

View File

@ -16,9 +16,9 @@ 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->timestamps();
$table->foreign('order_id')->on('transactions')->references('id'); $table->foreign('order_id')->on('transactions')->references('order_id');
}); });
} }

View File

@ -15,8 +15,8 @@ return new class extends Migration
$table->id(); $table->id();
$table->string('bulan',20); $table->string('bulan',20);
$table->string('tahun',5); $table->string('tahun',5);
$table->integer('persentase'); $table->string('persentase',5);
$table->enum('status',['Active', 'Nonactive']); $table->string('status',15);
$table->timestamps(); $table->timestamps();
}); });
} }

View File

@ -16,12 +16,11 @@ return new class extends Migration
$table->foreignUuid('order_id'); $table->foreignUuid('order_id');
$table->string('status',15); $table->string('status',15);
$table->string('user'); $table->string('user');
$table->string('background');
$table->string('judul'); $table->string('judul');
$table->string('deskripsi'); $table->string('deskripsi');
$table->timestamps(); $table->timestamps();
$table->foreign('order_id')->on('transactions')->references('id'); $table->foreign('order_id')->on('transactions')->references('order_id');
$table->foreign('user')->on('users')->references('email'); $table->foreign('user')->on('users')->references('email');
}); });
} }

View File

@ -5,8 +5,6 @@ namespace Database\Seeders;
// use Illuminate\Database\Console\Seeds\WithoutModelEvents; // use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder; use Illuminate\Database\Seeder;
use App\Models\User; use App\Models\User;
use Carbon\Carbon;
use App\Models\Setting;
use Illuminate\Support\Str; use Illuminate\Support\Str;
use Faker\Factory as FakerFactory; use Faker\Factory as FakerFactory;
use Faker\Provider\id_ID\Person as Person; use Faker\Provider\id_ID\Person as Person;
@ -30,31 +28,27 @@ class DatabaseSeeder extends Seeder
'nama_depan' => $faker->firstName, 'nama_depan' => $faker->firstName,
'nama_belakang' => $faker->lastName, 'nama_belakang' => $faker->lastName,
'tanggal_lahir' => $faker->date($format = 'Y-m-d', $max = 'now'), 'tanggal_lahir' => $faker->date($format = 'Y-m-d', $max = 'now'),
'email' => 'admin@example.net', '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
'remember_token' => Str::random(10), 'remember_token' => Str::random(10),
'role' => 'Admin', 'role' => 'Admin',
'nik' => $faker->nik($faker->randomElement(['male', 'female']), $faker->dateTimeBetween('-65 years', '-18 years')), 'nik' => $faker->nik($faker->randomElement(['male','female']), $faker->dateTimeBetween('-65 years', '-18 years')),
'alamat' => $faker->address, 'alamat'=> $faker->address,
'nohp' => $faker->phoneNumber(), 'nohp'=> $faker->phoneNumber(),
'status' => 'Finished', 'status'=> 'Finished',
'persentase_kemiripan' => '100%', 'persentase_kemiripan' => '100%',
'gender' => $faker->randomElement(['Laki-laki', 'Perempuan']), 'gender' => $faker->randomElement(['Laki-laki', 'Perempuan']),
'kode_kelurahan' => '1101012002', 'kode_kelurahan' => '1101012002',
]); ]);
User::factory(20)->create(); User::factory(20)->create();
$now = Carbon::now()->tz('Asia/Jakarta'); $this->call([
$bulan = $now->format('F'); ProvincesSeeder::class,
$tahun = $now->year; CitiesSeeder::class,
Setting::create([ DistrictsSeeder::class,
'bulan' => $bulan, VillagesSeeder::class,
'tahun' => $tahun,
'persentase' => 5,
'status' => 'Active'
]); ]);
$this->call([ProvincesSeeder::class, CitiesSeeder::class, DistrictsSeeder::class, VillagesSeeder::class]);
} }
} }

17
package-lock.json generated
View File

@ -5,7 +5,8 @@
"packages": { "packages": {
"": { "": {
"dependencies": { "dependencies": {
"datatables.net-dt": "^1.13.6" "datatables.net-dt": "^1.13.6",
"sweetalert2": "^11.7.27"
}, },
"devDependencies": { "devDependencies": {
"axios": "^1.1.2", "axios": "^1.1.2",
@ -642,6 +643,15 @@
"node": ">=0.10.0" "node": ">=0.10.0"
} }
}, },
"node_modules/sweetalert2": {
"version": "11.7.27",
"resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-11.7.27.tgz",
"integrity": "sha512-QbRXGQn1sb7HEhzA/K2xtWIwQHh/qkSbb1w6jYcTql2xy17876lTREEt1D4X6Q0x2wHtfUjKJ+Cb8IVkRoq7DQ==",
"funding": {
"type": "individual",
"url": "https://github.com/sponsors/limonte"
}
},
"node_modules/vite": { "node_modules/vite": {
"version": "4.4.9", "version": "4.4.9",
"resolved": "https://registry.npmjs.org/vite/-/vite-4.4.9.tgz", "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.9.tgz",
@ -1049,6 +1059,11 @@
"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
"dev": true "dev": true
}, },
"sweetalert2": {
"version": "11.7.27",
"resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-11.7.27.tgz",
"integrity": "sha512-QbRXGQn1sb7HEhzA/K2xtWIwQHh/qkSbb1w6jYcTql2xy17876lTREEt1D4X6Q0x2wHtfUjKJ+Cb8IVkRoq7DQ=="
},
"vite": { "vite": {
"version": "4.4.9", "version": "4.4.9",
"resolved": "https://registry.npmjs.org/vite/-/vite-4.4.9.tgz", "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.9.tgz",

View File

@ -11,6 +11,7 @@
"vite": "^4.0.0" "vite": "^4.0.0"
}, },
"dependencies": { "dependencies": {
"datatables.net-dt": "^1.13.6" "datatables.net-dt": "^1.13.6",
"sweetalert2": "^11.7.27"
} }
} }

View File

@ -846,9 +846,8 @@ tr:first-child > td > .fc-day-grid-event {
border-top: 1px solid #f2f2f2; border-top: 1px solid #f2f2f2;
} }
} }
/* 1.18 Select2 */
/* 1.18 Select2 .select2-container--default
/* .select2-container--default
.select2-search--dropdown .select2-search--dropdown
.select2-search__field:focus { .select2-search__field:focus {
outline: none; outline: none;
@ -950,7 +949,6 @@ tr:first-child > td > .fc-day-grid-event {
.select2-results__option { .select2-results__option {
padding-right: 10px 15px; padding-right: 10px 15px;
} }
*/
/* 1.19 Selectric */ /* 1.19 Selectric */
.selectric { .selectric {

File diff suppressed because one or more lines are too long

View File

@ -58,13 +58,6 @@ video {
z-index: 3; z-index: 3;
} }
.flex-input-btn {
width: 100%;
display: flex;
align-items: center;
margin-top: 3%;
}
form.sign-up-form { form.sign-up-form {
display: flex; display: flex;
align-items: start; align-items: start;
@ -110,8 +103,8 @@ form p {
.input-field-signup-flex { .input-field-signup-flex {
width: 100%; width: 100%;
height: 55px; height: 55px;
margin-top: 2%;
background-color: #f0f0f0; background-color: #f0f0f0;
margin-top: 10px;
border-radius: 1rem; border-radius: 1rem;
display: grid; display: grid;
grid-template-columns: 15% 85%; grid-template-columns: 15% 85%;
@ -120,41 +113,6 @@ form p {
position: relative; position: relative;
} }
.input {
width: 100%;
height: 55px;
background-color: #f0f0f0;
border-radius: 1rem;
display: grid;
grid-template-columns: 15% 85%;
display: flex;
align-items: center;
position: relative;
}
.input input {
width: 110%;
height: 100%;
background: none;
outline: none;
border: none;
border-radius: 1rem;
line-height: 1;
font-weight: 600;
margin-right: 1rem;
font-size: 0.8rem;
color: #333;
}
.input i {
padding: 0 1.5rem;
color: #acacac;
transition: 0.5s;
}
.up {
margin-top: 3%;
}
.input-field-signin-flex input, .input-field-signin-flex input,
.input-field-signup-flex input { .input-field-signup-flex input {
width: 82%; width: 82%;
@ -275,14 +233,6 @@ form p {
transform: translateY(-0.252m); transform: translateY(-0.252m);
} }
.btn-otp:disabled {
cursor: not-allowed; /* Mengganti cursor menjadi "not-allowed" saat tombol dinonaktifkan */
opacity: 0.6; /* Mengurangi opasitas tombol saat dinonaktifkan */
border-color: #ccc; /* Mengganti warna border saat dinonaktifkan */
color: #ccc; /* Mengganti warna teks saat dinonaktifkan */
pointer-events: none; /* Mencegah interaksi dengan tombol saat dinonaktifkan */
}
.panels-container { .panels-container {
position: absolute; position: absolute;
height: 100%; height: 100%;

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

View File

@ -114,6 +114,13 @@ form_4_back_btn.addEventListener("click", function () {
form_4_progessbar.classList.remove("active"); 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 * MULTIPLE FORM END
******************************************/ ******************************************/
@ -243,7 +250,7 @@ document.addEventListener("DOMContentLoaded", function () {
clearPhoto(fotoInputKtp, document.getElementById("foto-preview-ktp")); clearPhoto(fotoInputKtp, document.getElementById("foto-preview-ktp"));
if (ktpStream) { if (ktpStream) {
// Matikan kamera jika sedang aktif
turnOffCamera(ktpStream, videoElementKtp, startButtonKtp); turnOffCamera(ktpStream, videoElementKtp, startButtonKtp);
ktpStream = null; ktpStream = null;
} }

View File

@ -2,37 +2,27 @@
$("[data-checkboxes]").each(function () { $("[data-checkboxes]").each(function () {
var me = $(this), var me = $(this),
group = me.data("checkboxes"), group = me.data('checkboxes'),
role = me.data("checkbox-role"); role = me.data('checkbox-role');
me.change(function () { me.change(function () {
var all = $( var all = $('[data-checkboxes="' + group + '"]:not([data-checkbox-role="dad"])'),
'[data-checkboxes="' + checked = $('[data-checkboxes="' + group + '"]:not([data-checkbox-role="dad"]):checked'),
group + dad = $('[data-checkboxes="' + group + '"][data-checkbox-role="dad"]'),
'"]:not([data-checkbox-role="dad"])'
),
checked = $(
'[data-checkboxes="' +
group +
'"]:not([data-checkbox-role="dad"]):checked'
),
dad = $(
'[data-checkboxes="' + group + '"][data-checkbox-role="dad"]'
),
total = all.length, total = all.length,
checked_length = checked.length; checked_length = checked.length;
if (role == "dad") { if (role == 'dad') {
if (me.is(":checked")) { if (me.is(':checked')) {
all.prop("checked", true); all.prop('checked', true);
} else { } else {
all.prop("checked", false); all.prop('checked', false);
} }
} else { } else {
if (checked_length >= total) { if (checked_length >= total) {
dad.prop("checked", true); dad.prop('checked', true);
} else { } else {
dad.prop("checked", false); dad.prop('checked', false);
} }
} }
}); });
@ -40,18 +30,14 @@ $("[data-checkboxes]").each(function () {
// User // User
$("#table-1").dataTable({ $("#table-1").dataTable({
columnDefs: [{ sortable: false, targets: [2, 7] }], "columnDefs": [
searchable: true, { "sortable": false, "targets": [2] }
]
}); });
// Refund, Setting, Transaction // Refund, Setting, Transaction
$("#table-2").dataTable({ $("#table-2").dataTable({
ordering: true, "columnDefs": [
searchable: true, { "sortable": false, "targets": [0, 2, 3] }
}); ]
// Transaksi pembeli
$("#table-3").dataTable({
columnDefs: [{ sortable: false, targets: [5] }],
searchable: true,
}); });

View File

@ -1,26 +1,26 @@
"use strict"; "use strict";
$("#swal-1").click(function() { $("#swal-1").click(function () {
swal('Hello'); swal('Hello');
}); });
$("#swal-2").click(function() { $("#swal-2").click(function () {
swal('Good Job', 'You clicked the button!', 'success'); swal('Tambah data setting', 'Berhasil', 'success');
}); });
$("#swal-3").click(function() { $("#swal-3").click(function () {
swal('Good Job', 'You clicked the button!', 'warning'); swal('Good Job', 'You clicked the button!', 'warning');
}); });
$("#swal-4").click(function() { $("#swal-4").click(function () {
swal('Good Job', 'You clicked the button!', 'info'); swal('Good Job', 'You clicked the button!', 'info');
}); });
$("#swal-5").click(function() { $("#swal-5").click(function () {
swal('Good Job', 'You clicked the button!', 'error'); swal('Good Job', 'You clicked the button!', 'error');
}); });
$("#swal-6").click(function() { $("#swal-6").click(function () {
swal({ swal({
title: 'Are you sure?', title: 'Are you sure?',
text: 'Once deleted, you will not be able to recover this imaginary file!', text: 'Once deleted, you will not be able to recover this imaginary file!',
@ -39,7 +39,7 @@ $("#swal-6").click(function() {
}); });
}); });
$("#swal-7").click(function() { $("#swal-7").click(function () {
swal({ swal({
title: 'What is your name?', title: 'What is your name?',
content: { content: {
@ -54,7 +54,7 @@ $("#swal-7").click(function() {
}); });
}); });
$("#swal-8").click(function() { $("#swal-8").click(function () {
swal('This modal will disappear soon!', { swal('This modal will disappear soon!', {
buttons: false, buttons: false,
timer: 3000, timer: 3000,

View File

@ -1,15 +1,14 @@
"use strict"; "use strict";
// ChartJS // ChartJS
if (window.Chart) { if(window.Chart) {
Chart.defaults.global.defaultFontFamily = "'Nunito', 'Segoe UI', 'Arial'"; Chart.defaults.global.defaultFontFamily = "'Nunito', 'Segoe UI', 'Arial'";
Chart.defaults.global.defaultFontSize = 11; Chart.defaults.global.defaultFontSize = 11;
Chart.defaults.global.defaultFontStyle = 500; Chart.defaults.global.defaultFontStyle = 500;
Chart.defaults.global.defaultFontColor = "#999"; Chart.defaults.global.defaultFontColor = "#999";
Chart.defaults.global.tooltips.backgroundColor = "#000"; Chart.defaults.global.tooltips.backgroundColor = '#000';
Chart.defaults.global.tooltips.titleFontFamily = Chart.defaults.global.tooltips.titleFontFamily = "'Nunito', 'Segoe UI', 'Arial'";
"'Nunito', 'Segoe UI', 'Arial'"; Chart.defaults.global.tooltips.titleFontColor = '#fff';
Chart.defaults.global.tooltips.titleFontColor = "#fff";
Chart.defaults.global.tooltips.titleFontSize = 20; Chart.defaults.global.tooltips.titleFontSize = 20;
Chart.defaults.global.tooltips.xPadding = 10; Chart.defaults.global.tooltips.xPadding = 10;
Chart.defaults.global.tooltips.yPadding = 10; Chart.defaults.global.tooltips.yPadding = 10;
@ -17,14 +16,14 @@ if (window.Chart) {
} }
// DropzoneJS // DropzoneJS
if (window.Dropzone) { if(window.Dropzone) {
Dropzone.autoDiscover = false; Dropzone.autoDiscover = false;
} }
// Basic confirm box // Basic confirm box
$("[data-confirm]").each(function () { $('[data-confirm]').each(function() {
var me = $(this), var me = $(this),
me_data = me.data("confirm"); me_data = me.data('confirm');
me_data = me_data.split("|"); me_data = me_data.split("|");
me.fireModal({ me.fireModal({
@ -32,166 +31,149 @@ $("[data-confirm]").each(function () {
body: me_data[1], body: me_data[1],
buttons: [ buttons: [
{ {
text: me.data("confirm-text-yes") || "Yes", text: me.data('confirm-text-yes') || 'Yes',
class: "btn btn-danger btn-shadow", class: 'btn btn-danger btn-shadow',
handler: function () { handler: function() {
eval(me.data("confirm-yes")); eval(me.data('confirm-yes'));
}, }
}, },
{ {
text: me.data("confirm-text-cancel") || "Cancel", text: me.data('confirm-text-cancel') || 'Cancel',
class: "btn btn-secondary", class: 'btn btn-secondary',
handler: function (modal) { handler: function(modal) {
$.destroyModal(modal); $.destroyModal(modal);
eval(me.data("confirm-no")); eval(me.data('confirm-no'));
}, }
}, }
], ]
}); })
}); });
// Global // Global
$(function () { $(function() {
let sidebar_nicescroll_opts = { let sidebar_nicescroll_opts = {
cursoropacitymin: 0, cursoropacitymin: 0,
cursoropacitymax: 0.8, cursoropacitymax: .8,
zindex: 892, zindex: 892
}, }, now_layout_class = null;
now_layout_class = null;
var sidebar_sticky = function () { var sidebar_sticky = function() {
if ($("body").hasClass("layout-2")) { if($("body").hasClass('layout-2')) {
$("body.layout-2 #sidebar-wrapper").stick_in_parent({ $("body.layout-2 #sidebar-wrapper").stick_in_parent({
parent: $("body"), parent: $('body')
});
$("body.layout-2 #sidebar-wrapper").stick_in_parent({
recalc_every: 1,
}); });
$("body.layout-2 #sidebar-wrapper").stick_in_parent({recalc_every: 1});
}
} }
};
sidebar_sticky(); sidebar_sticky();
var sidebar_nicescroll; var sidebar_nicescroll;
var update_sidebar_nicescroll = function () { var update_sidebar_nicescroll = function() {
let a = setInterval(function () { let a = setInterval(function() {
if (sidebar_nicescroll != null) sidebar_nicescroll.resize(); if(sidebar_nicescroll != null)
sidebar_nicescroll.resize();
}, 10); }, 10);
setTimeout(function () { setTimeout(function() {
clearInterval(a); clearInterval(a);
}, 600); }, 600);
}; }
var sidebar_dropdown = function () { var sidebar_dropdown = function() {
if ($(".main-sidebar").length) { if($(".main-sidebar").length) {
$(".main-sidebar").niceScroll(sidebar_nicescroll_opts); $(".main-sidebar").niceScroll(sidebar_nicescroll_opts);
sidebar_nicescroll = $(".main-sidebar").getNiceScroll(); sidebar_nicescroll = $(".main-sidebar").getNiceScroll();
$(".main-sidebar .sidebar-menu li a.has-dropdown") $(".main-sidebar .sidebar-menu li a.has-dropdown").off('click').on('click', function() {
.off("click")
.on("click", function () {
var me = $(this); var me = $(this);
me.parent() me.parent().find('> .dropdown-menu').slideToggle(500, function() {
.find("> .dropdown-menu")
.slideToggle(500, function () {
update_sidebar_nicescroll(); update_sidebar_nicescroll();
return false; return false;
}); });
return false; return false;
}); });
} }
}; }
sidebar_dropdown(); sidebar_dropdown();
if ($("#top-5-scroll").length) { if($("#top-5-scroll").length) {
$("#top-5-scroll") $("#top-5-scroll").css({
.css({ height: 315
height: 315, }).niceScroll();
})
.niceScroll();
} }
$(".main-content").css({ $(".main-content").css({
minHeight: $(window).outerHeight() - 95, minHeight: $(window).outerHeight() - 95
}); })
$(".nav-collapse-toggle").click(function () { $(".nav-collapse-toggle").click(function() {
$(this).parent().find(".navbar-nav").toggleClass("show"); $(this).parent().find('.navbar-nav').toggleClass('show');
return false; return false;
}); });
$(document).on("click", function (e) { $(document).on('click', function(e) {
$(".nav-collapse .navbar-nav").removeClass("show"); $(".nav-collapse .navbar-nav").removeClass('show');
}); });
var toggle_sidebar_mini = function (mini) { var toggle_sidebar_mini = function(mini) {
let body = $("body"); let body = $('body');
if (!mini) { if(!mini) {
body.removeClass("sidebar-mini"); body.removeClass('sidebar-mini');
$(".main-sidebar").css({ $(".main-sidebar").css({
overflow: "hidden", overflow: 'hidden'
}); });
setTimeout(function () { setTimeout(function() {
$(".main-sidebar").niceScroll(sidebar_nicescroll_opts); $(".main-sidebar").niceScroll(sidebar_nicescroll_opts);
sidebar_nicescroll = $(".main-sidebar").getNiceScroll(); sidebar_nicescroll = $(".main-sidebar").getNiceScroll();
}, 500); }, 500);
$(".main-sidebar .sidebar-menu > li > ul .dropdown-title").remove(); $(".main-sidebar .sidebar-menu > li > ul .dropdown-title").remove();
$(".main-sidebar .sidebar-menu > li > a").removeAttr("data-toggle"); $(".main-sidebar .sidebar-menu > li > a").removeAttr('data-toggle');
$(".main-sidebar .sidebar-menu > li > a").removeAttr( $(".main-sidebar .sidebar-menu > li > a").removeAttr('data-original-title');
"data-original-title" $(".main-sidebar .sidebar-menu > li > a").removeAttr('title');
); }else{
$(".main-sidebar .sidebar-menu > li > a").removeAttr("title"); body.addClass('sidebar-mini');
} else { body.removeClass('sidebar-show');
body.addClass("sidebar-mini");
body.removeClass("sidebar-show");
sidebar_nicescroll.remove(); sidebar_nicescroll.remove();
sidebar_nicescroll = null; sidebar_nicescroll = null;
$(".main-sidebar .sidebar-menu > li").each(function () { $(".main-sidebar .sidebar-menu > li").each(function() {
let me = $(this); let me = $(this);
if (me.find("> .dropdown-menu").length) { if(me.find('> .dropdown-menu').length) {
me.find("> .dropdown-menu").hide(); me.find('> .dropdown-menu').hide();
me.find("> .dropdown-menu").prepend( me.find('> .dropdown-menu').prepend('<li class="dropdown-title pt-3">'+ me.find('> a').text() +'</li>');
'<li class="dropdown-title pt-3">' + }else{
me.find("> a").text() + me.find('> a').attr('data-toggle', 'tooltip');
"</li>" me.find('> a').attr('data-original-title', me.find('> a').text());
);
} else {
me.find("> a").attr("data-toggle", "tooltip");
me.find("> a").attr(
"data-original-title",
me.find("> a").text()
);
$("[data-toggle='tooltip']").tooltip({ $("[data-toggle='tooltip']").tooltip({
placement: "right", placement: 'right'
}); });
} }
}); });
} }
}; }
$("[data-toggle='sidebar']").click(function () { $("[data-toggle='sidebar']").click(function() {
var body = $("body"), var body = $("body"),
w = $(window); w = $(window);
if (w.outerWidth() <= 1024) { if(w.outerWidth() <= 1024) {
body.removeClass("search-show search-gone"); body.removeClass('search-show search-gone');
if (body.hasClass("sidebar-gone")) { if(body.hasClass('sidebar-gone')) {
body.removeClass("sidebar-gone"); body.removeClass('sidebar-gone');
body.addClass("sidebar-show"); body.addClass('sidebar-show');
} else { }else{
body.addClass("sidebar-gone"); body.addClass('sidebar-gone');
body.removeClass("sidebar-show"); body.removeClass('sidebar-show');
} }
update_sidebar_nicescroll(); update_sidebar_nicescroll();
} else { }else{
body.removeClass("search-show search-gone"); body.removeClass('search-show search-gone');
if (body.hasClass("sidebar-mini")) { if(body.hasClass('sidebar-mini')) {
toggle_sidebar_mini(false); toggle_sidebar_mini(false);
} else { }else{
toggle_sidebar_mini(true); toggle_sidebar_mini(true);
} }
} }
@ -199,38 +181,30 @@ $(function () {
return false; return false;
}); });
var toggleLayout = function () { var toggleLayout = function() {
var w = $(window), var w = $(window),
layout_class = $("body").attr("class") || "", layout_class = $('body').attr('class') || '',
layout_classes = layout_classes = (layout_class.trim().length > 0 ? layout_class.split(' ') : '');
layout_class.trim().length > 0 ? layout_class.split(" ") : "";
if (layout_classes.length > 0) { if(layout_classes.length > 0) {
layout_classes.forEach(function (item) { layout_classes.forEach(function(item) {
if (item.indexOf("layout-") != -1) { if(item.indexOf('layout-') != -1) {
now_layout_class = item; now_layout_class = item;
} }
}); });
} }
if (w.outerWidth() <= 1024) { if(w.outerWidth() <= 1024) {
if ($("body").hasClass("sidebar-mini")) { if($('body').hasClass('sidebar-mini')) {
toggle_sidebar_mini(false); toggle_sidebar_mini(false);
$(".main-sidebar").niceScroll(sidebar_nicescroll_opts); $('.main-sidebar').niceScroll(sidebar_nicescroll_opts);
sidebar_nicescroll = $(".main-sidebar").getNiceScroll(); sidebar_nicescroll = $(".main-sidebar").getNiceScroll();
} }
$("body").addClass("sidebar-gone"); $("body").addClass("sidebar-gone");
$("body").removeClass( $("body").removeClass("layout-2 layout-3 sidebar-mini sidebar-show");
"layout-2 layout-3 sidebar-mini sidebar-show" $("body").off('click').on('click', function(e) {
); if($(e.target).hasClass('sidebar-show') || $(e.target).hasClass('search-show')) {
$("body")
.off("click")
.on("click", function (e) {
if (
$(e.target).hasClass("sidebar-show") ||
$(e.target).hasClass("search-show")
) {
$("body").removeClass("sidebar-show"); $("body").removeClass("sidebar-show");
$("body").addClass("sidebar-gone"); $("body").addClass("sidebar-gone");
$("body").removeClass("search-show"); $("body").removeClass("search-show");
@ -241,98 +215,77 @@ $(function () {
update_sidebar_nicescroll(); update_sidebar_nicescroll();
if (now_layout_class == "layout-3") { if(now_layout_class == 'layout-3') {
let nav_second_classes = $(".navbar-secondary").attr("class"), let nav_second_classes = $(".navbar-secondary").attr('class'),
nav_second = $(".navbar-secondary"); nav_second = $(".navbar-secondary");
nav_second.attr("data-nav-classes", nav_second_classes); nav_second.attr('data-nav-classes', nav_second_classes);
nav_second.removeAttr("class"); nav_second.removeAttr('class');
nav_second.addClass("main-sidebar"); nav_second.addClass('main-sidebar');
let main_sidebar = $(".main-sidebar"); let main_sidebar = $(".main-sidebar");
main_sidebar main_sidebar.find('.container').addClass('sidebar-wrapper').removeClass('container');
.find(".container") main_sidebar.find('.navbar-nav').addClass('sidebar-menu').removeClass('navbar-nav');
.addClass("sidebar-wrapper") main_sidebar.find('.sidebar-menu .nav-item.dropdown.show a').click();
.removeClass("container"); main_sidebar.find('.sidebar-brand').remove();
main_sidebar main_sidebar.find('.sidebar-menu').before($('<div>', {
.find(".navbar-nav") class: 'sidebar-brand'
.addClass("sidebar-menu")
.removeClass("navbar-nav");
main_sidebar
.find(".sidebar-menu .nav-item.dropdown.show a")
.click();
main_sidebar.find(".sidebar-brand").remove();
main_sidebar.find(".sidebar-menu").before(
$("<div>", {
class: "sidebar-brand",
}).append( }).append(
$("<a>", { $('<a>', {
href: $(".navbar-brand").attr("href"), href: $('.navbar-brand').attr('href'),
}).html($(".navbar-brand").html()) }).html($('.navbar-brand').html())
) ));
); setTimeout(function() {
setTimeout(function () { sidebar_nicescroll = main_sidebar.niceScroll(sidebar_nicescroll_opts);
sidebar_nicescroll = main_sidebar.niceScroll(
sidebar_nicescroll_opts
);
sidebar_nicescroll = main_sidebar.getNiceScroll(); sidebar_nicescroll = main_sidebar.getNiceScroll();
}, 700); }, 700);
sidebar_dropdown(); sidebar_dropdown();
$(".main-wrapper").removeClass("container"); $(".main-wrapper").removeClass("container");
} }
} else { }else{
$("body").removeClass("sidebar-gone sidebar-show"); $("body").removeClass("sidebar-gone sidebar-show");
if (now_layout_class) $("body").addClass(now_layout_class); if(now_layout_class)
$("body").addClass(now_layout_class);
let nav_second_classes = let nav_second_classes = $(".main-sidebar").attr('data-nav-classes'),
$(".main-sidebar").attr("data-nav-classes"),
nav_second = $(".main-sidebar"); nav_second = $(".main-sidebar");
if ( if(now_layout_class == 'layout-3' && nav_second.hasClass('main-sidebar')) {
now_layout_class == "layout-3" && nav_second.find(".sidebar-menu li a.has-dropdown").off('click');
nav_second.hasClass("main-sidebar") nav_second.find('.sidebar-brand').remove();
) { nav_second.removeAttr('class');
nav_second.find(".sidebar-menu li a.has-dropdown").off("click");
nav_second.find(".sidebar-brand").remove();
nav_second.removeAttr("class");
nav_second.addClass(nav_second_classes); nav_second.addClass(nav_second_classes);
let main_sidebar = $(".navbar-secondary"); let main_sidebar = $(".navbar-secondary");
main_sidebar main_sidebar.find('.sidebar-wrapper').addClass('container').removeClass('sidebar-wrapper');
.find(".sidebar-wrapper") main_sidebar.find('.sidebar-menu').addClass('navbar-nav').removeClass('sidebar-menu');
.addClass("container") main_sidebar.find('.dropdown-menu').hide();
.removeClass("sidebar-wrapper"); main_sidebar.removeAttr('style');
main_sidebar main_sidebar.removeAttr('tabindex');
.find(".sidebar-menu") main_sidebar.removeAttr('data-nav-classes');
.addClass("navbar-nav")
.removeClass("sidebar-menu");
main_sidebar.find(".dropdown-menu").hide();
main_sidebar.removeAttr("style");
main_sidebar.removeAttr("tabindex");
main_sidebar.removeAttr("data-nav-classes");
$(".main-wrapper").addClass("container"); $(".main-wrapper").addClass("container");
// if(sidebar_nicescroll != null) // if(sidebar_nicescroll != null)
// sidebar_nicescroll.remove(); // sidebar_nicescroll.remove();
} else if (now_layout_class == "layout-2") { }else if(now_layout_class == 'layout-2') {
$("body").addClass("layout-2"); $("body").addClass("layout-2");
} else { }else{
update_sidebar_nicescroll(); update_sidebar_nicescroll();
} }
} }
}; }
toggleLayout(); toggleLayout();
$(window).resize(toggleLayout); $(window).resize(toggleLayout);
$("[data-toggle='search']").click(function () { $("[data-toggle='search']").click(function() {
var body = $("body"); var body = $("body");
if (body.hasClass("search-gone")) { if(body.hasClass('search-gone')) {
body.addClass("search-gone"); body.addClass('search-gone');
body.removeClass("search-show"); body.removeClass('search-show');
} else { }else{
body.removeClass("search-gone"); body.removeClass('search-gone');
body.addClass("search-show"); body.addClass('search-show');
} }
}); });
@ -341,55 +294,49 @@ $(function () {
// popover // popover
$('[data-toggle="popover"]').popover({ $('[data-toggle="popover"]').popover({
container: "body", container: 'body'
}); });
// Select2 // Select2
// if(jQuery().select2) { if(jQuery().select2) {
// $(".select2").select2(); $(".select2").select2();
// } }
// Selectric // Selectric
if (jQuery().selectric) { if(jQuery().selectric) {
$(".selectric").selectric({ $(".selectric").selectric({
disableOnMobile: false, disableOnMobile: false,
nativeOnMobile: false, nativeOnMobile: false
}); });
} }
$(".notification-toggle").dropdown(); $(".notification-toggle").dropdown();
$(".notification-toggle") $(".notification-toggle").parent().on('shown.bs.dropdown', function() {
.parent()
.on("shown.bs.dropdown", function () {
$(".dropdown-list-icons").niceScroll({ $(".dropdown-list-icons").niceScroll({
cursoropacitymin: 0.3, cursoropacitymin: .3,
cursoropacitymax: 0.8, cursoropacitymax: .8,
cursorwidth: 7, cursorwidth: 7
}); });
}); });
$(".message-toggle").dropdown(); $(".message-toggle").dropdown();
$(".message-toggle") $(".message-toggle").parent().on('shown.bs.dropdown', function() {
.parent()
.on("shown.bs.dropdown", function () {
$(".dropdown-list-message").niceScroll({ $(".dropdown-list-message").niceScroll({
cursoropacitymin: 0.3, cursoropacitymin: .3,
cursoropacitymax: 0.8, cursoropacitymax: .8,
cursorwidth: 7, cursorwidth: 7
}); });
}); });
if ($(".chat-content").length) { if($(".chat-content").length) {
$(".chat-content").niceScroll({ $(".chat-content").niceScroll({
cursoropacitymin: 0.3, cursoropacitymin: .3,
cursoropacitymax: 0.8, cursoropacitymax: .8,
}); });
$(".chat-content") $('.chat-content').getNiceScroll(0).doScrollTop($('.chat-content').height());
.getNiceScroll(0)
.doScrollTop($(".chat-content").height());
} }
if (jQuery().summernote) { if(jQuery().summernote) {
$(".summernote").summernote({ $(".summernote").summernote({
dialogsInBody: true, dialogsInBody: true,
minHeight: 250, minHeight: 250,
@ -398,58 +345,58 @@ $(function () {
dialogsInBody: true, dialogsInBody: true,
minHeight: 150, minHeight: 150,
toolbar: [ toolbar: [
["style", ["bold", "italic", "underline", "clear"]], ['style', ['bold', 'italic', 'underline', 'clear']],
["font", ["strikethrough"]], ['font', ['strikethrough']],
["para", ["paragraph"]], ['para', ['paragraph']]
], ]
}); });
} }
if (window.CodeMirror) { if(window.CodeMirror) {
$(".codeeditor").each(function () { $(".codeeditor").each(function() {
let editor = CodeMirror.fromTextArea(this, { let editor = CodeMirror.fromTextArea(this, {
lineNumbers: true, lineNumbers: true,
theme: "duotone-dark", theme: "duotone-dark",
mode: "javascript", mode: 'javascript',
height: 200, height: 200
}); });
editor.setSize("100%", 200); editor.setSize("100%", 200);
}); });
} }
// Follow function // Follow function
$(".follow-btn, .following-btn").each(function () { $('.follow-btn, .following-btn').each(function() {
var me = $(this), var me = $(this),
follow_text = "Follow", follow_text = 'Follow',
unfollow_text = "Following"; unfollow_text = 'Following';
me.click(function () { me.click(function() {
if (me.hasClass("following-btn")) { if(me.hasClass('following-btn')) {
me.removeClass("btn-danger"); me.removeClass('btn-danger');
me.removeClass("following-btn"); me.removeClass('following-btn');
me.addClass("btn-primary"); me.addClass('btn-primary');
me.html(follow_text); me.html(follow_text);
eval(me.data("unfollow-action")); eval(me.data('unfollow-action'));
} else { }else{
me.removeClass("btn-primary"); me.removeClass('btn-primary');
me.addClass("btn-danger"); me.addClass('btn-danger');
me.addClass("following-btn"); me.addClass('following-btn');
me.html(unfollow_text); me.html(unfollow_text);
eval(me.data("follow-action")); eval(me.data('follow-action'));
} }
return false; return false;
}); });
}); });
// Dismiss function // Dismiss function
$("[data-dismiss]").each(function () { $("[data-dismiss]").each(function() {
var me = $(this), var me = $(this),
target = me.data("dismiss"); target = me.data('dismiss');
me.click(function () { me.click(function() {
$(target).fadeOut(function () { $(target).fadeOut(function() {
$(target).remove(); $(target).remove();
}); });
return false; return false;
@ -457,16 +404,16 @@ $(function () {
}); });
// Collapsable // Collapsable
$("[data-collapse]").each(function () { $("[data-collapse]").each(function() {
var me = $(this), var me = $(this),
target = me.data("collapse"); target = me.data('collapse');
me.click(function () { me.click(function() {
$(target).collapse("toggle"); $(target).collapse('toggle');
$(target).on("shown.bs.collapse", function () { $(target).on('shown.bs.collapse', function() {
me.html('<i class="fas fa-minus"></i>'); me.html('<i class="fas fa-minus"></i>');
}); });
$(target).on("hidden.bs.collapse", function () { $(target).on('hidden.bs.collapse', function() {
me.html('<i class="fas fa-plus"></i>'); me.html('<i class="fas fa-plus"></i>');
}); });
return false; return false;
@ -474,166 +421,164 @@ $(function () {
}); });
// Gallery // Gallery
$(".gallery .gallery-item").each(function () { $(".gallery .gallery-item").each(function() {
var me = $(this); var me = $(this);
me.attr("href", me.data("image")); me.attr('href', me.data('image'));
me.attr("title", me.data("title")); me.attr('title', me.data('title'));
if (me.parent().hasClass("gallery-fw")) { if(me.parent().hasClass('gallery-fw')) {
me.css({ me.css({
height: me.parent().data("item-height"), height: me.parent().data('item-height'),
}); });
me.find("div").css({ me.find('div').css({
lineHeight: me.parent().data("item-height") + "px", lineHeight: me.parent().data('item-height') + 'px'
}); });
} }
me.css({ me.css({
backgroundImage: 'url("' + me.data("image") + '")', backgroundImage: 'url("'+ me.data('image') +'")'
}); });
}); });
if (jQuery().Chocolat) { if(jQuery().Chocolat) {
$(".gallery").Chocolat({ $(".gallery").Chocolat({
className: "gallery", className: 'gallery',
imageSelector: ".gallery-item", imageSelector: '.gallery-item',
}); });
} }
// Background // Background
$("[data-background]").each(function () { $("[data-background]").each(function() {
var me = $(this); var me = $(this);
me.css({ me.css({
backgroundImage: "url(" + me.data("background") + ")", backgroundImage: 'url(' + me.data('background') + ')'
}); });
}); });
// Custom Tab // Custom Tab
$("[data-tab]").each(function () { $("[data-tab]").each(function() {
var me = $(this); var me = $(this);
me.click(function () { me.click(function() {
if (!me.hasClass("active")) { if(!me.hasClass('active')) {
var tab_group = $('[data-tab-group="' + me.data("tab") + '"]'), var tab_group = $('[data-tab-group="' + me.data('tab') + '"]'),
tab_group_active = $( tab_group_active = $('[data-tab-group="' + me.data('tab') + '"].active'),
'[data-tab-group="' + me.data("tab") + '"].active' target = $(me.attr('href')),
), links = $('[data-tab="'+me.data('tab') +'"]');
target = $(me.attr("href")),
links = $('[data-tab="' + me.data("tab") + '"]');
links.removeClass("active"); links.removeClass('active');
me.addClass("active"); me.addClass('active');
target.addClass("active"); target.addClass('active');
tab_group_active.removeClass("active"); tab_group_active.removeClass('active');
} }
return false; return false;
}); });
}); });
// Bootstrap 4 Validation // Bootstrap 4 Validation
$(".needs-validation").submit(function () { $(".needs-validation").submit(function() {
var form = $(this); var form = $(this);
if (form[0].checkValidity() === false) { if (form[0].checkValidity() === false) {
event.preventDefault(); event.preventDefault();
event.stopPropagation(); event.stopPropagation();
} }
form.addClass("was-validated"); form.addClass('was-validated');
}); });
// alert dismissible // alert dismissible
$(".alert-dismissible").each(function () { $(".alert-dismissible").each(function() {
var me = $(this); var me = $(this);
me.find(".close").click(function () { me.find('.close').click(function() {
me.alert("close"); me.alert('close');
}); });
}); });
if ($(".main-navbar").length) { if($('.main-navbar').length) {
} }
// Image cropper // Image cropper
$("[data-crop-image]").each(function (e) { $('[data-crop-image]').each(function(e) {
$(this).css({ $(this).css({
overflow: "hidden", overflow: 'hidden',
position: "relative", position: 'relative',
height: $(this).data("crop-image"), height: $(this).data('crop-image')
}); });
}); });
// Slide Toggle // Slide Toggle
$("[data-toggle-slide]").click(function () { $('[data-toggle-slide]').click(function() {
let target = $(this).data("toggle-slide"); let target = $(this).data('toggle-slide');
$(target).slideToggle(); $(target).slideToggle();
return false; return false;
}); });
// Dismiss modal // Dismiss modal
$("[data-dismiss=modal]").click(function () { $("[data-dismiss=modal]").click(function() {
$(this).closest(".modal").modal("hide"); $(this).closest('.modal').modal('hide');
return false; return false;
}); });
// Width attribute // Width attribute
$("[data-width]").each(function () { $('[data-width]').each(function() {
$(this).css({ $(this).css({
width: $(this).data("width"), width: $(this).data('width')
}); });
}); });
// Height attribute // Height attribute
$("[data-height]").each(function () { $('[data-height]').each(function() {
$(this).css({ $(this).css({
height: $(this).data("height"), height: $(this).data('height')
}); });
}); });
// Chocolat // Chocolat
if ($(".chocolat-parent").length && jQuery().Chocolat) { if($('.chocolat-parent').length && jQuery().Chocolat) {
$(".chocolat-parent").Chocolat(); $('.chocolat-parent').Chocolat();
} }
// Sortable card // Sortable card
if ($(".sortable-card").length && jQuery().sortable) { if($('.sortable-card').length && jQuery().sortable) {
$(".sortable-card").sortable({ $('.sortable-card').sortable({
handle: ".card-header", handle: '.card-header',
opacity: 0.8, opacity: .8,
tolerance: "pointer", tolerance: 'pointer'
}); });
} }
// Daterangepicker // Daterangepicker
if (jQuery().daterangepicker) { if(jQuery().daterangepicker) {
if ($(".datepicker").length) { if($(".datepicker").length) {
$(".datepicker").daterangepicker({ $('.datepicker').daterangepicker({
locale: { format: "YYYY-MM-DD" }, locale: {format: 'YYYY-MM-DD'},
singleDatePicker: true, singleDatePicker: true,
}); });
} }
if ($(".datetimepicker").length) { if($(".datetimepicker").length) {
$(".datetimepicker").daterangepicker({ $('.datetimepicker').daterangepicker({
locale: { format: "YYYY-MM-DD hh:mm" }, locale: {format: 'YYYY-MM-DD hh:mm'},
singleDatePicker: true, singleDatePicker: true,
timePicker: true, timePicker: true,
timePicker24Hour: true, timePicker24Hour: true,
}); });
} }
if ($(".daterange").length) { if($(".daterange").length) {
$(".daterange").daterangepicker({ $('.daterange').daterangepicker({
locale: { format: "YYYY-MM-DD" }, locale: {format: 'YYYY-MM-DD'},
drops: "down", drops: 'down',
opens: "right", opens: 'right'
}); });
} }
} }
// Timepicker // Timepicker
if (jQuery().timepicker && $(".timepicker").length) { if(jQuery().timepicker && $(".timepicker").length) {
$(".timepicker").timepicker({ $(".timepicker").timepicker({
icons: { icons: {
up: "fas fa-chevron-up", up: 'fas fa-chevron-up',
down: "fas fa-chevron-down", down: 'fas fa-chevron-down'
}, }
}); });
} }
}); });

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -3,63 +3,49 @@
display: inline-block; display: inline-block;
margin: 0; margin: 0;
position: relative; position: relative;
vertical-align: middle; vertical-align: middle; }
} .select2-container .select2-selection--single {
.select2-container .select2-selection--single {
box-sizing: border-box; box-sizing: border-box;
cursor: pointer; cursor: pointer;
display: block; display: block;
height: 28px; height: 28px;
user-select: none; user-select: none;
-webkit-user-select: none; -webkit-user-select: none; }
} .select2-container .select2-selection--single .select2-selection__rendered {
.select2-container .select2-selection--single .select2-selection__rendered {
display: block; display: block;
padding-left: 8px; padding-left: 8px;
padding-right: 20px; padding-right: 20px;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap; }
} .select2-container .select2-selection--single .select2-selection__clear {
.select2-container .select2-selection--single .select2-selection__clear { position: relative; }
position: relative; .select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered {
}
.select2-container[dir="rtl"]
.select2-selection--single
.select2-selection__rendered {
padding-right: 8px; padding-right: 8px;
padding-left: 20px; padding-left: 20px; }
} .select2-container .select2-selection--multiple {
.select2-container .select2-selection--multiple {
box-sizing: border-box; box-sizing: border-box;
cursor: pointer; cursor: pointer;
display: block; display: block;
min-height: 32px; min-height: 32px;
user-select: none; user-select: none;
-webkit-user-select: none; -webkit-user-select: none; }
} .select2-container .select2-selection--multiple .select2-selection__rendered {
.select2-container .select2-selection--multiple .select2-selection__rendered {
display: inline-block; display: inline-block;
overflow: hidden; overflow: hidden;
padding-left: 8px; padding-left: 8px;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap; }
} .select2-container .select2-search--inline {
.select2-container .select2-search--inline { float: left; }
float: left; .select2-container .select2-search--inline .select2-search__field {
}
.select2-container .select2-search--inline .select2-search__field {
box-sizing: border-box; box-sizing: border-box;
border: none; border: none;
font-size: 100%; font-size: 100%;
margin-top: 5px; margin-top: 5px;
padding: 0; padding: 0; }
} .select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
.select2-container -webkit-appearance: none; }
.select2-search--inline
.select2-search__field::-webkit-search-cancel-button {
-webkit-appearance: none;
}
.select2-dropdown { .select2-dropdown {
background-color: white; background-color: white;
@ -70,59 +56,47 @@
position: absolute; position: absolute;
left: -100000px; left: -100000px;
width: 100%; width: 100%;
z-index: 1051; z-index: 1051; }
}
.select2-results { .select2-results {
display: block; display: block; }
}
.select2-results__options { .select2-results__options {
list-style: none; list-style: none;
margin: 0; margin: 0;
padding: 0; padding: 0; }
}
.select2-results__option { .select2-results__option {
padding: 6px; padding: 6px;
user-select: none; user-select: none;
-webkit-user-select: none; -webkit-user-select: none; }
} .select2-results__option[aria-selected] {
.select2-results__option[aria-selected] { cursor: pointer; }
cursor: pointer;
}
.select2-container--open .select2-dropdown { .select2-container--open .select2-dropdown {
left: 0; left: 0; }
}
.select2-container--open .select2-dropdown--above { .select2-container--open .select2-dropdown--above {
border-bottom: none; border-bottom: none;
border-bottom-left-radius: 0; border-bottom-left-radius: 0;
border-bottom-right-radius: 0; border-bottom-right-radius: 0; }
}
.select2-container--open .select2-dropdown--below { .select2-container--open .select2-dropdown--below {
border-top: none; border-top: none;
border-top-left-radius: 0; border-top-left-radius: 0;
border-top-right-radius: 0; border-top-right-radius: 0; }
}
.select2-search--dropdown { .select2-search--dropdown {
display: block; display: block;
padding: 4px; padding: 4px; }
} .select2-search--dropdown .select2-search__field {
.select2-search--dropdown .select2-search__field {
padding: 4px; padding: 4px;
width: 100%; width: 100%;
box-sizing: border-box; box-sizing: border-box; }
} .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button { -webkit-appearance: none; }
-webkit-appearance: none; .select2-search--dropdown.select2-search--hide {
} display: none; }
.select2-search--dropdown.select2-search--hide {
display: none;
}
.select2-close-mask { .select2-close-mask {
border: 0; border: 0;
@ -139,8 +113,7 @@
opacity: 0; opacity: 0;
z-index: 99; z-index: 99;
background-color: #fff; background-color: #fff;
filter: alpha(opacity=0); filter: alpha(opacity=0); }
}
.select2-hidden-accessible { .select2-hidden-accessible {
border: 0 !important; border: 0 !important;
@ -150,45 +123,28 @@
overflow: hidden !important; overflow: hidden !important;
padding: 0 !important; padding: 0 !important;
position: absolute !important; position: absolute !important;
width: 1px !important; width: 1px !important; }
}
.select2-container--default .select2-selection--single { .select2-container--default .select2-selection--single {
background-color: #fff; background-color: #fff;
border: 1px solid #aaa; border: 1px solid #aaa;
border-radius: 4px; border-radius: 4px; }
} .select2-container--default .select2-selection--single .select2-selection__rendered {
.select2-container--default
.select2-selection--single
.select2-selection__rendered {
color: #444; color: #444;
line-height: 28px; line-height: 28px; }
} .select2-container--default .select2-selection--single .select2-selection__clear {
.select2-container--default
.select2-selection--single
.select2-selection__clear {
cursor: pointer; cursor: pointer;
float: right; float: right;
font-weight: bold; font-weight: bold; }
} .select2-container--default .select2-selection--single .select2-selection__placeholder {
.select2-container--default color: #999; }
.select2-selection--single .select2-container--default .select2-selection--single .select2-selection__arrow {
.select2-selection__placeholder {
color: #999;
}
.select2-container--default
.select2-selection--single
.select2-selection__arrow {
height: 26px; height: 26px;
position: absolute; position: absolute;
top: 1px; top: 1px;
right: 1px; right: 1px;
width: 20px; width: 20px; }
} .select2-container--default .select2-selection--single .select2-selection__arrow b {
.select2-container--default
.select2-selection--single
.select2-selection__arrow
b {
border-color: #888 transparent transparent transparent; border-color: #888 transparent transparent transparent;
border-style: solid; border-style: solid;
border-width: 5px 4px 0 4px; border-width: 5px 4px 0 4px;
@ -198,81 +154,49 @@
margin-top: -2px; margin-top: -2px;
position: absolute; position: absolute;
top: 50%; top: 50%;
width: 0; width: 0; }
}
.select2-container--default[dir="rtl"] .select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear {
.select2-selection--single float: left; }
.select2-selection__clear {
float: left;
}
.select2-container--default[dir="rtl"] .select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow {
.select2-selection--single
.select2-selection__arrow {
left: 1px; left: 1px;
right: auto; right: auto; }
}
.select2-container--default.select2-container--disabled .select2-container--default.select2-container--disabled .select2-selection--single {
.select2-selection--single {
background-color: #eee; background-color: #eee;
cursor: default; cursor: default; }
} .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
.select2-container--default.select2-container--disabled display: none; }
.select2-selection--single
.select2-selection__clear {
display: none;
}
.select2-container--default.select2-container--open .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
.select2-selection--single
.select2-selection__arrow
b {
border-color: transparent transparent #888 transparent; border-color: transparent transparent #888 transparent;
border-width: 0 4px 5px 4px; border-width: 0 4px 5px 4px; }
}
.select2-container--default .select2-selection--multiple { .select2-container--default .select2-selection--multiple {
background-color: white; background-color: white;
border: 1px solid #aaa; border: 1px solid #aaa;
border-radius: 4px; border-radius: 4px;
cursor: text; cursor: text; }
} .select2-container--default .select2-selection--multiple .select2-selection__rendered {
.select2-container--default
.select2-selection--multiple
.select2-selection__rendered {
box-sizing: border-box; box-sizing: border-box;
list-style: none; list-style: none;
margin: 0; margin: 0;
padding: 0 5px; padding: 0 5px;
width: 100%; width: 100%; }
} .select2-container--default .select2-selection--multiple .select2-selection__rendered li {
.select2-container--default list-style: none; }
.select2-selection--multiple .select2-container--default .select2-selection--multiple .select2-selection__placeholder {
.select2-selection__rendered
li {
list-style: none;
}
.select2-container--default
.select2-selection--multiple
.select2-selection__placeholder {
color: #999; color: #999;
margin-top: 5px; margin-top: 5px;
float: left; float: left; }
} .select2-container--default .select2-selection--multiple .select2-selection__clear {
.select2-container--default
.select2-selection--multiple
.select2-selection__clear {
cursor: pointer; cursor: pointer;
float: right; float: right;
font-weight: bold; font-weight: bold;
margin-top: 5px; margin-top: 5px;
margin-right: 10px; margin-right: 10px; }
} .select2-container--default .select2-selection--multiple .select2-selection__choice {
.select2-container--default
.select2-selection--multiple
.select2-selection__choice {
background-color: #e4e4e4; background-color: #e4e4e4;
border: 1px solid #aaa; border: 1px solid #aaa;
border-radius: 4px; border-radius: 4px;
@ -280,177 +204,97 @@
float: left; float: left;
margin-right: 5px; margin-right: 5px;
margin-top: 5px; margin-top: 5px;
padding: 0 5px; padding: 0 5px; }
} .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
.select2-container--default
.select2-selection--multiple
.select2-selection__choice__remove {
color: #999; color: #999;
cursor: pointer; cursor: pointer;
display: inline-block; display: inline-block;
font-weight: bold; font-weight: bold;
margin-right: 2px; margin-right: 2px; }
} .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
.select2-container--default color: #333; }
.select2-selection--multiple
.select2-selection__choice__remove:hover {
color: #333;
}
.select2-container--default[dir="rtl"] .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline {
.select2-selection--multiple float: right; }
.select2-selection__choice,
.select2-container--default[dir="rtl"]
.select2-selection--multiple
.select2-selection__placeholder,
.select2-container--default[dir="rtl"]
.select2-selection--multiple
.select2-search--inline {
float: right;
}
.select2-container--default[dir="rtl"] .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
.select2-selection--multiple
.select2-selection__choice {
margin-left: 5px; margin-left: 5px;
margin-right: auto; margin-right: auto; }
}
.select2-container--default[dir="rtl"] .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
.select2-selection--multiple
.select2-selection__choice__remove {
margin-left: 2px; margin-left: 2px;
margin-right: auto; margin-right: auto; }
}
.select2-container--default.select2-container--focus .select2-container--default.select2-container--focus .select2-selection--multiple {
.select2-selection--multiple {
border: solid black 1px; border: solid black 1px;
outline: 0; outline: 0; }
}
.select2-container--default.select2-container--disabled .select2-container--default.select2-container--disabled .select2-selection--multiple {
.select2-selection--multiple {
background-color: #eee; background-color: #eee;
cursor: default; cursor: default; }
}
.select2-container--default.select2-container--disabled .select2-container--default.select2-container--disabled .select2-selection__choice__remove {
.select2-selection__choice__remove { display: none; }
display: none;
}
.select2-container--default.select2-container--open.select2-container--above .select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple {
.select2-selection--single,
.select2-container--default.select2-container--open.select2-container--above
.select2-selection--multiple {
border-top-left-radius: 0; border-top-left-radius: 0;
border-top-right-radius: 0; border-top-right-radius: 0; }
}
.select2-container--default.select2-container--open.select2-container--below .select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {
.select2-selection--single,
.select2-container--default.select2-container--open.select2-container--below
.select2-selection--multiple {
border-bottom-left-radius: 0; border-bottom-left-radius: 0;
border-bottom-right-radius: 0; border-bottom-right-radius: 0; }
}
.select2-container--default .select2-search--dropdown .select2-search__field { .select2-container--default .select2-search--dropdown .select2-search__field {
border: 1px solid #aaa; border: 1px solid #aaa; }
}
.select2-container--default .select2-search--inline .select2-search__field { .select2-container--default .select2-search--inline .select2-search__field {
background: transparent; background: transparent;
border: none; border: none;
outline: 0; outline: 0;
box-shadow: none; box-shadow: none;
-webkit-appearance: textfield; -webkit-appearance: textfield; }
}
.select2-container--default .select2-results > .select2-results__options { .select2-container--default .select2-results > .select2-results__options {
max-height: 200px; max-height: 200px;
overflow-y: auto; overflow-y: auto; }
}
.select2-container--default .select2-results__option[role="group"] { .select2-container--default .select2-results__option[role=group] {
padding: 0; padding: 0; }
}
.select2-container--default .select2-results__option[aria-disabled="true"] { .select2-container--default .select2-results__option[aria-disabled=true] {
color: #999; color: #999; }
}
.select2-container--default .select2-results__option[aria-selected="true"] { .select2-container--default .select2-results__option[aria-selected=true] {
background-color: #ddd; background-color: #ddd; }
}
.select2-container--default .select2-results__option .select2-results__option { .select2-container--default .select2-results__option .select2-results__option {
padding-left: 1em; padding-left: 1em; }
} .select2-container--default .select2-results__option .select2-results__option .select2-results__group {
.select2-container--default padding-left: 0; }
.select2-results__option .select2-container--default .select2-results__option .select2-results__option .select2-results__option {
.select2-results__option
.select2-results__group {
padding-left: 0;
}
.select2-container--default
.select2-results__option
.select2-results__option
.select2-results__option {
margin-left: -1em; margin-left: -1em;
padding-left: 2em; padding-left: 2em; }
} .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
.select2-container--default
.select2-results__option
.select2-results__option
.select2-results__option
.select2-results__option {
margin-left: -2em; margin-left: -2em;
padding-left: 3em; padding-left: 3em; }
} .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
.select2-container--default
.select2-results__option
.select2-results__option
.select2-results__option
.select2-results__option
.select2-results__option {
margin-left: -3em; margin-left: -3em;
padding-left: 4em; padding-left: 4em; }
} .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
.select2-container--default
.select2-results__option
.select2-results__option
.select2-results__option
.select2-results__option
.select2-results__option
.select2-results__option {
margin-left: -4em; margin-left: -4em;
padding-left: 5em; padding-left: 5em; }
} .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
.select2-container--default
.select2-results__option
.select2-results__option
.select2-results__option
.select2-results__option
.select2-results__option
.select2-results__option
.select2-results__option {
margin-left: -5em; margin-left: -5em;
padding-left: 6em; padding-left: 6em; }
}
.select2-container--default .select2-container--default .select2-results__option--highlighted[aria-selected] {
.select2-results__option--highlighted[aria-selected] {
background-color: #5897fb; background-color: #5897fb;
color: white; color: white; }
}
.select2-container--default .select2-results__group { .select2-container--default .select2-results__group {
cursor: default; cursor: default;
display: block; display: block;
padding: 6px; padding: 6px; }
}
.select2-container--classic .select2-selection--single { .select2-container--classic .select2-selection--single {
background-color: #f7f7f7; background-color: #f7f7f7;
@ -461,33 +305,20 @@
background-image: -o-linear-gradient(top, white 50%, #eeeeee 100%); background-image: -o-linear-gradient(top, white 50%, #eeeeee 100%);
background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%); background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%);
background-repeat: repeat-x; background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }
} .select2-container--classic .select2-selection--single:focus {
.select2-container--classic .select2-selection--single:focus { border: 1px solid #5897fb; }
border: 1px solid #5897fb; .select2-container--classic .select2-selection--single .select2-selection__rendered {
}
.select2-container--classic
.select2-selection--single
.select2-selection__rendered {
color: #444; color: #444;
line-height: 28px; line-height: 28px; }
} .select2-container--classic .select2-selection--single .select2-selection__clear {
.select2-container--classic
.select2-selection--single
.select2-selection__clear {
cursor: pointer; cursor: pointer;
float: right; float: right;
font-weight: bold; font-weight: bold;
margin-right: 10px; margin-right: 10px; }
} .select2-container--classic .select2-selection--single .select2-selection__placeholder {
.select2-container--classic color: #999; }
.select2-selection--single .select2-container--classic .select2-selection--single .select2-selection__arrow {
.select2-selection__placeholder {
color: #999;
}
.select2-container--classic
.select2-selection--single
.select2-selection__arrow {
background-color: #ddd; background-color: #ddd;
border: none; border: none;
border-left: 1px solid #aaa; border-left: 1px solid #aaa;
@ -502,12 +333,8 @@
background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%); background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%); background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%);
background-repeat: repeat-x; background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); }
} .select2-container--classic .select2-selection--single .select2-selection__arrow b {
.select2-container--classic
.select2-selection--single
.select2-selection__arrow
b {
border-color: #888 transparent transparent transparent; border-color: #888 transparent transparent transparent;
border-style: solid; border-style: solid;
border-width: 5px 4px 0 4px; border-width: 5px 4px 0 4px;
@ -517,46 +344,30 @@
margin-top: -2px; margin-top: -2px;
position: absolute; position: absolute;
top: 50%; top: 50%;
width: 0; width: 0; }
}
.select2-container--classic[dir="rtl"] .select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear {
.select2-selection--single float: left; }
.select2-selection__clear {
float: left;
}
.select2-container--classic[dir="rtl"] .select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow {
.select2-selection--single
.select2-selection__arrow {
border: none; border: none;
border-right: 1px solid #aaa; border-right: 1px solid #aaa;
border-radius: 0; border-radius: 0;
border-top-left-radius: 4px; border-top-left-radius: 4px;
border-bottom-left-radius: 4px; border-bottom-left-radius: 4px;
left: 1px; left: 1px;
right: auto; right: auto; }
}
.select2-container--classic.select2-container--open .select2-selection--single { .select2-container--classic.select2-container--open .select2-selection--single {
border: 1px solid #5897fb; border: 1px solid #5897fb; }
} .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow {
.select2-container--classic.select2-container--open
.select2-selection--single
.select2-selection__arrow {
background: transparent; background: transparent;
border: none; border: none; }
} .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b {
.select2-container--classic.select2-container--open
.select2-selection--single
.select2-selection__arrow
b {
border-color: transparent transparent #888 transparent; border-color: transparent transparent #888 transparent;
border-width: 0 4px 5px 4px; border-width: 0 4px 5px 4px; }
}
.select2-container--classic.select2-container--open.select2-container--above .select2-container--classic.select2-container--open.select2-container--above .select2-selection--single {
.select2-selection--single {
border-top: none; border-top: none;
border-top-left-radius: 0; border-top-left-radius: 0;
border-top-right-radius: 0; border-top-right-radius: 0;
@ -564,11 +375,9 @@
background-image: -o-linear-gradient(top, white 0%, #eeeeee 50%); background-image: -o-linear-gradient(top, white 0%, #eeeeee 50%);
background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%); background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%);
background-repeat: repeat-x; background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }
}
.select2-container--classic.select2-container--open.select2-container--below .select2-container--classic.select2-container--open.select2-container--below .select2-selection--single {
.select2-selection--single {
border-bottom: none; border-bottom: none;
border-bottom-left-radius: 0; border-bottom-left-radius: 0;
border-bottom-right-radius: 0; border-bottom-right-radius: 0;
@ -576,34 +385,23 @@
background-image: -o-linear-gradient(top, #eeeeee 50%, white 100%); background-image: -o-linear-gradient(top, #eeeeee 50%, white 100%);
background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%); background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%);
background-repeat: repeat-x; background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); }
}
.select2-container--classic .select2-selection--multiple { .select2-container--classic .select2-selection--multiple {
background-color: white; background-color: white;
border: 1px solid #aaa; border: 1px solid #aaa;
border-radius: 4px; border-radius: 4px;
cursor: text; cursor: text;
outline: 0; outline: 0; }
} .select2-container--classic .select2-selection--multiple:focus {
.select2-container--classic .select2-selection--multiple:focus { border: 1px solid #5897fb; }
border: 1px solid #5897fb; .select2-container--classic .select2-selection--multiple .select2-selection__rendered {
}
.select2-container--classic
.select2-selection--multiple
.select2-selection__rendered {
list-style: none; list-style: none;
margin: 0; margin: 0;
padding: 0 5px; padding: 0 5px; }
} .select2-container--classic .select2-selection--multiple .select2-selection__clear {
.select2-container--classic display: none; }
.select2-selection--multiple .select2-container--classic .select2-selection--multiple .select2-selection__choice {
.select2-selection__clear {
display: none;
}
.select2-container--classic
.select2-selection--multiple
.select2-selection__choice {
background-color: #e4e4e4; background-color: #e4e4e4;
border: 1px solid #aaa; border: 1px solid #aaa;
border-radius: 4px; border-radius: 4px;
@ -611,110 +409,76 @@
float: left; float: left;
margin-right: 5px; margin-right: 5px;
margin-top: 5px; margin-top: 5px;
padding: 0 5px; padding: 0 5px; }
} .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove {
.select2-container--classic
.select2-selection--multiple
.select2-selection__choice__remove {
color: #888; color: #888;
cursor: pointer; cursor: pointer;
display: inline-block; display: inline-block;
font-weight: bold; font-weight: bold;
margin-right: 2px; margin-right: 2px; }
} .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover {
.select2-container--classic color: #555; }
.select2-selection--multiple
.select2-selection__choice__remove:hover {
color: #555;
}
.select2-container--classic[dir="rtl"] .select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
.select2-selection--multiple float: right; }
.select2-selection__choice {
float: right;
}
.select2-container--classic[dir="rtl"] .select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
.select2-selection--multiple
.select2-selection__choice {
margin-left: 5px; margin-left: 5px;
margin-right: auto; margin-right: auto; }
}
.select2-container--classic[dir="rtl"] .select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
.select2-selection--multiple
.select2-selection__choice__remove {
margin-left: 2px; margin-left: 2px;
margin-right: auto; margin-right: auto; }
}
.select2-container--classic.select2-container--open .select2-container--classic.select2-container--open .select2-selection--multiple {
.select2-selection--multiple { border: 1px solid #5897fb; }
border: 1px solid #5897fb;
}
.select2-container--classic.select2-container--open.select2-container--above .select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple {
.select2-selection--multiple {
border-top: none; border-top: none;
border-top-left-radius: 0; border-top-left-radius: 0;
border-top-right-radius: 0; border-top-right-radius: 0; }
}
.select2-container--classic.select2-container--open.select2-container--below .select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple {
.select2-selection--multiple {
border-bottom: none; border-bottom: none;
border-bottom-left-radius: 0; border-bottom-left-radius: 0;
border-bottom-right-radius: 0; border-bottom-right-radius: 0; }
}
.select2-container--classic .select2-search--dropdown .select2-search__field { .select2-container--classic .select2-search--dropdown .select2-search__field {
border: 1px solid #aaa; border: 1px solid #aaa;
outline: 0; outline: 0; }
}
.select2-container--classic .select2-search--inline .select2-search__field { .select2-container--classic .select2-search--inline .select2-search__field {
outline: 0; outline: 0;
box-shadow: none; box-shadow: none; }
}
.select2-container--classic .select2-dropdown { .select2-container--classic .select2-dropdown {
background-color: white; background-color: white;
border: 1px solid transparent; border: 1px solid transparent; }
}
.select2-container--classic .select2-dropdown--above { .select2-container--classic .select2-dropdown--above {
border-bottom: none; border-bottom: none; }
}
.select2-container--classic .select2-dropdown--below { .select2-container--classic .select2-dropdown--below {
border-top: none; border-top: none; }
}
.select2-container--classic .select2-results > .select2-results__options { .select2-container--classic .select2-results > .select2-results__options {
max-height: 200px; max-height: 200px;
overflow-y: auto; overflow-y: auto; }
}
.select2-container--classic .select2-results__option[role="group"] { .select2-container--classic .select2-results__option[role=group] {
padding: 0; padding: 0; }
}
.select2-container--classic .select2-results__option[aria-disabled="true"] { .select2-container--classic .select2-results__option[aria-disabled=true] {
color: grey; color: grey; }
}
.select2-container--classic .select2-container--classic .select2-results__option--highlighted[aria-selected] {
.select2-results__option--highlighted[aria-selected] {
background-color: #3875d7; background-color: #3875d7;
color: white; color: white; }
}
.select2-container--classic .select2-results__group { .select2-container--classic .select2-results__group {
cursor: default; cursor: default;
display: block; display: block;
padding: 6px; padding: 6px; }
}
.select2-container--classic.select2-container--open .select2-dropdown { .select2-container--classic.select2-container--open .select2-dropdown {
border-color: #5897fb; border-color: #5897fb; }
}

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 226 KiB

View File

@ -8,7 +8,7 @@
<div class="card card-statistic-2"> <div class="card card-statistic-2">
<div class="card-stats"> <div class="card-stats">
<div class="card-stats-title">List Transaction - <div class="card-stats-title">List Transaction -
{{-- <div class="dropdown d-inline"> <div class="dropdown d-inline">
<a class="font-weight-600 dropdown-toggle" data-toggle="dropdown" href="#" <a class="font-weight-600 dropdown-toggle" data-toggle="dropdown" href="#"
id="orders-month">August</a> id="orders-month">August</a>
<ul class="dropdown-menu dropdown-menu-sm"> <ul class="dropdown-menu dropdown-menu-sm">
@ -26,7 +26,7 @@
<li><a href="#" class="dropdown-item">November</a></li> <li><a href="#" class="dropdown-item">November</a></li>
<li><a href="#" class="dropdown-item">December</a></li> <li><a href="#" class="dropdown-item">December</a></li>
</ul> </ul>
</div> --}} </div>
</div> </div>
<div class="card-stats-items"> <div class="card-stats-items">
<div class="card-stats-item"> <div class="card-stats-item">
@ -41,10 +41,6 @@
<div class="card-stats-item-count">23</div> <div class="card-stats-item-count">23</div>
<div class="card-stats-item-label">Canceled</div> <div class="card-stats-item-label">Canceled</div>
</div> </div>
<div class="card-stats-item">
<div class="card-stats-item-count">23</div>
<div class="card-stats-item-label">Refund</div>
</div>
</div> </div>
</div> </div>
<div class="card-icon shadow-primary bg-primary"> <div class="card-icon shadow-primary bg-primary">
@ -174,7 +170,8 @@
<div class="card-header"> <div class="card-header">
<h4>Top 5 Users</h4> <h4>Top 5 Users</h4>
<div class="card-header-action dropdown"> <div class="card-header-action dropdown">
<a href="#" data-toggle="dropdown" class="btn btn-primary dropdown-toggle">Month</a> <a href="#" data-toggle="dropdown"
class="btn btn-primary dropdown-toggle">Month</a>
<ul class="dropdown-menu dropdown-menu-sm dropdown-menu-right"> <ul class="dropdown-menu dropdown-menu-sm dropdown-menu-right">
<li class="dropdown-title">Select Period</li> <li class="dropdown-title">Select Period</li>
<li><a href="#" class="dropdown-item">Today</a></li> <li><a href="#" class="dropdown-item">Today</a></li>
@ -187,8 +184,8 @@
<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" <img class="mr-3 rounded" width="55" src="{{asset('assets/img/avatar/avatar-6.png')}}"
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">
<div class="font-weight-600 text-muted text-small">86 Sales</div> <div class="font-weight-600 text-muted text-small">86 Sales</div>
@ -207,8 +204,8 @@
</div> </div>
</li> </li>
<li class="media"> <li class="media">
<img class="mr-3 rounded" width="55" <img class="mr-3 rounded" width="55" src="{{asset('assets/img/avatar/avatar-1.png')}}"
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">
<div class="font-weight-600 text-muted text-small">67 Sales</div> <div class="font-weight-600 text-muted text-small">67 Sales</div>
@ -227,8 +224,8 @@
</div> </div>
</li> </li>
<li class="media"> <li class="media">
<img class="mr-3 rounded" width="55" <img class="mr-3 rounded" width="55" src="{{asset('assets/img/avatar/avatar-2.png')}}"
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">
<div class="font-weight-600 text-muted text-small">63 Sales</div> <div class="font-weight-600 text-muted text-small">63 Sales</div>
@ -247,8 +244,8 @@
</div> </div>
</li> </li>
<li class="media"> <li class="media">
<img class="mr-3 rounded" width="55" <img class="mr-3 rounded" width="55" src="{{asset('assets/img/avatar/avatar-3.png')}}"
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">
<div class="font-weight-600 text-muted text-small">28 Sales</div> <div class="font-weight-600 text-muted text-small">28 Sales</div>
@ -267,8 +264,8 @@
</div> </div>
</li> </li>
<li class="media"> <li class="media">
<img class="mr-3 rounded" width="55" <img class="mr-3 rounded" width="55" src="{{asset('assets/img/avatar/avatar-4.png')}}"
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">
<div class="font-weight-600 text-muted text-small">19 Sales</div> <div class="font-weight-600 text-muted text-small">19 Sales</div>
@ -376,48 +373,6 @@
</div> </div>
@include('admin.transaction.modal-tracking') @include('admin.transaction.modal-tracking')
<script> <script>
// Date picker range
$(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')],
}
});
});
// Set new default font family and font color to mimic Bootstrap's default styling // Set new default font family and font color to mimic Bootstrap's default styling
Chart.defaults.global.defaultFontFamily = 'Nunito', Chart.defaults.global.defaultFontFamily = 'Nunito',
'-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif'; '-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif';
@ -427,12 +382,10 @@
var myChart = new Chart(ctx, { var myChart = new Chart(ctx, {
type: 'line', type: 'line',
data: { data: {
labels: ["January", "February", "March", "April", "May", "June", "July", "August", "September", labels: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "Oktober", "November", "December"],
"Oktober", "November", "December"
],
datasets: [{ datasets: [{
label: 'Transaction', label: 'Transaction',
data: {{json_encode($dataChartTransaction)}}, data: [3200, 18009, 4305, 3022, 6310, 5120, 5880, 6154, 0],
borderWidth: 2, borderWidth: 2,
backgroundColor: 'rgba(63,82,227,.8)', backgroundColor: 'rgba(63,82,227,.8)',
borderWidth: 0, borderWidth: 0,
@ -457,12 +410,12 @@
] ]
}, },
options: { options: {
layout: { layout:{
padding: 20, padding: 20,
}, },
legend: { legend: {
display: true, display: true,
labels: { labels:{
padding: 20, padding: 20,
} }
}, },
@ -475,7 +428,7 @@
}, },
ticks: { ticks: {
beginAtZero: true, beginAtZero: true,
stepSize: 15000000, stepSize: 15000,
callback: function(value, index, values) { callback: function(value, index, values) {
// return 'Rp.' + value; // return 'Rp.' + value;
return new Intl.NumberFormat('id-ID', { return new Intl.NumberFormat('id-ID', {

View File

@ -1,6 +1,6 @@
<footer class="main-footer"> <footer class="main-footer">
<div class="footer-left"> <div class="footer-left">
Copysright &copy; 2020 <div class="bullet"></div> Design By <a href="#">Template</a> Copyright &copy; 2020 <div class="bullet"></div> Design By <a href="#">Template</a>
</div> </div>
<div class="footer-right"> <div class="footer-right">

View File

@ -19,8 +19,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="{{ asset('assets/img/avatar/avatar-1.png') }}" <img alt="image" src="{{asset('assets/img/avatar/avatar-1.png')}}" class="rounded-circle">
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">
@ -31,8 +30,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="{{ asset('assets/img/avatar/avatar-2.png') }}" <img alt="image" src="{{asset('assets/img/avatar/avatar-2.png')}}" class="rounded-circle">
class="rounded-circle">
</div> </div>
<div class="dropdown-item-desc"> <div class="dropdown-item-desc">
<b>Dedik Sugiharto</b> <b>Dedik Sugiharto</b>
@ -42,8 +40,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="{{ asset('assets/img/avatar/avatar-3.png') }}" <img alt="image" src="{{asset('assets/img/avatar/avatar-3.png')}}" class="rounded-circle">
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">
@ -54,8 +51,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="{{ asset('assets/img/avatar/avatar-4.png') }}" <img alt="image" src="{{asset('assets/img/avatar/avatar-4.png')}}" class="rounded-circle">
class="rounded-circle">
</div> </div>
<div class="dropdown-item-desc"> <div class="dropdown-item-desc">
<b>Ardian Rahardiansyah</b> <b>Ardian Rahardiansyah</b>
@ -65,8 +61,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="{{ asset('assets/img/avatar/avatar-5.png') }}" <img alt="image" src="{{asset('assets/img/avatar/avatar-5.png')}}" class="rounded-circle">
class="rounded-circle">
</div> </div>
<div class="dropdown-item-desc"> <div class="dropdown-item-desc">
<b>Alfa Zulkarnain</b> <b>Alfa Zulkarnain</b>
@ -142,7 +137,7 @@
</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/ok.jpg') }}" 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, {{ Auth::user()->nama_depan }}</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">
@ -157,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="{{ route('logout') }}" 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

@ -31,29 +31,6 @@
font-style: italic; font-style: italic;
} }
</style> </style>
<<<<<<< HEAD
<meta charset="UTF-8">
<meta content="width=device-width, initial-scale=1, maximum-scale=1, shrink-to-fit=no" name="viewport">
<title>REKBER</title>
<!-- General CSS Files -->
<link rel="stylesheet" href="assets/modules/bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" href="assets/modules/fontawesome/css/all.min.css">
<!-- CSS Libraries -->
<link rel="stylesheet" href="assets/modules/jqvmap/dist/jqvmap.min.css">
<link rel="stylesheet" href="assets/modules/summernote/summernote-bs4.css">
<link rel="stylesheet" href="assets/modules/owlcarousel2/dist/assets/owl.carousel.min.css">
<link rel="stylesheet" href="assets/modules/owlcarousel2/dist/assets/owl.theme.default.min.css">
<!-- Template CSS -->
<link rel="stylesheet" href="assets/css/style.css">
<link rel="stylesheet" href="assets/css/components.css">
<!-- Start GA -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-94034622-3"></script>
=======
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta content="width=device-width, initial-scale=1, maximum-scale=1, shrink-to-fit=no" name="viewport"> <meta content="width=device-width, initial-scale=1, maximum-scale=1, shrink-to-fit=no" name="viewport">
<meta name="csrf-token" content="{{ csrf_token() }}"> <meta name="csrf-token" content="{{ csrf_token() }}">
@ -79,7 +56,6 @@
<link rel="stylesheet" href="{{ asset('assets/modules/datatables/Select-1.2.4/css/select.bootstrap4.min.css') }}"> <link rel="stylesheet" href="{{ asset('assets/modules/datatables/Select-1.2.4/css/select.bootstrap4.min.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>
>>>>>>> 5f01f0d124f30816c3c08e664df3a9b62a2847ab
<script> <script>
window.dataLayer = window.dataLayer || []; window.dataLayer = window.dataLayer || [];
@ -91,56 +67,21 @@
gtag('config', 'UA-94034622-3'); gtag('config', 'UA-94034622-3');
<<<<<<< HEAD <<<<<<< HEAD
</script> </script>
<!-- /END GA --> <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
======= =======
</script> --}} </script> --}}
<!-- /END GA --> <!-- /END GA -->
{{-- JS --}} {{-- JS --}}
>>>>>>> c6e7e74f2a6981b808e6ad8dc9499362fdf9f043
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="{{ asset('assets/modules/chart.min.js') }}"></script> <script src="{{ asset('assets/modules/chart.min.js') }}"></script>
>>>>>>> 5f01f0d124f30816c3c08e664df3a9b62a2847ab
</head> </head>
<body> <body>
<header class="header-area header-sticky"> <header class="header-area header-sticky">
<<<<<<< HEAD
@include('Admin.layout.header')
</header>
<!-- ***** Main Banner Area Start ***** -->
<main id="main" style="min-height: 100vh;">
@include('Admin.layout.sidebar')
@yield('content')
</main>
<!-- End #main -->
<footer id="footer">
@include('Admin.layout.footer')
</footer>
<!-- General JS Scripts -->
<script src="assets/modules/jquery.min.js"></script>
<script src="assets/modules/popper.js"></script>
<script src="assets/modules/tooltip.js"></script>
<script src="assets/modules/bootstrap/js/bootstrap.min.js"></script>
<script src="assets/modules/nicescroll/jquery.nicescroll.min.js"></script>
<script src="assets/modules/moment.min.js"></script>
<script src="assets/js/stisla.js"></script>
<!-- JS Libraies -->
<script src="assets/modules/jquery.sparkline.min.js"></script>
<script src="assets/modules/chart.min.js"></script>
<script src="assets/modules/owlcarousel2/dist/owl.carousel.min.js"></script>
<script src="assets/modules/summernote/summernote-bs4.js"></script>
<script src="assets/modules/chocolat/dist/js/jquery.chocolat.min.js"></script>
<!-- Page Specific JS File -->
<script src="assets/js/page/index.js"></script>
<!-- Template JS File -->
<script src="assets/js/scripts.js"></script>
<script src="assets/js/custom.js"></script>
=======
@include('admin.layout.header') @include('admin.layout.header')
</header> </header>
@ -155,6 +96,48 @@
<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>
@ -201,8 +184,71 @@
}); });
}); });
</script> </script>
<script>
document.addEventListener('DOMContentLoaded', function() {
const toggleSwitches = document.querySelectorAll('.switch input[type="checkbox"]');
toggleSwitches.forEach(toggleSwitch => {
toggleSwitch.addEventListener('change', function() {
const parentRow = toggleSwitch.closest('tr');
const statusBadge = parentRow.querySelector('.badge');
const onText = toggleSwitch.nextElementSibling.getAttribute('data-on-text');
const offText = toggleSwitch.nextElementSibling.getAttribute('data-off-text');
if (toggleSwitch.checked) {
statusBadge.textContent = onText === 'Yes' ? 'Active' : 'Non Active';
statusBadge.classList.remove('badge-danger');
statusBadge.classList.add('badge-success');
} else {
statusBadge.textContent = offText === 'No' ? 'Non Active' : 'Active';
statusBadge.classList.remove('badge-success');
statusBadge.classList.add('badge-danger');
}
});
});
});
</script>
<script src="/assets/modules/sweetalert/sweetalert.min.js"></script>
<!-- Page Specific JS File -->
<script src="/assets/js/page/modules-sweetalert.js"></script>
{{-- <script>
document.addEventListener('DOMContentLoaded', function() {
const swalWithBootstrapButtons = Swal.mixin({
customClass: {
confirmButton: 'btn btn-success',
cancelButton: 'btn btn-danger'
},
buttonsStyling: false
});
const swalButton = document.getElementById('Swal');
swalButton.addEventListener('click', function() {
swalWithBootstrapButtons.fire({
title: 'Are you sure?',
text: "You won't be able to revert this!",
icon: 'warning',
showCancelButton: true,
confirmButtonText: 'Yes, delete it!',
cancelButtonText: 'No, cancel!',
reverseButtons: true
}).then((result) => {
if (result.isConfirmed) {
swalWithBootstrapButtons.fire(
'Deleted!',
'Your file has been deleted.',
'success'
);
} else if (
result.dismiss === Swal.DismissReason.cancel
) {
swalWithBootstrapButtons.fire(
'Cancelled',
'Your imaginary file is safe :)',
'error'
);
}
});
});
});
</script> --}}
>>>>>>> 5f01f0d124f30816c3c08e664df3a9b62a2847ab
</body> </body>
</html> </html>

View File

@ -1,37 +1,24 @@
<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('admin.index') }}"><i class="fas fa-fire"></i>
<li><a class="nav-link active" href="/"><i class="fas fa-fire"></i> <span>Dashboard</span></a></li> <span>Dashboard</span></a></li>
<li class="menu-header">Starter</li> <li class="menu-header">Starter</li>
<li><a class="nav-link" href="/list_user"><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>
<li><a class="nav-link" href="/history_transaction"><i <span>User</span></a></li>
<li><a class="nav-link" href="{{ route('admin-transaction.index') }}"><i
class="fas fa-columns"></i><span>Transaction</span></a></li> class="fas fa-columns"></i><span>Transaction</span></a></li>
{{-- <li class="dropdown"> <li><a class="nav-link" href="{{ route('admin-refund.index') }}"><i class="far fa-square"></i> <span>List
<a href="#" class="nav-link has-dropdown" data-toggle="dropdown"><i class="fas fa-columns"></i> Refund</span></a>
<span>Transaction</span></a>
<ul class="dropdown-menu">
<li><a class="nav-link" href="/list_transaction">List Transaction</a></li>
<li><a class="nav-link" href="/history_transaction">History Transaction</a></li>
</ul>
</li> --}}
<li><a class="nav-link" href="/history_refund"><i class="far fa-square"></i> <span>List Refund</span></a>
</li> </li>
<li><a class="nav-link" href="/setting"><i class="fas fa-cog"></i> <span>Setting</span></a></li>
</ul> </ul>
{{-- <div class="mt-4 mb-4 p-3 hide-sidebar-mini">
<a href="https://getstisla.com/docs" class="btn btn-primary btn-lg btn-block btn-icon-split">
<i class="fas fa-rocket"></i> Documentation
</a>
</div> --}}
</aside> </aside>
</div> </div>

View File

@ -1,110 +1,160 @@
@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 profile"> <div class="section-header">
<div class="row"> <h1>Profile</h1>
<div class="col-xl-4"> </div>
<div class="col-12">
<div class="card"> <div class="card">
<div class="card-body profile-card pt-4 d-flex flex-column align-items-center"> <div class="card-head">
<img src="/assets/img/avatar/avatar-6.png" alt="Profile" <img id="card_head" src="/assets/images/sampul.jpg"></img>
class="rounded-circle profile-img-preview shadow"
style="max-width: 150px; max-height: 150px;">
{{-- <h2>{{ Auth::user()->get_name() }}</h2> --}}
<h3>Super-Admin</h3>
<div class="card-footer text-center">
<a href="#" class="btn btn-social-icon btn-facebook mr-1">
<i class="fab fa-facebook-f"></i>
</a>
<a href="#" class="btn btn-social-icon btn-twitter mr-1">
<i class="fab fa-twitter"></i>
</a>
<a href="#" class="btn btn-social-icon btn-github mr-1">
<i class="fab fa-github"></i>
</a>
<a href="#" class="btn btn-social-icon btn-instagram">
<i class="fab fa-instagram"></i>
</a>
</div> </div>
</div> <div class="image-crop">
</div> <img id="avatar" src="/assets/images/dashboard/img_1.jpg"></img>
</div> </div><br>
<div class="col-xl-8">
<div class="card">
<div class="card-body pt-3">
<!-- Bordered Tabs -->
<ul class="nav nav-tabs nav-tabs-bordered">
<li class="nav-item">
<button class="nav-link active" data-bs-toggle="tab"
data-bs-target="#profile-overview">Overview</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="font-weight-italic justified-text">Lorem, ipsum dolor sit amet consectetur
adipisicing
elit. Ipsum
aspernatur recusandae sapiente praesentium laboriosam reiciendis unde, tempora,
veniam
asperiores vel omnis ratione corrupti consequatur officia laudantium commodi
enim, eum
officiis. In earum non vero facere, obcaecati, repudiandae eaque dignissimos ut
iure
tempora libero ea. Omnis eius sit neque aliquam, sequi corrupti soluta itaque
laborum
non qui nisi nobis dicta, aperiam corporis voluptates! Ad dolore ipsam quo
molestias
neque consectetur at ipsa perspiciatis. Unde non possimus voluptas a, minus
voluptatem
iure inventore fugiat officia iste vitae beatae odit architecto laborum amet
voluptates
dolorum ut perspiciatis nulla nihil odio! Consequuntur, neque delectus!</p>
<h5 class="card-title">Profile Details</h5>
<div class="row"> <div class="row">
<div class="col-lg-3 col-md-4 label ">ID Number</div> <div class="col-lg-12">
<div class="col-lg-9 col-md-8">94894893848</div>
</div>
<div class="row"> <div class="row">
<div class="col-lg-3 col-md-4 label ">Full Name</div> <div class="col-md-6">
<div class="col-lg-9 col-md-8">JIlhan Haura</div> <div>
<strong style="font-size: 30px; color: black;"><b>Tsalsabila Jilhan
Haura</b></strong><br>
Super Admin<br>
</div>
</div>
<div class="col-md my-3">
<div>
<div class="row justify-content-end row-divider">
<div class="col-1"><i class="fas fa-id-card" style="font-size: 20px;"></i>
</div>
<div class="col-lg-9 col-md-8" style="font-size: 15px;">94894893848</div>
</div>
<div class="row justify-content-end row-divider">
<div class="col-1"><i class="fas fa-user" style="font-size:20px"></i></div>
<div class="col-lg-9 col-md-8" style="font-size: 15px">jilhan Haura</div>
</div>
<div class="row justify-content-end row-divider">
<div class="col-1"><i class="fas fa-user-tag" style="font-size:20px"></i>
</div>
<div class="col-lg-9 col-md-8" style="font-size: 15px">Super Admin</div>
</div>
<div class="row justify-content-end row-divider">
<div class="col-1"><i class="fas fa-map-marker-alt" style="font-size:20px"></i>
</div>
<div class="col-lg-9 col-md-8" style="font-size: 15px">Jl simpang komplek
polda
</div>
</div>
<div class="row justify-content-end row-divider">
<div class="col-1"><i class="fas fa-phone" style="font-size:20px"></i>
</div>
<div class="col-lg-9 col-md-8" style="font-size: 15px">+62 1209 0120 02
</div>
</div>
<div class="row justify-content-end row-divider">
<div class="col-1"><i class="fas fa-envelope" style="font-size:20px"></i>
</div>
<div class="col-lg-9 col-md-8" style="font-size: 15px">jilhan@gmail.com
</div>
</div> </div>
<div class="row">
<div class="col-lg-3 col-md-4 label">Role</div>
<div class="col-lg-9 col-md-8">
Super-Admin
</div> </div>
</div> </div>
<div class="row"> <div class="text-center">
<div class="col-lg-3 col-md-4 label">Address</div> <button type="submit" class="btn btn-primary">Save Changes</button>
<div class="col-lg-9 col-md-8">Jl simpang komplek polda</div>
</div>
<div class="row">
<div class="col-lg-3 col-md-4 label">Phone</div>
<div class="col-lg-9 col-md-8">0345893853</div>
</div>
<div class="row">
<div class="col-lg-3 col-md-4 label">Email</div>
<div class="col-lg-9 col-md-8">jilhanhaura07@gmail.com</div>
</div> </div>
</form><!-- End settings Form -->
</div> </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 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 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><!-- End Bordered Tabs -->
</div> </div>
</div> </div>
</section>
</div> </div>
</div> {{-- profile --}}
</div> <script>
@endsection 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

View File

@ -1,4 +1,5 @@
@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">
@ -13,38 +14,53 @@
</div> </div>
<div class="col-md-12"> <div class="col-md-12">
<div class="card"> <div class="card">
{{-- <div class="card-header">
<h2>Detail Refund</h2>
</div> --}}
@foreach ($detail_refund as $DetailRefund) @foreach ($detail_refund as $DetailRefund)
<div class="card-body p-0"> <div class="card-body p-0">
<div class="container"> <div class="container">
<p><strong>Image/Video: </strong></p> <p><strong>Image/Video</strong></p>
<img src="assets/images/dashboard/img_2.jpg" alt="Return Image" width="300"> <img src="assets/images/dashboard/img_2.jpg" alt="Return Image" width="300">
<img src="assets/images/dashboard/img_3.jpg" alt="Return Image" width="300"> <img src="assets/images/dashboard/img_3.jpg" alt="Return Image" width="300">
<img src="assets/images/dashboard/img_4.jpg" alt="Return Image" width="300"><br><br> <img src="assets/images/dashboard/img_4.jpg" alt="Return Image" width="300">
<p><strong>ID Order:</strong> {{ $DetailRefund['orderId'] }}</p> <br><br>
<p><strong>Customer Name:</strong> {{ $DetailRefund['customer'] }}</p> <div class="row">
<p><strong>Seller Name:</strong> {{ $DetailRefund['seller'] }}</p> <div class="col-2"><strong>ID Order</strong></div>
<p><strong>Total:</strong> {{ $DetailRefund['total'] }}</p> <div class="col">: {{ $DetailRefund['orderId'] }}</div>
<p><strong>Due Date:</strong> {{ $DetailRefund['date'] }}</p> </div><br>
<p class="justified-text"><strong>Reason Complaint:</strong> <div class="row">
{{ $DetailRefund['complaint'] }}</p> <div class="col-2"><strong>Customer Name</strong></div>
<div class="col">: {{ $DetailRefund['customer'] }}</div>
</div><br>
<div class="row">
<div class="col-2"><strong>Seller Name</strong></div>
<div class="col">: {{ $DetailRefund['seller'] }}</div>
</div><br>
<div class="row">
<div class="col-2"><strong>Total</strong></div>
<div class="col">: {{ $DetailRefund['total'] }}</div>
</div><br>
<div class="row">
<div class="col-2"><strong>Due Date</strong></div>
<div class="col">: {{ $DetailRefund['date'] }}</div>
</div><br>
<div class="row">
<div class="col-2"><strong>Reason Complaint</strong></div>
<div class="col justified-text">: {{ $DetailRefund['complaint'] }}</div>
</div>
<div class="d-flex justify-content-center"> <div class="d-flex justify-content-center mt-3">
<a href="#" data-toggle="modal" data-target="#ModalRefund" <a href="#" data-toggle="modal" data-target="#ModalRefund"
class="btn btn-primary mx-1">Accept</a> class="btn btn-primary mx-1">Accept</a>
<a href="/history_refund" class="btn btn-danger mx-1">Decline</a> <a href="/history_refund" class="btn btn-danger mx-1">Decline</a>
</div> </div>
</div>
</div><br> <br>
</div> </div>
@endforeach @endforeach
</div> </div>
</div> </div>
</section> </section>
</div> </div>
@include('Admin.refund.next-detail-refund') @include('admin.refund.modal-next-detail-refund')
@endsection @endsection

View File

@ -1,105 +0,0 @@
@extends('Admin.layout.main')
@section('content')
<div class="main-content">
<section class="section">
<div class="section-header">
<h1>History Refund</h1>
<div class="section-header-breadcrumb">
<div class="breadcrumb-item active"><a href="#">Dashboard</a></div>
<div class="breadcrumb-item">Refund</div>
<div class="breadcrumb-item">History</div>
</div>
</div>
<div class="col-md-12">
<div class="card">
{{-- <div class="card-header">
<h2>History Refund</h2>
</div> --}}
<div class="d-flex justify-content-between align-items-center p-4">
<div class="d-flex align-items-center">
<span class="mb-0 ml-2">Show:</span>
<select class="form-select ml-2">
<option>10</option>
<option>25</option>
<option>50</option>
<option>100</option>
</select>
<span class="ml-2">entries</span>
</div>
<div class="float-right">
<form>
<div class="input-group">
<input type="text" class="form-control" placeholder="Search">
<div class="input-group-append">
<button class="btn btn-primary"><i class="fas fa-search"></i></button>
</div>
</div>
</form>
</div>
</div>
<div class="card-body">
<div class="table-responsive">
<table class="table table-bordered table-md">
<tr>
<th>Order ID</th>
<th>Customer</th>
<th>Seller</th>
<th>Total</th>
<th>Due Date</th>
<th>Status</th>
<th>Action</th>
</tr>
@foreach ($history_refund as $HistoryRefund)
<tr>
<td class="font-weight-600">{{ $HistoryRefund['orderId'] }}</a></td>
<td class="font-weight-600">{{ $HistoryRefund['customer'] }}</td>
<td class="font-weight-600">{{ $HistoryRefund['seller'] }}</td>
<td class="font-weight-600">{{ $HistoryRefund['total'] }}</td>
<td>{{ $HistoryRefund['date'] }}</td>
<td>
<div class="badge badge-danger">{{ $HistoryRefund['status'] }}</div>
</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>
<div class="dropdown-menu">
<a class="dropdown-item" href="/detail_refund">Details</a>
<a class="dropdown-item" href="#">Edit</a>
<a class="dropdown-item" href="#">Delete</a>
</div>
</div>
</td>
</tr>
@endforeach
</table>
<div class="card">
<div class="card-body">
<div class="d-flex justify-content-end">
<nav aria-label="paginate">
<ul class="pagination">
<li class="page-item disabled">
<a class="page-link" href="#" tabindex="-1">Previous</a>
</li>
<li class="page-item active"><a class="page-link" href="#">1</a></li>
<li class="page-item ">
<a class="page-link" href="#">2 <span
class="sr-only">(current)</span></a>
</li>
<li class="page-item"><a class="page-link" href="#">3</a></li>
<li class="page-item">
<a class="page-link" href="#">Next</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
@endsection

View File

@ -49,7 +49,7 @@
</button> </button>
<div class="dropdown-menu"> <div class="dropdown-menu">
<a class="dropdown-item" href="/detail_refund">Details</a> <a class="dropdown-item" href="/detail_refund">Details</a>
<a class="dropdown-item" href="#">Delete</a> <a class="dropdown-item" href="#" id="Swal">Delete</a>
</div> </div>
</div> </div>
</td> </td>

View File

@ -1,30 +0,0 @@
<!-- Modal -->
<div class="modal fade" id="ModalRefund" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle"
aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLongTitle">Refund Confirmation</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<h6> Apakah kamu yakin untuk menerima pengembalian dana? </h6>
<h7><b>Jumlah Pengembalian Dana: </b></h7>
<p>Rp. 15000</p>
<input type="radio" id="yes" name="fav_language" value="yes">
<label for="yes">Ya! Terima pengembalian dana </label> <br>
<input type="radio" id="no" name="fav_language" value="no">
<label for="no">Tidak! Pengembalian dana tidak bisa dilanjutkan</label>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-danger" data-dismiss="modal">Cancel</button>
<a href="{{route('refund.index')}}" class="btn btn-primary mx-1">Accept Refund</a>
</div>
</div>
</div>
</div>

View File

@ -27,8 +27,15 @@
<input type="number" class="form-control" name="persentase" required> <input type="number" class="form-control" name="persentase" required>
</div> </div>
</div> </div>
<<<<<<< HEAD:resources/views/Admin/setting/add-Data.blade.php
<div class="card">
<div class="card-body text-center">
<button class="btn btn-primary" id="swal-2">Submit</button>
</div>
=======
<div class="card-footer text-right"> <div class="card-footer text-right">
<button class="btn btn-primary" id="simpan" type="submit">Simpan</button> <button class="btn btn-primary" id="simpan" type="submit">Simpan</button>
>>>>>>> c6e7e74f2a6981b808e6ad8dc9499362fdf9f043:resources/views/Admin/setting/modal-add-setting.blade.php
</div> </div>
</form> </form>
</div> </div>

View File

@ -1,178 +0,0 @@
<!-- Modal -->
<div class="modal fade" id="ModalTransaction" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle"
aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h2 class="modal-title" id="exampleModalLongTitle">Tracking Information</h2>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<div class="section-body">
<div class="row">
<div class="col-12">
<div class="activities">
<div class="activity">
<div class="activity-icon bg-primary text-white shadow-primary">
<i class="fas fa-comment-alt"></i>
</div>
<div class="activity-detail">
<div class="mb-2">
<span class="text-job text-primary">2 min ago</span>
<span class="bullet"></span>
<a class="text-job" href="#">View</a>
<div class="float-right dropdown">
<a href="#" data-toggle="dropdown"><i
class="fas fa-ellipsis-h"></i></a>
<div class="dropdown-menu">
<div class="dropdown-title">Options</div>
<a href="#" class="dropdown-item has-icon"><i
class="fas fa-eye"></i> View</a>
<a href="#" class="dropdown-item has-icon"><i
class="fas fa-list"></i> Detail</a>
<div class="dropdown-divider"></div>
<a href="#" class="dropdown-item has-icon text-danger"
data-confirm="Wait, wait, wait...|This action can't be undone. Want to take risks?"
data-confirm-text-yes="Yes, IDC"><i
class="fas fa-trash-alt"></i> Archive</a>
</div>
</div>
</div>
<p>Have commented on the task of "<a href="#">Responsive
design</a>".</p>
</div>
</div>
<div class="activity">
<div class="activity-icon bg-primary text-white shadow-primary">
<i class="fas fa-arrows-alt"></i>
</div>
<div class="activity-detail">
<div class="mb-2">
<span class="text-job">1 hour ago</span>
<span class="bullet"></span>
<a class="text-job" href="#">View</a>
<div class="float-right dropdown">
<a href="#" data-toggle="dropdown"><i
class="fas fa-ellipsis-h"></i></a>
<div class="dropdown-menu">
<div class="dropdown-title">Options</div>
<a href="#" class="dropdown-item has-icon"><i
class="fas fa-eye"></i> View</a>
<a href="#" class="dropdown-item has-icon"><i
class="fas fa-list"></i> Detail</a>
<div class="dropdown-divider"></div>
<a href="#" class="dropdown-item has-icon text-danger"
data-confirm="Wait, wait, wait...|This action can't be undone. Want to take risks?"
data-confirm-text-yes="Yes, IDC"><i
class="fas fa-trash-alt"></i> Archive</a>
</div>
</div>
</div>
<p>Moved the task "<a href="#">Fix some features that are bugs in
the master module</a>" from Progress to Finish.</p>
</div>
</div>
<div class="activity">
<div class="activity-icon bg-primary text-white shadow-primary">
<i class="fas fa-unlock"></i>
</div>
<div class="activity-detail">
<div class="mb-2">
<span class="text-job">4 hour ago</span>
<span class="bullet"></span>
<a class="text-job" href="#">View</a>
<div class="float-right dropdown">
<a href="#" data-toggle="dropdown"><i
class="fas fa-ellipsis-h"></i></a>
<div class="dropdown-menu">
<div class="dropdown-title">Options</div>
<a href="#" class="dropdown-item has-icon"><i
class="fas fa-eye"></i> View</a>
<a href="#" class="dropdown-item has-icon"><i
class="fas fa-list"></i> Detail</a>
<div class="dropdown-divider"></div>
<a href="#" class="dropdown-item has-icon text-danger"
data-confirm="Wait, wait, wait...|This action can't be undone. Want to take risks?"
data-confirm-text-yes="Yes, IDC"><i
class="fas fa-trash-alt"></i> Archive</a>
</div>
</div>
</div>
<p>Login to the system with ujang@maman.com email and location in Bogor.
</p>
</div>
</div>
<div class="activity">
<div class="activity-icon bg-primary text-white shadow-primary">
<i class="fas fa-trash"></i>
</div>
<div class="activity-detail">
<div class="mb-2">
<span class="text-job">Yesterday</span>
<span class="bullet"></span>
<a class="text-job" href="#">View</a>
<div class="float-right dropdown">
<a href="#" data-toggle="dropdown"><i
class="fas fa-ellipsis-h"></i></a>
<div class="dropdown-menu">
<div class="dropdown-title">Options</div>
<a href="#" class="dropdown-item has-icon"><i
class="fas fa-eye"></i> View</a>
<a href="#" class="dropdown-item has-icon"><i
class="fas fa-list"></i> Detail</a>
<div class="dropdown-divider"></div>
<a href="#" class="dropdown-item has-icon text-danger"
data-confirm="Wait, wait, wait...|This action can't be undone. Want to take risks?"
data-confirm-text-yes="Yes, IDC"><i
class="fas fa-trash-alt"></i> Archive</a>
</div>
</div>
</div>
<p>Assign the task of "<a href="#">Redesigning website header and
make it responsive AF</a>" to <a href="#">Syahdan
Ubaidilah</a>.</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<a href="/history_transaction" class="btn btn-primary mx-1">Back</a>
</div>
</div>
</div>
</div>
{{-- @extends('layout.main')
@section('content')
@foreach ($detail_transaction as $detail_transactions)
<div class="main-content">
<section class="section">
<div class="tracking-container">
<h2>Tracking Information</h2>
<div class="tracking-info">
<p>Tracking Number: <span
class="tracking-status">{{ $detail_transactions['tracking_number'] }}</span></p>
<p>Order ID: <span class="tracking-status">{{ $detail_transactions['orderId'] }}</span></p>
<p>Status: <span class="tracking-status">{{ $detail_transactions['status'] }}</span></p>
<p>Estimated: {{ $detail_transactions['estimated'] }}</p>
</div>
<h2>Tracking Details</h2>
<ul>
<li>{{ $detail_transactions['tracking_detail1'] }}</li>
<li>{{ $detail_transactions['tracking_detail2'] }}</li>
<li>{{ $detail_transactions['tracking_detail3'] }}</li>
</ul>
</div>
</section>
</div>
@endforeach
@endsection --}}

View File

@ -1,104 +0,0 @@
@extends('Admin.layout.main')
@section('content')
<div class="main-content">
<section class="section">
<div class="section-header">
<h1>History Transaction</h1>
<div class="section-header-breadcrumb">
<div class="breadcrumb-item active"><a href="#">Dashboard</a></div>
<div class="breadcrumb-item">Transaction</div>
<div class="breadcrumb-item">History</div>
</div>
</div>
<div class="col-md-12">
<div class="card">
<div class="d-flex justify-content-between align-items-center p-4">
<div class="d-flex align-items-center">
<span class="mb-0 ml-2">Show:</span>
<select class="form-select ml-2">
<option>10</option>
<option>25</option>
<option>50</option>
<option>100</option>
</select>
<span class="ml-2">entries</span>
</div>
<div class="float-right">
<form>
<div class="input-group">
<input type="text" class="form-control" placeholder="Search">
<div class="input-group-append">
<button class="btn btn-primary"><i class="fas fa-search"></i></button>
</div>
</div>
</form>
</div>
</div>
<div class="card-body">
<div class="table-responsive">
<table class="table table-bordered table-md">
<tr>
<th>Order ID</th>
<th>Customer</th>
<th>Seller</th>
<th>Total</th>
<th>Due Date</th>
<th>Status</th>
<th>Action</th>
</tr>
@foreach ($transaction as $transactions)
<tr>
<td><a href="#">{{ $transactions['orderId'] }}</a></td>
<td class="font-weight-600">{{ $transactions['customer'] }}</td>
<td class="font-weight-600">{{ $transactions['seller'] }}</td>
<td class="font-weight-600">{{ $transactions['total'] }}</td>
<td>{{ $transactions['date'] }}</td>
<td>
<div class="badge badge-success">{{ $transactions['status'] }}</div>
</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>
<div class="dropdown-menu">
<a class="dropdown-item" href="/detail_transaction">Details</a>
<a class="dropdown-item" href="#" data-toggle="modal"
data-target="#ModalTransaction">Tracking</a>
<a class="dropdown-item" href="#">Delete</a>
</div>
</div>
</td>
</tr>
@endforeach
</table>
<div class="card">
<div class="card-body">
<div class="d-flex justify-content-end">
<nav aria-label="paginate">
<ul class="pagination">
<li class="page-item disabled">
<a class="page-link" href="#" tabindex="-1">Previous</a>
</li>
<li class="page-item active"><a class="page-link" href="#">1</a></li>
<li class="page-item ">
<a class="page-link" href="#">2 <span
class="sr-only">(current)</span></a>
</li>
<li class="page-item"><a class="page-link" href="#">3</a></li>
<li class="page-item">
<a class="page-link" href="#">Next</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
@include('Admin.transaction.Tracking')
@endsection

View File

@ -1,111 +0,0 @@
<!-- Modal -->
<div class="modal fade" id="ModalTransaction" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle"
aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h2 class="modal-title" id="exampleModalLongTitle">Tracking Information</h2>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<div class="section-body">
<div class="row">
<div class="col-12">
<div class="activities">
<div class="activity">
<div class="activity-icon bg-primary text-white shadow-primary">
<i class="fas fa-comment-alt"></i>
</div>
<div class="activity-detail">
<div class="mb-2">
<span class="text-job text-primary">August 21, 2023, 8:30:15 am</span>
</div>
<p>User Created Trade</p>
</div>
</div>
<div class="activity">
<div class="activity-icon bg-primary text-white shadow-primary">
<i class="fas fa-arrows-alt"></i>
</div>
<div class="activity-detail">
<div class="mb-2">
<span class="text-job text-primary">August 22, 2023, 8:30:15 am</span>
</div>
<p>System Notified Admin</p>
</div>
</div>
<div class="activity">
<div class="activity-icon bg-primary text-white shadow-primary">
<i class="fas fa-unlock"></i>
</div>
<div class="activity-detail">
<div class="mb-2">
<span class="text-job text-primary">August 23, 2023, 8:30:15 am</span>
</div>
<p>Admin Accepted Trade</p>
</div>
</div>
<div class="activity">
<div class="activity-icon bg-primary text-white shadow-primary">
<i class="fas fa-trash"></i>
</div>
<div class="activity-detail">
<div class="mb-2">
<span class="text-job text-primary">August 24, 2023, 8:30:15 am</span>
</div>
<p>Trade in system</p>
</div>
</div>
<div class="activity">
<div class="activity-icon bg-primary text-white shadow-primary">
<i class="fas fa-comment-alt"></i>
</div>
<div class="activity-detail">
<div class="mb-2">
<span class="text-job text-primary">August 24, 2023, 8:30:15 am</span>
</div>
<p>Transaction Success</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<a href="{{ route('admin-transaction.index') }}" class="btn btn-primary mx-1">Back</a>
</div>
</div>
</div>
</div>
{{-- @extends('layout.main')
@section('content')
@foreach ($detail_transaction as $detail_transactions)
<div class="main-content">
<section class="section">
<div class="tracking-container">
<h2>Tracking Information</h2>
<div class="tracking-info">
<p>Tracking Number: <span
class="tracking-status">{{ $detail_transactions['tracking_number'] }}</span></p>
<p>Order ID: <span class="tracking-status">{{ $detail_transactions['orderId'] }}</span></p>
<p>Status: <span class="tracking-status">{{ $detail_transactions['status'] }}</span></p>
<p>Estimated: {{ $detail_transactions['estimated'] }}</p>
</div>
<h2>Tracking Details</h2>
<ul>
<li>{{ $detail_transactions['tracking_detail1'] }}</li>
<li>{{ $detail_transactions['tracking_detail2'] }}</li>
<li>{{ $detail_transactions['tracking_detail3'] }}</li>
</ul>
</div>
</section>
</div>
@endforeach
@endsection --}}

View File

@ -61,7 +61,7 @@
<a class="dropdown-item" href="{{route('transaction.detail')}}">Details</a> <a class="dropdown-item" href="{{route('transaction.detail')}}">Details</a>
<a class="dropdown-item" href="#" data-toggle="modal" <a class="dropdown-item" href="#" data-toggle="modal"
data-target="#ModalTransaction">Tracking</a> data-target="#ModalTransaction">Tracking</a>
<a class="dropdown-item" href="#">Delete</a> <a class="dropdown-item" href="#" id="Swal">Delete</a>
</div> </div>
</div> </div>
</td> </td>

View File

@ -5,38 +5,45 @@
<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="#">Dashboard</a></div> <div class="breadcrumb-item active"><a href="{{ route('admin.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>
</div> </div>
<div class="row justify-content-center"> <div class="row justify-content-center">
<div class="col-md-6"> <div class="col-md-9">
<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>#324525</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">
<img src="/assets/img/avatar/avatar-6.png" class="rounded-circle shadow align-self-center" @if ($user->foto_profil == null)
style="max-width: 130px;" alt="" srcset=""> <img src="{{ asset('assets/img/avatar/avatar-6.png') }}"
class="rounded-circle shadow align-self-center"style="max-width: 130px;"
alt="" srcset="">
@else
<img src="{{ asset('storage/foto-profil/' . $user->foto_profil) }}"
class="rounded-circle shadow align-self-center" style="max-width: 130px;"
alt="" srcset="">
@endif
<h4 class="align-self-center mt-3">Status :
{{ $user->status == 'Finished' ? 'Selesai diverifikasi' : ($user->status == 'Progress' ? 'Sedang diverifikasi' : 'Tolak') }}
</h4>
<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">Name</span> <span class="fw-bold text-start">NIK</span>
<span class="text-muted ">jilhan haura</span> <span class="text-muted ">{{ $user->nik }}</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">Nama</span>
<span class="text-muted ">female</span> <span
class="text-muted ">{{ ucwords(strtolower($user->nama_depan . ' ' . $user->nama_belakang)) }}</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">Jenis Kelamin</span>
<span class="text-muted ">muslim</span> <span class="text-muted ">{{ $user->gender }}</span>
</div>
<div class="data-field">
<span class="fw-bold text-start">Blood Type</span>
<span class="text-muted ">ab</span>
</div> </div>
</div> </div>
<hr class="border border-1 opacity-75 w-100"> <hr class="border border-1 opacity-75 w-100">
@ -48,41 +55,214 @@
<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 ">jilhanhaura07@gmail.com</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">Nomor HP</span>
<span class="text-muted ">929382044824</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"> <div class="data-field">
<span class="fw-bold text-start">Province</span> <span class="fw-bold text-start">Provinsi</span>
<span class="text-muted ">sumbar</span> <span class="text-muted ">{{ ucwords(strtolower($user->getProvinceName())) }}</span>
</div> </div>
<div class="data-field"> <div class="data-field">
<span class="fw-bold text-start">City</span> <span class="fw-bold text-start">Kota/Kabupaten</span>
<span class="text-muted ">padang</span> <span class="text-muted ">{{ ucwords(strtolower($user->getCityName())) }}</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">Kecamatan</span>
<span class="text-muted ">asadcas</span> <span class="text-muted ">{{ ucwords(strtolower($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">Kelurahan</span>
<span class="text-muted ">balaibaru</span> <span class="text-muted ">{{ ucwords(strtolower($user->getVillageName())) }}</span>
</div> </div>
<div class="data-field"> <div class="data-field">
<span class="fw-bold text-start">Detail</span> <span class="fw-bold text-start">Alamat</span>
<span class="text-muted ">fafaafadad</span> <span class="text-muted ">{{ $user->alamat }}</span>
</div> </div>
<hr class="border border-1 opacity-75 w-100">
<div class="d-flex justify-content-between align-items-center">
<div class="card-title pb-2 m-0">
<h4>Foto KTP dan Wajah</h4>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-md-6 col-sm-12 text-center">
<!-- Kolom pertama, col-md-6 untuk layar medium dan col-sm-12 untuk layar kecil -->
@if ($user->foto_ktp == null)
<a href="#" id="tampilKTP">
<img id="fotoKTP" src="/assets/images/foto-ktp.jpg" alt="Foto KTP"
class="align-self-center img-fluid" style="max-width: 350px;">
</a>
@else
<a href="#" id="tampilKTP">
<img id="fotoKTP" src="/assets/images/foto-ktp.jpg" alt="Foto Wajah"
class="align-self-center img-fluid" style="max-width: 350px;">
</a>
@endif
</div>
<div class="col-md-6 col-sm-12 text-center">
<!-- Kolom kedua, col-md-6 untuk layar medium dan col-sm-12 untuk layar kecil -->
@if ($user->foto_wajah == null)
<a href="#" id="tampilWajah">
<img id="fotoWajah" src="/assets/images/foto-ktp.jpg" alt="Foto KTP"
class="align-self-center img-fluid" style="max-width: 350px;">
</a>
@else
<a href="#" id="tampilWajah">
<img id="fotoWajah" src="/assets/images/foto-ktp.jpg" alt="Foto Wajah"
class="align-self-center img-fluid" style="max-width: 350px;">
</a>
@endif
</div>
</div>
</div>
<div class="data-field mt-4">
<span class="fw-bold text-start">Persentase Kemiripan</span>
<span class="text-muted ">{{ $user->persentase_kemiripan }}</span>
</div>
@if ($user->status == 'Progress')
<div class="d-flex justify-content-between align-items-center">
<div class="card-title pb-2 m-0">
<h4>Setujui pembuatan akun ini?</h4>
</div>
</div>
<a class="btn btn-primary text-white" id="approveUser"
data-id="{{ $user->id }}">Setujui</a>
<a class="btn btn-danger text-white" id="denyUser"
data-id="{{ $user->id }}">Tolak</a>
@endif
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</section>
</div> </div>
<script>
$(document).ready(function() {
$('#tampilKTP').on('click', function() {
let fotoKTP = document.getElementById('fotoKTP').src;
console.log(fotoKTP);
Swal.fire({
title: 'Foto KTP',
imageUrl: fotoKTP,
imageWidth: 600,
// imageHeight: 1500,
imageAlt: 'Foto KTP'
});
});
$('#tampilWajah').on('click', function() {
let fotoWajah = document.getElementById('fotoWajah').src;
Swal.fire({
title: 'Foto Wajah',
imageUrl: fotoWajah,
imageWidth: 600,
imageAlt: 'Foto Wajah'
});
});
$('#approveUser').on('click', function() {
let id = $(this).data('id');
const csrfToken = $('meta[name="csrf-token"]').attr('content');
Swal.fire({
title: 'Status Akun',
text: 'Apakah anda yakin menyetujui akun ini?',
icon: 'info',
confirmButtonText: 'Ya, setuju!',
showCancelButton: true,
cancelButtonText: 'Tidak'
}).then((result) => {
if (result.isConfirmed) {
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': csrfToken
}
});
$.ajax({
url: "{{ route('admin-user.approve', ':id') }}".replace(
':id', id),
type: 'PUT',
success: function(response) {
Swal.fire({
title: response.status ? 'Berhasil!' :
'Gagal!',
text: response.message,
icon: response.status ? 'success' : 'error',
confirmButtonText: 'OK'
}).then(function() {
location.reload();
});
},
error: function(error) {
Swal.fire({
title: 'Gagal!',
text: 'Tidak ada data yang dihapus, karena ' +
error,
icon: 'error'
}).then(function() {
location.reload();
});
}
});
}
});
});
$('#denyUser').on('click', function() {
let id = $(this).data('id');
const csrfToken = $('meta[name="csrf-token"]').attr('content');
Swal.fire({
title: 'Status Akun',
text: 'Apakah anda yakin menolak akun ini?',
icon: 'info',
confirmButtonText: 'Ya, setuju!',
showCancelButton: true,
cancelButtonText: 'Tidak'
}).then((result) => {
if (result.isConfirmed) {
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': csrfToken
}
});
$.ajax({
url: "{{ route('admin-user.deny', ':id') }}".replace(
':id', id),
type: 'PUT',
success: function(response) {
Swal.fire({
title: response.status ? 'Berhasil!' :
'Gagal!',
text: response.message,
icon: response.status ? 'success' : 'error',
confirmButtonText: 'OK'
}).then(function() {
location.reload();
});
},
error: function(error) {
Swal.fire({
title: 'Gagal!',
text: 'Gagal mengubah status akun, karena ' +
error,
icon: 'info'
});
}
});
}
});
});
});
</script>
@endsection @endsection

View File

@ -21,6 +21,7 @@
<th>Foto Profil</th> <th>Foto Profil</th>
<th>Nama Panjang</th> <th>Nama Panjang</th>
<th>Email</th> <th>Email</th>
{{-- <th>Gender</th> --}}
<th>Tanggal Daftar</th> <th>Tanggal Daftar</th>
<th>Status</th> <th>Status</th>
<th>Aksi</th> <th>Aksi</th>
@ -33,10 +34,11 @@
<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="{{ $user->foto_profil != null ? asset('storage') : 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_depan.' '.$user->nama_belakang }}</td> <td>{{ $user->nama_depan }}</td>
<td>{{ $user->email }}</td> <td>{{ $user->email }}</td>
<td>{{ $user->created_at }}</td> <td>{{ $user->created_at }}</td>
<td> <td>

View File

@ -9,62 +9,48 @@
<div class="breadcrumb-item">User</div> <div class="breadcrumb-item">User</div>
</div> </div>
</div> </div>
<div class="col-md-12"> <div class="col-12">
<div class="card"> <div class="card">
{{-- <div class="card-header">
<h2 class="mb-4">List Users</h2>
</div> --}}
<div class="d-flex justify-content-between align-items-center p-4">
<div class="d-flex align-items-center">
<span class="mb-0 ml-2">Show:</span>
<select class="form-select ml-2">
<option>10</option>
<option>25</option>
<option>50</option>
<option>100</option>
</select>
<span class="ml-2">entries</span>
</div>
<div class="float-right">
<form>
<div class="input-group">
<input type="text" class="form-control" placeholder="Search">
<div class="input-group-append">
<button class="btn btn-primary"><i class="fas fa-search"></i></button>
</div>
</div>
</form>
</div>
</div>
<div class="card-body"> <div class="card-body">
<div class="table-responsive"> <div class="table-responsive">
<table class="table table-bordered table-md"> <table class="table table-striped" id="table-1">
<thead>
<tr> <tr>
<th class="text-center">#</th>
<th>User Id</th> <th>User Id</th>
<th>Avatar</th> <th>Avatar</th>
<th>NIK</th> <th>Fullname</th>
<th>FullName</th>
<th>Email</th> <th>Email</th>
{{-- <th>Gender</th> --}} <th>Gender</th>
<th>Date</th> <th>Due Date</th>
<th>Status</th> <th>Status</th>
<th>Action</th> <th>Action</th>
</tr> </tr>
</thead>
<tbody>
@foreach ($list_users as $list_user) @foreach ($list_users as $list_user)
<tr> <tr>
<td class="font-weight-600"> {{ $list_user['userId'] }}</td> <td>{{ $list_user['no'] }}</td>
<td>{{ $list_user['userId'] }}</td>
<td> <td>
<figure class="avatar mr-2 avatar-xl"> <figure class="avatar mr-2 avatar-xl">
<img src="assets/img/avatar/avatar-6.png" alt="..."> <img src="assets/img/avatar/avatar-6.png" alt="...">
</figure> </figure>
</td> </td>
<td class="font-weight-600">{{ $list_user['nik'] }}</td> <td>{{ $list_user['fullname'] }}</td>
<td class="font-weight-600">{{ $list_user['fullname'] }}</td> <td>{{ $list_user['email'] }}</td>
<td class="font-weight-600">{{ $list_user['email'] }}</td> <td>{{ $list_user['gender'] }}</td>
{{-- <td class="font-weight-600">{{ $list_user['gender'] }}</td> --}}
<td>{{ $list_user['date'] }}</td> <td>{{ $list_user['date'] }}</td>
<td> <td>
<div class="badge badge-success">{{ $list_user['status'] }}</div> @php
$statusClass = '';
if ($list_user['status'] === 'Finished') {
$statusClass = 'badge-success';
} elseif ($list_user['status'] === 'Progress') {
$statusClass = 'badge-danger';
}
@endphp
<div class="badge {{ $statusClass }}">{{ $list_user['status'] }}</div>
</td> </td>
<td> <td>
<div class="btn-group"> <div class="btn-group">
@ -74,36 +60,14 @@
</button> </button>
<div class="dropdown-menu"> <div class="dropdown-menu">
<a class="dropdown-item" href="/detail-user">Details</a> <a class="dropdown-item" href="/detail-user">Details</a>
<a class="dropdown-item" href="#">Edit</a> <a class="dropdown-item" href="#" id="Swal">Delete</a>
<a class="dropdown-item" href="#">Delete</a>
</div> </div>
</div> </div>
</td> </td>
</tr> </tr>
@endforeach @endforeach
</tbody>
</table> </table>
<div class="card">
<div class="card-body">
<div class="d-flex justify-content-end">
<nav aria-label="paginate">
<ul class="pagination">
<li class="page-item disabled">
<a class="page-link" href="#" tabindex="-1">Previous</a>
</li>
<li class="page-item active"><a class="page-link" href="#">1</a></li>
<li class="page-item ">
<a class="page-link" href="#">2 <span
class="sr-only">(current)</span></a>
</li>
<li class="page-item"><a class="page-link" href="#">3</a></li>
<li class="page-item">
<a class="page-link" href="#">Next</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>

View File

@ -1,8 +1,4 @@
<<<<<<< HEAD
@extends('User.layout.main')
=======
@extends('user.layout.main') @extends('user.layout.main')
>>>>>>> 5f01f0d124f30816c3c08e664df3a9b62a2847ab
@section('content') @section('content')
<!-- Main Content --> <!-- Main Content -->
<div class="main-content"> <div class="main-content">
@ -73,11 +69,7 @@
<h4>Total Refund</h4> <h4>Total Refund</h4>
</div> </div>
<div class="card-body"> <div class="card-body">
<<<<<<< HEAD
100
=======
190 190
>>>>>>> 5f01f0d124f30816c3c08e664df3a9b62a2847ab
</div> </div>
</div> </div>
</div> </div>
@ -92,17 +84,10 @@
</div> </div>
<div class="card-wrap"> <div class="card-wrap">
<div class="card-header"> <div class="card-header">
<<<<<<< HEAD
<h4>Total user</h4>
</div>
<div class="card-body">
100 </div>
=======
<h4>Total Transaction </h4> <h4>Total Transaction </h4>
</div> </div>
<div class="card-body"> <div class="card-body">
109 </div> 109 </div>
>>>>>>> 5f01f0d124f30816c3c08e664df3a9b62a2847ab
</div> </div>
</div> </div>
</div> </div>
@ -119,38 +104,6 @@
</div> </div>
</div> </div>
<<<<<<< HEAD
<div class="col-md-12">
<div class="card">
<div class="card-header">
<h2>History Transaction</h2>
</div>
<div class="d-flex justify-content-between align-items-center p-4">
<div class="d-flex align-items-center">
<span class="mb-0 ml-2">Show:</span>
<select class="form-select ml-2">
<option>10</option>
<option>25</option>
<option>50</option>
<option>100</option>
</select>
<span class="ml-2">entries</span>
</div>
<div class="float-right">
<form>
<div class="input-group">
<input type="text" class="form-control" placeholder="Search">
<div class="input-group-append">
<button class="btn btn-primary"><i class="fas fa-search"></i></button>
</div>
</div>
</form>
</div>
</div>
<div class="card-body">
<div class="table-responsive">
<table class="table table-bordered table-md">
=======
<div class="col-md-12"> <div class="col-md-12">
<div class="card"> <div class="card">
@ -160,7 +113,6 @@
<div class="card-body p-0"> <div class="card-body p-0">
<div class="table-responsive table-invoice"> <div class="table-responsive table-invoice">
<table class="table table-striped"> <table class="table table-striped">
>>>>>>> 5f01f0d124f30816c3c08e664df3a9b62a2847ab
<tr> <tr>
<th>Order ID</th> <th>Order ID</th>
<th>Customer</th> <th>Customer</th>
@ -168,35 +120,6 @@
<th>Total</th> <th>Total</th>
<th>Due Date</th> <th>Due Date</th>
<th>Status</th> <th>Status</th>
<<<<<<< HEAD
<th>Action</th>
</tr>
@foreach ($transaction as $transactions)
<tr>
<td><a href="#">{{ $transactions['orderId'] }}</a></td>
<td class="font-weight-600">{{ $transactions['customer'] }}</td>
<td class="font-weight-600">{{ $transactions['seller'] }}</td>
<td class="font-weight-600">{{ $transactions['total'] }}</td>
<td>{{ $transactions['date'] }}</td>
<td>
<div class="badge badge-success">{{ $transactions['status'] }}</div>
</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>
<div class="dropdown-menu">
<a class="dropdown-item" href="/detail_transaction">Details</a>
<a class="dropdown-item" href="#" data-toggle="modal"
data-target="#ModalTransaction">Tracking</a>
<a class="dropdown-item" href="#">Delete</a>
</div>
</div>
</td>
=======
<th>Image</th> <th>Image</th>
</tr> </tr>
@foreach ($refundUserss as $HistoryRefundUser) @foreach ($refundUserss as $HistoryRefundUser)
@ -218,7 +141,6 @@
{{ $HistoryRefundUser['uploadBukti'] }}</td> {{ $HistoryRefundUser['uploadBukti'] }}</td>
<td> <td>
>>>>>>> 5f01f0d124f30816c3c08e664df3a9b62a2847ab
</tr> </tr>
@endforeach @endforeach
</table> </table>
@ -226,12 +148,6 @@
</div> </div>
</div> </div>
</div> </div>
<<<<<<< HEAD
</div>
</section>
</div>
@include('Admin.transaction.Tracking')
=======
</div> </div>
</section> </section>
@ -435,5 +351,4 @@
} }
}); });
</script> </script>
>>>>>>> 5f01f0d124f30816c3c08e664df3a9b62a2847ab
@endsection @endsection

View File

@ -84,8 +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="{{ asset('assets/img/avatar/avatar-1.png') }}" <img alt="image" src="{{asset('assets/img/avatar/avatar-1.png')}}" class="rounded-circle">
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">
@ -96,8 +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="{{ asset('assets/img/avatar/avatar-2.png') }}" <img alt="image" src="{{asset('assets/img/avatar/avatar-2.png')}}" class="rounded-circle">
class="rounded-circle">
</div> </div>
<div class="dropdown-item-desc"> <div class="dropdown-item-desc">
<b>Dedik Sugiharto</b> <b>Dedik Sugiharto</b>
@ -107,8 +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="{{ asset('assets/img/avatar/avatar-3.png') }}" <img alt="image" src="{{asset('assets/img/avatar/avatar-3.png')}}" class="rounded-circle">
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">
@ -119,8 +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="{{ asset('assets/img/avatar/avatar-4.png') }}" <img alt="image" src="{{asset('assets/img/avatar/avatar-4.png')}}" class="rounded-circle">
class="rounded-circle">
</div> </div>
<div class="dropdown-item-desc"> <div class="dropdown-item-desc">
<b>Ardian Rahardiansyah</b> <b>Ardian Rahardiansyah</b>
@ -130,8 +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="{{ asset('assets/img/avatar/avatar-5.png') }}" <img alt="image" src="{{asset('assets/img/avatar/avatar-5.png')}}" class="rounded-circle">
class="rounded-circle">
</div> </div>
<div class="dropdown-item-desc"> <div class="dropdown-item-desc">
<b>Alfa Zulkarnain</b> <b>Alfa Zulkarnain</b>
@ -207,40 +202,22 @@
</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">
<<<<<<< HEAD <img alt="image" src="assets/img/avatar/avatar-1.png" class="rounded-circle mr-1"> <img alt="image" src="{{asset('assets/img/avatar/avatar-1.png')}}" class="rounded-circle mr-1">
<div class="d-sm-none d-lg-inline-block">Hi, {{ $name }}</div>
</a>
<div class="dropdown-menu dropdown-menu-right">
<div class="dropdown-title">Logged in 5 min ago</div>
<a href="#" class="dropdown-item has-icon">
<i class="far fa-user"></i> Profile
</a>
<a href="features-activities.html" class="dropdown-item has-icon">
=======
<img alt="image" src="{{ asset('assets/img/avatar/avatar-1.png') }}"
class="rounded-circle mr-1">
<div class="d-sm-none d-lg-inline-block">Hi, {{ Auth::user()->nama_depan }}</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>
<a href="{{ route('user.profile') }}" class="dropdown-item has-icon"> <a href="{{route('user.profile')}}" class="dropdown-item has-icon">
<i class="far fa-user"></i> Profile <i class="far fa-user"></i> Profile
</a> </a>
{{-- <a href="features-activities.html" class="dropdown-item has-icon"> {{-- <a href="features-activities.html" class="dropdown-item has-icon">
>>>>>>> 5f01f0d124f30816c3c08e664df3a9b62a2847ab
<i class="fas fa-bolt"></i> Activities <i class="fas fa-bolt"></i> Activities
</a> </a>
<a href="features-settings.html" class="dropdown-item has-icon"> <a href="features-settings.html" class="dropdown-item has-icon">
<i class="fas fa-cog"></i> Settings <i class="fas fa-cog"></i> Settings
<<<<<<< HEAD
</a>
<div class="dropdown-divider"></div>
<a href="#" class="dropdown-item has-icon text-danger">
=======
</a> --}} </a> --}}
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>
<a href="{{ route('logout') }}" class="dropdown-item has-icon text-danger"> <a href="{{route('logout')}}" class="dropdown-item has-icon text-danger">
>>>>>>> 5f01f0d124f30816c3c08e664df3a9b62a2847ab
<i class="fas fa-sign-out-alt"></i> Logout <i class="fas fa-sign-out-alt"></i> Logout
</a> </a>
</div> </div>

View File

@ -34,25 +34,29 @@
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta content="width=device-width, initial-scale=1, maximum-scale=1, shrink-to-fit=no" name="viewport"> <meta content="width=device-width, initial-scale=1, maximum-scale=1, shrink-to-fit=no" name="viewport">
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>REKBER</title> <title>REKBER</title>
<!-- General CSS Files --> <!-- General CSS Files -->
<link rel="stylesheet" href="assets/modules/bootstrap/css/bootstrap.min.css"> <link rel="stylesheet" href="{{ asset('assets/modules/bootstrap/css/bootstrap.min.css') }}">
<link rel="stylesheet" href="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="{{ asset('assets/modules/jqvmap/dist/jqvmap.min.css') }}">
<!-- CSS Libraries --> <link rel="stylesheet" href="{{ asset('assets/modules/summernote/summernote-bs4.css') }}">
<link rel="stylesheet" href="assets/modules/jqvmap/dist/jqvmap.min.css"> <link rel="stylesheet" href="{{ asset('assets/modules/owlcarousel2/dist/assets/owl.carousel.min.css') }}">
<link rel="stylesheet" href="assets/modules/summernote/summernote-bs4.css"> <link rel="stylesheet" href="{{ asset('assets/modules/owlcarousel2/dist/assets/owl.theme.default.min.css') }}">
<link rel="stylesheet" href="assets/modules/owlcarousel2/dist/assets/owl.carousel.min.css"> <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/daterangepicker@3.1.0/daterangepicker.css" />
<link rel="stylesheet" href="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-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') }}">
<!-- Template CSS --> <!-- Template CSS -->
<link rel="stylesheet" href="assets/css/style.css"> <link rel="stylesheet" href="{{ asset('assets/css/style.css') }}">
<link rel="stylesheet" href="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() {
@ -61,46 +65,129 @@
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>
<script src="{{ asset('assets/modules/chart.min.js') }}"></script>
</head> </head>
<body> <body>
<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://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="assets/modules/jquery.min.js"></script> <script src="{{ asset('assets/modules/jquery.min.js') }}"></script>
<script src="assets/modules/popper.js"></script> <script src="{{ asset('assets/modules/popper.js') }}"></script>i
<script src="assets/modules/tooltip.js"></script> <script src="{{ asset('assets/modules/tooltip.js') }}"></script>
<script src="assets/modules/bootstrap/js/bootstrap.min.js"></script> <script src="{{ asset('assets/modules/bootstrap/js/bootstrap.min.js') }}"></script>
<script src="assets/modules/nicescroll/jquery.nicescroll.min.js"></script> <script src="{{ asset('assets/modules/nicescroll/jquery.nicescroll.min.js') }}"></script>
<script src="assets/modules/moment.min.js"></script> <script src="{{ asset('assets/modules/moment.min.js') }}"></script>
<script src="assets/js/stisla.js"></script> <script src="{{ asset('assets/js/stisla.js') }}"></script>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<!-- JS Libraies --> <!-- JS Libraies -->
<script src="assets/modules/jquery.sparkline.min.js"></script> <script src="{{ asset('assets/modules/jquery.sparkline.min.js') }}"></script>
<script src="assets/modules/chart.min.js"></script> <script src="{{ asset('assets/modules/owlcarousel2/dist/owl.carousel.min.js') }}"></script>
<script src="assets/modules/owlcarousel2/dist/owl.carousel.min.js"></script> <script src="{{ asset('assets/modules/summernote/summernote-bs4.js') }}"></script>
<script src="assets/modules/summernote/summernote-bs4.js"></script> <script src="{{ asset('assets/modules/chocolat/dist/js/jquery.chocolat.min.js') }}"></script>
<script src="assets/modules/chocolat/dist/js/jquery.chocolat.min.js"></script>
<!-- JS Libraies -->
<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/Select-1.2.4/js/dataTables.select.min.js') }}"></script>
<script src="{{ asset('assets/modules/jquery-ui/jquery-ui.min.js') }}"></script>
{{-- <script type="text/javascript">
$(function() {
$(document).on('click', '#payment', function(e) {
e.preventDefault();
var link = $(this).attr("href");
Swal.fire({
position: 'top-end',
icon: 'Success Payment!',
title: 'Your work has been saved',
showConfirmButton: false,
timer: 1500
})
});
});
</script> --}}
<!-- Page Specific JS File --> <!-- Page Specific JS File -->
<script src="assets/js/page/index.js"></script> <script src="{{ asset('assets/js/page/modules-datatables.js') }}"></script>
<!-- Page Specific JS File -->
{{-- <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="{{ asset('assets/js/page/index-0.js') }}"></script> --}}
<!-- Template JS File --> <!-- Template JS File -->
<script src="assets/js/scripts.js"></script> <script src="{{ asset('assets/js/scripts.js') }}"></script>
<script src="assets/js/custom.js"></script> <script src="{{ asset('assets/js/custom.js') }}"></script>
{{-- <script src="{{ asset('assets/js/main.js') }}"></script> --}}
</body> </body>
</html> </html>

View File

@ -1,34 +1,32 @@
<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="{{ route('user.index') }}">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="{{ route('user.index') }}">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="{{ route('user.index') }}"><i class="fas fa-fire"></i> <li><a class="nav-link active" href="{{route('user.index')}}"><i class="fas fa-fire"></i> <span>Dashboard</span></a></li>
<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" <a class="nav-link" data-toggle="collapse" href="#submenuTransaction" aria-expanded="false" aria-controls="submenuTransaction">
aria-controls="submenuTransaction">
<i class="fas fa-columns"></i><span>Transaksi</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="{{ route('user-transaction.index.pembeli') }}"> <a class="nav-link" href="{{route('user-transaction.index.pembeli')}}">
<i class="fas fa-users"></i> Pembeli <i class="fas fa-users"></i> Pembeli
</a> </a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" href="{{ route('user-transaction.index.penjual') }}"> <a class="nav-link" href="{{route('user-transaction.index.penjual')}}">
<i class="fas fa-user"></i> Penjual <i class="fas fa-user"></i> Penjual
</a> </a>
</li> </li>
@ -36,14 +34,14 @@
</div> </div>
</li> </li>
<li> <li>
<a class="nav-link active" href="{{ route('user-contact.index') }}"> <a class="nav-link active" href="{{route('user-contact.index')}}">
<i class="fas fa-address-book"></i> <span>Kontak</span> <i class="fas fa-address-book"></i> <span>Kontak</span>
</a> </a>
</li> </li>
<li> <li>
<a class="nav-link active" href="{{ route('user-refund.index') }}"> <a class="nav-link active" href="{{route('user-refund.index')}}">
<i class="fas fa-money-check-alt"></i> <span>Refund</span> <i class="fas fa-money-check-alt"></i> <span>Refund</span>
</a> </a>
</li> </li>
@ -57,4 +55,3 @@
</div> --}} </div> --}}
</aside> </aside>
</div> </div>
<script src="{{ asset('assets/modules/nicescroll/jquery.nicescroll.min.js') }}"></script>

View File

@ -12,12 +12,7 @@
</div> </div>
</div> </div>
<div class="section-body"> <div class="section-body">
<h2 class="section-title"> <h2 class="section-title">npannisa</h2>
Admin</h2>
<h2 class="section-buyer">
{{ $transaction->data_pembeli->nama_depan . ' ' . $transaction->data_pembeli->nama_belakang }}</h2>
<h2 class="section-seller">
{{ $transaction->data_penjual->nama_depan . ' ' . $transaction->data_penjual->nama_belakang }}</h2>
<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>Timeline</h4> <h4>Timeline</h4>
@ -28,37 +23,66 @@
<div class="row"> <div class="row">
<div class="col-12"> <div class="col-12">
<div class="activities"> <div class="activities">
{{-- Awal --}}
@forelse ($trackings as $tracking)
<div class="activity">
<div
class="activity-icon {{ $tracking->background }} text-white shadow-primary">
<i class="{{ $tracking->judul }}" style="font-size: 30px;"
aria-hidden="true"></i>
<!-- Mengganti ikon dengan ikon clipboard-list dan mengatur ukuran ikon -->
</div>
<div class="activity-detail">
<div class="mb-2">
<span class="text-job text-primary">{{ $tracking->created_at }}</span>
</div>
<p>{{ $tracking->deskripsi }}</p>
</div>
</div>
@empty
<div class="activity"> <div class="activity">
<div class="activity-icon bg-primary text-white shadow-primary"> <div class="activity-icon bg-primary text-white shadow-primary">
<i class="fas fa-ban" style="font-size: 36px;"></i> <i class="fas fa-clipboard-list" style="font-size: 36px;"></i>
<!-- Mengganti ikon dengan ikon clipboard-list dan mengatur ukuran ikon --> <!-- Mengganti ikon dengan ikon clipboard-list dan mengatur ukuran ikon -->
</div> </div>
<div class="activity-detail"> <div class="activity-detail">
<div class="mb-2"> <div class="mb-2">
<span class="text-job text-primary">--</span> <span class="text-job text-primary">August 21, 2023, 8:30:15 am</span>
</div> </div>
<p>Tidak ada histori</p> <p>User Created Trade</p>
</div>
</div>
<div class="activity">
<div class="activity-icon bg-primary text-white shadow-primary">
<i class="fas fa-bell" style="font-size: 36px;"></i>
<!-- Mengganti ikon dengan ikon bell dan mengatur ukuran ikon -->
</div>
<div class="activity-detail">
<div class="mb-2">
<span class="text-job text-primary">August 22, 2023, 8:30:15 am</span>
</div>
<p>System Notified Admin</p>
</div>
</div>
<div class="activity">
<div class="activity-icon bg-primary text-white shadow-primary">
<i class="fas fa-check-circle" style="font-size: 36px;"></i>
<!-- Mengganti ikon dengan ikon check-circle dan mengatur ukuran ikon -->
</div>
<div class="activity-detail">
<div class="mb-2">
<span class="text-job text-primary">August 23, 2023, 8:30:15 am</span>
</div>
<p>Admin Accepted Trade</p>
</div>
</div>
<div class="activity">
<div class="activity-icon bg-primary text-white shadow-primary">
<i class="fas fa-trash-alt" style="font-size: 36px;"></i>
<!-- Mengganti ikon dengan ikon trash-alt dan mengatur ukuran ikon -->
</div>
<div class="activity-detail">
<div class="mb-2">
<span class="text-job text-primary">August 24, 2023, 8:30:15 am</span>
</div>
<p>Trade in system</p>
</div>
</div>
<div class="activity">
<div class="activity-icon bg-primary text-white shadow-primary">
<i class="fas fa-comment-alt" style="font-size: 36px;"></i>
<!-- Mengganti ikon dengan ikon comment-alt dan mengatur ukuran ikon -->
</div>
<div class="activity-detail">
<div class="mb-2">
<span class="text-job text-primary">August 24, 2023, 8:30:15 am</span>
</div>
<p>Transaction Success</p>
</div> </div>
</div> </div>
@endforelse
{{-- Akhir --}}
</div> </div>
</div> </div>
</div> </div>
@ -66,50 +90,41 @@
<div class="section-body"> <div class="section-body">
<div class="invoice"> <div class="invoice">
<div class="invoice-print"> <div class="invoice-print">
<h2 style="margin-bottom: -1em">REKBER</h2>
<div class="row"> <div class="row">
<div class="col-lg-12"> <div class="col-lg-12">
<hr> <hr>
<div class="section-title">Keterangan</div>
<div class="row"> <div class="row">
<div class="col-md-6"> <div class="col-md-6">
<address> <address>
<strong>Pembeli:</strong><br> <strong>Billed To:</strong><br>
{{ ucwords(strtolower($transaction->data_pembeli->nama_depan . ' ' . $transaction->data_pembeli->nama_belakang)) }}<br> npannisa<br>
{{ ucwords(strtolower($transaction->data_pembeli->alamat)) }}<br> 1234 Main<br>
{{ ucwords(strtolower($transaction->data_pembeli->getVillageName() . ', ' . $transaction->data_pembeli->getDistrictName())) }}<br> Apt. 4B<br>
{{ ucwords(strtolower($transaction->data_pembeli->getCityName() . ', ' . $transaction->data_pembeli->getProvinceName())) }} Depok City, Indonesia
</address> </address>
</div> </div>
<div class="col-md-6 text-md-right"> <div class="col-md-6 text-md-right">
<address> <address>
<strong>Penjual:</strong><br> <strong>Shipped To:</strong><br>
{{ ucwords(strtolower($transaction->data_penjual->nama_depan . ' ' . $transaction->data_penjual->nama_belakang)) }}<br> Jilhan Haura<br>
{{ ucwords(strtolower($transaction->data_penjual->alamat)) }}<br> 12345 Main<br>
{{ ucwords(strtolower($transaction->data_penjual->getVillageName() . ', ' . $transaction->data_penjual->getDistrictName())) }}<br> Apt. 5B<br>
{{ ucwords(strtolower($transaction->data_penjual->getCityName() . ', ' . $transaction->data_penjual->getProvinceName())) }} Bogor Barat, Indonesia
</address> </address>
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-md-12 text-md-left">
<address>
<strong>Tanggal Transaksi:</strong><br>
{{ $transaction->created_at }}<br><br>
</address>
</div>
<div class="col-md-6"> <div class="col-md-6">
<address> <address>
<strong>Metode Pembayaran:</strong><br> <strong>Payment Method:</strong><br>
Visa ending **** 4242<br> Visa ending **** 4242<br>
npannisa@gmail.com npannisa@gmail.com
</address> </address>
</div> </div>
<div class="col-md-6 text-md-right"> <div class="col-md-6 text-md-right">
<address> <address>
<strong>Tanggal Pembayaran:</strong><br> <strong>Order Date:</strong><br>
{{ $transaction->updated_at }}<br><br> September 19, 2023<br><br>
{{-- {{$transaction->tanggal_pembayaran}}<br><br> --}}
</address> </address>
</div> </div>
</div> </div>
@ -118,54 +133,53 @@
<div class="row mt-4"> <div class="row mt-4">
<div class="col-md-12"> <div class="col-md-12">
<div class="section-title">Rangkuman Transaksi</div> <div class="section-title">Order Summary</div>
<p class="section-lead">Semua barang yang didaftarkan dalam transaksi.</p> <p class="section-lead">All items here cannot be deleted.</p>
<div class="table-responsive"> <div class="table-responsive">
<table class="table table-striped table-hover table-md"> <table class="table table-striped table-hover table-md">
<tr> <tr>
<th data-width="40">#</th> <th data-width="40">#</th>
<th>Nama Barang</th> <th>Item</th>
<th class="text-center">Harga</th> <th class="text-center">Price</th>
<th class="text-center">Jumlah</th> <th class="text-center">Quantity</th>
<th class="text-right">Total</th> <th class="text-right">Totals</th>
</tr> </tr>
<tr> <tr>
<td>1</td> <td>1</td>
<td>{{ $transaction->nama_barang }}</td> <td>Ayam Warna Warni</td>
<td class="text-center">{{ $transaction->harga_barang }}</td> <td class="text-center">Rp. 50.000.000</td>
<td class="text-center">{{ $transaction->jumlah_barang }}</td> <td class="text-center">1</td>
<td class="text-right"> <td class="text-right">Rp. 50.000.000</td>
{{ $transaction->harga_barang * $transaction->jumlah_barang }}</td>
</tr> </tr>
</table> </table>
</div> </div>
<div class="row mt-4"> <div class="row mt-4">
<div class="col-lg-8"> <div class="col-lg-8">
<div class="section-title">Payment Method</div> <div class="section-title">Payment Method</div>
<p class="section-lead">{{$transaction->metode_pembayaran}}</p> <p class="section-lead">The payment method that we provide
is to make it easier for
you to pay invoices.</p>
<div class="images"> <div class="images">
<img src="{{ asset('assets/img/visa.png') }}" alt="visa"> <img src="assets/img/visa.png" alt="visa">
<img src="{{ asset('assets/img/jcb.png') }}" alt="jcb"> <img src="assets/img/jcb.png" alt="jcb">
<img src="{{ asset('assets/img/mastercard.png') }}" alt="mastercard"> <img src="assets/img/mastercard.png" alt="mastercard">
<img src="{{ asset('assets/img/paypal.png') }}" alt="paypal"> <img src="assets/img/paypal.png" alt="paypal">
</div> </div>
</div> </div>
<div class="col-lg-4 text-right"> <div class="col-lg-4 text-right">
<div class="invoice-detail-item"> <div class="invoice-detail-item">
<div class="invoice-detail-name">Subtotal</div> <div class="invoice-detail-name">Subtotal</div>
<div class="invoice-detail-value">Rp {{ number_format($transaction->total_harga, 2, ',', '.') }}</div> <div class="invoice-detail-value">Rp.670.000.000</div>
</div> </div>
<div class="invoice-detail-item"> <div class="invoice-detail-item">
<div class="invoice-detail-name">Biaya Admin</div> <div class="invoice-detail-name">Shipping</div>
<div class="invoice-detail-value"> <div class="invoice-detail-value">Rp.15.000</div>
Rp {{ number_format($transaction->total_keuntungan, 2, ',', '.') }}
</div>
</div> </div>
<hr class="mt-2 mb-2"> <hr class="mt-2 mb-2">
<div class="invoice-detail-item"> <div class="invoice-detail-item">
<div class="invoice-detail-name">Total</div> <div class="invoice-detail-name">Total</div>
<div class="invoice-detail-value invoice-detail-value-lg"> <div class="invoice-detail-value invoice-detail-value-lg">
Rp {{ number_format($transaction->total_bayar, 2, ',', '.') }}</div> Rp.6.715.000.000</div>
</div> </div>
</div> </div>
</div> </div>
@ -177,6 +191,99 @@
</div> </div>
</div> </div>
</div> </div>
</section> @endsection
{{-- <div class="col-12 col-md-12 col-lg-7">
<div class="card">
<div class="card-body">
@foreach ($TransactionUser as $HistoryTransaction) --}}
{{-- <div class="d-flex flex-column">
<div class="data-fieldr">
<span class="fw-bold text-start">Order Details</span>
</div> </div>
@endsection <hr class="border border-1 opacity-75 w-100">
<div class="data-field">
<span class="fw-bold text-start">Oder ID</span>
<span class="text-muted ">{{ $HistoryTransaction['orderId'] }}</span>
</div>
<div class="data-field">
<span class="fw-bold text-start">Customer</span>
<span class="text-muted ">{{ $HistoryTransaction['Customer'] }}</span>
</div>
<div class="data-field">
<span class="fw-bold text-start">Seller</span>
<span class="text-muted ">{{ $HistoryTransaction['seller'] }}</span>
</div>
<div class="data-field">
<span class="fw-bold text-start">Total</span>
<span class="text-muted ">{{ $HistoryTransaction['total'] }}</span>
</div>
<div class="data-field">
<span class="fw-bold text-start">Due Date</span>
<span class="text-muted ">{{ $HistoryTransaction['dueDate'] }}</span>
</div>
<div class="data-field">
<span class="fw-bold text-start">Status</span>
<span class="text-muted ">{{ $HistoryTransaction['status'] }}</span>
</div>
</div> --}}
{{-- @endforeach --}}
{{-- Pindahan modal --}}
{{-- awal modal transaksi --}}
{{-- <div class="modal fade" id="detailtransaksi" 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">
<h1 class="modal-title fs-5" id="staticBackdropLabel">Detail Transaksi</h1>
<a type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></a>
</div>
<div class="modal-body">
@foreach ($TransactionUser as $HistoryTransaction)
<div class="d-flex flex-column">
<div class="data-fieldr">
<span class="fw-bold text-start">Order Details</span>
</div>
<hr class="border border-1 opacity-75 w-100">
<div class="data-field">
<span class="fw-bold text-start">Oder ID</span>
<span class="text-muted ">{{ $HistoryTransaction['orderId'] }}</span>
</div>
<div class="data-field">
<span class="fw-bold text-start">Customer</span>
<span class="text-muted ">{{ $HistoryTransaction['Customer'] }}</span>
</div>
<div class="data-field">
<span class="fw-bold text-start">Seller</span>
<span class="text-muted ">{{ $HistoryTransaction['seller'] }}</span>
</div>
<div class="data-field">
<span class="fw-bold text-start">Total</span>
<span class="text-muted ">{{ $HistoryTransaction['total'] }}</span>
</div>
<div class="data-field">
<span class="fw-bold text-start">Due Date</span>
<span class="text-muted ">{{ $HistoryTransaction['dueDate'] }}</span>
</div>
<div class="data-field">
<span class="fw-bold text-start">Status</span>
<span class="text-muted ">{{ $HistoryTransaction['status'] }}</span>
</div>
</div>
@endforeach
</div>
<div class="modal-footer">
<a href="/transaction" type="button" class="btn btn-primary">OK!</a>
</div>
</div>
</div>
</div> --}}

View File

@ -3,6 +3,8 @@
<div class="main-content"> <div class="main-content">
<section class="section"> <section class="section">
<div class="section-header"> <div class="section-header">
<div class="section-header-breadcrumb"> <div class="section-header-breadcrumb">
<div class="breadcrumb-item active"><a href="#">Dashboard</a></div> <div class="breadcrumb-item active"><a href="#">Dashboard</a></div>
<div class="breadcrumb-item"><a href="#"> Transaction</a></div> <div class="breadcrumb-item"><a href="#"> Transaction</a></div>
@ -15,44 +17,44 @@
<div class="col-12 mb-4"> <div class="col-12 mb-4">
<div class="hero bg-primary text-white"> <div class="hero bg-primary text-white">
<div class="hero-inner"> <div class="hero-inner">
<h1>Welcome! {{ Auth::user()->nama_depan }}</h1> <h1>Welcome! npannisa</h1>
<p class="lead">Mau belanja apa hari ini?</p> <p class="lead">How Are You Today?</p>
</div> </div>
</div> </div>
</div> </div>
<div class="col-md-12"> <div class="col-md-12">
<div class="card"> <div class="card">
<div class="d-grid gap-2 d-md-flex justify-content-md-end" style="margin-bottom: 20px"> <div class="d-grid gap-2 d-md-flex justify-content-md-end" style="margin-bottom: 20px">
<a class="nav-link active" href="{{ route('tambah-transaction.pembeli') }}"> <a class="nav-link active" href="new-transaction">
<button class="btn btn-primary btn-lg">Lakukan Transaksi Baru</button> <button class="btn btn-primary btn-lg">Lakukan Transaksi Baru</button>
</a> </a>
</div> </div>
<div class="card-body"> <div class="card-body">
<div class="table-responsive"> <div class="table-responsive">
<table class="table table-striped" id="table-3"> <table class="table table-striped" id="table-1">
<thead> <thead>
<tr> <tr>
<th>No</th> <th>User ID</th>
<th>Order ID</th> <th>Order ID</th>
<th>Penjual</th> <th>Customer</th>
<th>Seller</th>
<th>Total</th> <th>Total</th>
<th>Tanggal Pembuatan</th> <th>Due Date</th>
<th>Tanggal Update</th>
<th>Status</th> <th>Status</th>
<th>Aksi</th> <th>Action</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@foreach ($transactions as $transaction) @foreach ($TransactionUser as $HistoryTransaction)
<tr> <tr>
<td>{{ $loop->iteration }}</td> <td>{{ $HistoryTransaction['userId'] }}</td>
<td>{{ $transaction->id }}</td> <td>{{ $HistoryTransaction['orderId'] }}</td>
<td>{{ $transaction->data_penjual->nama_depan.' '.$transaction->data_penjual->nama_belakang }}</td> <td>{{ $HistoryTransaction['Customer'] }}</td>
<td>Rp {{number_format($transaction->total_bayar,2, ',', '.') }}</td> <td>{{ $HistoryTransaction['seller'] }}</td>
<td>{{ $transaction->created_at }}</td> <td>{{ $HistoryTransaction['total'] }}</td>
<td>{{ $transaction->updated_at }}</td> <td>{{ $HistoryTransaction['dueDate'] }}</td>
<td>{{ ($transaction->status == 'pending' ? 'Menunggu Pembayaran' : 'Selesai') }}</td> <td>{{ $HistoryTransaction['status'] }}</td>
<td> <td>
<div class="btn-group"> <div class="btn-group">
<button type="button" class="btn btn-primary dropdown-toggle" <button type="button" class="btn btn-primary dropdown-toggle"
@ -62,24 +64,16 @@
</button> </button>
<ul class="dropdown-menu"> <ul class="dropdown-menu">
<li><a class="dropdown-item" href="{{route('user-transaction.detail.pembeli',$transaction->id)}}">Detail</a></li> <li><a class="dropdown-item"
{{-- @if ($transaction->status == 'Pending') href="/detail-transaction">Detail</a></li>
@endif --}}
<li><a class="dropdown-item" <li><a class="dropdown-item"
href="/refund-transaction">Refund</a></li> href="/refund-transaction">Refund</a></li>
{{-- <li><a class="dropdown-item" {{-- <li><a class="dropdown-item"
href="/invoice-transaction">Bayar</a></li> --}} href="/invoice-transaction">Bayar</a></li> --}}
<li><a class="dropdown-item" id="bayar" <li><a class="dropdown-item" data-toggle="modal"
data-id="{{ $transaction->id }}" data-target="#bayar">Bayar</a></li>
data-token="{{$transaction->token}}">Bayar</a> <li><a class="dropdown-item" data-toggle="modal"
{{-- data-id="{{ $transaction }}">Bayar</a> --}} data-target="#selesai">Selesai</a></li>
</li>
<li><a class="dropdown-item" id="selesai"
data-id="{{ $transaction->id }}">Selesai</a>
{{-- data-id="{{ $transaction }}">Selesai</a> --}}
</li>
</ul> </ul>
</div> </div>
</td> </td>
@ -93,90 +87,7 @@
</div> </div>
</div> </div>
</section> </section>
</div>
@extends('user.transaction.pembeli.modal-bayar-transaction') @extends('user.transaction.pembeli.modal-bayar-transaction')
@extends('user.transaction.pembeli.modal-end-transaction') @extends('user.transaction.pembeli.modal-end-transaction')
<script type="text/javascript" src="https://app.sandbox.midtrans.com/snap/snap.js" @endsection
data-client-key="SB-Mid-client-rk6kY5XbPLChy3Lg"></script>
<script>
$(document).ready(function() {
// Bayar
$('#table-3').on('click', '#bayar', function() {
const id = $(this).data('id');
const token =$(this).data('token');
const csrfToken = $('meta[name="csrf-token"]').attr('content');
snap.pay(token, {
onSuccess: function(result) {
const formData = new FormData();
formData.append('status', result.transaction_status);
formData.append('tanggal_pembayaran', result.transaction_time);
formData.append('metode_pembayaran', result.payment_type);
$.ajaxSetup({
headers:{
'X-CSRF-TOKEN': csrfToken
}
});
$.ajax({
url:"{{route('payment-transaction.pembeli',':id')}}".replace(':id',id),
type:"POST",
data: formData,
contentType: false,
processData: false,
success:function(response){
Swal.fire({
title: response.status ? 'Berhasil' : 'Gagal',
text: response.message,
icon: response.status ? 'success' : 'error',
confirmButtonText: 'OK'
});
console.log(response);
},error:function(error){
Swal.fire({
title: 'Gagal',
text: 'Gagal mengupdate pembayaran ke database',
icon: 'error'
});
}
});
console.log(result);
},
onPending: function(result) {
/* You may add your own implementation here */
// alert("wating your payment!");
Swal.fire({
title: 'Ditunda',
text: 'Pemabayaran ditunda. Silahkan tunggu sebentar ' + result,
icon: 'info'
});
console.log(result);
},
onError: function(result) {
/* You may add your own implementation here */
Swal.fire({
title : 'Gagal',
text: 'Terjadi kesalahan ' + result,
icon: 'error'
});
console.log(result);
},
onClose: function(error) {
/* You may add your own implementation here */
Swal.fire({
title: 'Ditunda',
text: 'Kamu menutup halaman pembayaran. Silahkan masuk lagi untuk melakukan pembayaran',
icon: 'warning'
});
console.log(error);
}
});
});
$('#table-3').on('click', '#selesai', function() {
const id = $(this).data('id');
console.log(id);
});
});
</script>
@endsection

View File

@ -1,7 +1,5 @@
@extends('user.layout.main') @extends('user.layout.main')
@section('content') @section('content')
{{-- <link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" rel="stylesheet" /> --}}
<link rel="stylesheet" href="{{ asset('assets/modules/select2/dist/css/select2.min.css') }}">
<div class="main-content"> <div class="main-content">
<section class="section"> <section class="section">
<div class="container"> <div class="container">
@ -16,383 +14,123 @@
<div class="card-body"> <div class="card-body">
<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"> <label for="inputpembeli">Nama Pembeli</label>
<h5>Nama Pembeli</h5>
</label>
<input type="email" class="form-control" id="inputpembeli" <input type="email" class="form-control" id="inputpembeli"
placeholder="Masukkan nama pembeli" placeholder="Masukkan nama pembeli">
value="{{ Auth::user()->nama_depan . ' ' . Auth::user()->nama_belakang }}"
disabled>
</div> </div>
</div> </div>
<div class="form-group">
<label for="inputpenjual">
<h5>Penjual</h5>
</label>
<h6>Pilih dari kontak</h6>
<div class="input-group">
<select class="form-control" id="selectContact" name="select_penjual">
</select>
<button class="btn btn-danger" type="button" id="deleteOption">Hapus</button>
</div>
</div>
<div class="form-group">
<h6>atau dari email</h6>
<div class="input-group">
<input type="email" class="form-control" id="inputPenjual"
name="input_penjual" placeholder="Masukkan email penjual">
<button class="btn btn-danger" type="button" id="checkButton">Check</button>
</div>
</div>
<div class="form-group">
<label for="inputBarang">
<h5>Nama Barang/Jasa</h5>
</label>
<input type="text" class="form-control" id="inputBarang"
placeholder="Sepeda Motor" name="nama_barang">
</div>
<div class="form-group"> <div class="form-group">
<label for="hargaBarang"> <label for="inputpenjual">Nama Penjual</label>
<h5>Harga Satuan</h5> <input type="text" class="form-control" id="inputpenjual"
</label> placeholder="Masukkan nama penjual">
<input type="number" class="form-control" name="harga_barang" id="hargaBarang"
placeholder="Rp. 1000.000">
</div> </div>
<div class="form-group"> <div class="form-group">
<label for="hargaBarang"> <label for="harga">Harga</label>
<h5>Satuan</h5> <input type="text" class="form-control" id="harga" placeholder="Rp.1000.000">
</label>
<input type="text" class="form-control" name="satuan_barang" id="satuanBarang"
placeholder="Buah/Kg/Karung dll.">
</div> </div>
<div class="form-group"> <div class="form-group">
<label for="jumlahBarang"> <label for="inputjenis">Jenis Barang</label>
<h5>Jumlah Satuan</h5> <input type="text" class="form-control" id="inputjenis" placeholder="">
</label>
<input type="number" class="form-control" name="jumlah_barang" id="jumlahBarang"
placeholder="Jumlah satuan">
</div> </div>
{{-- <div class="form-group">
<label for="batasPengiriman">
<h5>Batas Pengiriman Barang</h5>
</label>
<input type="date" class="form-control" name="batas_pengiriman"
id="batasPengiriman" nama="batas_pengiriman">
</div> --}}
<div class="form-group"> <div class="form-group">
<label for="inputDeskripsi"> <label>Due Date</label>
<h5>Deskripsi</h5> <input type="date" class="form-control">
</div>
<div class="form-group">
<label for="inputdeskripsi">Deskripsi</label>
<textarea class="form-control resizable" id="deskripsi"
placeholder="Deskripsikan jenis apa transaksi yang anda lakukan"></textarea>
</div>
<div class="form-group mb-0">
<div class="form-check">
<input class="form-check-input" type="checkbox" id="gridCheck">
<label class="form-check-label" for="gridCheck">
Check me out
</label> </label>
<textarea class="form-control resizable" name="deskripsi" id="inputDeskripsi" placeholder="Deskripsikan transaksi anda"></textarea>
</div>
<div class="dashed-line"></div>
<div class="form-row">
<label style="margin-right: 200px;" id="jumlah">Nominal</label>
<div style="display: inline-block;" id="totalBiaya">Rp 0,00</div>
</div>
<div class="form-row">
<label style="margin-right: 200px;" id="biayaAdmin" data-admin="">Biaya Admin
(0.1%)</label>
<div style="display: inline-block;" id="totalBiayaAdmin">Rp 0,00</div>
</div>
<div class="form-row">
<h6 style="margin-right: 200px;">Total Biaya</h6>
<div style="display: inline-block;">
<h6 id="totalBayar">Rp 0,00</h6>
</div> </div>
</div> </div>
</div>
<div class="dashed-line"></div>
<div class="card-footer d-flex justify-content-center"> <div class="card-footer d-flex justify-content-center">
<button type="button" class="btn btn-primary" id="save">Buat</button> <a href="/pembeli" class="btn btn-primary">Submit</a>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
{{-- form transaksi --}}
{{-- <div class="container">
<div class="row justify-content-center">
<div class="col-md-6">
<div class="card">
<div class="card-body">
<form>
<div class="mb-3">
<label for="orderid" class="form-label">Order Id</label>
<input type="text" class="form-control" id="orderId" name="order" required>
</div>
<div class="mb-3">
<label for="customer" class="form-label">Customer</label>
<input type="text" class="form-control" id="customer" name="customer" required>
</div>
<div class="mb-3">
<label for="seller" class="form-label">Norek Asal</label>
<input type="text" class="form-control" id="norekasal" name="norekasal" pattern="[0-9]+" required>
<div class="invalid-feedback">
Harap masukkan hanya angka</div>
</div>
<div class="mb-3">
<label for="seller" class="form-label">Seller</label>
<input type="text" class="form-control" id="seller" name="seller" required>
</div>
<div class="mb-3">
<label for="seller" class="form-label">Norek Tujuan</label>
<input type="text" class="form-control" id="norektujuan" name="norektujuan" pattern="[0-9]+" required>
<div class="invalid-feedback">
Harap masukkan hanya angka.
</div> </div>
</div> </div>
</section>
<div class="mb-3">
<label for="total" class="form-label">Total</label>
<input type="text" class="form-control" id="total" name="total">
</div> </div>
<script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>
<script>
$(document).ready(function() {
let totalHarga = 0;
let biayaAdmin = 0.1;
let totalBiayaAdmin = 0;
let totalBayar = 0;
function tampilTotalHarga(harga) { <div class="mb-3">
let tampilTotalNominal = document.getElementById('totalBiaya'); <label for="seller" class="form-label">Due Date</label>
let tampilTotalBiaya = document.getElementById('totalBayar'); <input type="calendar" class="form-control" id="duedate" name="duedate" required>
let tampilTotalBiayaAdmin = document.getElementById('totalBiayaAdmin'); </div>
totalBiayaAdmin = harga * biayaAdmin / 100
totalBayar = totalBiayaAdmin + harga
tampilTotalNominal.innerHTML = harga.toLocaleString('id-ID', {
style: 'currency',
currency: 'IDR'
});
tampilTotalBiaya.innerHTML = totalBayar.toLocaleString('id-ID', {
style: 'currency',
currency: 'IDR'
});;
tampilTotalBiayaAdmin.innerHTML = totalBiayaAdmin.toLocaleString('id-ID', {
style: 'currency',
currency: 'IDR'
});
}
$("#selectContact").select2({ <div class="mb-3">
placeholder: "Pilih Kontak", <label for="textareadesc" class="form-label">Deskripsi</label>
ajax: { <textarea class="form-control" id="textareadesc" rows="3"></textarea>
url: "{{ route('user-contact.get') }}", </div>
processResults: function({
data
}) {
return {
results: $.map(data, function(item) {
return {
id: item.relasi_kontak,
text: item.nama_depan + " " + item.nama_belakang,
};
}),
};
},
},
});
$('#hargaBarang').change(function() {
let harga = $(this).val();
let jumlah = $('#jumlahBarang').val();
let biaya = document.getElementById('totalBiaya');
if (harga.trim() != '') {
if (jumlah.trim() != '') {
totalHarga = harga * jumlah;
} else {
totalHarga = harga * 0;
}
tampilTotalHarga(totalHarga);
}
});
$('#jumlahBarang').change(function() {
let jumlah = $(this).val();
let harga = $('#hargaBarang').val();
let nominal = document.getElementById('jumlah');
if (jumlah.trim() != '') {
if (jumlah == 0) {
nominal.innerHTML = 'Nominal';
} else {
nominal.innerHTML = 'Nominal (x' + jumlah + ')';
}
if (harga.trim() != '') {
totalHarga = harga * jumlah;
} else {
totalHarga = 0 * jumlah;
}
tampilTotalHarga(totalHarga);
}
})
$('#selectContact').change(function() { {{-- <div class="d-flex justify-content-center">
let email = $('#selectContact').val(); <button class="btn btn-info open-detail-modal" data-toggle="modal fade"
if (email === null) { data-target="#confirmtransaction">Transaksi Sudah Benar</button>
$('#inputPenjual').prop('disabled', false); </div> --}}
$('#checkButton').prop('disabled', false);
$('#deleteOption').prop('disabled', false);
} else {
$('#inputPenjual').prop('disabled', true);
$('#deleteOption').prop('disabled', false);
$('#checkButton').prop('disabled', true);
}
});
$('#deleteOption').click(function() { <div class="d-flex justiffy-content-center">
$('#selectContact').val(null).trigger("change"); <a href="/pembeli" type="button" class="btn btn-primary" data-bs-dismiss="modal">Transaksi Sudah
}); Benar</a>
</div>
$('#inputPenjual').on('input', function() { </form>
let emailInput = $('#inputPenjual').val(); </div>
if (emailInput.trim() == '') { </div>
$('#selectContact').prop('disabled', false); </div>
$('#deleteOption').prop('disabled', false); </div>
} else { {{-- </div> --}}
$('#selectContact').prop('disabled', true); </div>
$('#deleteOption').prop('disabled', true);
}
});
$('#checkButton').click(function() {
let email = document.querySelector('[name="input_penjual"]').value;
const csrfToken = $('meta[name="csrf-token"]').attr('content');
if (email.trim() == '') {
Swal.fire({
title: 'Gagal',
text: 'Email tidak boleh kosong',
icon: 'error'
});
} else {
if (email != "{{ Auth::user()->email }}") {
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': csrfToken
}
});
$.ajax({
url: "{{ route('user-contact.email', ':email') }}".replace(':email',
email),
type: 'GET',
success: function(response) {
if (response.status) {
Swal.fire({
title: 'Berhasil',
text: 'Akun tersedia',
icon: 'success'
});
} else {
Swal.fire({
title: 'Gagal',
text: response.message,
icon: 'error'
});
}
},
error: function(error) {
Swal.fire({
title: 'Gagal',
text: 'Terjadi error karena, ' + error,
icon: 'error'
});
}
});
} else {
Swal.fire({
title: 'Gagal',
text: 'Email penjual tidak boleh sama denggan email pembeli',
icon: 'error',
});
}
}
});
$('#save').on('click', function() {
let opsiKontak = document.querySelector('[name="select_penjual"]').value;
let inputKontak = document.querySelector('[name="input_penjual"]').value;
let namaBarang = document.querySelector('[name="nama_barang"]').value;
let hargaBarang = document.querySelector('[name="harga_barang"]').value;
let satuanBarang = document.querySelector('[name="satuan_barang"]').value;
let jumlahBarang = document.querySelector('[name="jumlah_barang"]').value;
let deskripsi = document.querySelector('[name="deskripsi"]').value;
let emptyInput = [];
let penjual = '';
if (opsiKontak != "" && inputKontak != "") {
penjual = opsiKontak;
} else if (opsiKontak == "" && inputKontak != "") {
penjual = inputKontak;
} else if (inputKontak == "" && opsiKontak != "") {
penjual = opsiKontak;
} else {
console.log('Kosong');
emptyInput.push("Kolom penjual tidak boleh kosong");
}
if (penjual == "{{ Auth::user()->email }}") {
emptyInput.push("Email penjual tidak boleh sama dengan email pembeli");
}
if (namaBarang == "") {
emptyInput.push("Nama barang tidak boleh kosong");
}
if (hargaBarang == "") {
emptyInput.push("Harga barang tidak boleh kosong");
}
if (satuanBarang == "") {
emptyInput.push("Satuan barang tidak boleh kosong");
}
if (jumlahBarang == "") {
emptyInput.push("Jumlah barang tidak boleh kosong");
}
// if (batasPengiriman == "") {
// emptyInput.push("Batas pengiriman tidak boleh kosong");
// }
if (emptyInput.length > 0) {
const emptyInputError = emptyInput.join(', ');
Swal.fire({
title: 'Gagal',
text: emptyInputError,
icon: 'error',
confirmButtonText: 'OK',
});
} else {
const csrfToken = $('meta[name="csrf-token"]').attr('content');
const formData = new FormData();
formData.append('email_penjual', penjual);
formData.append('nama_barang', namaBarang);
formData.append('satuan_barang', satuanBarang);
formData.append('harga_barang', hargaBarang);
formData.append('jumlah_barang', jumlahBarang);
// formData.append('batas_pengiriman', batasPengiriman);
formData.append('deskripsi', deskripsi);
formData.append('persentase_keuntungan', 0.1);
formData.append('total_keuntungan', totalBiayaAdmin);
formData.append('total_harga', totalHarga);
formData.append('total_bayar', totalBayar);
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': csrfToken
}
});
$.ajax({
url: "{{ route('store-transaction.pembeli') }}",
type: "POST",
data: formData,
processData: false,
contentType: false,
success: function(response) {
Swal.fire({
title: response.status ? 'Berhasil' : 'Gagal',
text: response.message,
icon: response.status ? 'success' : 'error',
confirmButtonText: 'OK'
}).then(function() {
location.href =
"{{ route('user-transaction.index.pembeli') }}"
});
console.log(response);
},
error: function(error) {
Swal.fire({
title: 'Gagal',
text: 'Gagal mengirimkan data karena ' + error,
icon: 'error'
});
console.log(error);
}
});
}
});
});
</script>
@endsection @endsection

View File

@ -18,7 +18,7 @@
<div class="hero bg-primary text-white"> <div class="hero bg-primary text-white">
<div class="hero-inner"> <div class="hero-inner">
<h1>Welcome to the Rekber Aplication</h1> <h1>Welcome to the Rekber Aplication</h1>
<p class="lead">Selamat Datang {{ Auth::user()->nama_depan }}!</p> <p class="lead">Selamat Datang npannisa!</p>
</div> </div>
</div> </div>
</div> </div>
@ -30,26 +30,27 @@
<thead> <thead>
<tr> <tr>
<th>#</th> <th>#</th>
<th>User ID</th>
<th>Order ID</th> <th>Order ID</th>
<th>Pembeli</th> <th>Customer</th>
<th>Seller</th>
<th>Total</th> <th>Total</th>
<th>Batas Pengiriman Barang</th> <th>Due Date</th>
<th>Status</th> <th>Status</th>
<th>Action</th> <th>Action</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@foreach ($transactions as $transaction) @foreach ($TransactionUser as $key => $HistoryTransaction)
<tr> <tr>
<td>{{ $loop->iteration }}</td> <td>{{ ++$key }}</td>
<td class="font-weight-600">{{ $transaction->id }}</td> <td class="font-weight-600">{{ $HistoryTransaction['userId'] }}</td>
<td class="font-weight-600"> <td class="font-weight-600">{{ $HistoryTransaction['orderId'] }}</td>
{{ ucwords(strtolower($transaction->data_pembeli->nama_depan . ' ' . $transaction->data_pembeli->nama_belakang)) }} <td class="font-weight-600">{{ $HistoryTransaction['Customer'] }}</td>
</td> <td class="font-weight-600">{{ $HistoryTransaction['seller'] }}</td>
<td class="font-weight-600">{{ $transaction->total_bayar }}</td> <td class="font-weight-600">{{ $HistoryTransaction['total'] }}</td>
{{-- <td class="font-weight-600">{{ $transaction->batas_pengiriman_barang }}</td> --}} <td>{{ $HistoryTransaction['dueDate'] }}</td>
<td>{{ $transaction->batas_pengiriman_barang }}</td> <td class="font-weight-600">{{ $HistoryTransaction['status'] }}</td>
<td class="font-weight-600">{{ $transaction->status }}</td>
<td> <td>
<div class="btn-group"> <div class="btn-group">
<button type="button" class="btn btn-primary dropdown-toggle" <button type="button" class="btn btn-primary dropdown-toggle"
@ -59,8 +60,7 @@
</button> </button>
<ul class="dropdown-menu"> <ul class="dropdown-menu">
<li><a class="dropdown-item" <li><a class="dropdown-item"
href="{{ route('user-transaction.detail.pembeli', $transaction->id) }}">Detail</a> href="/detail-transaction">Detail</a></li>
</li>
<li><a class="dropdown-item" data-toggle="modal" <li><a class="dropdown-item" data-toggle="modal"
data-target="#tracking">Tracking</a></li> data-target="#tracking">Tracking</a></li>
{{-- <li><a class="dropdown-item" href="/tracking">Tracking</a></li> --}} {{-- <li><a class="dropdown-item" href="/tracking">Tracking</a></li> --}}
@ -76,8 +76,5 @@
</div> </div>
</div> </div>
</div> </div>
</div> @extends('user.transaction.Penjual.tracking')
</section> @endsection
</div>
@extends('user.transaction.penjual.modal-tracking')
@endsection

View File

@ -1,47 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta content="width=device-width, initial-scale=1, maximum-scale=1, shrink-to-fit=no" name="viewport">
<title>Verifikasi Email Pemulihan</title>
<link rel="stylesheet" href="{{ asset('assets/modules/bootstrap/css/bootstrap.min.css') }}">
<link rel="stylesheet" href="{{ asset('assets/css/style.css') }}">
</head>
<body>
<div id="app">
<section class="section">
<div class="container mt-5">
<div class="row justify-content-center">
<div class="col-md-10">
<div class="card">
<div class="card-header d-flex justify-content-center bg-primary text-white">
<img class="mr-3 rounded" width="150"
src="{{ asset('assets/images/google-removebg-preview.png') }}">
</div>
<div class="d-flex justify-content-center bg-primary text-white">
<h2 class="mb-0">Verifikasi Email</h2>
</div>
<div class="card-body">
<p>Rekber mengirimkan kode verifikasi ke</p>
<p><b>{{ $verificationEmail['email'] }}</b></p>
<p class="mt-4">Gunakan kode ini untuk menyelesaikan syarat pendaftaran akun:</p>
<div class="d-flex justify-content-center">
<h1 class="verification-code">{{ $verificationEmail['code'] }}</h1>
</div>
<div class="text-center">
<p><b>Masa berlaku kode ini akan berakhir dalam 2 menit.</b> </p>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
</body>
</html>

View File

@ -1,60 +1,3 @@
<<<<<<< HEAD
@extends('Admin.layout.main')
@section('content')
<!-- Main Content -->
<div class="main-content">
<section class="section">
<div class="row">
<div class="col-lg-4 col-md-4 col-sm-12">
<div class="card card-statistic-2">
<div class="card-stats">
<div class="card-stats-title">List Transaction -
<div class="dropdown d-inline">
<a class="font-weight-600 dropdown-toggle" data-toggle="dropdown" href="#"
id="orders-month">August</a>
<ul class="dropdown-menu dropdown-menu-sm">
<li class="dropdown-title">Select Month</li>
<li><a href="#" class="dropdown-item">January</a></li>
<li><a href="#" class="dropdown-item">February</a></li>
<li><a href="#" class="dropdown-item">March</a></li>
<li><a href="#" class="dropdown-item">April</a></li>
<li><a href="#" class="dropdown-item">May</a></li>
<li><a href="#" class="dropdown-item">June</a></li>
<li><a href="#" class="dropdown-item">July</a></li>
<li><a href="#" class="dropdown-item active">August</a></li>
<li><a href="#" class="dropdown-item">September</a></li>
<li><a href="#" class="dropdown-item">October</a></li>
<li><a href="#" class="dropdown-item">November</a></li>
<li><a href="#" class="dropdown-item">December</a></li>
</ul>
</div>
</div>
<div class="card-stats-items">
<div class="card-stats-item">
<div class="card-stats-item-count">114</div>
<div class="card-stats-item-label">Success</div>
</div>
<div class="card-stats-item">
<div class="card-stats-item-count">12</div>
<div class="card-stats-item-label">Pending</div>
</div>
<div class="card-stats-item">
<div class="card-stats-item-count">23</div>
<div class="card-stats-item-label">Canceled</div>
</div>
</div>
</div>
<div class="card-icon shadow-primary bg-primary">
<i class="fas fa-archive"></i>
</div>
<div class="card-wrap">
<div class="card-header">
<h4>Total Transaction</h4>
</div>
<div class="card-body">
159
</div>
=======
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
@ -144,7 +87,7 @@
</div> --}} </div> --}}
<!-- ======= MODAL ======= --> <!-- ======= MODAL ======= -->
<div class="container mt-5"> <div class="container">
<div class="forms-container"> <div class="forms-container">
<div class="signin-signup"> <div class="signin-signup">
@ -159,8 +102,8 @@
<div style="width: 100%; display: flex; align-items: center;"> <div style="width: 100%; display: flex; align-items: center;">
<div class="input-field-signin-flex"> <div class="input-field-signin-flex">
<i class="fas fa-envelope" aria-hidden="true"></i> <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> <input type="email" class="telp-input-signin" placeholder="Email" name="email" required>
>>>>>>> 5f01f0d124f30816c3c08e664df3a9b62a2847ab
</div> </div>
<button type="button" class="btn-otp solid" id="cekAkun">Cek Akun</button> <button type="button" class="btn-otp solid" id="cekAkun">Cek Akun</button>
@ -218,7 +161,7 @@
<div class="input-field-signup-flex"> <div class="input-field-signup-flex">
<i class="fas fa-user"></i> <i class="fas fa-user"></i>
<input type="text" placeholder="Nama Depan" class="first-name-input" <input type="text" placeholder="Nama Depan" class="first-name-input"
name="nama_depan" required /> name="nama_depan" />
</div> </div>
<div class="input-field-signup-flex" style="margin-left: 3%"> <div class="input-field-signup-flex" style="margin-left: 3%">
<i class="fas fa-user"></i> <i class="fas fa-user"></i>
@ -232,21 +175,11 @@
maxlength="16" maxlength="16"
oninput="this.value = this.value.replace(/[^0-9]/g, '').substring(0, 16);" /> oninput="this.value = this.value.replace(/[^0-9]/g, '').substring(0, 16);" />
</div> </div>
<div class="flex-input-btn">
<div class="input">
<i class="fa fa-envelope" aria-hidden="true"></i>
<input type="email" placeholder="Email" class="email-input" name="new_email"
id="newEmail" />
</div>
<button id="verifikasiEmail" class="btn-otp" type="button"
disabled=true>Verifikasi</button>
</div>
<div class="input-field up"> <div class="input-field up">
<i class="fa fa-ellipsis-h" aria-hidden="true"></i> <i class="fa fa-envelope" aria-hidden="true"></i>
<input type="text" class="telp-input-signup" <input type="email" placeholder="Email" class="email-input" name="new_email" />
oninput="this.value = this.value.replace(/[^0-9]/g, '').substring(0, 6);"
placeholder="Kode Verifikasi Email" name="email_verification">
</div> </div>
<div class="input-field up"> <div class="input-field up">
<i class="fa fa-phone" aria-hidden="true"></i> <i class="fa fa-phone" aria-hidden="true"></i>
<input type="text" class="telp-input-signup" maxlength="13" <input type="text" class="telp-input-signup" maxlength="13"
@ -435,7 +368,7 @@
<button class="btn transparent" id="sign-up-btn"> <button class="btn transparent" id="sign-up-btn">
Sign up Sign up
</button> </button>
<p><a href="{{ route('login') }}">kembali</a></p> <p><a href="/">kembali</a></p>
</div> </div>
<img src="{{ asset('assets/img/login_register/Payment Information-pana.svg') }}" class="image" <img src="{{ asset('assets/img/login_register/Payment Information-pana.svg') }}" class="image"
alt="" /> alt="" />
@ -456,12 +389,7 @@
</div> </div>
</div> </div>
</div> </div>
<<<<<<< HEAD {{-- <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> --}}
@include('Admin.transaction.Tracking')
@endsection
=======
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js" <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js"
integrity="sha512-aVKKRRi/Q/YV+4mjoKBsE4x3H+BkegoM/em46NNlCqNTmUYADjBbeNefNxYV7giUp0VxICtqdrbqU7iVaeZNXA==" integrity="sha512-aVKKRRi/Q/YV+4mjoKBsE4x3H+BkegoM/em46NNlCqNTmUYADjBbeNefNxYV7giUp0VxICtqdrbqU7iVaeZNXA=="
crossorigin="anonymous" referrerpolicy="no-referrer"></script> crossorigin="anonymous" referrerpolicy="no-referrer"></script>
@ -472,44 +400,9 @@
<script src="//cdn.jsdelivr.net/npm/sweetalert2@11"></script> <script src="//cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<script src="{{ asset('assets/js/login_register/app.js') }}"></script> <script src="{{ asset('assets/js/login_register/app.js') }}"></script>
<script src="{{ asset('assets/js/login_register/script.js') }}"></script> <script src="{{ asset('assets/js/login_register/script.js') }}"></script>
@if (Session::has('message'))
<script>
Swal.fire({
icon: 'error',
title: 'Gagal',
text: "{{ Session::get('message') }}",
});
</script>
@endif
@if ($errors->any())
<script>
Swal.fire({
icon: 'error',
title: 'Kesalahan',
text: @json($errors->all()).join(' '),
});
console.log(@json($errors->all()));
</script>
@endif
<script> <script>
$(document).ready(function() { $(document).ready(function() {
let verificationStatus = false;
let verificationCode = '';
let waktuSekarangDetik = 0;
// Generate Kode Verifikasi
function generateVerificationCode() {
const codeLength = 6;
let code = '';
for (let i = 0; i < codeLength; i++) {
code += Math.floor(Math.random() * 10); // Menghasilkan digit acak dari 0 hingga 9
}
return code;
}
// Login Awal
$('#cekAkun').on('click', function() { $('#cekAkun').on('click', function() {
let email = document.querySelector('[name="email"]').value; let email = document.querySelector('[name="email"]').value;
const csrfToken = $('meta[name="csrf-token"]').attr('content'); const csrfToken = $('meta[name="csrf-token"]').attr('content');
@ -576,114 +469,6 @@
} }
} }
}); });
// Login Akhir
// Register Awal
$('#newEmail').on('input', function() {
const newEmail = $(this);
clearTimeout(newEmail.timer); // Menghapus timeout yang ada
const verificationButton = document.getElementById('verifikasiEmail');
verificationButton.disabled = true;
const email = newEmail.val().trim(); // Menghapus spasi di awal dan akhir
if (email != '') {
// Menunggu 5 detik sebelum menghasilkan kode verifikasi
newEmail.timer = setTimeout(function() {
if (waktuSekarangDetik == 0) {
verificationStatus = false;
verificationButton.disabled = false;
verificationButton.innerHTML = 'Verifikasi';
}
}, 1000);
}
});
function isValidEmail(email) {
// Ekspresi reguler untuk memeriksa validitas alamat email
var emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
// Menggunakan test() untuk memeriksa apakah email sesuai dengan ekspresi reguler
return emailRegex.test(email);
}
$('#verifikasiEmail').on('click', function() {
const newEmail = $(this);
const email = document.querySelector('[name="new_email"]').value;
const csrfToken = $('meta[name="csrf-token"]').attr('content');
verificationCode = generateVerificationCode();
verificationStatus = false
if (isValidEmail(email)) {
const formData = new FormData();
formData.append('email', email);
formData.append('code', verificationCode);
// Menonaktifkan tombol verifikasi
newEmail.prop('disabled', true);
// Mengatur waktu dalam detik (misalnya, 2 menit = 120 detik)
const waktuTotalDetik = 120;
waktuSekarangDetik = waktuTotalDetik;
// Mengupdate teks tombol dengan format menit:detik
function updateButtonText() {
const menit = Math.floor(waktuSekarangDetik / 60);
const detik = waktuSekarangDetik % 60 < 10 ? '0' + (waktuSekarangDetik % 60) :
waktuSekarangDetik % 60;
newEmail.text(`${menit}:${detik}`);
}
// Memulai timer dan mengupdate teks tombol setiap detik
const timerInterval = setInterval(function() {
if (waktuSekarangDetik > 0) {
waktuSekarangDetik--;
updateButtonText();
} else {
clearInterval(timerInterval);
newEmail.text("Verifikasi"); // Mengembalikan teks awal tombol
newEmail.prop('disabled', false); // Mengaktifkan kembali tombol
}
}, 1000); // Setiap 1 detik
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': csrfToken
}
});
$.ajax({
url: "{{ route('kirim.kode') }}",
type: 'POST',
data: formData,
contentType: false,
processData: false,
success: function(response) {
Swal.fire({
title: response.status ? 'Berhasil' : 'Gagal',
text: response.message,
icon: response.status ? 'success' : 'error',
});
verificationStatus = true;
},
error: function(error) {
Swal.fire({
title: 'Gagal',
text: 'Gagal karena kesalahan inputan atau jaringan',
icon: 'error',
});
console.log(error);
},
});
} else {
Swal.fire({
title: 'Kesalahan',
text: 'Inputan yang anda masukan bukan alamat email. Silahkan masukan alamat email yang benar.',
icon: 'error'
});
}
});
$('#signUp').on('click', function() { $('#signUp').on('click', function() {
let emptyInput = []; let emptyInput = [];
@ -694,7 +479,6 @@
let email = document.querySelector('[name="new_email"]').value; let email = document.querySelector('[name="new_email"]').value;
let nohp = document.querySelector('[name="nohp"]').value; let nohp = document.querySelector('[name="nohp"]').value;
let gender = document.querySelector('[name="gender"]').value; let gender = document.querySelector('[name="gender"]').value;
let emailVerification = document.querySelector('[name="email_verification"]').value;
// Tanggal lahir // Tanggal lahir
let tanggalLahir = document.querySelector('[name="tanggal_lahir"]').value; let tanggalLahir = document.querySelector('[name="tanggal_lahir"]').value;
@ -720,7 +504,7 @@
let confirmPassword = document.querySelector('[name="confirm_password"]').value; let confirmPassword = document.querySelector('[name="confirm_password"]').value;
// Pengecekan inputan yang kosong // Pengecekan inputan yang kosong
if (namaDepan.trim() === "" && namaBelakang.trim() === "") { if (namaDepan.trim() === "" || namaBelakang.trim() === "") {
emptyInput.push("Nama depan dan nama belakang tidak boleh kosong"); emptyInput.push("Nama depan dan nama belakang tidak boleh kosong");
} }
@ -731,15 +515,6 @@
if (email.trim() === "") { if (email.trim() === "") {
emptyInput.push("Email tidak boleh kosong"); emptyInput.push("Email tidak boleh kosong");
} }
if (!verificationStatus) {
emptyInput.push("Verifikasi email terlebih dahulu");
}
if (emailVerification.trim() === "") {
emptyInput.push("Kode verifikasi harus diisi");
}
if (emailVerification != verificationCode) {
emptyInput.push('Kode verifikasi harus sama dengan kode yang dikirim ke email');
}
if (nohp.trim() === "") { if (nohp.trim() === "") {
emptyInput.push("nomor HP tidak boleh kosong"); emptyInput.push("nomor HP tidak boleh kosong");
@ -768,7 +543,7 @@
emptyInput.push("Silahkan ambil foto KTP anda"); emptyInput.push("Silahkan ambil foto KTP anda");
} }
if (newPassword.trim() === "" && confirmPassword === "") { if (newPassword.trim() === "" || confirmPassword === "") {
emptyInput.push("Password tidak boleh kosong"); emptyInput.push("Password tidak boleh kosong");
} else if (newPassword.trim() != confirmPassword) { } else if (newPassword.trim() != confirmPassword) {
emptyInput.push("Password baru harus sama dengan password yang dikonfirmasi"); emptyInput.push("Password baru harus sama dengan password yang dikonfirmasi");
@ -834,10 +609,8 @@
}); });
} }
}); });
// Register Akhir
}); });
</script> </script>
</body> </body>
</html> </html>
>>>>>>> 5f01f0d124f30816c3c08e664df3a9b62a2847ab

View File

@ -93,23 +93,29 @@ Route::get('/next_detail_refund',function() {
// -------------------------------------------------------------------------------------------- // --------------------------------------------------------------------------------------------
//Index // Route::get('/Ini', function () {
// return view('user/index',[
// 'name'=>'Jilhan Haura',
// "transaction"=>Transactions::allTransactions()
// ]);
// });
// Route::resource('/login',LoginController::class);
// Login, logout dan register // Login, logout dan register
Route::controller(LoginController::class)->group(function(){ Route::controller(LoginController::class)->group(function(){
Route::get('/login','login')->name('login'); Route::get('/','login')->name('login');
Route::get('/logout','logout')->name('logout'); Route::get('/logout','logout')->name('logout');
Route::post('/authenticate','authenticate')->name('authenticate'); Route::post('/','authenticate')->name('authenticate');
Route::post('/register','register')->name('register'); Route::post('/register','register')->name('register');
Route::get('/cek-email/{email}','statusAkun')->name('status.akun'); Route::get('/cek-email/{email}','statusAkun')->name('status.akun');
Route::get('/cari-provinsi','cariProvinsi')->name('cari.provinsi'); Route::get('/cari-provinsi','cariProvinsi')->name('cari.provinsi');
Route::get('/cari-kota/{code}','cariKota')->name('cari.kota'); Route::get('/cari-kota/{code}','cariKota')->name('cari.kota');
Route::get('/cari-kecamatan/{code}','cariKecamatan')->name('cari.kecamatan'); Route::get('/cari-kecamatan/{code}','cariKecamatan')->name('cari.kecamatan');
Route::get('/cari-kelurahan/{code}','cariKelurahan')->name('cari.kelurahan'); Route::get('/cari-kelurahan/{code}','cariKelurahan')->name('cari.kelurahan');
Route::post('/kode-verifikasi','kirimKodeVerifikasi')->name('kirim.kode');
Route::get('ocr','getOcr');
}); });
// admin dan user // admin dan user
@ -151,19 +157,12 @@ Route::middleware(['auth'])->group(function(){
Route::get('cek-contact/{email}','cekEmail')->name('user-contact.email'); Route::get('cek-contact/{email}','cekEmail')->name('user-contact.email');
Route::post('user-contact','store')->name('user-contact.store'); Route::post('user-contact','store')->name('user-contact.store');
Route::delete('user-contact/{id}','destroy')->name('user-contact.delete'); Route::delete('user-contact/{id}','destroy')->name('user-contact.delete');
Route::get('get-user-contact','getContact')->name('user-contact.get');
}); });
// Tampilan transaksi, bayar, update status pengiriman dan refund // Tampilan transaksi, bayar, update status pengiriman dan refund
Route::controller(UserTransactionController::class)->group(function(){ Route::controller(UserTransactionController::class)->group(function(){
// Pembeli
Route::get('user-transaction-pembeli','indexPembeli')->name('user-transaction.index.pembeli'); Route::get('user-transaction-pembeli','indexPembeli')->name('user-transaction.index.pembeli');
Route::get('detail-user-transaction-pembeli/{id}','detailTransaction')->name('user-transaction.detail.pembeli');
Route::get('tambah-transaction','createTransaction')->name('tambah-transaction.pembeli');
Route::post('store-transaction','storeTransaction')->name('store-transaction.pembeli');
Route::post('payment-transaction/{id}','paymentTransaction')->name('payment-transaction.pembeli');
//Penjual
Route::get('user-transaction-penjual','indexPenjual')->name('user-transaction.index.penjual'); Route::get('user-transaction-penjual','indexPenjual')->name('user-transaction.index.penjual');
//bayar
}); });
// Tampilan refund // Tampilan refund

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB