Revisi kodingan setting dan update profile

This commit is contained in:
Muhammad Raihan Surya 2023-10-31 10:02:48 +07:00
parent d1aa95341a
commit 1e6453b766
52 changed files with 1223 additions and 1716 deletions

View File

@ -8,32 +8,75 @@ use Carbon\Carbon;
use App\Models\Transactions; use App\Models\Transactions;
use App\Models\Transaction; use App\Models\Transaction;
use App\Models\Refund; use App\Models\Refund;
use App\Models\User;
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; $transactions = Transactions::allTransactions();
$sumCancelled = 0; $currentMonth = Carbon::now()->month;
$sumRefund = 0;
$currentYear = Carbon::now()->year; $currentYear = Carbon::now()->year;
$countSuccess = Transaction::where('status', 'settlement')
->whereMonth('updated_at', $currentMonth)
->whereYear('updated_at', $currentYear)
->count();
$countPending = Transaction::where('status', 'pending')
->whereMonth('updated_at', $currentMonth)
->whereYear('updated_at', $currentYear)
->count();
$countCancelled = Transaction::where('status', 'cancel')
->whereMonth('updated_at', $currentMonth)
->whereYear('updated_at', $currentYear)
->count();
$countRefund = Transaction::where('status', 'refund')
->whereMonth('updated_at', $currentMonth)
->whereYear('updated_at', $currentYear)
->count();
$totalTransaction = Transaction::whereMonth('updated_at', $currentMonth)
->whereYear('updated_at', $currentYear)
->count();
$dataChartTransaction = []; $dataChartTransaction = [];
$dataChartRefund = []; $dataChartRefund = [];
$totalRefund = Transaction::where('status', 'refund')->count();
$dataChartTotalRefund = [];
$totalUser = User::where('status', 'Finished')->count();
$dataChartTotalUser = [];
for ($bulan = 1; $bulan <= 12; $bulan++) { for ($bulan = 1; $bulan <= 12; $bulan++) {
$transaction = Transaction::whereMonth('created_at', $bulan) $transaction = Transaction::whereMonth('updated_at', $bulan)
->whereYear('created_at', $currentYear) ->whereYear('updated_at', $currentYear)
->where('status', 'settlement')
->sum('total_bayar'); ->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 = Transaction::whereMonth('updated_at', $bulan)
// $refund = Refund::where('status','Partial Refund')->whereMonth('created_at',$bulan)->whereYear('created_at', $currentYear)->sum('total'); ->whereYear('updated_at', $currentYear)
->where('status', 'partial refund')
->sum('total_harga');
$dataChartTransaction[] = intval($transaction); $dataChartTransaction[] = intval($transaction);
// $dataChartRefund[] = intval($refund); $dataChartRefund[] = intval($refund);
} }
return view('admin.index', [
'transaction' => Transactions::allTransactions(), return view('admin.index', compact('transactions', 'countSuccess', 'countPending', 'countCancelled', 'countRefund', 'totalRefund', 'totalUser', 'totalTransaction', 'dataChartTransaction', 'dataChartRefund', 'dataChartTotalUser', 'dataChartTotalRefund'));
'dataChartTransaction' => $dataChartTransaction, }
// "dataChartRefund" => $dataChartRefund
]); public function getChartByMonth()
{
$dataChartLaporan = [];
$tahun = Carbon::now()->year;
}
public function getCharByYear()
{
} }
} }

View File

@ -29,10 +29,12 @@ class AdminSettingController extends Controller
{ {
try{ try{
DB::beginTransaction(); DB::beginTransaction();
Setting::updateOrCreate( Setting::updateOrCreate(
['bulan' => $request->bulan, 'tahun' => $request->tahun], ['bulan' => $request->bulan, 'tahun' => $request->tahun],
['persentase' => $request->persentase] ['persentase' => $request->persentase]
); );
DB::commit(); DB::commit();
return response()->json(['status' => true, 'message' => 'Berhasil menambah']); return response()->json(['status' => true, 'message' => 'Berhasil menambah']);
@ -42,7 +44,7 @@ class AdminSettingController extends Controller
Log::error($e->getMessage()); Log::error($e->getMessage());
return response()->json(['status' => false, 'message' => 'Terjadi Kesalahan pada sisi server']); return response()->json(['status' => false, 'message' => 'Terjadi Kesalahan pada sisi server', 'data' => $request]);
} }
} }
@ -50,9 +52,9 @@ class AdminSettingController extends Controller
/** /**
* Update the specified resource in storage. * Update the specified resource in storage.
*/ */
public function activeSetting($id) public function activeSetting(Request $request)
{ {
$setting = Setting::findOrFail($id); $setting = Setting::findOrFail($request->id);
if ($setting->status == 'Active') { if ($setting->status == 'Active') {
$setting->status = 'Nonactive'; $setting->status = 'Nonactive';
$result = $setting->save(); $result = $setting->save();

View File

@ -9,28 +9,40 @@ use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Log;
use Throwable; use Throwable;
use App\Models\User; use App\Models\User;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Storage;
use Laravolt\Indonesia\Models\City;
use Laravolt\Indonesia\Models\District;
use Laravolt\Indonesia\Models\Provinsi;
use Laravolt\Indonesia\Models\Village;
class ProfileController extends Controller class ProfileController extends Controller
{ {
public function index()
public function profile(){ {
return view('user.profile.index', ['user' => Auth::user()]); $provinces = Provinsi::all();
$cities = City::where('province_code', auth()->user()->village->district->city->province->code)->get();
$districts = District::where('city_code', auth()->user()->village->district->city->code)->get();
$villages = Village::where('district_code', auth()->user()->village->district->code)->get();
return view('profile.index', compact('provinces', 'cities', 'districts', 'villages'));
} }
public function update(Request $request){ public function updateProfile(Request $request)
$nama_depan = $request->nama_depan; {
$nama_belakang = $request->nama_belakang; $nama_depan = str_replace(' ', '_', $request->nama_depan);
$nama_belakang = str_replace(' ', '_', $request->nama_belakang);
$nohp = $request->nohp; $nohp = $request->nohp;
$kode_kelurahan = $request->kelurahan; $kode_kelurahan = $request->kelurahan;
$alamat = $request->alamat; $alamat = $request->alamat;
$nama_bank = $request->nama_bank; $nama_bank = $request->nama_bank;
$no_rek = $request->no_rek; $no_rek = $request->no_rek;
$foto_profile = ''; $foto_profile = '';
if($request->hasFile('foto_profile')){ if ($request->hasFile('foto')) {
$file = $request->file('foto_profile'); $file = $request->file('foto');
$extension = $file->getClientOriginalExtension(); $foto_profile = 'Foto_Profil_' . $nama_depan . '_' . $nama_belakang .'.'. $file->getClientOriginalExtension();
$foto_profile = 'Foto-Profil-'.$nama_depan.' '.$nama_belakang.'.'.$extension; $path = 'foto-profile/' . $foto_profile;
$file->storeAs('storage/foto-profile/'.$foto_profile);
Storage::disk('public')->put($path, file_get_contents($file));
} }
try { try {
@ -48,6 +60,40 @@ class ProfileController extends Controller
]); ]);
DB::commit(); DB::commit();
return response()->json(['status' => true, 'message' => 'Data Profile berhasil diupdate']);
} catch (Throwable $e) {
DB::rollBack();
Log::error($e->getMessage());
return response()->json(['status' => false, 'message' => 'Terjadi Kesalahan pada sisi server']);
}
}
public function changePassword(Request $request){
$currentPassword = $request->currentPassword;
$newPassword = $request->newPassword;
$renewPassword = $request->renewPassword;
if(!Hash::check($currentPassword, auth()->user()->password)){
return response()->json(['status' => false, 'message' => 'Password sekarang tidak sama','password' => $currentPassword]);
}
if($renewPassword != $newPassword){
return response()->json(['status' => false, 'message' => 'Ketikan ulang password baru']);
}
try{
DB::beginTransaction();
User::where('id', auth()->user()->id)->update([
'password' => Hash::make($newPassword)
]);
DB::commit();
return response()->json(['status' => true, 'message' => 'Password Berhasil diubah']);
}catch(Throwable $e){ }catch(Throwable $e){
DB::rollBack(); DB::rollBack();

View File

@ -19,6 +19,11 @@ class Contact extends Model
'relasi_kontak', 'relasi_kontak',
]; ];
protected $casts = [
'id' => 'string',
];
//Relasi //Relasi
public function pemilikKontak(){ public function pemilikKontak(){
return $this->belongsTo(User::class, 'pemilik_kontak', 'email'); return $this->belongsTo(User::class, 'pemilik_kontak', 'email');

View File

@ -21,6 +21,11 @@ class Refund extends Model
'status', 'status',
]; ];
protected $casts = [
'id' => 'string',
];
//Relasi //Relasi
public function transaction(){ public function transaction(){
return $this->belongsTo(Transaction::class, 'id', 'transaction_id'); return $this->belongsTo(Transaction::class, 'id', 'transaction_id');

View File

@ -19,4 +19,9 @@ class Setting extends Model
'tahun', 'tahun',
'persentase', 'persentase',
]; ];
protected $casts = [
'id' => 'string',
];
} }

562
composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -26,7 +26,7 @@ return new class extends Migration
$table->string('alamat',255); $table->string('alamat',255);
$table->string('foto_ktp')->nullable(); $table->string('foto_ktp')->nullable();
$table->string('foto_wajah')->nullable(); $table->string('foto_wajah')->nullable();
$table->string('foto_profil')->nullable(); $table->string('foto_profile')->nullable();
$table->integer('persentase_kemiripan')->nullable(); $table->integer('persentase_kemiripan')->nullable();
$table->enum('status',['Finished','Progress','Rejected'])->default('Progress'); $table->enum('status',['Finished','Progress','Rejected'])->default('Progress');
$table->string('gender',15); $table->string('gender',15);

View File

@ -2,6 +2,7 @@
use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Schema; use Illuminate\Support\Facades\Schema;
return new class extends Migration return new class extends Migration
@ -12,7 +13,7 @@ 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('id')->default(DB::raw('uuid_generate_v4()'))->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('nama_barang'); // item_details -> item_name
@ -41,8 +42,6 @@ return new class extends Migration
$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');
$table->index('id');
}); });
} }

View File

@ -2,6 +2,7 @@
use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Schema; use Illuminate\Support\Facades\Schema;
return new class extends Migration return new class extends Migration
@ -12,7 +13,7 @@ return new class extends Migration
public function up(): void public function up(): void
{ {
Schema::create('refunds', function (Blueprint $table) { Schema::create('refunds', function (Blueprint $table) {
$table->uuid('id')->primary(); $table->uuid('id')->default(DB::raw('uuid_generate_v4()'))->primary();
$table->foreignUuid('transaction_id'); $table->foreignUuid('transaction_id');
$table->double('total',10); $table->double('total',10);
$table->timestamp('due_date'); $table->timestamp('due_date');

View File

@ -2,6 +2,7 @@
use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Schema; use Illuminate\Support\Facades\Schema;
return new class extends Migration return new class extends Migration
@ -12,7 +13,7 @@ return new class extends Migration
public function up(): void public function up(): void
{ {
Schema::create('settings', function (Blueprint $table) { Schema::create('settings', function (Blueprint $table) {
$table->uuid('id')->primary(); $table->uuid('id')->default(DB::raw('uuid_generate_v4()'))->primary();
$table->string('bulan',5); $table->string('bulan',5);
$table->string('tahun',5); $table->string('tahun',5);
$table->float('persentase'); $table->float('persentase');

View File

@ -2,6 +2,7 @@
use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Schema; use Illuminate\Support\Facades\Schema;
return new class extends Migration return new class extends Migration
@ -12,7 +13,7 @@ return new class extends Migration
public function up(): void public function up(): void
{ {
Schema::create('contacts', function (Blueprint $table) { Schema::create('contacts', function (Blueprint $table) {
$table->uuid('id')->primary(); $table->uuid('id')->default(DB::raw('uuid_generate_v4()'))->primary();
$table->string('pemilik_kontak'); $table->string('pemilik_kontak');
$table->string('relasi_kontak'); $table->string('relasi_kontak');
$table->foreign('pemilik_kontak')->on('users')->references('email'); $table->foreign('pemilik_kontak')->on('users')->references('email');

View File

@ -61,3 +61,9 @@ $("#table-4").dataTable({
columnDefs: [{ sortable: false, targets: [8] }], columnDefs: [{ sortable: false, targets: [8] }],
searchable: true, searchable: true,
}); });
// Setting Admin
$("#table-5").dataTable({
columnDefs: [{ sortable: false, targets: [0, 4, 5] }],
searchable: true,
});

View File

@ -1,4 +1,4 @@
@extends('admin.layout.main') @extends('layouts.main')
@section('content') @section('content')
<!-- Main Content --> <!-- Main Content -->
<div class="main-content"> <div class="main-content">
@ -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,23 +26,23 @@
<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">
<div class="card-stats-item-count">114</div> <div class="card-stats-item-count">{{ $countSuccess }}</div>
<div class="card-stats-item-label">Success</div> <div class="card-stats-item-label">Success</div>
</div> </div>
<div class="card-stats-item"> <div class="card-stats-item">
<div class="card-stats-item-count">12</div> <div class="card-stats-item-count">{{ $countPending }}</div>
<div class="card-stats-item-label">Pending</div> <div class="card-stats-item-label">Pending</div>
</div> </div>
<div class="card-stats-item"> <div class="card-stats-item">
<div class="card-stats-item-count">23</div> <div class="card-stats-item-count">{{ $countCancelled }}</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">
<div class="card-stats-item-count">23</div> <div class="card-stats-item-count">{{ $countRefund }}</div>
<div class="card-stats-item-label">Refund</div> <div class="card-stats-item-label">Refund</div>
</div> </div>
</div> </div>
@ -55,7 +55,7 @@
<h4>Total Transaction</h4> <h4>Total Transaction</h4>
</div> </div>
<div class="card-body"> <div class="card-body">
159 {{ $totalTransaction }}
</div> </div>
</div> </div>
<p class="mb-0 text-muted"> <p class="mb-0 text-muted">
@ -78,7 +78,7 @@
<h4>Total Refund</h4> <h4>Total Refund</h4>
</div> </div>
<div class="card-body"> <div class="card-body">
100 {{ $totalRefund }}
</div> </div>
</div> </div>
<p class="mb-0 text-muted"> <p class="mb-0 text-muted">
@ -101,7 +101,7 @@
<h4>Total user</h4> <h4>Total user</h4>
</div> </div>
<div class="card-body"> <div class="card-body">
100 </div> {{ $totalUser }}</div>
</div> </div>
<p class="mb-0 text-muted"> <p class="mb-0 text-muted">
<span class="text-danger me-2"><span class="mdi mdi-arrow-down-bold"></span> <span class="text-danger me-2"><span class="mdi mdi-arrow-down-bold"></span>
@ -111,16 +111,6 @@
</div> </div>
</div> </div>
</div> </div>
<div class="row justify-content-end d-flex">
<div class="col-lg-4 col-md-4 col-sm-12 ml-auto">
<div class="input-group">
<input type="text" name="from-to" class="form-control" id="date-range">
<span class="input-group-text bg-primary text-white align-items-center">
<i class="mdi mdi-calendar-range font-13"></i>
</span>
</div>
</div>
</div>
<br> <br>
<div class="row"> <div class="row">
<div class="col-lg-8"> <div class="col-lg-8">
@ -170,11 +160,18 @@
</div> </div>
</div> </div>
<div class="col-lg-4"> <div class="col-lg-4">
<div class="input-group mt-4">
<input type="text" name="from-to" class="form-control" id="date-range">
<span class="input-group-text bg-primary text-white align-items-center">
<i class="mdi mdi-calendar-range font-13"></i>
</span>
</div>
<div class="card gradient-bottom"> <div class="card gradient-bottom">
<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>
@ -291,11 +288,11 @@
<div class="card-footer pt-3 d-flex justify-content-center"> <div class="card-footer pt-3 d-flex justify-content-center">
<div class="budget-price justify-content-center"> <div class="budget-price justify-content-center">
<div class="budget-price-square bg-primary" data-width="20"></div> <div class="budget-price-square bg-primary" data-width="20"></div>
<div class="budget-price-label">Selling Price</div> <div class="budget-price-label">Sukses</div>
</div> </div>
<div class="budget-price justify-content-center"> <div class="budget-price justify-content-center">
<div class="budget-price-square bg-danger" data-width="20"></div> <div class="budget-price-square bg-danger" data-width="20"></div>
<div class="budget-price-label">Budget Price</div> <div class="budget-price-label">Refund</div>
</div> </div>
</div> </div>
</div> </div>
@ -325,26 +322,26 @@
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@foreach ($transaction as $transactions) @foreach ($transactions as $transaction)
<tr> <tr>
<td>{{ $transactions['no'] }}</td> <td>{{ $transaction['no'] }}</td>
<td><a href="#">{{ $transactions['orderId'] }}</a></td> <td><a href="#">{{ $transaction['orderId'] }}</a></td>
<td class="font-weight-600">{{ $transactions['customer'] }}</td> <td class="font-weight-600">{{ $transaction['customer'] }}</td>
<td class="font-weight-600">{{ $transactions['seller'] }}</td> <td class="font-weight-600">{{ $transaction['seller'] }}</td>
<td class="font-weight-600">{{ $transactions['total'] }}</td> <td class="font-weight-600">{{ $transaction['total'] }}</td>
<td>{{ $transactions['date'] }}</td> <td>{{ $transaction['date'] }}</td>
<td> <td>
@php @php
$statusClass = ''; $statusClass = '';
if ($transactions['status'] === 'pending') { if ($transaction['status'] === 'pending') {
$statusClass = 'badge-warning'; $statusClass = 'badge-warning';
} elseif ($transactions['status'] === 'paid') { } elseif ($transaction['status'] === 'paid') {
$statusClass = 'badge-success'; $statusClass = 'badge-success';
} elseif ($transactions['status'] === 'unpaid') { } elseif ($transaction['status'] === 'unpaid') {
$statusClass = 'badge-danger'; $statusClass = 'badge-danger';
} }
@endphp @endphp
<div class="badge {{ $statusClass }}">{{ $transactions['status'] }} <div class="badge {{ $statusClass }}">{{ $transaction['status'] }}
</div> </div>
</td> </td>
<td> <td>
@ -375,6 +372,13 @@
</section> </section>
</div> </div>
@include('admin.transaction.modal-tracking') @include('admin.transaction.modal-tracking')
<script>
let dataChartTransaction = {{ json_encode($dataChartTransaction) }};
let dataChartRefund = {{ json_encode($dataChartRefund) }};
let labels = '';
let dataChartTotalRefund = {{ json_encode($dataChartTotalRefund) }};
let dataChartTotalUser = {{ json_encode($dataChartTotalUser) }};
</script>
<script> <script>
// Date picker range // Date picker range
$(document).ready(function() { $(document).ready(function() {
@ -427,8 +431,8 @@
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: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Agu", "Sep",
"Oktober", "November", "December" "Okt", "Nov", "Des"
], ],
datasets: [{ datasets: [{
label: 'Transaction', label: 'Transaction',
@ -458,12 +462,13 @@
}, },
options: { options: {
layout: { layout: {
padding: 20, padding: 10,
}, },
legend: { legend: {
display: true, display: true,
labels: { labels: {
padding: 20, padding: 10,
fontSize: 16
} }
}, },
scales: { scales: {
@ -475,20 +480,29 @@
}, },
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', {
style: 'currency', style: 'currency',
currency: 'IDR', currency: 'IDR',
}).format(value); }).format(value);
} },
} fontSize: 14,
},
scaleLabel: {
display: true,
labelString: 'Dalam Ratusan Juta', // Label khusus untuk sumbu Y
fontSize: 16 // Ukuran font untuk label sumbu Y
},
}], }],
xAxes: [{ xAxes: [{
gridLines: { gridLines: {
display: true, display: true,
tickMarkLength: 15, tickMarkLength: 15,
},
ticks: {
fontSize: 16,
} }
}] }]
}, },

View File

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

View File

@ -1,116 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<style>
.data-field {
display: flex;
width: 100%;
justify-content: space-between;
font-size: 14px;
}
.data-field:not(:last-child) {
margin-bottom: 15px;
}
.data-field span {
text-align: end;
}
.card-title span a {
color: #899bbd;
text-decoration: underline;
}
.justified-text {
text-align: justify;
}
.font-weight-italic {
font-style: italic;
}
</style>
<meta charset="UTF-8">
<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>
<!-- General CSS Files -->
<link rel="stylesheet" href="{{ asset('assets/modules/bootstrap/css/bootstrap.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') }}">
<link rel="stylesheet" href="{{ asset('assets/modules/summernote/summernote-bs4.css') }}">
<link rel="stylesheet" href="{{ asset('assets/modules/owlcarousel2/dist/assets/owl.carousel.min.css') }}">
<link rel="stylesheet" href="{{ asset('assets/modules/owlcarousel2/dist/assets/owl.theme.default.min.css') }}">
<link rel="stylesheet" type="text/css"
href="https://cdn.jsdelivr.net/npm/daterangepicker@3.1.0/daterangepicker.css" />
<link rel="stylesheet" href="{{ asset('assets/modules/select2/dist/css/select2.min.css') }}">
<!-- Template CSS -->
<link rel="stylesheet" href="{{ asset('assets/css/style.css') }}">
<link rel="stylesheet" href="{{ asset('assets/css/components.css') }}">
{{-- CSS Libraries --}}
<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') }}">
{{-- JS --}}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js"
integrity="sha512-aVKKRRi/Q/YV+4mjoKBsE4x3H+BkegoM/em46NNlCqNTmUYADjBbeNefNxYV7giUp0VxICtqdrbqU7iVaeZNXA=="
crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.1/dist/js/bootstrap.bundle.min.js"
integrity="sha384-u1OknCvxWvY5kfmNBILK2hRnQC3Pr17a+RTT6rIHI7NnikvbZlHgTPOOmMi466C8" crossorigin="anonymous">
</script>
<script src="{{ asset('assets/modules/chart.min.js') }}"></script>
</head>
<body>
<header class="header-area header-sticky">
@include('admin.layout.header')
</header>
<main id="main" style="min-height: 100vh;">
@include('admin.layout.sidebar')
@yield('content')
</main>
<footer id="footer">
@include('admin.layout.footer')
</footer>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
<!-- General JS Scripts -->
<script src="{{ asset('assets/modules/popper.js') }}"></script>
<script src="{{ asset('assets/modules/tooltip.js') }}"></script>
<script src="{{ asset('assets/modules/bootstrap/js/bootstrap.min.js') }}"></script>
<script src="{{ asset('assets/modules/moment.min.js') }}"></script>
<script src="{{ asset('assets/js/stisla.js') }}"></script>
<script src="//cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<!-- JS Libraies -->
<script src="{{ asset('assets/modules/owlcarousel2/dist/owl.carousel.min.js') }}"></script>
<script src="{{ asset('assets/modules/summernote/summernote-bs4.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>
<!-- Page Specific JS File -->
<script src="{{ asset('assets/js/page/modules-datatables.js') }}"></script>
<!-- Template JS File -->
<script src="{{ asset('assets/js/scripts.js') }}"></script>
<script src="{{ asset('assets/js/custom.js') }}"></script>
<script src="https://cdn.jsdelivr.net/npm/daterangepicker@3.1.0/daterangepicker.min.js"></script>
</body>
</html>

View File

@ -1,22 +0,0 @@
<div class="main-sidebar sidebar-style-2">
<aside id="sidebar-wrapper">
<div class="sidebar-brand">
<a href="{{route('admin.index')}}">REKBER</a>
</div>
<div class="sidebar-brand sidebar-brand-sm">
<a href="{{route('admin.index')}}">RK</a>
</div>
<ul class="sidebar-menu">
<li class="menu-header">Dashboard</li>
<li ><a class="nav-link active" href="{{route('admin.index')}}"><i class="fas fa-fire"></i> <span>Dashboard</span></a></li>
<li class="menu-header">Starter</li>
<li><a class="nav-link" href="{{route('admin-user.index')}}"><i class="far fa-user"></i> <span>User</span></a></li>
<li><a class="nav-link" href="{{route('admin-transaction.index')}}"><i
class="fas fa-columns"></i><span>Transaction</span></a></li>
<li><a class="nav-link" href="{{route('admin-refund.index')}}"><i class="far fa-square"></i> <span>List Refund</span></a>
</li>
<li><a class="nav-link" href="{{route('admin-setting.index')}}"><i class="fas fa-cog"></i> <span>Setting</span></a></li>
</ul>
</aside>
</div>
<script src="{{ asset('assets/modules/nicescroll/jquery.nicescroll.min.js') }}"></script>

View File

@ -1,5 +1,4 @@
@extends('admin.layout.main') @extends('layouts.main')
@section('content') @section('content')
<div class="main-content"> <div class="main-content">
<section class="section"> <section class="section">

View File

@ -1,4 +1,4 @@
@extends('admin.layout.main') @extends('layouts.main')
@section('content') @section('content')
<div class="main-content"> <div class="main-content">
<section class="section"> <section class="section">
@ -7,7 +7,6 @@
<div class="section-header-breadcrumb"> <div class="section-header-breadcrumb">
<div class="breadcrumb-item active"><a href="{{ route('admin.index') }}">Dashboard</a></div> <div class="breadcrumb-item active"><a href="{{ route('admin.index') }}">Dashboard</a></div>
<div class="breadcrumb-item">Refund</div> <div class="breadcrumb-item">Refund</div>
{{-- <div class="breadcrumb-item">History</div> --}}
</div> </div>
</div> </div>
<div class="col-12"> <div class="col-12">
@ -39,7 +38,9 @@
<td class="font-weight-600">{{ $refund->orders->penjual }}</td> <td class="font-weight-600">{{ $refund->orders->penjual }}</td>
<td class="font-weight-600">{{ $refund->total }}</td> <td class="font-weight-600">{{ $refund->total }}</td>
<td> <td>
<div class="badge {{ $refund->status == 'Partial Refund' ? 'badge-succes' : ($refund->status == 'Pending' ? 'badge-info' : 'badge-warning') }}">{{ $refund->status }}</div> <div
class="badge {{ $refund->status == 'Partial Refund' ? 'badge-succes' : ($refund->status == 'Pending' ? 'badge-info' : 'badge-warning') }}">
{{ $refund->status }}</div>
</td> </td>
<td class="font-weight-600">{{ $refund->created_at }}</td> <td class="font-weight-600">{{ $refund->created_at }}</td>
<td class="font-weight-600">{{ $refund->due_date }}</td> <td class="font-weight-600">{{ $refund->due_date }}</td>

View File

@ -1,69 +1,95 @@
@extends('admin.layout.main') @extends('layouts.main')
@section('content') @section('content')
<div class="main-content">
<section class="section">
<div class="section-header">
<h1>Kebijakan Keuntungan</h1>
<div class="section-header-breadcrumb">
<div class="breadcrumb-item active"><a href="{{ route('index') }}">Dashboard</a></div>
<div class="breadcrumb-item">Kebijakan Keuntungan</div>
</div>
</div>
<div class="col-12">
<div class="card">
<div class="card-body">
<div class="d-flex justify-content-end mb-3">
<a class="btn btn-success active" href="#" data-toggle="modal"
data-target="#ModalSetting">Tambah Data Kebijakan</a>
</div>
<div class="table-responsive">
<table class="table table-striped" id="table-2">
<thead>
<tr>
<th>#</th>
<th>Bulan</th>
<th>Tahun</th>
<th>Persentase (%)</th>
<th>Status</th>
<th>Action</th>
</tr>
</thead>
<tbody>
@foreach ($settings as $setting)
<tr>
<td>{{ $loop->iteration }}</td>
<td>{{ DateTime::createFromFormat('n', $setting->bulan)->format('F') }}</td>
<td>{{ $setting->tahun }}</td>
<td>{{ $setting->persentase }}</td>
<td>
<div
class="badge {{ $setting->status == 'Active' ? 'badge-success' : 'badge-danger' }}">
{{ $setting->status }}</div>
</td>
<td>
<label class="switch">
<input type="checkbox" @if ($setting->status === 'Active') checked @endif
data-id="{{ $setting->id }}">
<span class="slider round" data-on-text="Yes" data-off-text="No"
id="checkOnOf"></span>
</label>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>
</section>
</div>
@include('admin.setting.modal-add-setting')
<script> <script>
$(document).ready(function() { $(document).ready(function() {
const table = $('#table-2').DataTable(); // Inisialisasi DataTable
$('#table-2').on('change', '.switch input[type="checkbox"]', function() { $("#bulan").select2();
$('#tambahModal').click(function() {
$('#ModalSetting').modal('show');
});
$('#buttonTanya').click(function() {
$('#ModalSetting').modal('hide');
$('#modalTanya').modal('show');
});
$('#closeModal').click(function() {
$('#ModalSetting').modal('show');
$('#modalTanya').modal('hide');
});
$('#formTambahSetting').on('submit', function(e) {
e.preventDefault();
let form = this;
if (!form.checkValidity()) {
form.reportValidity();
return;
}
let formData = new FormData(this);
Swal.fire({
html: '<div class="mt-3"><lord-icon src="https://cdn.lordicon.com/etwtznjn.json" trigger="loop" colors="primary:#0ab39c,secondary:#405189" style="width:120px;height:120px"></lord-icon><div class="mt-4 pt-2 fs-15"><h4>Form Anda sedang diproses!</h4><p class="text-muted mx-4 mb-0">Mohon tunggu...</p></div></div>',
allowEscapeKey: false,
allowOutsideClick: false,
didOpen: () => {
Swal.showLoading();
}
});
if (formData) {
$.ajax({
type: 'POST',
url: "{{ route('admin-setting.store') }}",
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',
position: 'center',
}).then(function() {
Swal.close();
if (response.status) {
location.reload();
}
console.log(response);
});
},
error: function(error) {
console.log(error.responseText)
var response = JSON.parse(error.responseText);
var errorMessage = '';
for (var key in response.errors) {
if (response.errors.hasOwnProperty(key)) {
errorMessage += response.errors[key][0] + '<br>';
}
}
Swal.fire({
position: 'center',
icon: 'error',
title: 'Terjadi Kesalahan',
html: errorMessage,
showConfirmButton: true
});
}
});
}
});
const table = $('#table-5').DataTable(); // Inisialisasi DataTable
$('#table-5').on('change', '.switch input[type="checkbox"]', function() {
const parentRow = $(this).closest('tr'); const parentRow = $(this).closest('tr');
const csrfToken = $('meta[name="csrf-token"]').attr('content'); const csrfToken = $('meta[name="csrf-token"]').attr('content');
const statusBadge = parentRow.find('.badge'); const statusBadge = parentRow.find('.badge');
@ -74,12 +100,17 @@
const rowData = table.row(parentRow).data(); // Dapatkan data baris dari DataTable const rowData = table.row(parentRow).data(); // Dapatkan data baris dari DataTable
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': csrfToken
}
});
$.ajax({ $.ajax({
url: "{{ route('admin-setting.update', ':admin_setting') }}".replace( url: "{{ route('admin-setting.active-setting') }}",
':admin_setting', dataId),
type: 'PUT', type: 'PUT',
data: { data: {
_token: csrfToken, id: dataId,
}, },
success: function(response) { success: function(response) {
Swal.fire({ Swal.fire({
@ -112,74 +143,66 @@
} }
}); });
}); });
$("#bulan").select2();
$('#formTambahSetting').on('submit', function(e) {
e.preventDefault();
let form = this;
if (!form.checkValidity()) {
form.reportValidity();
return;
}
let formData = new FormData(this);
Swal.fire({
html: '<div class="mt-3"><lord-icon src="https://cdn.lordicon.com/etwtznjn.json" trigger="loop" colors="primary:#0ab39c,secondary:#405189" style="width:120px;height:120px"></lord-icon><div class="mt-4 pt-2 fs-15"><h4>Form Anda sedang diproses!</h4><p class="text-muted mx-4 mb-0">Mohon tunggu...</p></div></div>',
allowEscapeKey: false,
allowOutsideClick: false,
didOpen: () => {
Swal.showLoading()
}
});
$.ajax({
type: 'POST',
url: `{{ route('admin-setting.store') }}`,
data: formData,
proccessData: false,
contentType: false,
success: function(response) {
Swal.fire({
title: response.status ? 'Berhasil!' : 'Gagal!',
text: response.message,
icon: response.status ? 'success' : 'error',
confirmButtonText: 'OK',
position: 'center',
}).then(function() {
// location.reload();
Swal.close();
if (response.status) {
$('#table-2').DataTable().draw();
form.reset();
}
});
},
error: function(error) {
console.log(error.responseText)
var response = JSON.parse(error.responseText);
var errorMessage = '';
for (var key in response.errors) {
if (response.errors.hasOwnProperty(key)) {
errorMessage += response.errors[key][0] + '<br>';
}
}
Swal.fire({
position: 'center',
icon: 'error',
title: 'Terjadi Kesalahan',
html: errorMessage,
showConfirmButton: true
});
}
});
});
}); });
</script> </script>
<div class="main-content">
<section class="section">
<div class="section-header">
<h1>Kebijakan Keuntungan</h1>
<div class="section-header-breadcrumb">
<div class="breadcrumb-item active"><a href="{{ route('admin.index') }}">Dashboard</a></div>
<div class="breadcrumb-item">Kebijakan Keuntungan</div>
</div>
</div>
<div class="col-12">
<div class="card">
<div class="card-body">
<div class="d-flex justify-content-end mb-3">
<a class="btn btn-success active" href="#" id="tambahModal">Tambah Data Kebijakan</a>
</div>
<div class="table-responsive">
<table class="table table-striped" id="table-5">
<thead>
<tr>
<th>#</th>
<th>Bulan</th>
<th>Tahun</th>
<th>Persentase (%)</th>
<th>Status</th>
<th>Action</th>
</tr>
</thead>
<tbody>
@foreach ($settings as $setting)
<tr>
<td>{{ $loop->iteration }}</td>
<td>{{ DateTime::createFromFormat('n', $setting->bulan)->format('F') }}</td>
<td>{{ $setting->tahun }}</td>
<td>{{ $setting->persentase }}</td>
<td>
<div
class="badge {{ $setting->status == 'Active' ? 'badge-success' : 'badge-danger' }}">
{{ $setting->status }}
</div>
</td>
<td>
<label class="switch">
<input type="checkbox" @if ($setting->status === 'Active') checked @endif
data-id="{{ $setting->id }}">
<span class="slider round" data-on-text="Yes" data-off-text="No"
id="checkOnOf"></span>
</label>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>
</section>
</div>
@include('admin.setting.modal-add-setting')
@include('admin.setting.modal-tanya')
@endsection @endsection

View File

@ -4,8 +4,8 @@
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h2 class="modal-title" id="exampleModalLongTitle">Tambah Kebijakan</h2> <h2 class="modal-title" id="exampleModalLongTitle">Tambah Kebijakan</h2>
<button type="button" class="close" data-dismiss="modal" aria-label="Close"> <button type="button" class="close" aria-label="Close" id="buttonTanya">
<span aria-hidden="true">&times;</span> <span aria-hidden="true">&#63;</span>
</button> </button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
@ -14,13 +14,12 @@
<div class="col-12"> <div class="col-12">
<form action="javascript:void(0);" id="formTambahSetting"> <form action="javascript:void(0);" id="formTambahSetting">
@csrf @csrf
<div class="card-header">
<h4>Tambah data kebijakan persentase keuntungan</h4>
</div>
<div class="card-body"> <div class="card-body">
<div class="form-group"> <div class="form-group">
<label>Bulan</label> <label>Bulan</label>
<select class="form-control" id="bulan" name="bulan" required> <br>
<select class="form-control" style="width: 100%" id="bulanSetting"
name="bulan" required>
<option selected disabled>Pilih bulan</option> <option selected disabled>Pilih bulan</option>
<option value="1">Januari</option> <option value="1">Januari</option>
<option value="2">Februari</option> <option value="2">Februari</option>
@ -38,19 +37,20 @@
</div> </div>
<div class="form-group"> <div class="form-group">
<label>Tahun</label> <label>Tahun</label>
<input type="text" class="form-control" name="tahun" id="tahun" <input type="text" class="form-control" name="tahun" id="tahunSetting"
oninput="this.value = this.value.replace(/[^0-9]/g, '').replace(/(\..*?)\..*/g, '$1');" oninput="this.value = this.value.replace(/[^0-9]/g, '').replace(/(\..*?)\..*/g, '$1');"
required placeholder="Masukan tahun"> required placeholder="Masukan tahun">
</div> </div>
<div class="form-group"> <div class="form-group">
<label>Persentase (%)</label> <label>Persentase (%)</label>
<input type="number" class="form-control" name="persentase" id="persentase" <input type="text" class="form-control" name="persentase"
id="persentaseSetting"
oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*?)\..*/g, '$1');" oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*?)\..*/g, '$1');"
required> required>
</div> </div>
</div> </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="simpanSetting" type="submit">Simpan</button>
</div> </div>
</form> </form>
</div> </div>

View File

@ -0,0 +1,20 @@
<div class="modal fade" id="modalTanya" tabindex="-1" aria-labelledby="staticBackdropLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header d-flex justify-content-center">
<h3 class="modal-title fs-5" id="staticBackdropLabel">Cara Kerja Tambah/Perbarui Kebijakan</h3>
<button type="button" class="close" aria-label="Close" id="closeModal">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<div class="mb-3">
<h5>Tambah atau Perbarui</h5>
<p class="form-control">Anda bisa memperbarui persentase data dengan menyamai data bulan dan tahun.
Hal ini tidak akan mengubah data sebelumnya.
</p>
</div>
</div>
</div>
</div>
</div>

View File

@ -1,4 +1,4 @@
@extends('Admin.layout.main') @extends('layouts.main')
@section('content') @section('content')
<div class="main-content"> <div class="main-content">
<section class="section"> <section class="section">

View File

@ -1,13 +1,12 @@
@extends('Admin.layout.main') @extends('layouts.main')
@section('content') @section('content')
<div class="main-content"> <div class="main-content">
<section class="section"> <section class="section">
<div class="section-header"> <div class="section-header">
<h1>History Transaction</h1> <h1>Transaksi</h1>
<div class="section-header-breadcrumb"> <div class="section-header-breadcrumb">
<div class="breadcrumb-item active"><a href="{{route('index')}}">Dashboard</a></div> <div class="breadcrumb-item active"><a href="{{ route('admin.index') }}">Dashboard</a></div>
<div class="breadcrumb-item">Transaction</div> <div class="breadcrumb-item">Transaksi</div>
<div class="breadcrumb-item">History</div>
</div> </div>
</div> </div>
<div class="col-12"> <div class="col-12">
@ -49,7 +48,8 @@
$statusClass = 'badge-danger'; $statusClass = 'badge-danger';
} }
@endphp @endphp
<div class="badge {{ $transaction->status }}">{{ $transaction['status'] }}</div> <div class="badge {{ $transaction->status }}">{{ $transaction['status'] }}
</div>
</td> </td>
<td> <td>
<div class="btn-group"> <div class="btn-group">
@ -58,7 +58,8 @@
Action Action
</button> </button>
<div class="dropdown-menu"> <div class="dropdown-menu">
<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="#">Delete</a>

View File

@ -1,4 +1,4 @@
@extends('admin.layout.main') @extends('layouts.main')
@section('content') @section('content')
<div class="main-content"> <div class="main-content">
<section class="section"> <section class="section">
@ -28,7 +28,9 @@
class="rounded-circle shadow align-self-center" style="max-width: 130px;" class="rounded-circle shadow align-self-center" style="max-width: 130px;"
alt="" srcset=""> alt="" srcset="">
@endif @endif
<h4 class="align-self-center mt-3">Status : {{$user->status == 'Finished' ? 'Selesai diverifikasi' : ($user->status == 'Progress' ? 'Sedang diverifikasi' : 'Tolak')}}</h4> <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">NIK</span> <span class="fw-bold text-start">NIK</span>
@ -104,7 +106,8 @@
<a href="#" id="tampilKTP"> <a href="#" id="tampilKTP">
<img id="fotoKTP" <img id="fotoKTP"
src="{{ asset('storage/foto-ktp/' . $user->foto_ktp) }}" src="{{ asset('storage/foto-ktp/' . $user->foto_ktp) }}"
alt="Foto Wajah" class="align-self-center img-fluid" style="width: 450px"> alt="Foto Wajah" class="align-self-center img-fluid"
style="width: 450px">
</a> </a>
@endif @endif
</div> </div>
@ -119,7 +122,8 @@
<a href="#" id="tampilWajah"> <a href="#" id="tampilWajah">
<img id="fotoWajah" <img id="fotoWajah"
src="{{ asset('storage/foto-wajah/' . $user->foto_wajah) }}" src="{{ asset('storage/foto-wajah/' . $user->foto_wajah) }}"
alt="Foto Wajah" class="align-self-center img-fluid" style="width: 400px"> alt="Foto Wajah" class="align-self-center img-fluid"
style="width: 400px">
</a> </a>
@endif @endif
</div> </div>

View File

@ -1,4 +1,4 @@
@extends('admin.layout.main') @extends('layouts.main')
@section('content') @section('content')
<div class="main-content"> <div class="main-content">
<section class="section"> <section class="section">

View File

@ -1,15 +1,13 @@
@extends('user.layout.main') @extends('layouts.main')
@section('content') @section('content')
<div class="main-content"> <div class="main-content">
<section class="section"> <section class="section">
<div class="section-header"> <div class="section-header">
<h1>Manajemen Contact</h1> <h1>Kontak</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('user.index') }}">Dashboard</a></div>
<div class="breadcrumb-item"><a href="#"> Transaction</a></div> <div class="breadcrumb-item"><a href="{{ route('user-contact.index') }}">Kontak</a></div>
<div class="breadcrumb-item">Manajemen Kontak</div>
<div class="breadcrumb-item">Halaman Refund</div>
</div> </div>
</div> </div>

View File

@ -1,4 +1,4 @@
@extends('user.layout.main') @extends('layouts.main')
@section('content') @section('content')
<!-- Main Content --> <!-- Main Content -->
<div class="main-content"> <div class="main-content">
@ -20,7 +20,22 @@
<li><a href="#" class="dropdown-item">May</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">June</a></li>
<li><a href="#" class="dropdown-item">July</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 {{}}">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>
<ul class="dropdown-menu dropdown-menu-sm">
<li class="dropdown-title">Select Year</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">August</a></li>
<li><a href="#" class="dropdown-item">September</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">October</a></li>
<li><a href="#" class="dropdown-item">November</a></li> <li><a href="#" class="dropdown-item">November</a></li>

View File

@ -1,226 +0,0 @@
<div class="navbar-bg"></div>
<nav class="navbar navbar-expand-lg main-navbar">
<form class="form-inline mr-auto">
<ul class="navbar-nav mr-3">
<li><a href="#" data-toggle="sidebar" class="nav-link nav-link-lg"><i class="fas fa-bars"></i></a></li>
<li><a href="#" data-toggle="search" class="nav-link nav-link-lg d-sm-none"><i
class="fas fa-search"></i></a></li>
</ul>
{{-- <div class="search-element">
<input class="form-control" type="search" placeholder="Search" aria-label="Search" data-width="250">
<button class="btn" type="submit"><i class="fas fa-search"></i></button>
<div class="search-backdrop"></div>
<div class="search-result">
<div class="search-header">
Histories
</div>
<div class="search-item">
<a href="#">How to hack NASA using CSS</a>
<a href="#" class="search-close"><i class="fas fa-times"></i></a>
</div>
<div class="search-item">
<a href="#">Kodinger.com</a>
<a href="#" class="search-close"><i class="fas fa-times"></i></a>
</div>
<div class="search-item">
<a href="#">#Stisla</a>
<a href="#" class="search-close"><i class="fas fa-times"></i></a>
</div>
<div class="search-header">
Result
</div>
<div class="search-item">
<a href="#">
<img class="mr-3 rounded" width="30" src="assets/img/products/product-3-50.png"
alt="product">
oPhone S9 Limited Edition
</a>
</div>
<div class="search-item">
<a href="#">
<img class="mr-3 rounded" width="30" src="assets/img/products/product-2-50.png"
alt="product">
Drone X2 New Gen-7
</a>
</div>
<div class="search-item">
<a href="#">
<img class="mr-3 rounded" width="30" src="assets/img/products/product-1-50.png"
alt="product">
Headphone Blitz
</a>
</div>
<div class="search-header">
Projects
</div>
<div class="search-item">
<a href="#">
<div class="search-icon bg-danger text-white mr-3">
<i class="fas fa-code"></i>
</div>
Stisla Admin Template
</a>
</div>
<div class="search-item">
<a href="#">
<div class="search-icon bg-primary text-white mr-3">
<i class="fas fa-laptop"></i>
</div>
Create a new Homepage Design
</a>
</div>
</div>
</div> --}}
</form>
<ul class="navbar-nav navbar-right">
<li class="dropdown dropdown-list-toggle"><a href="#" data-toggle="dropdown"
class="nav-link nav-link-lg message-toggle beep"><i class="far fa-envelope"></i></a>
<div class="dropdown-menu dropdown-list dropdown-menu-right">
<div class="dropdown-header">Messages
<div class="float-right">
<a href="#">Mark All As Read</a>
</div>
</div>
<div class="dropdown-list-content dropdown-list-message">
<a href="#" class="dropdown-item dropdown-item-unread">
<div class="dropdown-item-avatar">
<img alt="image" src="{{asset('assets/img/avatar/avatar-1.png')}}" class="rounded-circle">
<div class="is-online"></div>
</div>
<div class="dropdown-item-desc">
<b>Kusnaedi</b>
<p>Hello, Bro!</p>
<div class="time">10 Hours Ago</div>
</div>
</a>
<a href="#" class="dropdown-item dropdown-item-unread">
<div class="dropdown-item-avatar">
<img alt="image" src="{{asset('assets/img/avatar/avatar-2.png')}}" class="rounded-circle">
</div>
<div class="dropdown-item-desc">
<b>Dedik Sugiharto</b>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit</p>
<div class="time">12 Hours Ago</div>
</div>
</a>
<a href="#" class="dropdown-item dropdown-item-unread">
<div class="dropdown-item-avatar">
<img alt="image" src="{{asset('assets/img/avatar/avatar-3.png')}}" class="rounded-circle">
<div class="is-online"></div>
</div>
<div class="dropdown-item-desc">
<b>Agung Ardiansyah</b>
<p>Sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<div class="time">12 Hours Ago</div>
</div>
</a>
<a href="#" class="dropdown-item">
<div class="dropdown-item-avatar">
<img alt="image" src="{{asset('assets/img/avatar/avatar-4.png')}}" class="rounded-circle">
</div>
<div class="dropdown-item-desc">
<b>Ardian Rahardiansyah</b>
<p>Duis aute irure dolor in reprehenderit in voluptate velit ess</p>
<div class="time">16 Hours Ago</div>
</div>
</a>
<a href="#" class="dropdown-item">
<div class="dropdown-item-avatar">
<img alt="image" src="{{asset('assets/img/avatar/avatar-5.png')}}" class="rounded-circle">
</div>
<div class="dropdown-item-desc">
<b>Alfa Zulkarnain</b>
<p>Exercitation ullamco laboris nisi ut aliquip ex ea commodo</p>
<div class="time">Yesterday</div>
</div>
</a>
</div>
<div class="dropdown-footer text-center">
<a href="#">View All <i class="fas fa-chevron-right"></i></a>
</div>
</div>
</li>
<li class="dropdown dropdown-list-toggle"><a href="#" data-toggle="dropdown"
class="nav-link notification-toggle nav-link-lg beep"><i class="far fa-bell"></i></a>
<div class="dropdown-menu dropdown-list dropdown-menu-right">
<div class="dropdown-header">Notifications
<div class="float-right">
<a href="#">Mark All As Read</a>
</div>
</div>
<div class="dropdown-list-content dropdown-list-icons">
<a href="#" class="dropdown-item dropdown-item-unread">
<div class="dropdown-item-icon bg-primary text-white">
<i class="fas fa-code"></i>
</div>
<div class="dropdown-item-desc">
Template update is available now!
<div class="time text-primary">2 Min Ago</div>
</div>
</a>
<a href="#" class="dropdown-item">
<div class="dropdown-item-icon bg-info text-white">
<i class="far fa-user"></i>
</div>
<div class="dropdown-item-desc">
<b>You</b> and <b>Dedik Sugiharto</b> are now friends
<div class="time">10 Hours Ago</div>
</div>
</a>
<a href="#" class="dropdown-item">
<div class="dropdown-item-icon bg-success text-white">
<i class="fas fa-check"></i>
</div>
<div class="dropdown-item-desc">
<b>Kusnaedi</b> has moved task <b>Fix bug header</b> to <b>Done</b>
<div class="time">12 Hours Ago</div>
</div>
</a>
<a href="#" class="dropdown-item">
<div class="dropdown-item-icon bg-danger text-white">
<i class="fas fa-exclamation-triangle"></i>
</div>
<div class="dropdown-item-desc">
Low disk space. Let's clean it!
<div class="time">17 Hours Ago</div>
</div>
</a>
<a href="#" class="dropdown-item">
<div class="dropdown-item-icon bg-info text-white">
<i class="fas fa-bell"></i>
</div>
<div class="dropdown-item-desc">
Welcome to Stisla template!
<div class="time">Yesterday</div>
</div>
</a>
</div>
<div class="dropdown-footer text-center">
<a href="#">View All <i class="fas fa-chevron-right"></i></a>
</div>
</div>
</li>
<li class="dropdown"><a href="#" data-toggle="dropdown"
class="nav-link dropdown-toggle nav-link-lg nav-link-user">
<img alt="image" src="{{asset('assets/img/avatar/avatar-1.png')}}" class="rounded-circle mr-1">
<div class="d-sm-none d-lg-inline-block">Hi, {{ Auth::user()->nama_depan }}</div>
</a>
<div class="dropdown-menu dropdown-menu-right">
<div class="dropdown-title">Logged in 5 min ago</div>
<a href="{{route('user.profile')}}" class="dropdown-item has-icon">
<i class="far fa-user"></i> Profile
</a>
{{-- <a href="features-activities.html" class="dropdown-item has-icon">
<i class="fas fa-bolt"></i> Activities
</a>
<a href="features-settings.html" class="dropdown-item has-icon">
<i class="fas fa-cog"></i> Settings
</a> --}}
<div class="dropdown-divider"></div>
<a href="{{route('logout')}}" class="dropdown-item has-icon text-danger">
<i class="fas fa-sign-out-alt"></i> Logout
</a>
</div>
</li>
</ul>
</nav>

View File

@ -1,158 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<style>
.data-field {
display: flex;
width: 100%;
justify-content: space-between;
font-size: 14px;
}
.data-field:not(:last-child) {
margin-bottom: 15px;
}
.data-field span {
text-align: end;
}
.card-title span a {
color: #899bbd;
text-decoration: underline;
}
.justified-text {
text-align: justify;
}
.font-weight-italic {
font-style: italic;
}
</style>
<meta charset="UTF-8">
<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>
<!-- General CSS Files -->
<link rel="stylesheet" href="{{ asset('assets/modules/bootstrap/css/bootstrap.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') }}">
<link rel="stylesheet" href="{{ asset('assets/modules/summernote/summernote-bs4.css') }}">
<link rel="stylesheet" href="{{ asset('assets/modules/owlcarousel2/dist/assets/owl.carousel.min.css') }}">
<link rel="stylesheet" href="{{ asset('assets/modules/owlcarousel2/dist/assets/owl.theme.default.min.css') }}">
<link rel="stylesheet" type="text/css"
href="https://cdn.jsdelivr.net/npm/daterangepicker@3.1.0/daterangepicker.css" />
<!-- Template CSS -->
<link rel="stylesheet" href="{{ asset('assets/css/style.css') }}">
<link rel="stylesheet" href="{{ asset('assets/css/components.css') }}">
{{-- CSS Libraries --}}
<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') }}">
{{-- JS --}}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js"
integrity="sha512-aVKKRRi/Q/YV+4mjoKBsE4x3H+BkegoM/em46NNlCqNTmUYADjBbeNefNxYV7giUp0VxICtqdrbqU7iVaeZNXA=="
crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script src="{{ asset('assets/modules/chart.min.js') }}"></script>
</head>
<body>
<header class="header-area header-sticky">
@include('user.layout.header')
</header>
<!-- ***** Main Banner Area Start ***** -->
<main id="main" style="min-height: 100vh;">
@include('user.layout.sidebar')
@yield('content')
</main>
<!-- End #main -->
<footer id="footer">
@include('user.layout.footer')
</footer>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
<!-- General JS Scripts -->
<script src="{{ asset('assets/modules/popper.js') }}"></script>
<script src="{{ asset('assets/modules/tooltip.js') }}"></script>
<script src="{{ asset('assets/modules/bootstrap/js/bootstrap.min.js') }}"></script>
<script src="{{ asset('assets/modules/moment.min.js') }}"></script>
<script src="{{ asset('assets/js/stisla.js') }}"></script>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<!-- JS Libraies -->
<script src="{{ asset('assets/modules/owlcarousel2/dist/owl.carousel.min.js') }}"></script>
<script src="{{ asset('assets/modules/summernote/summernote-bs4.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>
<!-- Page Specific JS File -->
<script src="{{ asset('assets/js/page/modules-datatables.js') }}"></script>
<!-- Page Specific JS File -->
<script src="https://cdn.jsdelivr.net/npm/daterangepicker@3.1.0/daterangepicker.min.js"></script>i
<!-- Template JS File -->
<script src="{{ asset('assets/js/scripts.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>
</body>
</html>

View File

@ -1,15 +0,0 @@
<div class="modal fade " id="modalProgressBar" data-backdrop="static" data-keyboard="false" tabindex="-1"
aria-labelledby="staticBackdropLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header d-flex justify-content-center">
<h3 class="modal-title fs-5" id="staticBackdropLabel">Sedang Memuat</h3>
</div>
<div class="modal-body">
<div class="mb-3">
<label class="form-label d-flex justify-content-center">Tunggu Sejenak...</label>
</div>
</div>
</div>
</div>
</div>

View File

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

View File

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

View File

@ -1,11 +1,16 @@
@extends('user.layout.main') @extends('layouts.main')
@section('content') @section('content')
<div class="main-content"> <div class="main-content">
<section class="section"> <section class="section">
<div class="col-md-12"> <div class="col-md-12">
<div class="card"> <div class="card">
<div class="card-header"> <div class="card-header">
<h2>History Refund</h2> <h1>Detail Refund</h1>
<div class="section-header-breadcrumb">
<div class="breadcrumb-item active"><a href="{{ route('user.index') }}">Dashboard</a></div>
<div class="breadcrumb-item"><a href="{{ route('user-refund.index') }}">Refund</a></div>
<div class="breadcrumb-item">Detail Refund</div>
</div>
</div> </div>
<div class="card-body p-0"> <div class="card-body p-0">
<div class="table-responsive table-invoice"> <div class="table-responsive table-invoice">

View File

@ -1,14 +1,12 @@
@extends('user.layout.main') @extends('layouts.main')
@section('content') @section('content')
<div class="main-content"> <div class="main-content">
<section class="section"> <section class="section">
<div class="section-header"> <div class="section-header">
<h1>Halaman Refund</h1> <h1>Refund</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('user.index') }}">Dashboard</a></div>
<div class="breadcrumb-item"><a href="#"> Transaction</a></div> <div class="breadcrumb-item"><a href="{{ route('user-refund.index') }}">Refund</a></div>
<div class="breadcrumb-item">Manajemen Kontak</div>
<div class="breadcrumb-item">Halaman Refund</div>
</div> </div>
</div> </div>

View File

@ -1,4 +1,4 @@
@extends('user.layout.main') @extends('layouts.main')
@section('content') @section('content')
<div class="main-content"> <div class="main-content">
<section class="section"> <section class="section">
@ -16,17 +16,18 @@
</div> </div>
<input type="hidden" name="id" value="{{ $id }}"> <input type="hidden" name="id" value="{{ $id }}">
<div class="card-body"> <div class="card-body">
<div class="section-title mt-0">Reason Complaint</div> <div class="section-title mt-0">Alasan Komplain</div>
<div class="col-md-12"> <div class="col-md-12">
<label for="complaint" class="form-label">Berikan Alasan Mengapa <label for="complaint" class="form-label">Berikan Alasan Mengapa
Melakukan Pengembalian</label> Melakukan Pengembalian</label>
<textarea class="form-control" aria-label="With textarea" required id="complaint" name='complaint'></textarea> <textarea class="form-control" aria-label="With textarea" required id="complaint" name='complaint'></textarea>
</div> </div>
<div class="section-title">Upload Image / Video</div> <div class="section-title">Unggah Foto dan Video</div>
<div class="custom-file"> <div class="custom-file">
<label for="uploadBukti" class="form-label">Sertakan bukti seperti Foto <label for="uploadBukti" class="form-label">Sertakan bukti seperti foto atau
Pesanan</label> video
barang</label>
<input type="file" class="form-control" name="bukti[]" id="fileInput" <input type="file" class="form-control" name="bukti[]" id="fileInput"
accept="image/*,video/*" required multiple> accept="image/*,video/*" required multiple>
<div id="previewContainer"> <div id="previewContainer">

View File

@ -1,4 +1,4 @@
@extends('user.layout.main') @extends('layouts.main')
@section('content') @section('content')
<div class="main-content"> <div class="main-content">
<section class="section"> <section class="section">
@ -113,7 +113,8 @@
<td class="text-center">{{ $transaction->harga_barang }}</td> <td class="text-center">{{ $transaction->harga_barang }}</td>
<td class="text-center">{{ $transaction->jumlah_barang }}</td> <td class="text-center">{{ $transaction->jumlah_barang }}</td>
<td class="text-right"> <td class="text-right">
{{ $transaction->harga_barang * $transaction->jumlah_barang }}</td> {{ $transaction->harga_barang * $transaction->jumlah_barang }}
</td>
</tr> </tr>
</table> </table>
</div> </div>
@ -122,7 +123,9 @@
<div class="section-title">Payment Method</div> <div class="section-title">Payment Method</div>
<div class="images"> <div class="images">
@if ($transaction->metode_pembayaran != null) @if ($transaction->metode_pembayaran != null)
<img style="width: 20%; height: 20%;" src="{{ asset('assets/img/metode_pembayaran/'.$transaction->metode_pembayaran.'.png') }}" alt="{{$transaction->metode_pembayaran}}"> <img style="width: 20%; height: 20%;"
src="{{ asset('assets/img/metode_pembayaran/' . $transaction->metode_pembayaran . '.png') }}"
alt="{{ $transaction->metode_pembayaran }}">
@endif @endif
</div> </div>
</div> </div>
@ -130,12 +133,14 @@
<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 <div class="invoice-detail-value">Rp
{{ number_format($transaction->total_harga, 2, ',', '.') }}</div> {{ number_format($transaction->total_harga, 2, ',', '.') }}
</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">Biaya Admin</div>
<div class="invoice-detail-value"> <div class="invoice-detail-value">
Rp {{ number_format($transaction->total_keuntungan, 2, ',', '.') }} Rp
{{ number_format($transaction->total_keuntungan, 2, ',', '.') }}
</div> </div>
</div> </div>
<hr class="mt-2 mb-2"> <hr class="mt-2 mb-2">

View File

@ -1,11 +1,12 @@
@extends('user.layout.main') @extends('layouts.main')
@section('content') @section('content')
<div class="main-content"> <div class="main-content">
<section class="section"> <section class="section">
<div class="section-header"> <div class="section-header">
<h1>Halaman Pembeli</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('user.index') }}">Dashboard</a></div>
<div class="breadcrumb-item"><a href="{{ route('user-transaction.index.pembeli') }}">Transaksi Pembeli</a> <div class="breadcrumb-item"><a href="{{ route('user-pembeli.index') }}">Transaksi Pembeli</a>
</div> </div>
</div> </div>
</div> </div>
@ -14,7 +15,7 @@
<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>Selamat Datang! {{ Auth::user()->nama_depan }}</h1>
<p class="lead">Mau belanja apa hari ini?</p> <p class="lead">Mau belanja apa hari ini?</p>
</div> </div>
</div> </div>

View File

@ -1,14 +1,13 @@
@extends('user.layout.main') @extends('layouts.main')
@section('content') @section('content')
<div class="main-content"> <div class="main-content">
<section class="section"> <section class="section">
<div class="section-header"> <div class="section-header">
<h1>Invoice</h1> <h1>Invoice</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('user.index') }}">Dashboard</a></div>
<div class="breadcrumb-item"><a href="#"> Transaction</a></div> <div class="breadcrumb-item"><a href="{{ route('user-pembeli.index') }}"> Transaction</a></div>
<div class="breadcrumb-item">Manajemen Kontak</div> <div class="breadcrumb-item">Invoice</div>
<div class="breadcrumb-item">Halaman Refund</div>
</div> </div>
</div> </div>

View File

@ -1,4 +1,4 @@
@extends('user.layout.main') @extends('layouts.main')
@section('content') @section('content')
<link rel="stylesheet" href="{{ asset('assets/modules/select2/dist/css/select2.min.css') }}"> <link rel="stylesheet" href="{{ asset('assets/modules/select2/dist/css/select2.min.css') }}">
<div class="main-content"> <div class="main-content">

View File

@ -1,14 +1,12 @@
@extends('user.layout.main') @extends('layouts.main')
@section('content') @section('content')
<div class="main-content"> <div class="main-content">
<section class="section"> <section class="section">
<div class="section-header"> <div class="section-header">
<h1>Halaman Penjual</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('user.index') }}">Dashboard</a></div>
<div class="breadcrumb-item"><a href="#"> Transaction</a></div> <div class="breadcrumb-item"><a href="{{ route('user-penjual.index') }}">Penjual</a></div>
<div class="breadcrumb-item">Manajemen Kontak</div>
<div class="breadcrumb-item">Halaman Refund</div>
</div> </div>
</div> </div>
@ -17,7 +15,7 @@
<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 to the Rekber Aplication</h1> <h1>Hallo!!</h1>
<p class="lead">Selamat Datang {{ Auth::user()->nama_depan }}!</p> <p class="lead">Selamat Datang {{ Auth::user()->nama_depan }}!</p>
</div> </div>
</div> </div>

View File

@ -14,31 +14,7 @@
<div class="row"> <div class="row">
<div class="col-12"> <div class="col-12">
<div class="activities"> <div class="activities">
{{-- @forelse ($transaction->transactionDescription as $transactionDescription)
<div class="activity">
<div class="activity-icon {{$transactionDescription->background}} text-white shadow-primary">
<i class="{{$transactionDescription->judul}}" style="font-size: 36px;"></i>
</div>
<div class="activity-detail">
<div class="mb-2">
<span class="text-job text-primary">{{date("F j, Y, g:i:s a", strtotime($transactionDescription->created_at))}}</span>
</div>
<p>{{$transactionDescription->deskripsi}}</p>
</div>
</div>
@empty
<div class="activity">
<div class="activity-icon bg-primary text-white shadow-primary">
<i class="fas fa-ban" style="font-size: 36px;"></i>
</div>
<div class="activity-detail">
<div class="mb-2">
<span class="text-job text-primary">--, --:--:-- --</span>
</div>
<p>Kosong</p>
</div>
</div>
@endforelse --}}
</div> </div>
</div> </div>
</div> </div>

View File

@ -0,0 +1,51 @@
<style>
.data-field {
display: flex;
width: 100%;
justify-content: space-between;
font-size: 14px;
}
.data-field:not(:last-child) {
margin-bottom: 15px;
}
.data-field span {
text-align: end;
}
.card-title span a {
color: #899bbd;
text-decoration: underline;
}
.justified-text {
text-align: justify;
}
.font-weight-italic {
font-style: italic;
}
</style>
<!-- General CSS Files -->
<link rel="stylesheet" href="{{ asset('assets/modules/bootstrap/css/bootstrap.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') }}">
<link rel="stylesheet" href="{{ asset('assets/modules/summernote/summernote-bs4.css') }}">
<link rel="stylesheet" href="{{ asset('assets/modules/owlcarousel2/dist/assets/owl.carousel.min.css') }}">
<link rel="stylesheet" href="{{ asset('assets/modules/owlcarousel2/dist/assets/owl.theme.default.min.css') }}">
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/daterangepicker@3.1.0/daterangepicker.css" />
<link rel="stylesheet" href="{{ asset('assets/modules/select2/dist/css/select2.min.css') }}">
<!-- Template CSS -->
<link rel="stylesheet" href="{{ asset('assets/css/style.css') }}">
<link rel="stylesheet" href="{{ asset('assets/css/components.css') }}">
{{-- CSS Libraries --}}
<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') }}">

View File

@ -3,10 +3,11 @@
<form class="form-inline mr-auto"> <form class="form-inline mr-auto">
<ul class="navbar-nav mr-3"> <ul class="navbar-nav mr-3">
<li><a href="#" data-toggle="sidebar" class="nav-link nav-link-lg"><i class="fas fa-bars"></i></a></li> <li><a href="#" data-toggle="sidebar" class="nav-link nav-link-lg"><i class="fas fa-bars"></i></a></li>
<li><a href="#" data-toggle="search" class="nav-link nav-link-lg d-sm-none"><i
class="fas fa-search"></i></a></li>
</ul> </ul>
</form> </form>
<ul class="navbar-nav navbar-right"> <ul class="navbar-nav navbar-right">
{{-- Message --}}
<li class="dropdown dropdown-list-toggle"><a href="#" data-toggle="dropdown" <li class="dropdown dropdown-list-toggle"><a href="#" data-toggle="dropdown"
class="nav-link nav-link-lg message-toggle beep"><i class="far fa-envelope"></i></a> class="nav-link nav-link-lg message-toggle beep"><i class="far fa-envelope"></i></a>
<div class="dropdown-menu dropdown-list dropdown-menu-right"> <div class="dropdown-menu dropdown-list dropdown-menu-right">
@ -79,9 +80,6 @@
</div> </div>
</div> </div>
</li> </li>
{{-- Message --}}
{{-- Notifikasi --}}
<li class="dropdown dropdown-list-toggle"><a href="#" data-toggle="dropdown" <li class="dropdown dropdown-list-toggle"><a href="#" data-toggle="dropdown"
class="nav-link notification-toggle nav-link-lg beep"><i class="far fa-bell"></i></a> class="nav-link notification-toggle nav-link-lg beep"><i class="far fa-bell"></i></a>
<div class="dropdown-menu dropdown-list dropdown-menu-right"> <div class="dropdown-menu dropdown-list dropdown-menu-right">
@ -142,15 +140,16 @@
</div> </div>
</div> </div>
</li> </li>
{{-- Notifikasi --}}
<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="{{ Auth::user()->foto_profile == null ? asset('assets/img/avatar/avatar-1.png') : asset('storage/foto-profile/' . auth()->user()->foto_profile) }}"
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('admin.profile')}}" class="dropdown-item has-icon"> <a href="{{ route('profile.index') }}" class="dropdown-item has-icon">
<i class="far fa-user"></i> Profile <i class="far fa-user"></i> Profile
</a> </a>
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>

View File

@ -0,0 +1,40 @@
<!-- Jquery -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js"
integrity="sha512-aVKKRRi/Q/YV+4mjoKBsE4x3H+BkegoM/em46NNlCqNTmUYADjBbeNefNxYV7giUp0VxICtqdrbqU7iVaeZNXA=="
crossorigin="anonymous" referrerpolicy="no-referrer"></script>
{{-- <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> --}}
{{-- <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script> --}}
<script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.1/dist/js/bootstrap.bundle.min.js"
integrity="sha384-u1OknCvxWvY5kfmNBILK2hRnQC3Pr17a+RTT6rIHI7NnikvbZlHgTPOOmMi466C8" crossorigin="anonymous">
</script>
<!-- dashboard -->
<script src="{{ asset('assets/modules/chart.min.js') }}"></script>
<!-- General JS Scripts -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
<script src="{{ asset('assets/modules/popper.js') }}"></script>
<script src="{{ asset('assets/modules/tooltip.js') }}"></script>
<script src="{{ asset('assets/modules/bootstrap/js/bootstrap.min.js') }}"></script>
<script src="{{ asset('assets/modules/moment.min.js') }}"></script>
<script src="{{ asset('assets/js/stisla.js') }}"></script>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<!-- JS Libraies -->
<script src="{{ asset('assets/modules/owlcarousel2/dist/owl.carousel.min.js') }}"></script>
<script src="{{ asset('assets/modules/summernote/summernote-bs4.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>
<!-- Page Specific JS File -->
<script src="{{ asset('assets/js/page/modules-datatables.js') }}"></script>
<!-- Template JS File -->
<script src="{{ asset('assets/js/scripts.js') }}"></script>
<script src="{{ asset('assets/js/custom.js') }}"></script>
<script src="https://cdn.jsdelivr.net/npm/daterangepicker@3.1.0/daterangepicker.min.js"></script>

View File

@ -0,0 +1,36 @@
<!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">
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>REKBER</title>
@include('layouts.css')
@include('layouts.js')
</head>
<body>
<header class="header-area header-sticky">
@include('layouts.header')
</header>
<!-- ***** Main Banner Area Start ***** -->
<main id="main" style="min-height: 100vh;">
@include('layouts.sidebar')
@yield('content')
</main>
<!-- End #main -->
<footer id="footer">
@include('layouts.footer')
</footer>
</body>
</html>

View File

@ -0,0 +1,75 @@
<div class="main-sidebar sidebar-style-2">
<aside id="sidebar-wrapper">
<div class="sidebar-brand">
<a href="{{ route(Auth::user()->role == 'Admin' ? 'admin.index' : 'user.index') }}">REKBER</a>
</div>
<div class="sidebar-brand sidebar-brand-sm">
<a href="{{ route(Auth::user()->role == 'Admin' ? 'admin.index' : 'user.index') }}">RK</a>
</div>
<ul class="sidebar-menu">
<li class="menu-header">Dashboard</li>
<li><a class="nav-link {{ request()->routeIs(auth()->user()->role == 'Admin' ? 'admin.index' : 'user.index') ? 'active' : '' }}"
href="{{ route(Auth::user()->role == 'Admin' ? 'admin.index' : 'user.index') }}"><i
class="fas fa-fire"></i> <span>Dashboard</span></a></li>
<li class="menu-header">Starter</li>
@if (Auth::user()->role == 'Admin')
<li><a class="nav-link {{ request()->routeIs('admin-user.index') ? 'active' : '' }}"
href="{{ route('admin-user.index') }}"><i class="far fa-user"></i>
<span>User</span></a></li>
<li><a class="nav-link {{ request()->routeIs('admin-transaction.index') ? 'active' : '' }}"
href="{{ route('admin-transaction.index') }}"><i
class="fas fa-columns"></i><span>Transaction</span></a></li>
<li><a class="nav-link {{ request()->routeIs('admin-refund.index') ? 'active' : '' }}"
href="{{ route('admin-refund.index') }}"><i class="far fa-square"></i>
<span>Refund</span></a>
</li>
<li><a class="nav-link {{ request()->routeIs('admin-setting.index') ? 'active' : '' }}"
href="{{ route('admin-setting.index') }}"><i class="fas fa-cog"></i>
<span>Setting</span></a></li>
@else
<li class="drop-down ">
<a class="nav-link {{ request()->routeIs('user-transaction.index.pembeli') || request()->routeIs('user-transaction.index.penjual') ? 'active' : '' }}"
data-toggle="collapse" href="#submenuTransaction" aria-expanded="false"
aria-controls="submenuTransaction">
<i class="fas fa-columns"></i><span>Transaksi</span> <i class="fas fa-caret-down"></i>
</a>
<div id="submenuTransaction" class="collapse">
<ul class="nav flex-column sub-menu">
<li
class="nav-item {{ request()->routeIs('user-transaction.index.pembeli') ? 'active' : '' }}">
<a class="nav-link" href="{{ route('user-transaction.index.pembeli') }}">
<i class="fas fa-users"></i> Pembeli
</a>
</li>
<li
class="nav-item {{ request()->routeIs('user-transaction.index.penjual') ? 'active' : '' }}">
<a class="nav-link" href="{{ route('user-transaction.index.penjual') }}">
<i class="fas fa-user"></i> Penjual
</a>
</li>
</ul>
</div>
</li>
<li>
<a class="nav-link {{ request()->routeIs('user-contact.index') ? 'active' : '' }}"
href="{{ route('user-contact.index') }}">
<i class="fas fa-address-book"></i> <span>Kontak</span>
</a>
</li>
<li>
<a class="nav-link {{ request()->routeIs('user-refund.index') ? 'active' : '' }}"
href="{{ route('user-refund.index') }}">
<i class="fas fa-money-check-alt"></i> <span>Refund</span>
</a>
</li>
@endif
</ul>
</aside>
</div>
<script src="{{ asset('assets/modules/nicescroll/jquery.nicescroll.min.js') }}"></script>

View File

@ -1,4 +1,4 @@
@extends('admin.layout.main') @extends('layouts.main')
@section('content') @section('content')
<div class="main-content"> <div class="main-content">
<section class="section"> <section class="section">
@ -9,7 +9,7 @@
style="border: 1px solid #ddd; border-radius: 8px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); position: relative; background: linear-gradient(45deg, #f3f3f3, #e0e0e0);"> style="border: 1px solid #ddd; border-radius: 8px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); position: relative; background: linear-gradient(45deg, #f3f3f3, #e0e0e0);">
<i class="bi bi-arrow-right" style="position: absolute; top: 10px; right: 10px; font-size: 24px;"></i> <i class="bi bi-arrow-right" style="position: absolute; top: 10px; right: 10px; font-size: 24px;"></i>
<img src="{{ Auth::user()->foto_profil == null ? asset('assets/img/avatar/avatar-1.png') : asset('storage/foto_profil/' . Auth::user()->foto_profil) }}" <img src="{{ Auth::user()->foto_profile == null ? asset('assets/img/avatar/avatar-1.png') : asset('storage/foto-profile/' . Auth::user()->foto_profile) }}"
alt="{{ Auth::user()->nama_depan }}" class="rounded-circle" style="width: 150px; height: 150px;"> alt="{{ Auth::user()->nama_depan }}" class="rounded-circle" style="width: 150px; height: 150px;">
<h2 class="mt-3">{{ Auth::user()->nama_depan . ' ' . Auth::user()->nama_belakang }}</h2> <h2 class="mt-3">{{ Auth::user()->nama_depan . ' ' . Auth::user()->nama_belakang }}</h2>
<h5 class="mb-0">#{{ Auth::user()->id }}</h5> <h5 class="mb-0">#{{ Auth::user()->id }}</h5>
@ -105,13 +105,13 @@
{{-- Edit Profile --}} {{-- Edit Profile --}}
<div class="tab-pane fade profile-edit pt-3" id="profile-edit"> <div class="tab-pane fade profile-edit pt-3" id="profile-edit">
<form id="formEditProfile" action="javascript:void(0);"> <form id="formEditProfile" action="javascript:void(0);" enctype="multipart/form-data">
@csrf @csrf
<div class="row mb-3"> <div class="row mb-3">
<label for="profileImage" class="col-md-4 col-lg-3 col-form-label">Foto Profil</label> <label for="profileImage" class="col-md-4 col-lg-3 col-form-label">Foto Profil</label>
<div class="col-md-8 col-lg-9"> <div class="col-md-8 col-lg-9">
<img id="profileImagePreview" <img id="profileImagePreview"
src="{{ Auth::user()->foto_profil == null ? asset('assets/img/avatar/avatar-1.png') : asset('storage/foto_profil/' . Auth::user()->foto_profil) }}" src="{{ Auth::user()->foto_profile == null ? asset('assets/img/avatar/avatar-1.png') : asset('storage/foto-profile/' . auth()->user()->foto_profile) }}"
alt="Profile" style="max-width: 100%; max-height: 150px;"> alt="Profile" style="max-width: 100%; max-height: 150px;">
<div class="d-flex justify-content-between align-items-center mt-2"> <div class="d-flex justify-content-between align-items-center mt-2">
<label for="profileImageInput" class="btn btn-primary btn-sm" <label for="profileImageInput" class="btn btn-primary btn-sm"
@ -123,26 +123,26 @@
</div> </div>
</div> </div>
</div> </div>
<div class="row mb-3"> <div class="row mb-3">
<label for="firstName" class="col-md-4 col-lg-3 col-form-label">Nama Lengkap</label> <label for="nama_depan" class="col-md-4 col-lg-3 col-form-label">Nama
Lengkap</label>
<div class="col-md-4 col-lg-4"> <div class="col-md-4 col-lg-4">
<input name="nama_depan" type="text" class="form-control" id="firstName" <input name="nama_depan" type="text" class="form-control" id="nama_depan"
placeholder="Nama depan" value="{{ Auth::user()->nama_depan }}" required> placeholder="Nama depan" value="{{ Auth::user()->nama_depan }}" required>
</div> </div>
<div class="col-md-4 col-lg-5"> <div class="col-md-4 col-lg-5">
<input name="nama_belakang" type="text" class="form-control" id="lastName" <input name="nama_belakang" type="text" class="form-control"
placeholder="Nama belakang" value="{{ Auth::user()->nama_belakang }}" id="nama_belakang" placeholder="Nama belakang"
required> value="{{ Auth::user()->nama_belakang }}" required>
</div> </div>
</div> </div>
<div class="row mb-3"> <div class="row mb-3">
<label for="Phone" class="col-md-4 col-lg-3 col-form-label">No. HP</label> <label for="nohp" class="col-md-4 col-lg-3 col-form-label">No. HP</label>
<div class="col-md-8 col-lg-9"> <div class="col-md-8 col-lg-9">
<input name="nohp" type="text" class="form-control" id="Phone" <input name="nohp" type="text" class="form-control" id="nohp"
value="{{ Auth::user()->nohp }}" value="{{ Auth::user()->nohp }}"
oninput="this.value = this.value.replace(/[^0-9]/g, '').replace(/(\..*?)\..*/g, '$1');" oninput="this.value = this.value.replace(/[^0-9]/g, '').replace(/(\..*?)\..*/g, '$1');"
required> required>
@ -154,7 +154,9 @@
<label for="selectProvince" class="col-md-4 col-lg-3 col-form-label">Provinsi</label> <label for="selectProvince" class="col-md-4 col-lg-3 col-form-label">Provinsi</label>
<div class="col-md-8 col-lg-9"> <div class="col-md-8 col-lg-9">
<select style="width: 100%;" name="provinsi" id="selectProvince"> <select style="width: 100%;" name="provinsi" id="selectProvince">
@foreach ($provinces as $province)
<option value="{{ $province->code }}">{{ $province->name }}</option>
@endforeach
</select> </select>
</div> </div>
</div> </div>
@ -164,7 +166,9 @@
class="col-md-4 col-lg-3 col-form-label">Kabupaten/Kota</label> class="col-md-4 col-lg-3 col-form-label">Kabupaten/Kota</label>
<div class="col-md-8 col-lg-9"> <div class="col-md-8 col-lg-9">
<select style="width: 100%;" name="kota" id="selectCity"> <select style="width: 100%;" name="kota" id="selectCity">
@foreach ($cities as $city)
<option value="{{ $city->code }}">{{ $city->name }}</option>
@endforeach
</select> </select>
</div> </div>
</div> </div>
@ -173,7 +177,9 @@
<label for="selectDistrict" class="col-md-4 col-lg-3 col-form-label">Kecamatan</label> <label for="selectDistrict" class="col-md-4 col-lg-3 col-form-label">Kecamatan</label>
<div class="col-md-8 col-lg-9"> <div class="col-md-8 col-lg-9">
<select style="width: 100%;" name="kecamatan" id="selectDistrict"> <select style="width: 100%;" name="kecamatan" id="selectDistrict">
@foreach ($districts as $district)
<option value="{{ $district->code }}">{{ $district->name }}</option>
@endforeach
</select> </select>
</div> </div>
</div> </div>
@ -182,15 +188,17 @@
<label for="selectVillage" class="col-md-4 col-lg-3 col-form-label">Kelurahan</label> <label for="selectVillage" class="col-md-4 col-lg-3 col-form-label">Kelurahan</label>
<div class="col-md-8 col-lg-9"> <div class="col-md-8 col-lg-9">
<select style="width: 100%;" name="kelurahan" id="selectVillage" required> <select style="width: 100%;" name="kelurahan" id="selectVillage" required>
@foreach ($villages as $village)
<option value="{{ $village->code }}">{{ $village->name }}</option>
@endforeach
</select> </select>
</div> </div>
</div> </div>
<div class="row mb-3"> <div class="row mb-3">
<label for="Address" class="col-md-4 col-lg-3 col-form-label">Alamat</label> <label for="alamat" class="col-md-4 col-lg-3 col-form-label">Alamat</label>
<div class="col-md-8 col-lg-9"> <div class="col-md-8 col-lg-9">
<input name="alamat" type="text" class="form-control" id="Address" <input name="alamat" type="text" class="form-control" id="alamat"
value="{{ Auth::user()->alamat }}" required> value="{{ Auth::user()->alamat }}" required>
</div> </div>
</div> </div>
@ -203,64 +211,83 @@
<option selected disabled>Silahkan Pilih Bank/e-Wallet</option> <option selected disabled>Silahkan Pilih Bank/e-Wallet</option>
<option disabled>Bank</option> <option disabled>Bank</option>
<option value="bca" <option value="bca"
{{ Auth::user()->nama_bank == 'bca' ? 'selected' : '' }}>BCA</option> {{ Auth::user()->nama_bank == 'bca' ? 'selected' : '' }}>BCA
</option>
<option value="mandiri" <option value="mandiri"
{{ Auth::user()->nama_bank == 'mandiri' ? 'selected' : '' }}>Mandiri {{ Auth::user()->nama_bank == 'mandiri' ? 'selected' : '' }}>
Mandiri
</option> </option>
<option value="bni" <option value="bni"
{{ Auth::user()->nama_bank == 'bni' ? 'selected' : '' }}>BNI</option> {{ Auth::user()->nama_bank == 'bni' ? 'selected' : '' }}>BNI
</option>
<option value="bri" <option value="bri"
{{ Auth::user()->nama_bank == 'bri' ? 'selected' : '' }}>BRI</option> {{ Auth::user()->nama_bank == 'bri' ? 'selected' : '' }}>BRI
</option>
<option value="bsm" <option value="bsm"
{{ Auth::user()->nama_bank == 'bsm' ? 'selected' : '' }}>BSI (Bank Syariah {{ Auth::user()->nama_bank == 'bsm' ? 'selected' : '' }}>BSI (Bank
Syariah
Indonesia)</option> Indonesia)</option>
<option value="danamon" <option value="danamon"
{{ Auth::user()->nama_bank == 'danamon' ? 'selected' : '' }}> {{ Auth::user()->nama_bank == 'danamon' ? 'selected' : '' }}>
Danamoon/Danamon Syariah</option> Danamoon/Danamon Syariah</option>
<option value="permata" <option value="permata"
{{ Auth::user()->nama_bank == 'permata' ? 'selected' : '' }}>Bank Permata {{ Auth::user()->nama_bank == 'permata' ? 'selected' : '' }}>Bank
Permata
</option> </option>
<option value="mega" <option value="mega"
{{ Auth::user()->nama_bank == 'mega' ? 'selected' : '' }}>Bank Mega {{ Auth::user()->nama_bank == 'mega' ? 'selected' : '' }}>Bank Mega
</option> </option>
<option value="btn" <option value="btn"
{{ Auth::user()->nama_bank == 'btn' ? 'selected' : '' }}>BTN/BTN Syariah {{ Auth::user()->nama_bank == 'btn' ? 'selected' : '' }}>BTN/BTN
Syariah
</option> </option>
<option value="cimb" <option value="cimb"
{{ Auth::user()->nama_bank == 'cimb' ? 'selected' : '' }}>CIMB Niaga/CIMB {{ Auth::user()->nama_bank == 'cimb' ? 'selected' : '' }}>CIMB
Niaga/CIMB
Niaga Syariah</option> Niaga Syariah</option>
<option value="hsbc" <option value="hsbc"
{{ Auth::user()->nama_bank == 'hsbc' ? 'selected' : '' }}>HSBC Indonesia {{ Auth::user()->nama_bank == 'hsbc' ? 'selected' : '' }}>HSBC
Indonesia
</option> </option>
<option value="uob" <option value="uob"
{{ Auth::user()->nama_bank == 'uob' ? 'selected' : '' }}>TMRW/UOB</option> {{ Auth::user()->nama_bank == 'uob' ? 'selected' : '' }}>TMRW/UOB
</option>
<option value="panin" <option value="panin"
{{ Auth::user()->nama_bank == 'panin' ? 'selected' : '' }}>Panin Bank {{ Auth::user()->nama_bank == 'panin' ? 'selected' : '' }}>Panin
Bank
</option> </option>
<option value="bii" <option value="bii"
{{ Auth::user()->nama_bank == 'bii' ? 'selected' : '' }}>Maybank Indonesia {{ Auth::user()->nama_bank == 'bii' ? 'selected' : '' }}>Maybank
Indonesia
</option> </option>
<option value="ocbc" <option value="ocbc"
{{ Auth::user()->nama_bank == 'ocbc' ? 'selected' : '' }}>OCBC NISP {{ Auth::user()->nama_bank == 'ocbc' ? 'selected' : '' }}>OCBC NISP
</option> </option>
<option value="sinarmas" <option value="sinarmas"
{{ Auth::user()->nama_bank == 'sinarmas' ? 'selected' : '' }}>Bank Sinarmas {{ Auth::user()->nama_bank == 'sinarmas' ? 'selected' : '' }}>Bank
Sinarmas
</option> </option>
<option value="dbs" <option value="dbs"
{{ Auth::user()->nama_bank == 'dbs' ? 'selected' : '' }}>DBS Bank Indonesia {{ Auth::user()->nama_bank == 'dbs' ? 'selected' : '' }}>DBS Bank
Indonesia
</option> </option>
<option disabled>e-Wallet</option> <option disabled>e-Wallet</option>
<option value="ovo" <option value="ovo"
{{ Auth::user()->nama_bank == 'ovo' ? 'selected' : '' }}>OVO</option> {{ Auth::user()->nama_bank == 'ovo' ? 'selected' : '' }}>OVO
</option>
<option value="dana" <option value="dana"
{{ Auth::user()->nama_bank == 'dana' ? 'selected' : '' }}>DANA</option> {{ Auth::user()->nama_bank == 'dana' ? 'selected' : '' }}>DANA
</option>
<option value="linkaja" <option value="linkaja"
{{ Auth::user()->nama_bank == 'linkaja' ? 'selected' : '' }}>LinkAja {{ Auth::user()->nama_bank == 'linkaja' ? 'selected' : '' }}>
LinkAja
</option> </option>
<option value="gopay" <option value="gopay"
{{ Auth::user()->nama_bank == 'gopay' ? 'selected' : '' }}>GoPay</option> {{ Auth::user()->nama_bank == 'gopay' ? 'selected' : '' }}>GoPay
</option>
<option value="shopeepay" <option value="shopeepay"
{{ Auth::user()->nama_bank == 'shopeepay' ? 'selected' : '' }}>ShopeePay {{ Auth::user()->nama_bank == 'shopeepay' ? 'selected' : '' }}>
ShopeePay
</option> </option>
</select> </select>
</div> </div>
@ -273,7 +300,7 @@
</div> </div>
<div class="text-center"> <div class="text-center">
<a href="profile" type="submit" class="btn btn-primary">Simpan</a> <button type="submit" class="btn btn-primary">Simpan</button>
</div> </div>
</form> </form>
</div> </div>
@ -281,12 +308,13 @@
{{-- Change Password --}} {{-- Change Password --}}
<div class="tab-pane fade pt-3" id="profile-change-password"> <div class="tab-pane fade pt-3" id="profile-change-password">
<form> <form id="formChangePassword" action="javascript:void(0);">
@csrf
<div class="row mb-3"> <div class="row mb-3">
<label for="currentPassword" class="col-md-4 col-lg-3 col-form-label">Password <label for="currentPassword" class="col-md-4 col-lg-3 col-form-label">Password
Sekarang</label> Sekarang</label>
<div class="col-md-8 col-lg-9"> <div class="col-md-8 col-lg-9">
<input name="password" type="password" class="form-control" <input name="currentpassword" type="password" class="form-control"
id="currentPassword"> id="currentPassword">
</div> </div>
</div> </div>
@ -313,7 +341,6 @@
</div> </div>
</form> </form>
</div> </div>
{{-- Change Password --}}
</div> </div>
</div> </div>
@ -379,38 +406,13 @@
}); });
} }
// Select $('#selectProvince').select2();
$("#selectProvince").select2({
placeholder: "Pilih Provinsi",
ajax: {
url: "{{ route('cari-provinsi') }}",
processResults: function({
data
}) {
return {
results: $.map(data, function(item) {
return {
id: item.code,
text: ucwords(item.name),
};
}),
};
},
},
});
$('#selectCity').select2({ $('#selectCity').select2();
placeholder: "Pilih Kabupaten/Kota"
});
$('#selectDistrict').select2();
$('#selectDistrict').select2({ $('#selectVillage').select2();
placeholder: "Pilih Kecamatan"
});
$('#selectVillage').select2({
placeholder: "Pilih Kelurahan"
});
// Event Listener untuk selectProvince // Event Listener untuk selectProvince
$("#selectProvince").change(function() { $("#selectProvince").change(function() {
@ -537,6 +539,78 @@
$('#formEditProfile').on('submit', function(e) { $('#formEditProfile').on('submit', function(e) {
e.preventDefault(); e.preventDefault();
let form = this;
const csrf = $('meta[name="csrf-token"]').attr('content');
if (!form.checkValidity()) {
form.reportValidity();
return;
}
let formData = new FormData(this);
formData.append('foto', $('#profileImageInput')[0].files[0])
Swal.fire({
html: '<div class="mt-3"><lord-icon src="https://cdn.lordicon.com/etwtznjn.json" trigger="loop" colors="primary:#0ab39c,secondary:#405189" style="width:120px;height:120px"></lord-icon><div class="mt-4 pt-2 fs-15"><h4>Form Anda sedang diproses!</h4><p class="text-muted mx-4 mb-0">Mohon tunggu...</p></div></div>',
allowEscapeKey: false,
allowOutsideClick: false,
didOpen: () => {
Swal.showLoading()
}
});
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': csrf,
}
});
$.ajax({
type: 'POST',
url: "{{ route('profile.update') }}",
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',
position: 'center',
}).then(function() {
if (response.status) {
location.reload();
}
});
},
error: function(error) {
console.log(error.responseText)
var response = JSON.parse(error.responseText);
var errorMessage = '';
for (var key in response.errors) {
if (response.errors.hasOwnProperty(key)) {
errorMessage += response.errors[key][0] + '<br>';
}
}
Swal.fire({
position: 'center',
icon: 'error',
title: 'Terjadi Kesalahan',
html: errorMessage,
showConfirmButton: true
});
}
});
});
// ganti password
$('#formChangePassword').on('submit', function(e) {
e.preventDefault();
let form = this; let form = this;
if (!form.checkValidity()) { if (!form.checkValidity()) {
@ -555,12 +629,20 @@
} }
}); });
const currentPassword = $('#currentPassword').val();
const newPassword = $('#newPassword').val();
const renewPassword = $('#renewPassword').val();
$.ajax({ $.ajax({
type: 'PUT', type: 'PUT',
url: `{{ route('user.update', ':id') }}`.replace(':id', ), url: "{{ route('profile.change-password') }}",
data: formData, data: {
proccessData: false, currentPassword: currentPassword,
contentType: false, newPassword: newPassword,
renewPassword: renewPassword,
"_token": "{{ csrf_token() }}",
},
success: function(response) { success: function(response) {
Swal.fire({ Swal.fire({
title: response.status ? 'Berhasil!' : 'Gagal!', title: response.status ? 'Berhasil!' : 'Gagal!',
@ -569,11 +651,8 @@
confirmButtonText: 'OK', confirmButtonText: 'OK',
position: 'center', position: 'center',
}).then(function() { }).then(function() {
// location.reload();
Swal.close();
if (response.status) { if (response.status) {
$('#table-2').DataTable().draw(); location.reload();
form.reset();
} }
}); });
}, },

View File

@ -48,27 +48,23 @@ Route::middleware(['auth'])->group(function(){
Route::prefix('admin')->group(function(){ Route::prefix('admin')->group(function(){
// aprove atau deny dan hapus user // aprove atau deny dan hapus user
Route::controller(AdminUserController::class)->group(function(){ Route::controller(AdminUserController::class)->group(function(){
Route::delete('admin-user/{id}','delete')->name('admin-user.destroy');
Route::put('admin-user/approve-user/{id}', 'approveUser')->name('admin-user.approve');
Route::put('admin-user/deny-user/{id}', 'denyUser')->name('admin-user.deny');
}); });
// approve atau deny dan hapus refund // approve atau deny dan hapus refund
Route::controller(AdminRefundController::class)->group(function(){ Route::controller(AdminRefundController::class)->group(function(){
Route::put('admin-refund/approve-refund/{id}','approveRefund')->name('admin-refund.approve');
Route::put('admin-refund/deny-refund/{id}','denyRefund')->name('admin-refund.deny');
}); });
Route::controller(AdminSettingController::class)->group(function(){ Route::controller(AdminSettingController::class)->group(function(){
Route::post('admin-setting/store','store')->name('admin-setting.store');
Route::put('admin-setting/active/{id}','activeSetting')->name('admin-setting.active-setting');
}); });
}); });
}); });
Route::prefix('profile')->group(function(){ Route::prefix('profile')->group(function(){
Route::controller(ProfileController::class)->group(function(){ Route::controller(ProfileController::class)->group(function(){
Route::put('update','update')->name('profile.update');
}); });
}); });
@ -79,28 +75,15 @@ Route::middleware(['auth'])->group(function(){
}); });
Route::controller(UserContactController::class)->group(function(){ Route::controller(UserContactController::class)->group(function(){
Route::post('user-contact','store')->name('user-contact.store');
Route::delete('user-contact/delete/{id}','destroy')->name('user-contact.destroy');
Route::get('user-contact/get-user-contact','getContact')->name('user-contact.get');
Route::get('user-contact/cek-contact/{email}','checkEmail')->name('user-contact.email');
}); });
Route::controller(UserTransactionController::class)->group(function(){ Route::controller(UserTransactionController::class)->group(function(){
// Pembeli
Route::post('user-pembeli','store')->name('user-pembeli.store');
Route::put('user-pembeli/bayar-transaksi/{id}','payTransaction')->name('user-pembeli.pay');
Route::put('user-pembeli/batal-transaksi/{id}','cancelTransaction')->name('user-pembeli.cancel');
Route::put('user-pembeli/transaksi-selesai/{id}','finishTransaction')->name('user-pembeli.finish');
Route::put('user-pembeli/transaksi-komplain/{id}','complainTransaction')->name('user-pembeli.complain');
// Penjual
Route::put('user-penjual/terima-transaksi/{id}','acceptTransaction')->name('user-penjual.accept');
Route::put('user-penjual/kirim-pesanan/{id}','sendingOrder')->name('user-penjual.sending');
Route::put('user-penjual/selesai-kirim-pesanan/{id}','sentOrder')->name('user-penjual.sent');
}); });
Route::controller(UserRefundController::class)->group(function(){ Route::controller(UserRefundController::class)->group(function(){
Route::post('user-refund','store')->name('user-refund.store');
}); });
}); });
}); });

View File

@ -115,6 +115,15 @@ Route::controller(LoginController::class)->group(function(){
// admin dan user // admin dan user
Route::middleware(['auth'])->group(function(){ Route::middleware(['auth'])->group(function(){
Route::prefix('profile')->group(function(){
Route::controller(ProfileController::class)->group(function(){
Route::get('/','index')->name('profile.index');
Route::post('update','updateProfile')->name('profile.update');
Route::put('ganti-password','changePassword')->name('profile.change-password');
});
});
Route::middleware(['admin'])->group(function(){ Route::middleware(['admin'])->group(function(){
Route::prefix('admin')->group(function(){ Route::prefix('admin')->group(function(){
@ -127,46 +136,52 @@ Route::middleware(['auth'])->group(function(){
Route::controller(AdminUserController::class)->group(function(){ Route::controller(AdminUserController::class)->group(function(){
Route::get('admin-user','index')->name('admin-user.index'); Route::get('admin-user','index')->name('admin-user.index');
Route::get('admin-user/{id}','show')->name('admin-user.show'); Route::get('admin-user/{id}','show')->name('admin-user.show');
Route::delete('admin-user/{id}','delete')->name('admin-user.destroy');
Route::put('admin-user/approve-user/{id}', 'approveUser')->name('admin-user.approve');
Route::put('admin-user/deny-user/{id}', 'denyUser')->name('admin-user.deny');
}); });
// Tampilan transaksi (Sudah) // Tampilan transaksi (Sudah)
Route::controller(AdminTransactionController::class)->group(function(){ Route::controller(AdminTransactionController::class)->group(function(){
Route::get('admin-transaction','index')->name('admin-transaction.index'); Route::get('admin-transaction','index')->name('admin-transaction.index');
Route::get('admin-transaction/detail/{id}','show')->name('admin-transaction.show'); Route::get('admin-transaction/detail/{id}','show')->name('admin-transaction.show');
}); });
// Tampilan, approve atau deny dan hapus refund // Tampilan, approve atau deny dan hapus refund
Route::controller(AdminRefundController::class)->group(function(){ Route::controller(AdminRefundController::class)->group(function(){
Route::get('admin-refund','index')->name('admin-refund.index'); Route::get('admin-refund','index')->name('admin-refund.index');
Route::get('admin-refund/{id}','show')->name('admin-refund.show'); Route::get('admin-refund/{id}','show')->name('admin-refund.show');
Route::put('admin-refund/approve-refund/{id}','approveRefund')->name('admin-refund.approve');
Route::put('admin-refund/deny-refund/{id}','denyRefund')->name('admin-refund.deny');
}); });
// Tampilan, tambah, ubah dan hapus kebijakan persentase perusahaan // Tampilan, tambah, ubah dan hapus kebijakan persentase perusahaan
Route::controller(AdminSettingController::class)->group(function(){ Route::controller(AdminSettingController::class)->group(function(){
Route::get('admin-setting','index')->name('admin-setting.index'); Route::get('admin-setting','index')->name('admin-setting.index');
Route::post('admin-setting/store','store')->name('admin-setting.store');
Route::put('admin-setting/active/','activeSetting')->name('admin-setting.active-setting');
}); });
}); });
}); });
Route::prefix('profile')->group(function(){
Route::controller(ProfileController::class)->group(function(){
Route::get('/','index')->name('profile.index');
});
});
Route::middleware(['user'])->group(function(){ Route::middleware(['user'])->group(function(){
Route::prefix('user')->group(function(){ Route::prefix('user')->group(function(){
// Tampilan dashboard user beserta perhitungan // Tampilan dashboard user beserta perhitungan
Route::controller(UserDashboardController::class)->group(function(){ Route::controller(UserDashboardController::class)->group(function(){
Route::get('/','index')->name('user.index'); Route::get('/','index')->name('user.index');
// //
}); });
// Tampilan, tambah dan hapus kontak // Tampilan, tambah dan hapus kontak
Route::controller(UserContactController::class)->group(function(){ Route::controller(UserContactController::class)->group(function(){
Route::get('user-contact','index')->name('user-contact.index'); Route::get('user-contact','index')->name('user-contact.index');
Route::post('user-contact','store')->name('user-contact.store');
Route::delete('user-contact/delete/{id}','destroy')->name('user-contact.destroy');
Route::get('user-contact/get-user-contact','getContact')->name('user-contact.get');
Route::get('user-contact/cek-contact/{email}','checkEmail')->name('user-contact.email');
}); });
// Tampilan transaksi, bayar, update status pengiriman dan refund // Tampilan transaksi, bayar, update status pengiriman dan refund
@ -176,10 +191,18 @@ Route::middleware(['auth'])->group(function(){
Route::get('user-pembeli/detail-transaksi/{id}','show')->name('user-pembeli.show'); Route::get('user-pembeli/detail-transaksi/{id}','show')->name('user-pembeli.show');
Route::get('user-pembeli/tambah-transaksi','create')->name('user-pembeli.create'); Route::get('user-pembeli/tambah-transaksi','create')->name('user-pembeli.create');
Route::get('user-pembeli/invoice/{id}','invoice')->name('user-pembeli.invoice'); Route::get('user-pembeli/invoice/{id}','invoice')->name('user-pembeli.invoice');
Route::post('user-pembeli','store')->name('user-pembeli.store');
Route::put('user-pembeli/bayar-transaksi/{id}','payTransaction')->name('user-pembeli.pay');
Route::put('user-pembeli/batal-transaksi/{id}','cancelTransaction')->name('user-pembeli.cancel');
Route::put('user-pembeli/transaksi-selesai/{id}','finishTransaction')->name('user-pembeli.finish');
Route::put('user-pembeli/transaksi-komplain/{id}','complainTransaction')->name('user-pembeli.complain');
//Penjual //Penjual
Route::get('user-penjual','indexPenjual')->name('user-penjual.index'); Route::get('user-penjual','indexPenjual')->name('user-penjual.index');
Route::get('user-penjual/detail-transaksi/{id}','show')->name('user-penjual.show'); Route::get('user-penjual/detail-transaksi/{id}','show')->name('user-penjual.show');
Route::put('user-penjual/terima-transaksi/{id}','acceptTransaction')->name('user-penjual.accept');
Route::put('user-penjual/kirim-pesanan/{id}','sendingOrder')->name('user-penjual.sending');
Route::put('user-penjual/selesai-kirim-pesanan/{id}','sentOrder')->name('user-penjual.sent');
}); });
// Tampilan refund // Tampilan refund
@ -187,6 +210,7 @@ Route::middleware(['auth'])->group(function(){
Route::get('user-refund','index')->name('user-refund.index'); Route::get('user-refund','index')->name('user-refund.index');
Route::get('user-refund/ajukan-komplain/{id}','create')->name('user-refund.create'); Route::get('user-refund/ajukan-komplain/{id}','create')->name('user-refund.create');
Route::get('user-refund/detail-refund/{id}','show')->name('user-refund.show'); Route::get('user-refund/detail-refund/{id}','show')->name('user-refund.show');
Route::post('user-refund','store')->name('user-refund.store');
}); });
}); });
}); });