Penambahan Controller User dan Admin
This commit is contained in:
parent
9119c40d1d
commit
cf16994497
127
app/Http/Controllers/API/LoginApiController.php
Normal file
127
app/Http/Controllers/API/LoginApiController.php
Normal 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(),
|
||||
// ]);
|
||||
// }
|
||||
}
|
209
app/Http/Controllers/Login/LoginController.php
Normal file
209
app/Http/Controllers/Login/LoginController.php
Normal 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)
|
||||
{
|
||||
}
|
||||
}
|
65
app/Http/Controllers/RefundDescriptionController.php
Normal file
65
app/Http/Controllers/RefundDescriptionController.php
Normal 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)
|
||||
{
|
||||
//
|
||||
}
|
||||
}
|
65
app/Http/Controllers/TransactionDescriptionController.php
Normal file
65
app/Http/Controllers/TransactionDescriptionController.php
Normal 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)
|
||||
{
|
||||
//
|
||||
}
|
||||
}
|
65
app/Http/Controllers/User/UserTransaction.php
Normal file
65
app/Http/Controllers/User/UserTransaction.php
Normal 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)
|
||||
{
|
||||
//
|
||||
}
|
||||
}
|
@ -8,4 +8,24 @@ use Illuminate\Database\Eloquent\Model;
|
||||
class Contact extends Model
|
||||
{
|
||||
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
|
||||
}
|
||||
|
@ -8,4 +8,22 @@ use Illuminate\Database\Eloquent\Model;
|
||||
class Refund extends Model
|
||||
{
|
||||
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
|
||||
}
|
||||
|
28
app/Models/RefundDescription.php
Normal file
28
app/Models/RefundDescription.php
Normal 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
|
||||
}
|
@ -8,4 +8,16 @@ use Illuminate\Database\Eloquent\Model;
|
||||
class Setting extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $fillable = [
|
||||
'bulan',
|
||||
'tahun',
|
||||
'diskon',
|
||||
'status',
|
||||
];
|
||||
}
|
||||
|
33
app/Models/TransactionDescription.php
Normal file
33
app/Models/TransactionDescription.php
Normal 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
|
||||
}
|
@ -26,6 +26,7 @@ class User extends Authenticatable
|
||||
'role_id',
|
||||
'alamat',
|
||||
'foto_ktp',
|
||||
'foto_wajah',
|
||||
'nohp',
|
||||
'nik',
|
||||
'gender',
|
||||
@ -77,6 +78,7 @@ class User extends Authenticatable
|
||||
|
||||
//JWT
|
||||
|
||||
|
||||
//Relasi
|
||||
public function pemilik_kontak(){
|
||||
return $this->hasMany(Contact::class, 'email', 'pemilik_kontak');
|
||||
@ -85,5 +87,14 @@ class User extends Authenticatable
|
||||
public function 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
|
||||
|
||||
}
|
||||
|
@ -8,4 +8,51 @@ use Illuminate\Database\Eloquent\Model;
|
||||
class Transaction extends Model
|
||||
{
|
||||
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
|
||||
}
|
||||
|
@ -24,8 +24,8 @@ class UserFactory extends Factory
|
||||
'email_verified_at' => now(),
|
||||
'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password
|
||||
'remember_token' => Str::random(10),
|
||||
'role' => $this->faker->randomElement(['Admin','User']),
|
||||
'nik' => $this->faker->nik,
|
||||
'role' => 'User',
|
||||
'nik' => $this->faker->nik($this->faker->randomElement(['male', 'female']),$this->faker->dateTimeBetween('-65 years', '-18 years')),
|
||||
'alamat'=> $this->faker->address,
|
||||
'nohp'=> $this->faker->phoneNumber(),
|
||||
'status'=> $this->faker->randomElement(['Progress', 'Finished']),
|
||||
|
@ -17,13 +17,15 @@ return new class extends Migration
|
||||
$table->string('email',50)->unique();
|
||||
$table->timestamp('email_verified_at')->nullable();
|
||||
$table->string('password');
|
||||
$table->string('role');
|
||||
$table->string('role',10);
|
||||
$table->string('nohp',20);
|
||||
$table->string('nik',20);
|
||||
$table->string('alamat',255);
|
||||
$table->string('foto_ktp')->nullable();
|
||||
$table->string('foto_wajah')->nullable();
|
||||
$table->string('foto_profil')->nullable();
|
||||
$table->string('status',10);
|
||||
$table->string('gender');
|
||||
$table->string('gender',15);
|
||||
$table->rememberToken();
|
||||
$table->timestamps();
|
||||
});
|
||||
|
@ -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');
|
||||
}
|
||||
};
|
@ -13,12 +13,12 @@ return new class extends Migration
|
||||
{
|
||||
Schema::create('refunds', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->integer('orderId');
|
||||
$table->string('customerName');
|
||||
$table->string('sellerName');
|
||||
$table->string('total');
|
||||
$table->timestamp('dueDate');
|
||||
$table->string('status');
|
||||
$table->foreignUuid('order_id');
|
||||
$table->double('total',10);
|
||||
$table->timestamp('due_date');
|
||||
$table->string('status',20);
|
||||
|
||||
$table->foreign('order_id')->on('transactions')->references('order_id');
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -13,6 +13,10 @@ return new class extends Migration
|
||||
{
|
||||
Schema::create('settings', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->string('bulan',20);
|
||||
$table->string('tahun',5);
|
||||
$table->double('diskon',5);
|
||||
$table->string('status',15);
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
@ -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');
|
||||
}
|
||||
};
|
@ -11,9 +11,14 @@ return new class extends Migration
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Schema::create('transactions', function (Blueprint $table) {
|
||||
Schema::create('refund_descriptions', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->foreignId('refund_id');
|
||||
$table->string('filename');
|
||||
$table->string('type');
|
||||
$table->timestamps();
|
||||
|
||||
$table->foreign('refund_id')->on('refunds')->references('id');
|
||||
});
|
||||
}
|
||||
|
||||
@ -22,6 +27,6 @@ return new class extends Migration
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::dropIfExists('transactions');
|
||||
Schema::dropIfExists('refund_descriptions');
|
||||
}
|
||||
};
|
@ -5,6 +5,9 @@ namespace Database\Seeders;
|
||||
// use Illuminate\Database\Console\Seeds\WithoutModelEvents;
|
||||
use Illuminate\Database\Seeder;
|
||||
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
|
||||
{
|
||||
@ -13,11 +16,24 @@ class DatabaseSeeder extends Seeder
|
||||
*/
|
||||
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();
|
||||
|
||||
// \App\Models\User::factory()->create([
|
||||
// 'name' => 'Test User',
|
||||
// 'email' => 'test@example.com',
|
||||
// ]);
|
||||
}
|
||||
}
|
||||
|
54
public/assets/css/main.css
Normal file
54
public/assets/css/main.css
Normal 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
321
public/assets/js/main.js
Normal 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);
|
||||
}
|
||||
|
||||
})();
|
@ -136,7 +136,7 @@
|
||||
<script src="{{ asset('assets/modules/nicescroll/jquery.nicescroll.min.js') }}"></script>
|
||||
<script src="{{ asset('assets/modules/moment.min.js') }}"></script>
|
||||
<script src="{{ asset('assets/js/stisla.js') }}"></script>
|
||||
<script src="//cdn.jsdelivr.net/npm/sweetalert2@10"></script>
|
||||
<script src="//cdn.jsdelivr.net/npm/sweetalert2@11"></script>
|
||||
|
||||
<!-- JS Libraies -->
|
||||
<script src="{{ asset('assets/modules/jquery.sparkline.min.js') }}"></script>
|
||||
|
45
resources/views/User/contact/add-contact.blade.php
Normal file
45
resources/views/User/contact/add-contact.blade.php
Normal 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">×</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>
|
63
resources/views/User/contact/contact.blade.php
Normal file
63
resources/views/User/contact/contact.blade.php
Normal 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
|
||||
|
38
resources/views/User/contact/delete-contact.blade.php
Normal file
38
resources/views/User/contact/delete-contact.blade.php
Normal 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>
|
62
resources/views/User/contact/detail-contact.blade.php
Normal file
62
resources/views/User/contact/detail-contact.blade.php
Normal 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>
|
@ -1,4 +1,4 @@
|
||||
@extends('User.layout.main')
|
||||
@extends('user.layout.main')
|
||||
@section('content')
|
||||
<!-- Main Content -->
|
||||
<div class="main-content">
|
||||
@ -69,7 +69,7 @@
|
||||
<h4>Total Refund</h4>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
100
|
||||
190
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -84,147 +84,72 @@
|
||||
</div>
|
||||
<div class="card-wrap">
|
||||
<div class="card-header">
|
||||
<h4>Total user</h4>
|
||||
<h4>Total Transaction </h4>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
100 </div>
|
||||
109 </div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="x_panel">
|
||||
<div class="x_title">
|
||||
<h2>Transaction Summary <small>Weekly progress</small></h2>
|
||||
<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 class="card">
|
||||
<div class="card-header">
|
||||
<h4>INCOME</h4>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<canvas id="myChart" height="158"></canvas>
|
||||
</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 class="col-md-3 col-sm-12 ">
|
||||
<div>
|
||||
<div class="x_title">
|
||||
<h2>Top Profiles</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 class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h2>Transaction</h2>
|
||||
</div>
|
||||
</li>
|
||||
<li><a class="close-link"><i class="fa fa-close"></i></a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="clearfix"></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>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>
|
||||
<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>
|
||||
</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>
|
||||
</section>
|
||||
</div>
|
||||
@include('Admin.transaction.Tracking')
|
||||
@endsection
|
||||
|
@ -207,15 +207,15 @@
|
||||
</a>
|
||||
<div class="dropdown-menu dropdown-menu-right">
|
||||
<div class="dropdown-title">Logged in 5 min ago</div>
|
||||
<a href="#" class="dropdown-item has-icon">
|
||||
<a href="/profile" class="dropdown-item has-icon">
|
||||
<i class="far fa-user"></i> Profile
|
||||
</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
|
||||
</a>
|
||||
<a href="features-settings.html" class="dropdown-item has-icon">
|
||||
<i class="fas fa-cog"></i> Settings
|
||||
</a>
|
||||
</a> --}}
|
||||
<div class="dropdown-divider"></div>
|
||||
<a href="#" class="dropdown-item has-icon text-danger">
|
||||
<i class="fas fa-sign-out-alt"></i> Logout
|
||||
|
@ -2,64 +2,33 @@
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<style>
|
||||
.data-field {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
justify-content: space-between;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.data-field:not(:last-child) {
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
.data-field span {
|
||||
text-align: end;
|
||||
}
|
||||
|
||||
.card-title span a {
|
||||
color: #899bbd;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.justified-text {
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
.font-weight-italic {
|
||||
font-style: italic;
|
||||
}
|
||||
</style>
|
||||
|
||||
<meta charset="UTF-8">
|
||||
<meta content="width=device-width, initial-scale=1, maximum-scale=1, shrink-to-fit=no" name="viewport">
|
||||
<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 -->
|
||||
<link rel="stylesheet" href="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/bootstrap/css/bootstrap.min.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('assets/modules/fontawesome/css/all.min.css') }}">
|
||||
<link rel="stylesheet" href="https://cdn.materialdesignicons.com/5.4.55/css/materialdesignicons.min.css">
|
||||
<!-- CSS Libraries -->
|
||||
<link rel="stylesheet" href="assets/modules/jqvmap/dist/jqvmap.min.css">
|
||||
<link rel="stylesheet" href="assets/modules/summernote/summernote-bs4.css">
|
||||
<link rel="stylesheet" href="assets/modules/owlcarousel2/dist/assets/owl.carousel.min.css">
|
||||
<link rel="stylesheet" href="assets/modules/owlcarousel2/dist/assets/owl.theme.default.min.css">
|
||||
<link rel="stylesheet" href="{{asset('assets/modules/jqvmap/dist/jqvmap.min.css')}}">
|
||||
<link rel="stylesheet" href="{{asset('assets/modules/summernote/summernote-bs4.css')}}">
|
||||
<link rel="stylesheet" href="{{asset('assets/modules/owlcarousel2/dist/assets/owl.carousel.min.css')}}">
|
||||
<link rel="stylesheet" href="{{asset('assets/modules/owlcarousel2/dist/assets/owl.theme.default.min.css')}}">
|
||||
|
||||
<link rel="stylesheet" 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 -->
|
||||
<link rel="stylesheet" href="assets/css/style.css">
|
||||
<link rel="stylesheet" href="assets/css/components.css">
|
||||
<link rel="stylesheet" href="{{asset('assets/css/style.css')}}">
|
||||
<link rel="stylesheet" href="{{asset('assets/css/components.css')}}">
|
||||
<!-- Start GA -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-94034622-3"></script>
|
||||
<script>
|
||||
@ -78,69 +47,80 @@
|
||||
<body>
|
||||
|
||||
<header class="header-area header-sticky">
|
||||
@include('User.layout.header')
|
||||
@include('user.layout.header')
|
||||
</header>
|
||||
<!-- ***** Main Banner Area Start ***** -->
|
||||
<main id="main" style="min-height: 100vh;">
|
||||
@include('User.layout.sidebar')
|
||||
@include('user.layout.sidebar')
|
||||
@yield('content')
|
||||
</main>
|
||||
<!-- End #main -->
|
||||
<footer id="footer">
|
||||
@include('User.layout.footer')
|
||||
@include('user.layout.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 -->
|
||||
<script src="assets/modules/jquery.min.js"></script>
|
||||
<script src="assets/modules/popper.js"></script>
|
||||
<script src="assets/modules/tooltip.js"></script>
|
||||
<script src="assets/modules/bootstrap/js/bootstrap.min.js"></script>
|
||||
<script src="assets/modules/nicescroll/jquery.nicescroll.min.js"></script>
|
||||
<script src="assets/modules/moment.min.js"></script>
|
||||
<script src="assets/js/stisla.js"></script>
|
||||
<script src="{{asset('assets/modules/jquery.min.js')}}"></script>
|
||||
<script src="{{asset('assets/modules/popper.js')}}"></script>i
|
||||
<script src="{{asset('assets/modules/tooltip.js')}}"></script>
|
||||
<script src="{{asset('assets/modules/bootstrap/js/bootstrap.min.js')}}"></script>
|
||||
<script src="{{asset('assets/modules/nicescroll/jquery.nicescroll.min.js')}}"></script>
|
||||
<script src="{{asset('assets/modules/moment.min.js')}}"></script>
|
||||
<script src="{{asset('assets/js/stisla.js')}}"></script>
|
||||
|
||||
<!-- JS Libraies -->
|
||||
<script src="assets/modules/jquery.sparkline.min.js"></script>
|
||||
<script src="assets/modules/chart.min.js"></script>
|
||||
<script src="assets/modules/owlcarousel2/dist/owl.carousel.min.js"></script>
|
||||
<script src="assets/modules/summernote/summernote-bs4.js"></script>
|
||||
<script src="assets/modules/chocolat/dist/js/jquery.chocolat.min.js"></script>
|
||||
<script src="{{asset('assets/modules/jquery.sparkline.min.js')}}"></script>
|
||||
<script src="{{asset('assets/modules/chart.min.js')}}"></script>
|
||||
<script src="{{asset('assets/modules/owlcarousel2/dist/owl.carousel.min.js')}}"></script>
|
||||
<script src="{{asset('assets/modules/summernote/summernote-bs4.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 -->
|
||||
<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 -->
|
||||
<script src="assets/js/scripts.js"></script>
|
||||
<script src="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>
|
||||
<script src="{{asset('assets/js/scripts.js')}}"></script>
|
||||
<script src="{{asset('assets/js/custom.js')}}"></script>
|
||||
|
||||
<!-- Custom Theme Scripts -->
|
||||
<script src="../build/js/custom.min.js"></script>
|
||||
<script src="{{ asset('assets/js/main.js') }}"></script>
|
||||
|
||||
{{-- refund --}}
|
||||
|
||||
|
||||
|
||||
{{-- @include('sweetalert::alert') --}}
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
@ -9,22 +9,44 @@
|
||||
<ul class="sidebar-menu">
|
||||
<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><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> --}}
|
||||
<li><a class="nav-link" href="#"><i class="far fa-square"></i> <span>List Refund</span></a>
|
||||
<li class="drop-down ">
|
||||
<a class="nav-link" data-toggle="collapse" href="#submenuTransaction" aria-expanded="false" aria-controls="submenuTransaction">
|
||||
<i class="fas fa-columns"></i><span>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 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>
|
||||
|
||||
{{-- <div class="mt-4 mb-4 p-3 hide-sidebar-mini">
|
||||
|
377
resources/views/User/profile/index.blade.php
Normal file
377
resources/views/User/profile/index.blade.php
Normal 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
|
56
resources/views/User/refund/detail-refund.blade.php
Normal file
56
resources/views/User/refund/detail-refund.blade.php
Normal 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">×</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>
|
53
resources/views/User/refund/history-refund.blade.php
Normal file
53
resources/views/User/refund/history-refund.blade.php
Normal 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
|
74
resources/views/User/refund/refund.blade.php
Normal file
74
resources/views/User/refund/refund.blade.php
Normal 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
|
@ -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>
|
@ -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> --}}
|
@ -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>
|
@ -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
|
@ -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
|
@ -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">×</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
|
@ -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
|
116
resources/views/User/transaction/Penjual/tracking.blade.php
Normal file
116
resources/views/User/transaction/Penjual/tracking.blade.php
Normal 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">×</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 --}}
|
@ -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
|
@ -2,6 +2,7 @@
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
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) {
|
||||
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']);
|
||||
},
|
||||
);
|
||||
|
@ -12,6 +12,7 @@ use App\Models\User;
|
||||
use App\Http\Controllers\Admin\UserController;
|
||||
use App\Http\Controllers\Admin\SettingController;
|
||||
use App\Http\Controllers\Admin\TransactionController;
|
||||
use App\Http\Controllers\Login\LoginController;
|
||||
|
||||
// use Illuminate\Foundation\Auth\User;
|
||||
|
||||
@ -30,7 +31,7 @@ Route::get('/welcome', function () {
|
||||
);
|
||||
});
|
||||
Route::get('/', function () {
|
||||
return view('index',[
|
||||
return view('admin.index',[
|
||||
'name'=>'Jilhan Haura',
|
||||
"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
|
||||
});
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user