Penambahan Controller User dan Admin

This commit is contained in:
Muhammad Raihan Surya 2023-09-04 15:46:15 +07:00
parent 9119c40d1d
commit cf16994497
47 changed files with 3133 additions and 264 deletions

View File

@ -0,0 +1,127 @@
<?php
namespace App\Http\Controllers\API;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use App\Models\User;
class LoginApiController extends Controller
{
/**
* Create a new AuthController instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth:api', ['except' => ['login', 'register', 'hai']]);
}
/**
* Get a JWT via given credentials.
*
* @return \Illuminate\Http\JsonResponse
*/
public function login()
{
// $request->validate([
// 'email' => 'required|string|email',
// 'password' => 'required',
// ]);
$credentials = request(['email', 'password']);
if (!($token = auth()->attempt($credentials))) {
return response()->json(['error' => 'Unauthorized'], 401);
}
return $this->respondWithToken($token);
}
/**
* Get the authenticated User.
*
* @return \Illuminate\Http\JsonResponse
*/
public function me()
{
return response()->json(Auth::user());
}
public function hai()
{
return response()->json([
'message' => 'Hello from API',
]);
}
/**
* Log the user out (Invalidate the token).
*
* @return \Illuminate\Http\JsonResponse
*/
public function logout()
{
auth()->logout();
return response()->json(['message' => 'Successfully logged out']);
}
/**
* Refresh a token.
*
* @return \Illuminate\Http\JsonResponse
*/
public function refresh()
{
return $this->respondWithToken(Auth::refresh());
}
/**
* Get the token array structure.
*
* @param string $token
*
* @return \Illuminate\Http\JsonResponse
*/
protected function respondWithToken($token)
{
return response()->json([
'user' => auth()->user(),
'access_token' => $token,
'token_type' => 'bearer',
'expires_in' => Auth::factory()->getTTL() * 60,
// 'status' => auth()->check(),
]);
}
public function register(Request $request)
{
$request->validate([
'name' => 'required|string|max:255',
'email' => 'required|string|email|unique:users',
'password' => 'required|string|min:8',
]);
$user = User::create([
'name' => $request->name,
'email' => $request->email,
'password' => Hash::make($request->password),
]);
return response()->json([
'message' => 'User created successfully',
'user' => $user,
]);
}
// public function check()
// {
// return response()->json([
// 'status' => auth()->check(),
// ]);
// }
}

View File

@ -0,0 +1,209 @@
<?php
namespace App\Http\Controllers\Login;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use App\Models\User;
use Illuminate\Support\Str;
use Illuminate\Support\Facades\Storage;
use thiagoalessio\TesseractOCR\TesseractOCR;
use Intervention\Image\ImageManagerStatic as Image;
use Illuminate\Support\Facades\Session;
class LoginController extends Controller
{
/**
* Create a new AuthController instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth:api', ['except' => ['login', 'authenticate', 'register', 'hai']]);
}
public function login()
{
return view('index');
}
/**
* Get a JWT via given credentials.
*
* @return \Illuminate\Http\JsonResponse
*/
public function authenticate(Request $request)
{
$credentials = $request->validate([
'email' => ['required', 'email'],
'password' => ['required', 'min:8'],
]);
if (Auth::attempt($credentials)) {
if (Auth::user()->status == 'Finished') {
$request->session()->regenerate();
if (ucwords(Auth::user()->role) == 'Admin') {
return redirect()->intended('/dashboard');
} else {
return redirect()->intended('/');
}
} else {
Session::flash('message', 'Akun Tidak Ditemukan');
return redirect()->back();
}
}
return redirect()->back()
->withErrors([
'email' => 'Email dengan'.$credentials['email'].' tidak tersedia.',
])
->onlyInput('email');
}
public function hai()
{
echo 'sukses';
}
/**
* Log the user out (Invalidate the token).
*
* @return \Illuminate\Http\JsonResponse
*/
public function logout(Request $request)
{
Auth::logout();
$request->session()->invalidate();
$request->session()->regenerateToken();
return redirect()->route('login');
}
public function registerStore(Request $request)
{
$validatedData = $request->validate([
'nama' => 'required|max:255',
'email' => 'required|string|email|unique:users',
'password' => 'required|string|min:8',
'nohp' => 'required',
'nik' => 'required',
'alamat' => 'required',
'foto_ktp' => 'required|image|mimes:jpeg,svg,png,jpg',
'foto_wajah' => 'required|image|mimes:jpeg,svg,png,jpg',
'foto_profil' => 'image|mimes:jpeg,svg,png,jpg',
'gender' => 'required',
]);
// $validatedData['email_verified_at'] = now();
$fotoKTP = '';
$fotoWajah = '';
$fotoProfil ='';
if ($request->hasFile('foto_ktp') && $request->hasFile('foto_wajah')) {
// $namaGambarOri = $request->file('foto-gambar')->getClientOriginalName();
// $namaGambar = round(microtime(true) * 1000) . '-' . str_replace(' ', '-', $namaGambarOri);
$tipeFotoKtp = $request->file('foto_ktp')->getClientMimeType();
$tipeFotoWajah = $request->file('foto_wajah')->getClientMimeType();
$fotoKTP = 'Foto-KTP-' . $request->nama . '.' . $tipeFotoKtp;
$fotoWajah = 'Foto-Wajah' . $request->nama . '.' . $tipeFotoWajah;
// Simpan foto
$request->file('foto-ktp')->storeAs('public/foto-ktp', $fotoKTP);
$request->file('foto-wajah')->storeAs('public/foto-wajah', $fotoWajah);
}
if($request->hasFile('foto_profil')){
$tipeFotoProfil = $request->file('foto_profil')->getClientMimeType();
$fotoProfil = 'Foto-Profil-' . $request->nama . '.' . $tipeFotoProfil;
// Simpan foto
$request->file('foto-profil')->storeAs('public/foto-profil', $fotoProfil);
}
//OCR
try {
$imagePath = storage_path('foto-ktp/' . $validatedData['foto-ktp']);
$image = Image::make($imagePath);
$image->greyscale(); // Convert to grayscale
$image->contrast(10); // Increase contrast, adjust the value as needed
$preprocessedImagePath = storage_path('preprocessed_image.jpg');
$image->save($preprocessedImagePath);
$result = (new TesseractOCR($preprocessedImagePath))->run();
// (5) Normalize
$lines = explode("\n", $result);
$nikOCR = '';
$nikInputan = $request->nik;
$namaInputan = $request->nama;
foreach ($lines as $line) {
// normalize NIK
if (strpos($line, 'NIK') !== false) {
$nikOCR = preg_replace('/[^0-9]/', '', $line);
}
// Mencari nama
if (strpos($line, $namaInputan) !== false) {
$namaOCR = trim(substr($line, strpos($line, ':') + 1));
}
}
//Selesai
$percent = 0.0;
if (similar_text($nikInputan, $nikOCR, $percent) >= 70 && similar_text($namaOCR, $namaOCR, $percent) >= 70) {
$validatedData['status'] = 'Progress';
} else {
$validatedData['status'] = 'Pending';
}
} catch (\Exception $e) {
$validatedData['status'] = 'Pending';
}
//OCR
//Deteksi wajah belum
$validatedData['remember_token'] = Str::random(10);
$validatedData['password'] = Hash::make($request->password);
User::create([
'id' => Str::uuid(),
'nama' => $validatedData['nama'],
'email' => $validatedData['email'],
'email_verified_at' => null,
'password' => $validatedData['password'],
'role' => 'User',
'nohp' => $validatedData['nohp'],
'nik' => $validatedData['nik'],
'alamat' => $validatedData['alamat'],
'foto_ktp' => $fotoKTP,
'foto_wajah' => $fotoWajah,
'status' => $validatedData['status'],
'gender' => $validatedData['gender'],
'remember_token' => Str::random(10),
]);
return redirect('/login')->with('daftar', 'Daftar berhasil, silahkan login');
}
public function register()
{
return view('index');
}
public function approveUser(Request $request)
{
}
public function deniedUser(Request $request)
{
}
}

View File

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

View File

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

View File

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

View File

@ -8,4 +8,24 @@ use Illuminate\Database\Eloquent\Model;
class Contact extends Model class Contact extends Model
{ {
use HasFactory; use HasFactory;
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
*/
protected $fillable = [
'pemilik_kontak',
'relasi_kontak',
];
//Relasi
public function pemilik_kontak(){
return $this->belongsTo(User::class, 'email', 'pemilik_kontak');
}
public function relasi_kontak(){
return $this->belongsTo(User::class, 'email', 'relasi_kontak');
}
//Relasi
} }

View File

@ -8,4 +8,22 @@ use Illuminate\Database\Eloquent\Model;
class Refund extends Model class Refund extends Model
{ {
use HasFactory; use HasFactory;
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
*/
protected $fillable = [
'order_id',
'total',
'due_date',
'status',
];
//Relasi
public function orders(){
return $this->belongsTo(Transaction::class, 'order_id', 'order_id');
}
//Relasi
} }

View File

@ -0,0 +1,28 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class RefundDescription extends Model
{
use HasFactory;
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
*/
protected $fillable = [
'refund_id',
'filename',
'type',
];
//Relasi
public function refunds(){
return $this->belongsTo(Refund::class, 'refund_id', 'id');
}
//Relasi
}

View File

@ -8,4 +8,16 @@ use Illuminate\Database\Eloquent\Model;
class Setting extends Model class Setting extends Model
{ {
use HasFactory; use HasFactory;
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
*/
protected $fillable = [
'bulan',
'tahun',
'diskon',
'status',
];
} }

View File

@ -0,0 +1,33 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class TransactionDescription extends Model
{
use HasFactory;
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
*/
protected $fillable = [
'order_id',
'user',
'judul',
'deskripsi'
];
//Relasi
public function order(){
return $this->belongsTo(Transaction::class, 'order_id', 'order_id');
}
public function user(){
return $this->belongsTo(User::class, 'email', 'user');
}
//Relasi
}

View File

@ -26,6 +26,7 @@ class User extends Authenticatable
'role_id', 'role_id',
'alamat', 'alamat',
'foto_ktp', 'foto_ktp',
'foto_wajah',
'nohp', 'nohp',
'nik', 'nik',
'gender', 'gender',
@ -77,6 +78,7 @@ class User extends Authenticatable
//JWT //JWT
//Relasi //Relasi
public function pemilik_kontak(){ public function pemilik_kontak(){
return $this->hasMany(Contact::class, 'email', 'pemilik_kontak'); return $this->hasMany(Contact::class, 'email', 'pemilik_kontak');
@ -85,5 +87,14 @@ class User extends Authenticatable
public function relasi_kontak(){ public function relasi_kontak(){
return $this->hasMany(Contact::class, 'email', 'relasi_kontak'); return $this->hasMany(Contact::class, 'email', 'relasi_kontak');
} }
public function pembeli(){
return $this->hasMany(Transaction::class, 'email', 'pembeli');
}
public function penjual(){
return $this->hasMany(Transaction::class, 'email', 'penjual');
}
//Relasi //Relasi
} }

View File

@ -8,4 +8,51 @@ use Illuminate\Database\Eloquent\Model;
class Transaction extends Model class Transaction extends Model
{ {
use HasFactory; use HasFactory;
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
*/
protected $fillable = [
'pembeli',
'penjual',
'judul_transaksi',
'deskripsi transaksi',
'persentase_keuntungan',
'total_keuntungan',
'harga',
'biaya_admin',
'total_harga',
'signature_key',
'metode_pembayaran',
'status',
'batas_pembayaran',
'batas_pengiriman_barang',
];
/**
* The attributes that should be cast.
*
* @var array<string, string>
*/
protected $casts = [
'batas_pembayaran' => 'datetime',
'batas_pengiriman_barang' => 'datetime',
'order_id' => 'string',
];
//Relasi
public function pembeli(){
return $this->belongsTo(User::class, 'email', 'pembeli');
}
public function penjual(){
return $this->belongsTo(User::class, 'email', 'penjual');
}
public function refunds(){
return $this->hasMany(Refund::class, 'order_id', 'order_id');
}
//Relasi
} }

View File

@ -24,8 +24,8 @@ class UserFactory extends Factory
'email_verified_at' => now(), 'email_verified_at' => now(),
'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password 'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password
'remember_token' => Str::random(10), 'remember_token' => Str::random(10),
'role' => $this->faker->randomElement(['Admin','User']), 'role' => 'User',
'nik' => $this->faker->nik, 'nik' => $this->faker->nik($this->faker->randomElement(['male', 'female']),$this->faker->dateTimeBetween('-65 years', '-18 years')),
'alamat'=> $this->faker->address, 'alamat'=> $this->faker->address,
'nohp'=> $this->faker->phoneNumber(), 'nohp'=> $this->faker->phoneNumber(),
'status'=> $this->faker->randomElement(['Progress', 'Finished']), 'status'=> $this->faker->randomElement(['Progress', 'Finished']),

View File

@ -17,13 +17,15 @@ return new class extends Migration
$table->string('email',50)->unique(); $table->string('email',50)->unique();
$table->timestamp('email_verified_at')->nullable(); $table->timestamp('email_verified_at')->nullable();
$table->string('password'); $table->string('password');
$table->string('role'); $table->string('role',10);
$table->string('nohp',20); $table->string('nohp',20);
$table->string('nik',20); $table->string('nik',20);
$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_profil')->nullable();
$table->string('status',10); $table->string('status',10);
$table->string('gender'); $table->string('gender',15);
$table->rememberToken(); $table->rememberToken();
$table->timestamps(); $table->timestamps();
}); });

View File

@ -0,0 +1,43 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('transactions', function (Blueprint $table) {
$table->uuid('order_id')->primary(); //order_id
$table->string('pembeli'); // untuk customer_details
$table->string('penjual'); //merchant_name
$table->string('judul_transaksi'); // item_details -> item_name
$table->string('deskripsi_transaksi');
$table->double('persentase_keuntungan'); // persentase keuntungan
$table->double('total_keuntungan'); // perolehan keuntungan
$table->double('harga'); // harga sebelum penambahan
$table->double('biaya_admin'); // biaya tambahan
$table->double('total_harga'); // gross amount
$table->string('signature_key');
$table->string('metode_pembayaran');
$table->string('status'); // transaction_status
$table->timestamp('batas_pembayaran');
$table->timestamp('batas_pengiriman_barang');
$table->timestamps();
$table->foreign('pembeli')->on('users')->references('email');
$table->foreign('penjual')->on('users')->references('email');
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('transactions');
}
};

View File

@ -13,12 +13,12 @@ return new class extends Migration
{ {
Schema::create('refunds', function (Blueprint $table) { Schema::create('refunds', function (Blueprint $table) {
$table->id(); $table->id();
$table->integer('orderId'); $table->foreignUuid('order_id');
$table->string('customerName'); $table->double('total',10);
$table->string('sellerName'); $table->timestamp('due_date');
$table->string('total'); $table->string('status',20);
$table->timestamp('dueDate');
$table->string('status'); $table->foreign('order_id')->on('transactions')->references('order_id');
}); });
} }

View File

@ -13,6 +13,10 @@ return new class extends Migration
{ {
Schema::create('settings', function (Blueprint $table) { Schema::create('settings', function (Blueprint $table) {
$table->id(); $table->id();
$table->string('bulan',20);
$table->string('tahun',5);
$table->double('diskon',5);
$table->string('status',15);
$table->timestamps(); $table->timestamps();
}); });
} }

View File

@ -0,0 +1,34 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('transaction_descriptions', function (Blueprint $table) {
$table->id();
$table->foreignUuid('order_id');
$table->string('user');
$table->string('judul');
$table->string('deskripsi');
$table->timestamps();
$table->foreign('order_id')->on('transactions')->references('order_id');
$table->foreign('user')->on('users')->references('email');
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('transaction_descriptions');
}
};

View File

@ -11,9 +11,14 @@ return new class extends Migration
*/ */
public function up(): void public function up(): void
{ {
Schema::create('transactions', function (Blueprint $table) { Schema::create('refund_descriptions', function (Blueprint $table) {
$table->id(); $table->id();
$table->foreignId('refund_id');
$table->string('filename');
$table->string('type');
$table->timestamps(); $table->timestamps();
$table->foreign('refund_id')->on('refunds')->references('id');
}); });
} }
@ -22,6 +27,6 @@ return new class extends Migration
*/ */
public function down(): void public function down(): void
{ {
Schema::dropIfExists('transactions'); Schema::dropIfExists('refund_descriptions');
} }
}; };

View File

@ -5,6 +5,9 @@ namespace Database\Seeders;
// use Illuminate\Database\Console\Seeds\WithoutModelEvents; // use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder; use Illuminate\Database\Seeder;
use App\Models\User; use App\Models\User;
use Illuminate\Support\Str;
use Faker\Factory as FakerFactory;
use Faker\Provider\id_ID\Person as Person;
class DatabaseSeeder extends Seeder class DatabaseSeeder extends Seeder
{ {
@ -13,11 +16,24 @@ class DatabaseSeeder extends Seeder
*/ */
public function run(): void public function run(): void
{ {
$faker = FakerFactory::create();
$faker->addProvider(new Person($faker));
User::factory()->create([
'id' => Str::uuid(),
'nama' => $faker->name,
'email' => fake()->unique()->safeEmail(),
'email_verified_at' => now(),
'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password
'remember_token' => Str::random(10),
'role' => 'Admin',
'nik' => $faker->nik($faker->randomElement(['male','female']), $faker->dateTimeBetween('-65 years', '-18 years')),
'alamat'=> $faker->address,
'nohp'=> $faker->phoneNumber(),
'status'=> $faker->randomElement(['Progress', 'Finished']),
'gender' => $faker->randomElement(['Laki-laki', 'Perempuan']),
]);
User::factory(100)->create(); User::factory(100)->create();
// \App\Models\User::factory()->create([
// 'name' => 'Test User',
// 'email' => 'test@example.com',
// ]);
} }
} }

View File

@ -0,0 +1,54 @@
/*--------------------------------------------------------------
# Profie Page
--------------------------------------------------------------*/
.profile .profile-card img {
max-width: 120px;
}
.profile .profile-card h2 {
font-size: 24px;
font-weight: 700;
color: #2c384e;
margin: 10px 0 0 0;
}
.profile .profile-card h3 {
font-size: 18px;
}
.profile .profile-card .social-links a {
font-size: 20px;
display: inline-block;
color: rgba(1, 41, 112, 0.5);
line-height: 0;
margin-right: 10px;
transition: 0.3s;
}
.profile .profile-card .social-links a:hover {
color: #012970;
}
.profile .profile-overview .row {
margin-bottom: 20px;
font-size: 15px;
}
.profile .profile-overview .card-title {
color: #012970;
}
.profile .profile-overview .label {
font-weight: 600;
color: rgba(1, 41, 112, 0.6);
}
.profile .profile-edit label {
font-weight: 600;
color: rgba(1, 41, 112, 0.6);
}
.profile .profile-edit img {
max-width: 120px;
}

321
public/assets/js/main.js Normal file
View File

@ -0,0 +1,321 @@
/**
* Template Name: NiceAdmin
* Updated: Aug 30 2023 with Bootstrap v5.3.1
* Template URL: https://bootstrapmade.com/nice-admin-bootstrap-admin-html-template/
* Author: BootstrapMade.com
* License: https://bootstrapmade.com/license/
*/
(function() {
"use strict";
/**
* Easy selector helper function
*/
const select = (el, all = false) => {
el = el.trim()
if (all) {
return [...document.querySelectorAll(el)]
} else {
return document.querySelector(el)
}
}
/**
* Easy event listener function
*/
const on = (type, el, listener, all = false) => {
if (all) {
select(el, all).forEach(e => e.addEventListener(type, listener))
} else {
select(el, all).addEventListener(type, listener)
}
}
/**
* Easy on scroll event listener
*/
const onscroll = (el, listener) => {
el.addEventListener('scroll', listener)
}
/**
* Sidebar toggle
*/
if (select('.toggle-sidebar-btn')) {
on('click', '.toggle-sidebar-btn', function(e) {
select('body').classList.toggle('toggle-sidebar')
})
}
/**
* Search bar toggle
*/
if (select('.search-bar-toggle')) {
on('click', '.search-bar-toggle', function(e) {
select('.search-bar').classList.toggle('search-bar-show')
})
}
/**
* Navbar links active state on scroll
*/
let navbarlinks = select('#navbar .scrollto', true)
const navbarlinksActive = () => {
let position = window.scrollY + 200
navbarlinks.forEach(navbarlink => {
if (!navbarlink.hash) return
let section = select(navbarlink.hash)
if (!section) return
if (position >= section.offsetTop && position <= (section.offsetTop + section.offsetHeight)) {
navbarlink.classList.add('active')
} else {
navbarlink.classList.remove('active')
}
})
}
window.addEventListener('load', navbarlinksActive)
onscroll(document, navbarlinksActive)
/**
* Toggle .header-scrolled class to #header when page is scrolled
*/
let selectHeader = select('#header')
if (selectHeader) {
const headerScrolled = () => {
if (window.scrollY > 100) {
selectHeader.classList.add('header-scrolled')
} else {
selectHeader.classList.remove('header-scrolled')
}
}
window.addEventListener('load', headerScrolled)
onscroll(document, headerScrolled)
}
/**
* Back to top button
*/
let backtotop = select('.back-to-top')
if (backtotop) {
const toggleBacktotop = () => {
if (window.scrollY > 100) {
backtotop.classList.add('active')
} else {
backtotop.classList.remove('active')
}
}
window.addEventListener('load', toggleBacktotop)
onscroll(document, toggleBacktotop)
}
/**
* Initiate tooltips
*/
var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
var tooltipList = tooltipTriggerList.map(function(tooltipTriggerEl) {
return new bootstrap.Tooltip(tooltipTriggerEl)
})
/**
* Initiate quill editors
*/
if (select('.quill-editor-default')) {
new Quill('.quill-editor-default', {
theme: 'snow'
});
}
if (select('.quill-editor-bubble')) {
new Quill('.quill-editor-bubble', {
theme: 'bubble'
});
}
if (select('.quill-editor-full')) {
new Quill(".quill-editor-full", {
modules: {
toolbar: [
[{
font: []
}, {
size: []
}],
["bold", "italic", "underline", "strike"],
[{
color: []
},
{
background: []
}
],
[{
script: "super"
},
{
script: "sub"
}
],
[{
list: "ordered"
},
{
list: "bullet"
},
{
indent: "-1"
},
{
indent: "+1"
}
],
["direction", {
align: []
}],
["link", "image", "video"],
["clean"]
]
},
theme: "snow"
});
}
/**
* Initiate TinyMCE Editor
*/
const useDarkMode = window.matchMedia('(prefers-color-scheme: dark)').matches;
const isSmallScreen = window.matchMedia('(max-width: 1023.5px)').matches;
tinymce.init({
selector: 'textarea.tinymce-editor',
plugins: 'preview importcss searchreplace autolink autosave save directionality code visualblocks visualchars fullscreen image link media template codesample table charmap pagebreak nonbreaking anchor insertdatetime advlist lists wordcount help charmap quickbars emoticons',
editimage_cors_hosts: ['picsum.photos'],
menubar: 'file edit view insert format tools table help',
toolbar: 'undo redo | bold italic underline strikethrough | fontfamily fontsize blocks | alignleft aligncenter alignright alignjustify | outdent indent | numlist bullist | forecolor backcolor removeformat | pagebreak | charmap emoticons | fullscreen preview save print | insertfile image media template link anchor codesample | ltr rtl',
toolbar_sticky: true,
toolbar_sticky_offset: isSmallScreen ? 102 : 108,
autosave_ask_before_unload: true,
autosave_interval: '30s',
autosave_prefix: '{path}{query}-{id}-',
autosave_restore_when_empty: false,
autosave_retention: '2m',
image_advtab: true,
link_list: [{
title: 'My page 1',
value: 'https://www.tiny.cloud'
},
{
title: 'My page 2',
value: 'http://www.moxiecode.com'
}
],
image_list: [{
title: 'My page 1',
value: 'https://www.tiny.cloud'
},
{
title: 'My page 2',
value: 'http://www.moxiecode.com'
}
],
image_class_list: [{
title: 'None',
value: ''
},
{
title: 'Some class',
value: 'class-name'
}
],
importcss_append: true,
file_picker_callback: (callback, value, meta) => {
/* Provide file and text for the link dialog */
if (meta.filetype === 'file') {
callback('https://www.google.com/logos/google.jpg', {
text: 'My text'
});
}
/* Provide image and alt text for the image dialog */
if (meta.filetype === 'image') {
callback('https://www.google.com/logos/google.jpg', {
alt: 'My alt text'
});
}
/* Provide alternative source and posted for the media dialog */
if (meta.filetype === 'media') {
callback('movie.mp4', {
source2: 'alt.ogg',
poster: 'https://www.google.com/logos/google.jpg'
});
}
},
templates: [{
title: 'New Table',
description: 'creates a new table',
content: '<div class="mceTmpl"><table width="98%%" border="0" cellspacing="0" cellpadding="0"><tr><th scope="col"> </th><th scope="col"> </th></tr><tr><td> </td><td> </td></tr></table></div>'
},
{
title: 'Starting my story',
description: 'A cure for writers block',
content: 'Once upon a time...'
},
{
title: 'New list with dates',
description: 'New List with dates',
content: '<div class="mceTmpl"><span class="cdate">cdate</span><br><span class="mdate">mdate</span><h2>My List</h2><ul><li></li><li></li></ul></div>'
}
],
template_cdate_format: '[Date Created (CDATE): %m/%d/%Y : %H:%M:%S]',
template_mdate_format: '[Date Modified (MDATE): %m/%d/%Y : %H:%M:%S]',
height: 600,
image_caption: true,
quickbars_selection_toolbar: 'bold italic | quicklink h2 h3 blockquote quickimage quicktable',
noneditable_class: 'mceNonEditable',
toolbar_mode: 'sliding',
contextmenu: 'link image table',
skin: useDarkMode ? 'oxide-dark' : 'oxide',
content_css: useDarkMode ? 'dark' : 'default',
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:16px }'
});
/**
* Initiate Bootstrap validation check
*/
var needsValidation = document.querySelectorAll('.needs-validation')
Array.prototype.slice.call(needsValidation)
.forEach(function(form) {
form.addEventListener('submit', function(event) {
if (!form.checkValidity()) {
event.preventDefault()
event.stopPropagation()
}
form.classList.add('was-validated')
}, false)
})
/**
* Initiate Datatables
*/
const datatables = select('.datatable', true)
datatables.forEach(datatable => {
new simpleDatatables.DataTable(datatable);
})
/**
* Autoresize echart charts
*/
const mainContainer = select('#main');
if (mainContainer) {
setTimeout(() => {
new ResizeObserver(function() {
select('.echart', true).forEach(getEchart => {
echarts.getInstanceByDom(getEchart).resize();
})
}).observe(mainContainer);
}, 200);
}
})();

View File

@ -136,7 +136,7 @@
<script src="{{ asset('assets/modules/nicescroll/jquery.nicescroll.min.js') }}"></script> <script src="{{ asset('assets/modules/nicescroll/jquery.nicescroll.min.js') }}"></script>
<script src="{{ asset('assets/modules/moment.min.js') }}"></script> <script src="{{ asset('assets/modules/moment.min.js') }}"></script>
<script src="{{ asset('assets/js/stisla.js') }}"></script> <script src="{{ asset('assets/js/stisla.js') }}"></script>
<script src="//cdn.jsdelivr.net/npm/sweetalert2@10"></script> <script src="//cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<!-- JS Libraies --> <!-- JS Libraies -->
<script src="{{ asset('assets/modules/jquery.sparkline.min.js') }}"></script> <script src="{{ asset('assets/modules/jquery.sparkline.min.js') }}"></script>

View File

@ -0,0 +1,45 @@
<div class="modal fade" id="modalForm" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<!-- Modal Header -->
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">
<span aria-hidden="true">&times;</span>
<span class="sr-only">Close</span>
</button>
</div>
<div class="col-md-12">
<h4 class="modal-title" id="myModalLabel">Contact Form</h4>
</div>
<!-- Modal Body -->
<div class="modal-body">
<p class="statusMsg"></p>
<form role="form"
>
<div class="form-group">
<label for="inputemail">Email</label>
<input type="text" class="form-control" id="inputemail"
placeholder="Enter your email" />
</div>
<div class="form-group">
<button type="button" class="btn btn-primary" id="checkButton">Check</button>
</div>
<div class="form-group">
<label for="exampleFormControlTextarea1" class="form-label">Hasil</label>
<textarea class="form-control" id="hasil" rows="5" readonly></textarea>
</div>
</form>
</div>
<!-- Modal Footer -->
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<a href="/contact" type="button" class="btn btn-primary submitBtn"
onclick="submitContactForm()">Tambahkan
Data</a>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,63 @@
@extends('user.layout.main')
@section('content')
<div class="main-content">
<section class="section">
<div class="section-header">
<h1>Manajemen Contact</h1>
<div class="section-header-breadcrumb">
<div class="breadcrumb-item active"><a href="#">Dashboard</a></div>
<div class="breadcrumb-item"><a href="#"> Transaction</a></div>
<div class="breadcrumb-item">Manajemen Kontak</div>
<div class="breadcrumb-item">Halaman Refund</div>
</div>
</div>
{{-- tabel list kontak --}}
<div class="row">
<div class="col-md-12">
<div class="card">
<div class="card-header">
<div class="d-flex justify-content-end">
<button class="btn btn-primary btn-lg" data-toggle="modal" data-target="#modalForm">Open Contact Form</button>
</div>
</div>
<div class="card-body">
<div class="table-responsive">
<table class="table table-striped" id="table-1">
<thead>
<tr class="text-center">
<th>#</th>
<th>Email</th>
<th>Name</th>
<th>Phone</th>
<th>Action</th>
</tr>
</thead>
<tbody>
@foreach ($contacts as $key => $contact)
<tr>
<td>{{ ++$key }}</td>
<td class="font-weight-600">{{ $contact['email'] }}</td>
<td class="text-center font-weight-600">{{ $contact['name'] }}</td>
<td class="text-center font-weight-600">{{ $contact['phone'] }}</td>
<td class="text-center">
<button class="btn btn-info open-detail-modal" data-toggle="modal" data-target="#modaldetail">Detail</button>
{{-- <a href="/detail-contact" type="button" class="btn btn-primary">Detail</a> --}}
<button class="btn btn-danger open-detail-modal" data-toggle="modal" data-target="#modaldelete">Delete</button>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
@extends('user.contact.detail-contact')
@extends('user.contact.delete-contact')
@extends('user.contact.add-contact')
@endsection

View File

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

View File

@ -0,0 +1,62 @@
{{-- @extends('user.layout.main')
@section('content')
<div class="main-content">
<section class="section"> --}}
{{-- <div class="col-md-12">
<div class="card">
<div class="card-header">
<h2>Detail Contact</h2>
</div>
<div class="card-body p-0">
<div class="container">
@foreach ($detail_contact as $detail)
<p><strong>Name:</strong> {{ $detail_contact->inputNama }}</p>
<p><strong>No HP:</strong> {{ $detail_contact->inputNoHP }}</p>
<p><strong>Email:</strong> {{ $detail_contact->inputEmail }}</p>
<p><strong>Alamat:</strong> {{ $detail_contact->inputAlamat }}</p>
@endforeach
</div>
</div>
</div>
</div> --}}
{{-- </section>
</div>
@endsection --}}
<div class="modal fade" id="modaldetail" tabindex="-1" role="dialog" aria-labelledby="modalcontact" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title mx-auto" style="margin-right: auto; margin-left: auto; font-size: 1.2em;" id="modalcontact">Detail
Contact
</h4>
</div>
<div class="modal-body">
<div class="card-body">
<div class="alert alert-primary" role="alert">
<div class="form-group">
<label for="inputNama" style="color: white; font-size: 1.1em;">Nama</label>
<p class="form-control-static" id="inputNama">Nurul Prima</p>
</div>
<hr style="border-top: 1px solid #fff;">
<div class="form-group">
<label for="inputNoHP" style="color: white; font-size: 1.1em;">No HP</label>
<p class="form-control-static" id="inputNoHP">+6282284964524</p>
</div>
<hr style="border-top: 1px solid #fff;">
<div class="form-group">
<label for="inputEmail" style="color: white; font-size: 1.1em;">Email</label>
<p class="form-control-static" id="inputEmail">npannisa@gmail.com</p>
</div>
<hr style="border-top: 1px solid #fff;">
<div class="form-group">
<label for="inputAlamat" style="color: white; font-size: 1.1em;">Alamat</label>
<p class="form-control-static" id="inputAlamat">Depok City</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>

View File

@ -1,4 +1,4 @@
@extends('User.layout.main') @extends('user.layout.main')
@section('content') @section('content')
<!-- Main Content --> <!-- Main Content -->
<div class="main-content"> <div class="main-content">
@ -69,7 +69,7 @@
<h4>Total Refund</h4> <h4>Total Refund</h4>
</div> </div>
<div class="card-body"> <div class="card-body">
100 190
</div> </div>
</div> </div>
</div> </div>
@ -84,147 +84,72 @@
</div> </div>
<div class="card-wrap"> <div class="card-wrap">
<div class="card-header"> <div class="card-header">
<h4>Total user</h4> <h4>Total Transaction </h4>
</div> </div>
<div class="card-body"> <div class="card-body">
100 </div> 109 </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-md-12"> <div class="col-md-12">
<div class="x_panel"> <div class="card">
<div class="x_title"> <div class="card-header">
<h2>Transaction Summary <small>Weekly progress</small></h2> <h4>INCOME</h4>
<div class="filter">
<div id="reportrange" class="pull-right"
style="background: #fff; cursor: pointer; padding: 5px 10px; border: 1px solid #ccc">
<i class="glyphicon glyphicon-calendar fa fa-calendar"></i>
<span>December 30, 2014 - January 28, 2015</span> <b class="caret"></b>
</div> </div>
<div class="card-body">
<canvas id="myChart" height="158"></canvas>
</div> </div>
<div class="clearfix"></div>
</div>
<div class="x_content">
<div class="col-md-9 col-sm-12 ">
<div class="demo-container" style="height:280px">
<div id="chart_plot_02" class="demo-placeholder"></div>
</div>
<div class="tiles">
<div class="col-md-4 tile">
<span>Total Sessions</span>
<h2>231,809</h2>
<span class="sparkline11 graph" style="height: 160px;">
<canvas width="200" height="60"
style="display: inline-block; vertical-align: top; width: 94px; height: 30px;"></canvas>
</span>
</div>
<div class="col-md-4 tile">
<span>Total Revenue</span>
<h2>$231,809</h2>
<span class="sparkline22 graph" style="height: 160px;">
<canvas width="200" height="60"
style="display: inline-block; vertical-align: top; width: 94px; height: 30px;"></canvas>
</span>
</div>
<div class="col-md-4 tile">
<span>Total Sessions</span>
<h2>231,809</h2>
<span class="sparkline11 graph" style="height: 160px;">
<canvas width="200" height="60"
style="display: inline-block; vertical-align: top; width: 94px; height: 30px;"></canvas>
</span>
</div> </div>
</div> </div>
</div>
<div class="col-md-3 col-sm-12 "> <div class="col-md-12">
<div> <div class="card">
<div class="x_title"> <div class="card-header">
<h2>Top Profiles</h2> <h2>Transaction</h2>
<ul class="nav navbar-right panel_toolbox">
<li><a class="collapse-link"><i class="fa fa-chevron-up"></i></a>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"
role="button" aria-expanded="false"><i class="fa fa-wrench"></i></a>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<a class="dropdown-item" href="#">Settings 1</a>
<a class="dropdown-item" href="#">Settings 2</a>
</div> </div>
</li> <div class="card-body p-0">
<li><a class="close-link"><i class="fa fa-close"></i></a> <div class="table-responsive table-invoice">
</li> <table class="table table-striped">
</ul> <tr>
<div class="clearfix"></div> <th>Order ID</th>
<th>Customer</th>
<th>Seller</th>
<th>Total</th>
<th>Due Date</th>
<th>Status</th>
<th>Image</th>
</tr>
@foreach ($refundUserss as $HistoryRefundUser)
<tr>
<td class="font-weight-600">
{{ $HistoryRefundUser['orderId'] }}</td>
<td class="font-weight-600">
{{ $HistoryRefundUser['Customer'] }}</td>
<td class="font-weight-600">
{{ $HistoryRefundUser['seller'] }}</td>
<td class="font-weight-600">
{{ $HistoryRefundUser['Total'] }}</td>
<td>{{ $HistoryRefundUser['dueDate'] }}</td>
<td>
<div class="badge badge-success" data-status="diterima"
onclick="setStatus('diterima')">Diterima</div>
</td>
<td class="font-weight-600">
{{ $HistoryRefundUser['uploadBukti'] }}</td>
<td>
</tr>
@endforeach
</table>
</div> </div>
<ul class="list-unstyled top_profiles scroll-view">
<li class="media event">
<a class="pull-left border-aero profile_thumb">
<i class="fa fa-user aero"></i>
</a>
<div class="media-body">
<a class="title" href="#">Ms. Mary Jane</a>
<p><strong>$2300. </strong> Agent Avarage Sales </p>
<p> <small>12 Sales Today</small>
</p>
</div> </div>
</li>
<li class="media event">
<a class="pull-left border-green profile_thumb">
<i class="fa fa-user green"></i>
</a>
<div class="media-body">
<a class="title" href="#">Ms. Mary Jane</a>
<p><strong>$2300. </strong> Agent Avarage Sales </p>
<p> <small>12 Sales Today</small>
</p>
</div>
</li>
<li class="media event">
<a class="pull-left border-blue profile_thumb">
<i class="fa fa-user blue"></i>
</a>
<div class="media-body">
<a class="title" href="#">Ms. Mary Jane</a>
<p><strong>$2300. </strong> Agent Avarage Sales </p>
<p> <small>12 Sales Today</small>
</p>
</div>
</li>
<li class="media event">
<a class="pull-left border-aero profile_thumb">
<i class="fa fa-user aero"></i>
</a>
<div class="media-body">
<a class="title" href="#">Ms. Mary Jane</a>
<p><strong>$2300. </strong> Agent Avarage Sales </p>
<p> <small>12 Sales Today</small>
</p>
</div>
</li>
<li class="media event">
<a class="pull-left border-green profile_thumb">
<i class="fa fa-user green"></i>
</a>
<div class="media-body">
<a class="title" href="#">Ms. Mary Jane</a>
<p><strong>$2300. </strong> Agent Avarage Sales </p>
<p> <small>12 Sales Today</small>
</p>
</div>
</li>
</ul>
</div> </div>
</div> </div>
</div> </div>
</div>
</div>
</div>
</section> </section>
</div> </div>
@include('Admin.transaction.Tracking')
@endsection @endsection

View File

@ -207,15 +207,15 @@
</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="#" class="dropdown-item has-icon"> <a href="/profile" class="dropdown-item has-icon">
<i class="far fa-user"></i> Profile <i class="far fa-user"></i> Profile
</a> </a>
<a href="features-activities.html" class="dropdown-item has-icon"> {{-- <a href="features-activities.html" class="dropdown-item has-icon">
<i class="fas fa-bolt"></i> Activities <i class="fas fa-bolt"></i> Activities
</a> </a>
<a href="features-settings.html" class="dropdown-item has-icon"> <a href="features-settings.html" class="dropdown-item has-icon">
<i class="fas fa-cog"></i> Settings <i class="fas fa-cog"></i> Settings
</a> </a> --}}
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>
<a href="#" class="dropdown-item has-icon text-danger"> <a href="#" class="dropdown-item has-icon text-danger">
<i class="fas fa-sign-out-alt"></i> Logout <i class="fas fa-sign-out-alt"></i> Logout

View File

@ -2,64 +2,33 @@
<html lang="en"> <html lang="en">
<head> <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 charset="UTF-8">
<meta content="width=device-width, initial-scale=1, maximum-scale=1, shrink-to-fit=no" name="viewport"> <meta content="width=device-width, initial-scale=1, maximum-scale=1, shrink-to-fit=no" name="viewport">
<title>REKBER</title> <title>REKBER</title>
<!-- Bootstrap -->
<link href="../vendors/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
<!-- Font Awesome -->
<link href="../vendors/font-awesome/css/font-awesome.min.css" rel="stylesheet">
<!-- NProgress -->
<link href="../vendors/nprogress/nprogress.css" rel="stylesheet">
<!-- bootstrap-daterangepicker -->
<link href="../vendors/bootstrap-daterangepicker/daterangepicker.css" rel="stylesheet">
<!-- Custom Theme Style -->
<link href="../build/css/custom.min.css" rel="stylesheet">
<!-- General CSS Files --> <!-- General CSS Files -->
<link rel="stylesheet" href="assets/modules/bootstrap/css/bootstrap.min.css"> <link rel="stylesheet" href="{{ asset('assets/modules/bootstrap/css/bootstrap.min.css') }}">
<link rel="stylesheet" href="assets/modules/fontawesome/css/all.min.css"> <link rel="stylesheet" href="{{ asset('assets/modules/fontawesome/css/all.min.css') }}">
<link rel="stylesheet" href="https://cdn.materialdesignicons.com/5.4.55/css/materialdesignicons.min.css">
<!-- CSS Libraries --> <!-- CSS Libraries -->
<link rel="stylesheet" href="assets/modules/jqvmap/dist/jqvmap.min.css"> <link rel="stylesheet" href="{{asset('assets/modules/jqvmap/dist/jqvmap.min.css')}}">
<link rel="stylesheet" href="assets/modules/summernote/summernote-bs4.css"> <link rel="stylesheet" href="{{asset('assets/modules/summernote/summernote-bs4.css')}}">
<link rel="stylesheet" href="assets/modules/owlcarousel2/dist/assets/owl.carousel.min.css"> <link rel="stylesheet" href="{{asset('assets/modules/owlcarousel2/dist/assets/owl.carousel.min.css')}}">
<link rel="stylesheet" href="assets/modules/owlcarousel2/dist/assets/owl.theme.default.min.css"> <link rel="stylesheet" href="{{asset('assets/modules/owlcarousel2/dist/assets/owl.theme.default.min.css')}}">
<link rel="stylesheet" href="{{asset('assets/modules/datatables/datatables.min.css')}}">
<link rel="stylesheet" href="{{asset('assets/modules/datatables/DataTables-1.10.16/css/dataTables.bootstrap4.min.css')}}">
<link rel="stylesheet" href="{{asset('assets/modules/datatables/Select-1.2.4/css/select.bootstrap4.min.css')}}">
<link rel="stylesheet" href="{{ asset('assets/css/main.css') }}">
<!-- Template CSS --> <!-- Template CSS -->
<link rel="stylesheet" href="assets/css/style.css"> <link rel="stylesheet" href="{{asset('assets/css/style.css')}}">
<link rel="stylesheet" href="assets/css/components.css"> <link rel="stylesheet" href="{{asset('assets/css/components.css')}}">
<!-- Start GA --> <!-- Start GA -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-94034622-3"></script> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-94034622-3"></script>
<script> <script>
@ -78,69 +47,80 @@
<body> <body>
<header class="header-area header-sticky"> <header class="header-area header-sticky">
@include('User.layout.header') @include('user.layout.header')
</header> </header>
<!-- ***** Main Banner Area Start ***** --> <!-- ***** Main Banner Area Start ***** -->
<main id="main" style="min-height: 100vh;"> <main id="main" style="min-height: 100vh;">
@include('User.layout.sidebar') @include('user.layout.sidebar')
@yield('content') @yield('content')
</main> </main>
<!-- End #main --> <!-- End #main -->
<footer id="footer"> <footer id="footer">
@include('User.layout.footer') @include('user.layout.footer')
</footer> </footer>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
<!-- General JS Scripts --> <!-- General JS Scripts -->
<script src="assets/modules/jquery.min.js"></script> <script src="{{asset('assets/modules/jquery.min.js')}}"></script>
<script src="assets/modules/popper.js"></script> <script src="{{asset('assets/modules/popper.js')}}"></script>i
<script src="assets/modules/tooltip.js"></script> <script src="{{asset('assets/modules/tooltip.js')}}"></script>
<script src="assets/modules/bootstrap/js/bootstrap.min.js"></script> <script src="{{asset('assets/modules/bootstrap/js/bootstrap.min.js')}}"></script>
<script src="assets/modules/nicescroll/jquery.nicescroll.min.js"></script> <script src="{{asset('assets/modules/nicescroll/jquery.nicescroll.min.js')}}"></script>
<script src="assets/modules/moment.min.js"></script> <script src="{{asset('assets/modules/moment.min.js')}}"></script>
<script src="assets/js/stisla.js"></script> <script src="{{asset('assets/js/stisla.js')}}"></script>
<!-- JS Libraies --> <!-- JS Libraies -->
<script src="assets/modules/jquery.sparkline.min.js"></script> <script src="{{asset('assets/modules/jquery.sparkline.min.js')}}"></script>
<script src="assets/modules/chart.min.js"></script> <script src="{{asset('assets/modules/chart.min.js')}}"></script>
<script src="assets/modules/owlcarousel2/dist/owl.carousel.min.js"></script> <script src="{{asset('assets/modules/owlcarousel2/dist/owl.carousel.min.js')}}"></script>
<script src="assets/modules/summernote/summernote-bs4.js"></script> <script src="{{asset('assets/modules/summernote/summernote-bs4.js')}}"></script>
<script src="assets/modules/chocolat/dist/js/jquery.chocolat.min.js"></script> <script src="{{asset('assets/modules/chocolat/dist/js/jquery.chocolat.min.js')}}"></script>
<!-- JS Libraies -->
<script src="{{asset('assets/modules/datatables/datatables.min.js')}}"></script>
<script src="{{asset('assets/modules/datatables/DataTables-1.10.16/js/dataTables.bootstrap4.min.js')}}"></script>
<script src="{{asset('assets/modules/datatables/Select-1.2.4/js/dataTables.select.min.js')}}"></script>
<script src="{{asset('assets/modules/jquery-ui/jquery-ui.min.js')}}"></script>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
{{-- <script type="text/javascript">
$(function() {
$(document).on('click', '#payment', function(e) {
e.preventDefault();
var link = $(this).attr("href");
Swal.fire({
position: 'top-end',
icon: 'Success Payment!',
title: 'Your work has been saved',
showConfirmButton: false,
timer: 1500
})
});
});
</script> --}}
<!-- Page Specific JS File --> <!-- Page Specific JS File -->
<script src="assets/js/page/index.js"></script> <script src="{{asset('assets/js/page/modules-datatables.js')}}"></script>
<!-- Page Specific JS File -->
<script src="{{asset('assets/js/page/index.js')}}"></script>
<script src="https://cdn.jsdelivr.net/npm/daterangepicker@3.1.0/daterangepicker.min.js"></script>i
<script src="{{ asset('assets/js/page/index-0.js') }}"></script>
<!-- Template JS File --> <!-- Template JS File -->
<script src="assets/js/scripts.js"></script> <script src="{{asset('assets/js/scripts.js')}}"></script>
<script src="assets/js/custom.js"></script> <script src="{{asset('assets/js/custom.js')}}"></script>
<!-- jQuery -->
<script src="../vendors/jquery/dist/jquery.min.js"></script>
<!-- Bootstrap -->
<script src="../vendors/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
<!-- FastClick -->
<script src="../vendors/fastclick/lib/fastclick.js"></script>
<!-- NProgress -->
<script src="../vendors/nprogress/nprogress.js"></script>
<!-- Chart.js -->
<script src="../vendors/Chart.js/dist/Chart.min.js"></script>
<!-- jQuery Sparklines -->
<script src="../vendors/jquery-sparkline/dist/jquery.sparkline.min.js"></script>
<!-- Flot -->
<script src="../vendors/Flot/jquery.flot.js"></script>
<script src="../vendors/Flot/jquery.flot.pie.js"></script>
<script src="../vendors/Flot/jquery.flot.time.js"></script>
<script src="../vendors/Flot/jquery.flot.stack.js"></script>
<script src="../vendors/Flot/jquery.flot.resize.js"></script>
<!-- Flot plugins -->
<script src="../vendors/flot.orderbars/js/jquery.flot.orderBars.js"></script>
<script src="../vendors/flot-spline/js/jquery.flot.spline.min.js"></script>
<script src="../vendors/flot.curvedlines/curvedLines.js"></script>
<!-- DateJS -->
<script src="../vendors/DateJS/build/date.js"></script>
<!-- bootstrap-daterangepicker -->
<script src="../vendors/moment/min/moment.min.js"></script>
<script src="../vendors/bootstrap-daterangepicker/daterangepicker.js"></script>
<!-- Custom Theme Scripts --> <script src="{{ asset('assets/js/main.js') }}"></script>
<script src="../build/js/custom.min.js"></script>
{{-- refund --}}
{{-- @include('sweetalert::alert') --}}
</body> </body>
</html> </html>

View File

@ -9,22 +9,44 @@
<ul class="sidebar-menu"> <ul class="sidebar-menu">
<li class="menu-header">Dashboard</li> <li class="menu-header">Dashboard</li>
<li><a class="nav-link active" href="/User"><i class="fas fa-fire"></i> <span>Dashboard</span></a></li> <li><a class="nav-link active" href="/"><i class="fas fa-fire"></i> <span>Dashboard</span></a></li>
<li class="menu-header">Starter</li> <li class="menu-header">Starter</li>
<li><a class="nav-link" href="#"><i class="far fa-user"></i> <span>User</span></a></li>
<li><a class="nav-link" href="#"><i class="fas fa-columns"></i><span>Transaction</span></a></li>
{{-- <li class="dropdown">
<a href="#" class="nav-link has-dropdown" data-toggle="dropdown"><i class="fas fa-columns"></i>
<span>Transaction</span></a>
<ul class="dropdown-menu">
<li><a class="nav-link" href="/list_transaction">List Transaction</a></li>
<li><a class="nav-link" href="/history_transaction">History Transaction</a></li>
</ul> <li class="drop-down ">
</li> --}} <a class="nav-link" data-toggle="collapse" href="#submenuTransaction" aria-expanded="false" aria-controls="submenuTransaction">
<li><a class="nav-link" href="#"><i class="far fa-square"></i> <span>List Refund</span></a> <i class="fas fa-columns"></i><span>Transaction</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="/penjual">
<i class="fas fa-user"></i> Penjual
</a>
</li> </li>
<li class="nav-item">
<a class="nav-link" href="/pembeli">
<i class="fas fa-users"></i> Pembeli
</a>
</li>
</ul>
</div>
</li>
<li>
<a class="nav-link active" href="/contact">
<i class="fas fa-address-book"></i> <span>Manajemen Contact</span>
</a>
</li>
<li>
<a class="nav-link active" href="/refund">
<i class="fas fa-money-check-alt"></i> <span>Halaman Refund</span>
</a>
</li>
</ul> </ul>
{{-- <div class="mt-4 mb-4 p-3 hide-sidebar-mini"> {{-- <div class="mt-4 mb-4 p-3 hide-sidebar-mini">

View File

@ -0,0 +1,377 @@
@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="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">@npannisa</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="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

@ -0,0 +1,56 @@
<div class="modal fade" id="awaldetailrefund" role="dialog">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">
<span aria-hidden="true">&times;</span>
<span class="sr-only">Close</span>
</button>
</div>
<div class="d-flex justify-content-center">
<h4 class="modal-title" id="myModalLabel">Detail Refund</h4>
</div>
<div class="modal-body">
<p class="statusMsg"></p>
<div class="card-body">
<div class="form-group">
<label for="inputOrderId">Order ID</label>
<p class="form-control-static" id="orderid">1452667</p>
</div>
<div class="form-group">
<label for="inputCustomer">Customer</label>
<p class="form-control-static" id="customer">Nurul Prima</p>
</div>
<div class="form-group">
<label for="inputEmail">Email Customer</label>
<p class="form-control-static" id="inputEmail">npannisa@gmail.com</p>
</div>
<div class="form-group">
<label for="inputSeller">Seller Name</label>
<p class="form-control-static" id="sellername">Zakiaa</p>
</div>
<div class="form-group">
<label for="inputDueDate">Due Date</label>
<p class="form-control-static" id="duedate">29 Januari 2002</p>
</div>
<div class="form-group">
<label for="inputComplaint">Reason Complaint</label>
<p class="form-control-static" id="reasoncomplaint">Pengembalian product dikarenakan tidak
sesuai dengan aslinya</p>
</div>
<div class="form-group">
<label for="inputBukti">Bukti</label>
<p class="form-control-static" id="inputbukti"></p>
<img class="mr-3 rounded" width="200" src="assets/img/avatar/rusak.jpeg">
</div>
</div>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,53 @@
@extends('user.layout.main')
@section('content')
<div class="main-content">
<section class="section">
<div class="col-md-12">
<div class="card">
<div class="card-header">
<h2>History Refund</h2>
</div>
<div class="card-body p-0">
<div class="table-responsive table-invoice">
<table class="table table-striped">
<tr>
<th>Order ID</th>
<th>Customer</th>
<th>Seller</th>
<th>Total</th>
<th>Due Date</th>
<th>Status</th>
<th>Upload Bukti</th>
<th>Action</th>
</tr>
@foreach ($history_refund as $HistoryRefund)
<tr>
<td class="font-weight-600">{{ $HistoryRefund['orderId'] }}</a></td>
<td class="font-weight-600">{{ $HistoryRefund['customer'] }}</td>
<td class="font-weight-600">{{ $HistoryRefund['seller'] }}</td>
<td class="font-weight-600">{{ $HistoryRefund['total'] }}</td>
<td class="font-weight-600">{{ $HistoryRefund['dueDate'] }}</td>
<td>{{ $HistoryRefund['date'] }}</td>
<td>
<div class="badge badge-danger">{{ $HistoryRefund['status'] }}</div>
</td>
<td>
<a href="/detail_refund" class="btn btn-primary">Detail</a>
</td>
<td>
<!-- Input field for uploading an image or video -->
<div class="col-md-12 d-flex align-items-center">
<label class="form-label me-3"
for="uploadFile{{ $HistoryRefund['orderId'] }}">Upload File</label>
<input class="form-control" type="file"
id="uploadFile{{ $HistoryRefund['orderId'] }}" name="uploadedFiles[]">
</div>
</td>
</tr>
@endforeach
</table>
</div>
</div>
</div>
</div>
@endsection

View File

@ -0,0 +1,74 @@
@extends('user.layout.main')
@section('content')
<div class="main-content">
<section class="section">
<div class="section-header">
<h1>Halaman Refund</h1>
<div class="section-header-breadcrumb">
<div class="breadcrumb-item active"><a href="#">Dashboard</a></div>
<div class="breadcrumb-item"><a href="#"> Transaction</a></div>
<div class="breadcrumb-item">Manajemen Kontak</div>
<div class="breadcrumb-item">Halaman Refund</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="card">
<div class="card-body">
<div class="table-responsive">
<table class="table table-striped" id="table-1">
<thead>
<tr>
<th class="text-center">
#
</th>
<th>Order Id</th>
<th>Customer</th>
<th>Seller</th>
<th>total</th>
<th>Due Date</th>
<th>Status</th>
<th>upload Bukti</th>
<th>Action</th>
</tr>
</thead>
<tbody>
@foreach ($refundUserss as $key => $HistoryRefundUser)
<tr>
<td> {{ ++$key }}</td>
<td class="font-weight-600">
{{ $HistoryRefundUser['orderId'] }}</td>
<td class="font-weight-600">
{{ $HistoryRefundUser['Customer'] }}</td>
<td class="font-weight-600">
{{ $HistoryRefundUser['seller'] }}</td>
<td class="font-weight-600">
{{ $HistoryRefundUser['Total'] }}</td>
<td>{{ $HistoryRefundUser['dueDate'] }}</td>
<td class="font-weight-600">
<div class="badge badge-danger" data-status="ditolak"
onclick="setStatus('ditolak')">Ditolak</div>
{{-- {{ $HistoryRefundUser['status'] }} --}}
</td>
<td class="font-weight-600">
{{ $HistoryRefundUser['uploadBukti'] }}</td>
<td>
<button class="btn btn-info open-detail-modal" data-toggle="modal"
data-target="#awaldetailrefund">Detail</button>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
@extends('user.refund.detail-refund')
@endsection

View File

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

View File

@ -0,0 +1,289 @@
@extends('user.layout.main')
@section('content')
<div class="main-content">
<section class="section">
<div class="col-lg-12 grid-margin stretch-card">
<div class="card">
<div class="card-body">
<div class="d-flex justify-content-center">
<h2 class="mb-4"> Informasi Pesanan</h2>
</div>
</div>
</div>
</div>
<div class="section-body">
<h2 class="section-title">npannisa</h2>
<div class="d-flex justify-content-between align-items-center">
<div class="card-title pb-2 m-0">
<h4>Timeline</h4>
</div>
</div>
<div class="row mt-sm-4">
<div class="col-12 col-md-12 col-lg-5">
<div class="row">
<div class="col-12">
<div class="activities">
<div class="activity">
<div class="activity-icon bg-primary text-white shadow-primary">
<i class="fas fa-clipboard-list" style="font-size: 36px;"></i>
<!-- Mengganti ikon dengan ikon clipboard-list dan mengatur ukuran ikon -->
</div>
<div class="activity-detail">
<div class="mb-2">
<span class="text-job text-primary">August 21, 2023, 8:30:15 am</span>
</div>
<p>User Created Trade</p>
</div>
</div>
<div class="activity">
<div class="activity-icon bg-primary text-white shadow-primary">
<i class="fas fa-bell" style="font-size: 36px;"></i>
<!-- Mengganti ikon dengan ikon bell dan mengatur ukuran ikon -->
</div>
<div class="activity-detail">
<div class="mb-2">
<span class="text-job text-primary">August 22, 2023, 8:30:15 am</span>
</div>
<p>System Notified Admin</p>
</div>
</div>
<div class="activity">
<div class="activity-icon bg-primary text-white shadow-primary">
<i class="fas fa-check-circle" style="font-size: 36px;"></i>
<!-- Mengganti ikon dengan ikon check-circle dan mengatur ukuran ikon -->
</div>
<div class="activity-detail">
<div class="mb-2">
<span class="text-job text-primary">August 23, 2023, 8:30:15 am</span>
</div>
<p>Admin Accepted Trade</p>
</div>
</div>
<div class="activity">
<div class="activity-icon bg-primary text-white shadow-primary">
<i class="fas fa-trash-alt" style="font-size: 36px;"></i>
<!-- Mengganti ikon dengan ikon trash-alt dan mengatur ukuran ikon -->
</div>
<div class="activity-detail">
<div class="mb-2">
<span class="text-job text-primary">August 24, 2023, 8:30:15 am</span>
</div>
<p>Trade in system</p>
</div>
</div>
<div class="activity">
<div class="activity-icon bg-primary text-white shadow-primary">
<i class="fas fa-comment-alt" style="font-size: 36px;"></i>
<!-- Mengganti ikon dengan ikon comment-alt dan mengatur ukuran ikon -->
</div>
<div class="activity-detail">
<div class="mb-2">
<span class="text-job text-primary">August 24, 2023, 8:30:15 am</span>
</div>
<p>Transaction Success</p>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="section-body">
<div class="invoice">
<div class="invoice-print">
<div class="row">
<div class="col-lg-12">
<hr>
<div class="row">
<div class="col-md-6">
<address>
<strong>Billed To:</strong><br>
npannisa<br>
1234 Main<br>
Apt. 4B<br>
Depok City, Indonesia
</address>
</div>
<div class="col-md-6 text-md-right">
<address>
<strong>Shipped To:</strong><br>
Jilhan Haura<br>
12345 Main<br>
Apt. 5B<br>
Bogor Barat, Indonesia
</address>
</div>
</div>
<div class="row">
<div class="col-md-6">
<address>
<strong>Payment Method:</strong><br>
Visa ending **** 4242<br>
npannisa@gmail.com
</address>
</div>
<div class="col-md-6 text-md-right">
<address>
<strong>Order Date:</strong><br>
September 19, 2023<br><br>
</address>
</div>
</div>
</div>
</div>
<div class="row mt-4">
<div class="col-md-12">
<div class="section-title">Order Summary</div>
<p class="section-lead">All items here cannot be deleted.</p>
<div class="table-responsive">
<table class="table table-striped table-hover table-md">
<tr>
<th data-width="40">#</th>
<th>Item</th>
<th class="text-center">Price</th>
<th class="text-center">Quantity</th>
<th class="text-right">Totals</th>
</tr>
<tr>
<td>1</td>
<td>Ayam Warna Warni</td>
<td class="text-center">Rp. 50.000.000</td>
<td class="text-center">1</td>
<td class="text-right">Rp. 50.000.000</td>
</tr>
</table>
</div>
<div class="row mt-4">
<div class="col-lg-8">
<div class="section-title">Payment Method</div>
<p class="section-lead">The payment method that we provide
is to make it easier for
you to pay invoices.</p>
<div class="images">
<img src="assets/img/visa.png" alt="visa">
<img src="assets/img/jcb.png" alt="jcb">
<img src="assets/img/mastercard.png" alt="mastercard">
<img src="assets/img/paypal.png" alt="paypal">
</div>
</div>
<div class="col-lg-4 text-right">
<div class="invoice-detail-item">
<div class="invoice-detail-name">Subtotal</div>
<div class="invoice-detail-value">Rp.670.000.000</div>
</div>
<div class="invoice-detail-item">
<div class="invoice-detail-name">Shipping</div>
<div class="invoice-detail-value">Rp.15.000</div>
</div>
<hr class="mt-2 mb-2">
<div class="invoice-detail-item">
<div class="invoice-detail-name">Total</div>
<div class="invoice-detail-value invoice-detail-value-lg">
Rp.6.715.000.000</div>
</div>
</div>
</div>
</div>
</div>
</div>
<hr>
</div>
</div>
</div>
</div>
@endsection
{{-- <div class="col-12 col-md-12 col-lg-7">
<div class="card">
<div class="card-body">
@foreach ($TransactionUser as $HistoryTransaction) --}}
{{-- <div class="d-flex flex-column">
<div class="data-fieldr">
<span class="fw-bold text-start">Order Details</span>
</div>
<hr class="border border-1 opacity-75 w-100">
<div class="data-field">
<span class="fw-bold text-start">Oder ID</span>
<span class="text-muted ">{{ $HistoryTransaction['orderId'] }}</span>
</div>
<div class="data-field">
<span class="fw-bold text-start">Customer</span>
<span class="text-muted ">{{ $HistoryTransaction['Customer'] }}</span>
</div>
<div class="data-field">
<span class="fw-bold text-start">Seller</span>
<span class="text-muted ">{{ $HistoryTransaction['seller'] }}</span>
</div>
<div class="data-field">
<span class="fw-bold text-start">Total</span>
<span class="text-muted ">{{ $HistoryTransaction['total'] }}</span>
</div>
<div class="data-field">
<span class="fw-bold text-start">Due Date</span>
<span class="text-muted ">{{ $HistoryTransaction['dueDate'] }}</span>
</div>
<div class="data-field">
<span class="fw-bold text-start">Status</span>
<span class="text-muted ">{{ $HistoryTransaction['status'] }}</span>
</div>
</div> --}}
{{-- @endforeach --}}
{{-- Pindahan modal --}}
{{-- awal modal transaksi --}}
{{-- <div class="modal fade" id="detailtransaksi" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1"
aria-labelledby="staticBackdropLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header d-flex justify-content-center">
<h1 class="modal-title fs-5" id="staticBackdropLabel">Detail Transaksi</h1>
<a type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></a>
</div>
<div class="modal-body">
@foreach ($TransactionUser as $HistoryTransaction)
<div class="d-flex flex-column">
<div class="data-fieldr">
<span class="fw-bold text-start">Order Details</span>
</div>
<hr class="border border-1 opacity-75 w-100">
<div class="data-field">
<span class="fw-bold text-start">Oder ID</span>
<span class="text-muted ">{{ $HistoryTransaction['orderId'] }}</span>
</div>
<div class="data-field">
<span class="fw-bold text-start">Customer</span>
<span class="text-muted ">{{ $HistoryTransaction['Customer'] }}</span>
</div>
<div class="data-field">
<span class="fw-bold text-start">Seller</span>
<span class="text-muted ">{{ $HistoryTransaction['seller'] }}</span>
</div>
<div class="data-field">
<span class="fw-bold text-start">Total</span>
<span class="text-muted ">{{ $HistoryTransaction['total'] }}</span>
</div>
<div class="data-field">
<span class="fw-bold text-start">Due Date</span>
<span class="text-muted ">{{ $HistoryTransaction['dueDate'] }}</span>
</div>
<div class="data-field">
<span class="fw-bold text-start">Status</span>
<span class="text-muted ">{{ $HistoryTransaction['status'] }}</span>
</div>
</div>
@endforeach
</div>
<div class="modal-footer">
<a href="/transaction" type="button" class="btn btn-primary">OK!</a>
</div>
</div>
</div>
</div> --}}

View File

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

View File

@ -0,0 +1,129 @@
@extends('user.layout.main')
@section('content')
<div class="main-content">
<section class="section">
<div class="section-header">
<h1>Invoice</h1>
<div class="section-header-breadcrumb">
<div class="breadcrumb-item active"><a href="#">Dashboard</a></div>
<div class="breadcrumb-item"><a href="#"> Transaction</a></div>
<div class="breadcrumb-item">Manajemen Kontak</div>
<div class="breadcrumb-item">Halaman Refund</div>
</div>
</div>
<div class="section-body">
<div class="invoice">
<div class="invoice-print">
<div class="row">
<div class="col-lg-12">
<div class="invoice-title">
<h2>Invoice</h2>
<div class="invoice-number">Order #NVI-1234</div>
</div>
<hr>
<div class="row">
<div class="col-md-6">
<address>
<strong>Billed To:</strong><br>
npannisa<br>
1234 Main<br>
Apt. 4B<br>
Depok City, Indonesia
</address>
</div>
<div class="col-md-6 text-md-right">
<address>
<strong>Shipped To:</strong><br>
Jilhan Haura<br>
12345 Main<br>
Apt. 5B<br>
Bogor Barat, Indonesia
</address>
</div>
</div>
<div class="row">
<div class="col-md-6">
<address>
<strong>Payment Method:</strong><br>
Visa ending **** 4242<br>
npannisa@gmail.com
</address>
</div>
<div class="col-md-6 text-md-right">
<address>
<strong>Order Date:</strong><br>
September 19, 2023<br><br>
</address>
</div>
</div>
</div>
</div>
<div class="row mt-4">
<div class="col-md-12">
<div class="section-title">Order Summary</div>
<p class="section-lead">All items here cannot be deleted.</p>
<div class="table-responsive">
<table class="table table-striped table-hover table-md">
<tr>
<th data-width="40">#</th>
<th>Item</th>
<th class="text-center">Price</th>
<th class="text-center">Quantity</th>
<th class="text-right">Totals</th>
</tr>
<tr>
<td>1</td>
<td>Ayam Warna Warni</td>
<td class="text-center">Rp. 50.000.000</td>
<td class="text-center">1</td>
<td class="text-right">Rp. 50.000.000</td>
</tr>
</table>
</div>
<div class="row mt-4">
<div class="col-lg-8">
<div class="section-title">Payment Method</div>
<p class="section-lead">The payment method that we provide is to make it easier for
you to pay invoices.</p>
<div class="images">
<img src="assets/img/visa.png" alt="visa">
<img src="assets/img/jcb.png" alt="jcb">
<img src="assets/img/mastercard.png" alt="mastercard">
<img src="assets/img/paypal.png" alt="paypal">
</div>
</div>
<div class="col-lg-4 text-right">
<div class="invoice-detail-item">
<div class="invoice-detail-name">Subtotal</div>
<div class="invoice-detail-value">Rp.670.000.000</div>
</div>
<div class="invoice-detail-item">
<div class="invoice-detail-name">Shipping</div>
<div class="invoice-detail-value">Rp.15.000</div>
</div>
<hr class="mt-2 mb-2">
<div class="invoice-detail-item">
<div class="invoice-detail-name">Total</div>
<div class="invoice-detail-value invoice-detail-value-lg">Rp.6715.000.000</div>
</div>
</div>
</div>
</div>
</div>
</div>
<hr>
<div class="text-md-right">
<div class="float-lg-left mb-lg-0 mb-3">
<a href="/pembeli" class="btn btn-primary btn-icon icon-left"><i class="fas fa-credit-card" id="payment"></i> Process
Payment</a>
<a href="/pembeli" class="btn btn-danger btn-icon icon-left"><i class="fas fa-times"></i> Cancel</a>
</div>
<button class="btn btn-warning btn-icon icon-left"><i class="fas fa-print"></i> Print</button>
</div>
</div>
</div>
</section>
</div>
@endsection

View File

@ -0,0 +1,133 @@
@extends('user.layout.main')
@section('content')
<div class="main-content">
<section class="section">
<div class="container">
<div class="row justify-content-center">
<div class="col-md-12">
<div class="card-body">
<div class="card"
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);">
<div class="card-header d-flex justify-content-center">
<h2>Form Transaksi</h2>
</div>
<div class="card-body">
<div class="form-row">
<div class="form-group col-md-12">
<label for="inputpembeli">Nama Pembeli</label>
<input type="email" class="form-control" id="inputpembeli" placeholder="Masukkan nama pembeli">
</div>
</div>
<div class="form-group">
<label for="inputpenjual">Nama Penjual</label>
<input type="text" class="form-control" id="inputpenjual" placeholder="Masukkan nama penjual">
</div>
<div class="form-group">
<label for="harga">Harga</label>
<input type="text" class="form-control" id="harga" placeholder="Rp.1000.000">
</div>
<div class="form-group">
<label for="inputjenis">Jenis Barang</label>
<input type="text" class="form-control" id="inputjenis" placeholder="">
</div>
<div class="form-group">
<label>Due Date</label>
<input type="date" class="form-control">
</div>
<div class="form-group">
<label for="inputdeskripsi">Deskripsi</label>
<textarea class="form-control resizable" id="deskripsi" placeholder="Deskripsikan jenis apa transaksi yang anda lakukan"></textarea>
</div>
<div class="form-group mb-0">
<div class="form-check">
<input class="form-check-input" type="checkbox" id="gridCheck">
<label class="form-check-label" for="gridCheck">
Check me out
</label>
</div>
</div>
</div>
<div class="card-footer d-flex justify-content-center">
<a href="/pembeli" class="btn btn-primary">Submit</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
{{-- form transaksi --}}
{{-- <div class="container">
<div class="row justify-content-center">
<div class="col-md-6">
<div class="card">
<div class="card-body">
<form>
<div class="mb-3">
<label for="orderid" class="form-label">Order Id</label>
<input type="text" class="form-control" id="orderId" name="order" required>
</div>
<div class="mb-3">
<label for="customer" class="form-label">Customer</label>
<input type="text" class="form-control" id="customer" name="customer" required>
</div>
<div class="mb-3">
<label for="seller" class="form-label">Norek Asal</label>
<input type="text" class="form-control" id="norekasal" name="norekasal" pattern="[0-9]+" required>
<div class="invalid-feedback">
Harap masukkan hanya angka</div>
</div>
<div class="mb-3">
<label for="seller" class="form-label">Seller</label>
<input type="text" class="form-control" id="seller" name="seller" required>
</div>
<div class="mb-3">
<label for="seller" class="form-label">Norek Tujuan</label>
<input type="text" class="form-control" id="norektujuan" name="norektujuan" pattern="[0-9]+" required>
<div class="invalid-feedback">
Harap masukkan hanya angka.
</div>
</div>
<div class="mb-3">
<label for="total" class="form-label">Total</label>
<input type="text" class="form-control" id="total" name="total">
</div>
<div class="mb-3">
<label for="seller" class="form-label">Due Date</label>
<input type="calendar" class="form-control" id="duedate" name="duedate" required>
</div>
<div class="mb-3">
<label for="textareadesc" class="form-label">Deskripsi</label>
<textarea class="form-control" id="textareadesc" rows="3"></textarea>
</div>
{{-- <div class="d-flex justify-content-center">
<button class="btn btn-info open-detail-modal" data-toggle="modal fade"
data-target="#confirmtransaction">Transaksi Sudah Benar</button>
</div> --}}
<div class="d-flex justiffy-content-center">
<a href="/pembeli" type="button" class="btn btn-primary" data-bs-dismiss="modal">Transaksi Sudah
Benar</a>
</div>
</form>
</div>
</div>
</div>
</div>
{{-- </div> --}}
</div>
@endsection

View File

@ -0,0 +1,66 @@
@extends('user.layout.main')
@section('content')
<div class="main-content">
<section class="section">
<div class="container">
<div class="row justify-content-center">
<div class="col-md-12">
<div class="card">
<div class="card-body">
<div class="card"
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);">
<div class="card-header d-flex justify-content-center">
<h2>Form Refund Pesanan</h2>
</div>
<div class="card-body">
<div class="section-title mt-0">Reason Complaint</div>
<div class="col-md-12">
<label for="inputReasonComplaint" class="form-label">Berikan Alasan Mengapa
Melakukan Pengembalian</label>
<textarea class="form-control" aria-label="With textarea"></textarea>
</div>
<div class="section-title">Upload Image / Video</div>
<div class="custom-file">
<label for="uploadBukti" class="form-label">Sertakan bukti seperti Foto
Pesanan</label>
<input type="file" class="form-control" name="transfer_proof" id="bukti"
accept="image/*" required multiple>
</div>
</div>
</div>
<div class="d-flex justify-content-center">
<button class="btn btn-info open-detail-modal" data-toggle="modal"
data-target="#confirmtransaction">Ajukan Pengembalian</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
{{-- awal modal konfirmasi --}}
<div class="modal fade" id="confirmtransaction" aria-hidden="true" aria-labelledby="myModalLabel" tabindex="-1">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">
<span aria-hidden="true">&times;</span>
<span class="sr-only">Close</span>
</button>
</div>
<div class="modal-header d-flex justify-content-center">
<h5 class="modal-title" id="transaksiberhasil">Transaksi Berhasil Dilakukan!</h5>
<a type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></a>
</div>
<div class="modal-footer">
<a href="/refund" type="button" class="btn btn-primary" data-bs-dismiss="modal">OK!</a>
</div>
</div>
</div>
</div>
{{-- akhir modal konfirmasi --}}
@endsection

View File

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

View File

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

View File

@ -0,0 +1,80 @@
@extends('user.layout.main')
@section('content')
<div class="main-content">
<section class="section">
<div class="section-header">
<div class="section-header-breadcrumb">
<div class="breadcrumb-item active"><a href="#">Dashboard</a></div>
<div class="breadcrumb-item"><a href="#"> Transaction</a></div>
<div class="breadcrumb-item">Manajemen Kontak</div>
<div class="breadcrumb-item">Halaman Refund</div>
</div>
</div>
<div class="row">
<div class="col-12 mb-4">
<div class="col-12 mb-4">
<div class="hero bg-primary text-white">
<div class="hero-inner">
<h1>Welcome to the Rekber Aplication</h1>
<p class="lead">Selamat Datang npannisa!</p>
</div>
</div>
</div>
<div class="col-md-12">
<div class="card">
<div class="card-body">
<div class="table-responsive">
<table class="table table-striped" id="table-1">
<thead>
<tr>
<th>#</th>
<th>User ID</th>
<th>Order ID</th>
<th>Customer</th>
<th>Seller</th>
<th>Total</th>
<th>Due Date</th>
<th>Status</th>
<th>Action</th>
</tr>
</thead>
<tbody>
@foreach ($TransactionUser as $key => $HistoryTransaction)
<tr>
<td>{{ ++$key }}</td>
<td class="font-weight-600">{{ $HistoryTransaction['userId'] }}</td>
<td class="font-weight-600">{{ $HistoryTransaction['orderId'] }}</td>
<td class="font-weight-600">{{ $HistoryTransaction['Customer'] }}</td>
<td class="font-weight-600">{{ $HistoryTransaction['seller'] }}</td>
<td class="font-weight-600">{{ $HistoryTransaction['total'] }}</td>
<td>{{ $HistoryTransaction['dueDate'] }}</td>
<td class="font-weight-600">{{ $HistoryTransaction['status'] }}</td>
<td>
<div class="btn-group">
<button type="button" class="btn btn-primary dropdown-toggle"
data-toggle="dropdown" aria-haspopup="true"
aria-expanded="false">
Action
</button>
<ul class="dropdown-menu">
<li><a class="dropdown-item"
href="/detail-transaction">Detail</a></li>
<li><a class="dropdown-item" data-toggle="modal"
data-target="#tracking">Tracking</a></li>
{{-- <li><a class="dropdown-item" href="/tracking">Tracking</a></li> --}}
</ul>
</div>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
@extends('user.transaction.Penjual.tracking')
@endsection

View File

@ -2,6 +2,7 @@
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route; use Illuminate\Support\Facades\Route;
use App\Http\Controllers\API\LoginApiController;
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
@ -17,3 +18,19 @@ use Illuminate\Support\Facades\Route;
Route::middleware('auth:sanctum')->get('/user', function (Request $request) { Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
return $request->user(); return $request->user();
}); });
Route::group(
[
'middleware' => 'api',
'prefix' => 'auth',
],
function ($router) {
Route::post('login', [LoginApiController::class,'login']);
Route::post('logout', [LoginApiController::class,'logout']);
Route::post('refresh', [LoginApiController::class,'refresh']);
Route::post('me', [LoginApiController::class,'me']);
Route::post('register',[LoginApiController::class,'register']);
Route::post('hai',[LoginApiController::class,'hai']);
// Route::post('status',[LoginApiController::class,'check']);
},
);

View File

@ -12,6 +12,7 @@ use App\Models\User;
use App\Http\Controllers\Admin\UserController; use App\Http\Controllers\Admin\UserController;
use App\Http\Controllers\Admin\SettingController; use App\Http\Controllers\Admin\SettingController;
use App\Http\Controllers\Admin\TransactionController; use App\Http\Controllers\Admin\TransactionController;
use App\Http\Controllers\Login\LoginController;
// use Illuminate\Foundation\Auth\User; // use Illuminate\Foundation\Auth\User;
@ -30,7 +31,7 @@ Route::get('/welcome', function () {
); );
}); });
Route::get('/', function () { Route::get('/', function () {
return view('index',[ return view('admin.index',[
'name'=>'Jilhan Haura', 'name'=>'Jilhan Haura',
"transaction"=>Transactions::allTransactions() "transaction"=>Transactions::allTransactions()
]); ]);
@ -101,10 +102,32 @@ Route::get('/profile',function() {
// ]); // ]);
// }); // });
Route::resource('user', UserController::class);
Route::resource('transaction', TransactionController::class); Route::resource('/',LoginController::class);
Route::resource('setting',SettingController::class);
Route::resource('refund',RefundController::class);
// Login, logout dan register
// admin dan user
Route::middleware(['auth'])->group(function(){
Route::prefix('admin')->group(function(){
// Tampilan dashboard admin beserta perhitungan
// Tampilan, aprove atau deny dan hapus user
Route::resource('user', UserController::class);
// Tampilan transaksi
Route::resource('transaction', TransactionController::class);
// Tampilan, approve atau deny dan hapus refund
Route::resource('refund',RefundController::class);
// Tampilan, tambah, ubah dan hapus kebijakan persentase perusahaan
Route::resource('setting',SettingController::class);
});
Route::prefix('user')->group(function(){
// Tampilan dashboard user beserta perhitungan
// Tampilan, tambah dan hapus kontak
// Tampilan transaksi, bayar, update status pengiriman dan refund
// Tampilan refund
// Tampilan
});
});