initial commit

This commit is contained in:
2026-06-06 10:05:39 +07:00
commit b22608adbc
1577 changed files with 641460 additions and 0 deletions
+235
View File
@@ -0,0 +1,235 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>WDBS</title>
<link rel="shortcut icon" type="image/jpg" href="{{ asset('main/assets/images/logos/logo.jpg') }}" />
<link rel="stylesheet" href="{{ asset('main/assets/css/styles.min.css') }}" />
<meta name="csrf-token" content="{{ csrf_token() }}">
</head>
<body class="bg-4">
<!-- Body Wrapper -->
<div class="page-wrapper" id="main-wrapper" data-layout="vertical" data-navbarbg="skin6" data-sidebartype="full"
data-sidebar-position="fixed" data-header-position="fixed">
<!-- Sidebar Start -->
<aside class="left-sidebar">
<!-- Sidebar scroll-->
<div>
<div class="brand-logo d-flex align-items-center justify-content-between">
<a href="{{ route('landing') }}" class="text-nowrap logo-img">
<img src="{{ asset('main/assets/images/logos/logo_landscape.png') }}" width="100%" alt="Logo" />
</a>
<div class="close-btn d-xl-none d-block sidebartoggler cursor-pointer" id="sidebarCollapse">
<i class="ti ti-x fs-8"></i>
</div>
</div>
<!-- Sidebar navigation-->
<nav class="sidebar-nav scroll-sidebar" data-simplebar="">
<ul id="sidebarnav">
<li class="nav-small-cap">
<i class="ti ti-dots nav-small-cap-icon fs-4"></i>
<span class="hide-menu">Home</span>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('dashboard') }}" aria-expanded="false">
<span>
<i class="ti ti-layout-dashboard"></i>
</span>
<span class="hide-menu">Dashboard</span>
</a>
</li>
<li class="nav-small-cap">
<i class="ti ti-dots nav-small-cap-icon fs-4"></i>
<span class="hide-menu">NAVIGATIONS</span>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('browse_data') }}" aria-expanded="false">
<span>
<i class="ti ti-article"></i>
</span>
<span class="hide-menu">Browse Data</span>
</a>
</li>
@if (in_array(Auth::user()->user_type, ['operator', 'admin']))
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('upload_data') }}" aria-expanded="false">
<span>
<i class="ti ti-alert-circle"></i>
</span>
<span class="hide-menu">Upload Data</span>
</a>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('my_data') }}" aria-expanded="false">
<span>
<i class="ti ti-cards"></i>
</span>
<span class="hide-menu">My Data</span>
</a>
</li>
@endif
@if (in_array(Auth::user()->user_type, ['admin']))
<li class="nav-small-cap">
<i class="ti ti-dots nav-small-cap-icon fs-4"></i>
<span class="hide-menu">ADMIN</span>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('admin_dashboard') }}" aria-expanded="false">
<span>
<i class="ti ti-file-description"></i>
</span>
<span class="hide-menu">Administrator</span>
</a>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('request_log') }}" aria-expanded="false">
<span>
<i class="ti ti-book"></i>
</span>
<span class="hide-menu">Check Data Requests</span>
</a>
</li>
@endif
</ul>
</nav>
<!-- End Sidebar navigation-->
</div>
<!-- End Sidebar scroll-->
</aside>
<!-- Sidebar End -->
<!-- Main wrapper -->
<div class="body-wrapper">
<!-- Header Start -->
<header class="app-header">
<nav class="navbar navbar-expand-lg navbar-light">
<ul class="navbar-nav">
<li class="nav-item d-block d-xl-none">
<a class="nav-link sidebartoggler nav-icon-hover" id="headerCollapse" href="javascript:void(0)">
<i class="ti ti-menu-2"></i>
</a>
</li>
</ul>
<div class="navbar-collapse justify-content-end px-0" id="navbarNav">
<ul class="navbar-nav flex-row ms-auto align-items-center justify-content-end">
<a href="{{ route('landing') }}" target="_blank" class="btn btn-primary">Landing Page</a>
<li class="nav-item dropdown">
<a class="nav-link nav-icon-hover" href="javascript:void(0)" id="drop2" data-bs-toggle="dropdown"
aria-expanded="false">
<img src="{{ asset('main/assets/images/profile/user-1.jpg') }}" alt="User Profile" width="35" height="35" class="rounded-circle">
</a>
<div class="dropdown-menu dropdown-menu-end dropdown-menu-animate-up" aria-labelledby="drop2">
<div class="message-body">
<a href="#" id="logout-link" class="btn btn-outline-primary mx-3 mt-2 d-block">Logout</a>
<form id="logout-form" method="POST" action="{{ route('logout') }}" style="display: none;">
@csrf
</form>
</div>
</div>
</li>
</ul>
</div>
</nav>
</header>
<div class="container-fluid">
@if(session('success'))
<div class="alert alert-success">
{{ session('success') }}
</div>
@endif
@if(session('error'))
<div class="alert alert-danger">
{{ session('error') }}
</div>
@endif
<h3 class="mt-4">Search Filters</h3>
<!-- Search filters -->
<form action="{{ route('admin_dashboard') }}" method="GET">
<div class="row mb-2">
<div class="col-md-3 mb-2">
<label for="role" class="form-label" style="color:#000;">Role pengguna:</label>
<select name="role" class="form-select white-theme-table">
<option value="">Semua</option>
<option value="perawat" {{ request('role') == 'perawat' ? 'selected' : '' }}>Perawat</option>
<option value="dokter" {{ request('role') == 'dokter' ? 'selected' : '' }}>Dokter</option>
<option value="ahli_bedah_mulut" {{ request('role') == 'ahli_bedah_mulut' ? 'selected' : '' }}>Ahli bedah mulut</option>
<option value="peneliti" {{ request('role') == 'peneliti' ? 'selected' : '' }}>Peneliti</option>
<option value="operator" {{ request('role') == 'operator' ? 'selected' : '' }}>Operator</option>
</select>
</div>
<div class="col-md-3 mb-2">
<label for="email" class="form-label" style="color:#000;">Email:</label>
<input type="text" name="email" class="form-control white-theme-table" placeholder="Cari berdasarkan email" value="{{ request('email') }}">
</div>
<div class="col-md-3 mb-2">
<label for="name" class="form-label" style="color:#000;">Nama:</label>
<input type="text" name="name" class="form-control white-theme-table" placeholder="Cari berdasarkan nama" value="{{ request('name') }}">
</div>
<div class="col-md-2 mb-2 align-self-end">
<button type="submit" class="btn btn-primary">Apply Filters</button>
</div>
</div>
</form>
<div id="usersTableContainer">
<table class="table table-striped">
<thead class="table-head">
<tr>
<th>User ID</th>
<th>Nama</th>
<th>E-mail</th>
<th>Tanggal Pembuatan User</th>
<th>Role</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
@foreach ($users as $user)
<tr>
<td>{{ $user->id }}</td>
<td>{{ $user->name }}</td>
<td>{{ $user->email }}</td>
<td>{{ $user->created_at }}</td>
<td>{{ $user->user_type }}</td>
<td>
<a href="{{ route('admin.editUser', ['id' => $user->id]) }}" class="btn btn-primary mb-2">Edit</a>
<form action="{{ route('delete_user', ['id' => $user->id]) }}" method="POST" style="display:inline;">
@csrf
@method('DELETE')
<button type="submit" class="btn btn-danger mb-2" onclick="return confirm('Apakah anda yakin ingin menghapus akun ini?');">Hapus</button>
</form>
</td>
</tr>
@endforeach
</tbody>
</table>
<!-- {{ $users->appends(request()->except('page'))->links() }} -->
</div>
<div class="button-container">
<a href="{{ $users->previousPageUrl() }}" class="btn btn-primary {{ $users->onFirstPage() ? 'disabled' : '' }}">Previous</a>
<a href="{{ $users->nextPageUrl() }}" class="btn btn-primary {{ !$users->hasMorePages() ? 'disabled' : '' }}">Next</a>
<a href="{{ route('new_user_form') }}" class="btn btn-primary" id="addUser">Add new user</a>
</div>
</div>
</div>
</div>
<script src="{{ asset('main/assets/libs/jquery/dist/jquery.min.js') }}"></script>
<script src="{{ asset('main/assets/libs/bootstrap/dist/js/bootstrap.bundle.min.js') }}"></script>
<script src="{{ asset('main/assets/js/sidebarmenu.js') }}"></script>
<script src="{{ asset('main/assets/js/app.min.js') }}"></script>
<script src="{{ asset('main/assets/libs/apexcharts/dist/apexcharts.min.js') }}"></script>
<script src="{{ asset('main/assets/libs/simplebar/dist/simplebar.js') }}"></script>
<script src="{{ asset('main/assets/js/dashboard.js') }}"></script>
<!-- Logout button script -->
<script>
document.getElementById('logout-link').addEventListener('click', function(event) {
event.preventDefault();
document.getElementById('logout-form').submit();
});
</script>
</body>
</html>
@@ -0,0 +1,27 @@
<x-guest-layout>
<div class="mb-4 text-sm text-gray-600">
{{ __('This is a secure area of the application. Please confirm your password before continuing.') }}
</div>
<form method="POST" action="{{ route('password.confirm') }}">
@csrf
<!-- Password -->
<div>
<x-input-label for="password" :value="__('Password')" />
<x-text-input id="password" class="block mt-1 w-full"
type="password"
name="password"
required autocomplete="current-password" />
<x-input-error :messages="$errors->get('password')" class="mt-2" />
</div>
<div class="flex justify-end mt-4">
<x-primary-button>
{{ __('Confirm') }}
</x-primary-button>
</div>
</form>
</x-guest-layout>
@@ -0,0 +1,49 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>WDBS</title>
<link rel="shortcut icon" type="image/jpg" href="{{ asset('main/assets/images/logos/logo.jpg') }}" />
<link rel="stylesheet" href="{{ asset('main/assets/css/styles.min.css') }}" />
</head>
<body>
<div class="position-relative overflow-hidden bg-login min-vh-100 d-flex align-items-center justify-content-center">
<div class="d-flex align-items-center justify-content-center w-100">
<div class="row justify-content-center w-100">
<div class="col-md-8 col-lg-6 col-xxl-3">
<div class="card mb-0">
<div class="card-body">
<div class="mb-4 text-sm text-gray-600 text-white">
{{ __('Forgot your password? No problem. Just let us know your email address and we will email you a password reset link that will allow you to choose a new one.') }}
</div>
<!-- Session Status -->
<x-auth-session-status class="mb-4" :status="session('status')" />
<form method="POST" action="{{ route('password.email') }}">
@csrf
<!-- Email Address -->
<div>
<x-input-label class="form-label" for="email" :value="__('Email')" />
<x-text-input id="email" class="block mt-1 w-full form-control white-theme" type="email" name="email" :value="old('email')" required autofocus />
<x-input-error :messages="$errors->get('email')" class="form-label" />
</div>
<div class="flex items-center justify-end mt-4">
<x-primary-button class="btn btn-primary w-100 py-8 fs-4 mb-4 rounded-2">
{{ __('Email Password Reset Link') }}
</x-primary-button>
<a href="{{ route('landing') }}"class="btn btn-primary w-100 py-8 rounded-2">Go Back
</a>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
+56
View File
@@ -0,0 +1,56 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>WDBS</title>
<link rel="shortcut icon" type="image/jpg" href="{{ asset('main/assets/images/logos/logo.jpg') }}" />
<link rel="stylesheet" href="{{ asset('main/assets/css/styles.min.css') }}" />
</head>
<body>
<div class="page-wrapper" id="main-wrapper" data-layout="vertical" data-navbarbg="skin6" data-sidebartype="full" data-sidebar-position="fixed" data-header-position="fixed">
<div class="position-relative overflow-hidden bg-login min-vh-100 d-flex align-items-center justify-content-center">
<div class="d-flex align-items-center justify-content-center w-100">
<div class="row justify-content-center w-100">
<div class="col-md-8 col-lg-6 col-xxl-3">
<div class="card mb-0">
<div class="card-body white-theme">
<a class="text-nowrap logo-img text-center d-block py-3 w-100">
<img src="{{ asset('main/assets/images/logos/logo.png') }}" width="180" alt="">
</a>
<p class="text-center">Website Penyedia Data Bibir Sumbing</p>
<form method="POST" action="{{ route('login') }}">
@csrf
<div class="mb-3">
<label for="email" class="form-label white-theme">E-Mail</label>
<input type="email" class="form-control white-theme" id="email" name="email" :value="old('email')" required autofocus>
</div>
<div class="mb-4">
<label for="password" class="form-label white-theme">Password</label>
<input type="password" class="form-control white-theme" id="password" name="password" required>
</div>
<div class="d-flex align-items-center justify-content-between mb-4">
<div class="form-check">
<input class="form-check-input primary" type="checkbox" name="remember" id="remember">
<label class="form-check-label text-dark" for="remember">
Remember this Device
</label>
</div>
@if (Route::has('password.request'))
<a class="text-primary fw-bold" href="{{ route('password.request') }}">Forgot Password?</a>
@endif
</div>
<button type="submit" class="btn btn-primary w-100 py-8 fs-4 mb-4 rounded-2">Log In</button>
<a href="{{ route('landing') }}" class="btn btn-primary w-100 py-8 fs-4 mb-4 rounded-2">Go Back</a>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="{{ asset('main/assets/libs/jquery/dist/jquery.min.js') }}"></script>
<script src="{{ asset('main/assets/libs/bootstrap/dist/js/bootstrap.bundle.min.js') }}"></script>
</body>
</html>
+52
View File
@@ -0,0 +1,52 @@
<x-guest-layout>
<form method="POST" action="{{ route('register') }}">
@csrf
<!-- Name -->
<div>
<x-input-label for="name" :value="__('Name')" />
<x-text-input id="name" class="block mt-1 w-full" type="text" name="name" :value="old('name')" required autofocus autocomplete="name" />
<x-input-error :messages="$errors->get('name')" class="mt-2" />
</div>
<!-- Email Address -->
<div class="mt-4">
<x-input-label for="email" :value="__('Email')" />
<x-text-input id="email" class="block mt-1 w-full" type="email" name="email" :value="old('email')" required autocomplete="username" />
<x-input-error :messages="$errors->get('email')" class="mt-2" />
</div>
<!-- Password -->
<div class="mt-4">
<x-input-label for="password" :value="__('Password')" />
<x-text-input id="password" class="block mt-1 w-full"
type="password"
name="password"
required autocomplete="new-password" />
<x-input-error :messages="$errors->get('password')" class="mt-2" />
</div>
<!-- Confirm Password -->
<div class="mt-4">
<x-input-label for="password_confirmation" :value="__('Confirm Password')" />
<x-text-input id="password_confirmation" class="block mt-1 w-full"
type="password"
name="password_confirmation" required autocomplete="new-password" />
<x-input-error :messages="$errors->get('password_confirmation')" class="mt-2" />
</div>
<div class="flex items-center justify-end mt-4">
<a class="underline text-sm text-gray-600 hover:text-gray-900 rounded-md focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500" href="{{ route('login') }}">
{{ __('Already registered?') }}
</a>
<x-primary-button class="ms-4">
{{ __('Register') }}
</x-primary-button>
</div>
</form>
</x-guest-layout>
@@ -0,0 +1,39 @@
<x-guest-layout>
<form method="POST" action="{{ route('password.store') }}">
@csrf
<!-- Password Reset Token -->
<input type="hidden" name="token" value="{{ $request->route('token') }}">
<!-- Email Address -->
<div>
<x-input-label for="email" :value="__('Email')" />
<x-text-input id="email" class="block mt-1 w-full" type="email" name="email" :value="old('email', $request->email)" required autofocus autocomplete="username" />
<x-input-error :messages="$errors->get('email')" class="mt-2" />
</div>
<!-- Password -->
<div class="mt-4">
<x-input-label for="password" :value="__('Password')" />
<x-text-input id="password" class="block mt-1 w-full" type="password" name="password" required autocomplete="new-password" />
<x-input-error :messages="$errors->get('password')" class="mt-2" />
</div>
<!-- Confirm Password -->
<div class="mt-4">
<x-input-label for="password_confirmation" :value="__('Confirm Password')" />
<x-text-input id="password_confirmation" class="block mt-1 w-full"
type="password"
name="password_confirmation" required autocomplete="new-password" />
<x-input-error :messages="$errors->get('password_confirmation')" class="mt-2" />
</div>
<div class="flex items-center justify-end mt-4">
<x-primary-button>
{{ __('Reset Password') }}
</x-primary-button>
</div>
</form>
</x-guest-layout>
@@ -0,0 +1,31 @@
<x-guest-layout>
<div class="mb-4 text-sm text-gray-600">
{{ __('Thanks for signing up! Before getting started, could you verify your email address by clicking on the link we just emailed to you? If you didn\'t receive the email, we will gladly send you another.') }}
</div>
@if (session('status') == 'verification-link-sent')
<div class="mb-4 font-medium text-sm text-green-600">
{{ __('A new verification link has been sent to the email address you provided during registration.') }}
</div>
@endif
<div class="mt-4 flex items-center justify-between">
<form method="POST" action="{{ route('verification.send') }}">
@csrf
<div>
<x-primary-button>
{{ __('Resend Verification Email') }}
</x-primary-button>
</div>
</form>
<form method="POST" action="{{ route('logout') }}">
@csrf
<button type="submit" class="underline text-sm text-gray-600 hover:text-gray-900 rounded-md focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500">
{{ __('Log Out') }}
</button>
</form>
</div>
</x-guest-layout>
+289
View File
@@ -0,0 +1,289 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>WDBS</title>
<link rel="shortcut icon" type="image/jpg" href="{{ asset('main/assets/images/logos/logo.jpg') }}" />
<link rel="stylesheet" href="{{ asset('main/assets/css/styles.min.css') }}" />
<meta name="csrf-token" content="{{ csrf_token() }}">
</head>
<body class="bg-1">
<!-- Body Wrapper -->
<div class="page-wrapper" id="main-wrapper" data-layout="vertical" data-navbarbg="skin6" data-sidebartype="full"
data-sidebar-position="fixed" data-header-position="fixed">
<!-- Sidebar Start -->
<aside class="left-sidebar">
<!-- Sidebar scroll-->
<div>
<div class="brand-logo d-flex align-items-center justify-content-between">
<a href="{{ route('landing') }}" class="text-nowrap logo-img">
<img src="{{ asset('main/assets/images/logos/logo_landscape.png') }}" width="100%" alt="Logo" />
</a>
<div class="close-btn d-xl-none d-block sidebartoggler cursor-pointer" id="sidebarCollapse">
<i class="ti ti-x fs-8"></i>
</div>
</div>
<!-- Sidebar navigation-->
<nav class="sidebar-nav scroll-sidebar" data-simplebar="">
<ul id="sidebarnav">
<li class="nav-small-cap">
<i class="ti ti-dots nav-small-cap-icon fs-4"></i>
<span class="hide-menu">Home</span>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('dashboard') }}" aria-expanded="false">
<span>
<i class="ti ti-layout-dashboard"></i>
</span>
<span class="hide-menu">Dashboard</span>
</a>
</li>
<li class="nav-small-cap">
<i class="ti ti-dots nav-small-cap-icon fs-4"></i>
<span class="hide-menu">NAVIGATIONS</span>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('browse_data') }}" aria-expanded="false">
<span>
<i class="ti ti-article"></i>
</span>
<span class="hide-menu">Browse Data</span>
</a>
</li>
@if (in_array(Auth::user()->user_type, ['operator', 'admin']))
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('upload_data') }}" aria-expanded="false">
<span>
<i class="ti ti-alert-circle"></i>
</span>
<span class="hide-menu">Upload Data</span>
</a>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('my_data') }}" aria-expanded="false">
<span>
<i class="ti ti-cards"></i>
</span>
<span class="hide-menu">My Data</span>
</a>
</li>
@endif
@if (in_array(Auth::user()->user_type, ['admin']))
<li class="nav-small-cap">
<i class="ti ti-dots nav-small-cap-icon fs-4"></i>
<span class="hide-menu">ADMIN</span>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('admin_dashboard') }}" aria-expanded="false">
<span>
<i class="ti ti-file-description"></i>
</span>
<span class="hide-menu">Administrator</span>
</a>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('request_log') }}" aria-expanded="false">
<span>
<i class="ti ti-book"></i>
</span>
<span class="hide-menu">Check Data Requests</span>
</a>
</li>
@endif
</ul>
</nav>
<!-- End Sidebar navigation-->
</div>
<!-- End Sidebar scroll-->
</aside>
<!-- Sidebar End -->
<!-- Main wrapper -->
<div class="body-wrapper">
<!-- Header Start -->
<header class="app-header">
<nav class="navbar navbar-expand-lg navbar-light">
<ul class="navbar-nav">
<li class="nav-item d-block d-xl-none">
<a class="nav-link sidebartoggler nav-icon-hover" id="headerCollapse" href="javascript:void(0)">
<i class="ti ti-menu-2"></i>
</a>
</li>
</ul>
<div class="navbar-collapse justify-content-end px-0" id="navbarNav">
<ul class="navbar-nav flex-row ms-auto align-items-center justify-content-end">
<a href="{{ route('landing') }}" target="_blank" class="btn btn-primary">Landing Page</a>
<li class="nav-item dropdown">
<a class="nav-link nav-icon-hover" href="javascript:void(0)" id="drop2" data-bs-toggle="dropdown"
aria-expanded="false">
<img src="{{ asset('main/assets/images/profile/user-1.jpg') }}" alt="User Profile" width="35" height="35" class="rounded-circle">
</a>
<div class="dropdown-menu dropdown-menu-end dropdown-menu-animate-up" aria-labelledby="drop2">
<div class="message-body">
<a href="#" id="logout-link" class="btn btn-outline-primary mx-3 mt-2 d-block">Logout</a>
<form id="logout-form" method="POST" action="{{ route('logout') }}" style="display: none;">
@csrf
</form>
</div>
</div>
</li>
</ul>
</div>
</nav>
</header>
<div class="container-fluid">
@if(session('success'))
<div class="alert alert-success">
{{ session('success') }}
</div>
@endif
@if(session('error'))
<div class="alert alert-danger">
{{ session('error') }}
</div>
@endif
<h3 class="mt-4">Search Filters</h3>
<!-- Search filters -->
<form action="{{ route('browse_data') }}" method="GET">
<div class="row mb-2 mt-2">
<div class="col-md-3 mb-2">
<label for="pengunggah" class="form-label" style="color:#000;">Yayasan/Pengunggah:</label>
<input type="text" name="pengunggah" class="form-control white-theme-table" placeholder="Semua" value="{{ request('pengunggah') }}">
</div>
<div class="col-md-3 mb-2">
<label for="teknik" class="form-label" style="color:#000;">Teknik operasi:</label>
<input type="text" name="teknik" class="form-control white-theme-table" placeholder="Semua" value="{{ request('teknik') }}">
</div>
<div class="col-md-2 mb-2">
<label for="gender" class="form-label" style="color:#000;">Jenis kelamin:</label>
<select name="gender" class="form-select white-theme-table">
<option value="">Semua</option>
<option value="Laki-laki" {{ request('gender') == 'Laki-laki' ? 'selected' : '' }}>Laki-laki</option>
<option value="Perempuan" {{ request('gender') == 'Perempuan' ? 'selected' : '' }}>Perempuan</option>
</select>
</div>
<div class="col-md-2 mb-2">
<label for="umur_min" class="form-label" style="color:#000;">Umur minimum:</label>
<input type="number" name="umur_min" class="form-control white-theme-table" placeholder="Tidak ada" value="{{ request('umur_min') }}">
</div>
<div class="col-md-2 mb-2">
<label for="umur_max" class="form-label" style="color:#000;">Umur maksimum:</label>
<input type="number" name="umur_max" class="form-control white-theme-table" placeholder="Tidak ada" value="{{ request('umur_max') }}">
</div>
<div class="col-md-3 mb-2">
<label for="nama_pasien" class="form-label" style="color:#000;">Nama pasien:</label>
<input type="text" name="nama_pasien" class="form-control white-theme-table" placeholder="Semua" value="{{ request('nama_pasien') }}">
</div>
<div class="col-md-2 mb-2 align-self-end">
<button type="submit" class="btn btn-primary">Apply Filters</button>
</div>
</div>
</form>
<div id="operationsTableContainer">
<table class="table table-striped">
<thead class="table-head">
<tr>
<th class="d-sm-table-cell">Nama Pasien</th>
<th class="d-none d-md-table-cell">Umur Pasien</th>
<th class="d-none d-sm-table-cell">Jenis Kelamin</th>
<th class="d-none d-md-table-cell">Tanggal Lahir</th>
<th class="d-none d-sm-table-cell">Tanggal Operasi</th>
<th class="d-sm-table-cell">Penyelenggara</th>
<th class="d-sm-table-cell">Teknik Operasi</th>
<th class="d-none d-md-table-cell">Diunggah Oleh</th>
<th class="d-sm-table-cell">Aksi</th>
</tr>
</thead>
<tbody style="--bs-table-striped-bg: #ffdaa8; border-color: #ffdaa8; --bs-table-bg: #eac28c;">
@foreach($operations as $operation)
<tr>
<td class="d-sm-table-cell">{{ $operation->nama }}</td>
<td class="d-none d-md-table-cell">{{ $operation->umur }}</td>
<td class="d-none d-sm-table-cell">{{ $operation->kelamin }}</td>
<td class="d-none d-md-table-cell">{{ $operation->tanggal_lahir }}</td>
<td class="d-none d-sm-table-cell">{{ $operation->tanggal_operasi }}</td>
<td class="d-sm-table-cell">{{ $operation->operator }}</td>
<td class="d-sm-table-cell">{{ $operation->teknikoperasi }}</td>
<td class="d-none d-md-table-cell">{{ $operation->created_by_name }}</td>
<td class="d-sm-table-cell">
<a href="{{ route('operations.show', ['id' => $operation->id]) }}" class="btn btn-primary mb-2">Lihat</a>
</td>
</tr>
@endforeach
</tbody>
</table>
<!-- {{ $operations->appends(request()->except('page'))->links() }} -->
</div>
<div class="button-container">
<a href="{{ $operations->previousPageUrl() }}" class="btn btn-primary {{ $operations->onFirstPage() ? 'disabled' : '' }}">Previous</a>
<a href="{{ $operations->nextPageUrl() }}" class="btn btn-primary {{ !$operations->hasMorePages() ? 'disabled' : '' }}">Next</a>
@php
$allDataRequest = app(App\Http\Controllers\RequestController::class)->checkAllDataRequest();
$isFiltered = request()->has('pengunggah') || request()->has('teknik') || request()->has('gender') ||
request()->has('umur_min') || request()->has('umur_max') || request()->has('nama_pasien');
@endphp
@if(!$allDataRequest)
<a href="{{ route('requests.reqall') }}" class="btn btn-primary">Request semua data</a>
@elseif($allDataRequest->status === 'Pending')
<button class="btn btn-secondary" disabled>Request Pending</button>
<a href="{{ route('cancel.all.request') }}" class="btn btn-warning">Cancel Request</a>
@elseif($allDataRequest->status === 'Rejected')
<button type="button" class="btn btn-danger" data-bs-toggle="modal" data-bs-target="#rejectionReasonModal">
Show Rejection Reason
</button>
@elseif($allDataRequest->status === 'Approved')
@if($isFiltered)
<a href="{{ route('downall', request()->all()) }}" class="btn btn-success">Download Semua Data Filtered</a>
@else
<a href="{{ route('downall') }}" class="btn btn-success">Download Semua Data</a>
@endif
@endif
@if($allDataRequest && $allDataRequest->status === 'Rejected')
<!-- Rejection Reason Modal -->
<div class="modal fade" id="rejectionReasonModal" tabindex="-1" aria-labelledby="rejectionReasonModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="rejectionReasonModalLabel">Rejection Reason</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<p id="rejectionReason">{{ $allDataRequest->keterangan }}</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
<a href="{{ route('requests.reqall') }}" class="btn btn-primary">Make New Request</a>
</div>
</div>
</div>
</div>
@endif
</div>
<div class="mt-4 mb-2">
<p>Displaying {{ $displayedCount }} out of {{ $totalCount }} matching records</p>
</div>
</div>
</div>
</div>
<script src="{{ asset('main/assets/libs/jquery/dist/jquery.min.js') }}"></script>
<script src="{{ asset('main/assets/libs/bootstrap/dist/js/bootstrap.bundle.min.js') }}"></script>
<script src="{{ asset('main/assets/js/sidebarmenu.js') }}"></script>
<script src="{{ asset('main/assets/js/app.min.js') }}"></script>
<script src="{{ asset('main/assets/libs/apexcharts/dist/apexcharts.min.js') }}"></script>
<script src="{{ asset('main/assets/libs/simplebar/dist/simplebar.js') }}"></script>
<script src="{{ asset('main/assets/js/dashboard.js') }}"></script>
<!-- Logout button script -->
<script>
document.getElementById('logout-link').addEventListener('click', function(event) {
event.preventDefault();
document.getElementById('logout-form').submit();
});
</script>
</body>
</html>
@@ -0,0 +1,3 @@
<svg viewBox="0 0 316 316" xmlns="http://www.w3.org/2000/svg" {{ $attributes }}>
<path d="M305.8 81.125C305.77 80.995 305.69 80.885 305.65 80.755C305.56 80.525 305.49 80.285 305.37 80.075C305.29 79.935 305.17 79.815 305.07 79.685C304.94 79.515 304.83 79.325 304.68 79.175C304.55 79.045 304.39 78.955 304.25 78.845C304.09 78.715 303.95 78.575 303.77 78.475L251.32 48.275C249.97 47.495 248.31 47.495 246.96 48.275L194.51 78.475C194.33 78.575 194.19 78.725 194.03 78.845C193.89 78.955 193.73 79.045 193.6 79.175C193.45 79.325 193.34 79.515 193.21 79.685C193.11 79.815 192.99 79.935 192.91 80.075C192.79 80.285 192.71 80.525 192.63 80.755C192.58 80.875 192.51 80.995 192.48 81.125C192.38 81.495 192.33 81.875 192.33 82.265V139.625L148.62 164.795V52.575C148.62 52.185 148.57 51.805 148.47 51.435C148.44 51.305 148.36 51.195 148.32 51.065C148.23 50.835 148.16 50.595 148.04 50.385C147.96 50.245 147.84 50.125 147.74 49.995C147.61 49.825 147.5 49.635 147.35 49.485C147.22 49.355 147.06 49.265 146.92 49.155C146.76 49.025 146.62 48.885 146.44 48.785L93.99 18.585C92.64 17.805 90.98 17.805 89.63 18.585L37.18 48.785C37 48.885 36.86 49.035 36.7 49.155C36.56 49.265 36.4 49.355 36.27 49.485C36.12 49.635 36.01 49.825 35.88 49.995C35.78 50.125 35.66 50.245 35.58 50.385C35.46 50.595 35.38 50.835 35.3 51.065C35.25 51.185 35.18 51.305 35.15 51.435C35.05 51.805 35 52.185 35 52.575V232.235C35 233.795 35.84 235.245 37.19 236.025L142.1 296.425C142.33 296.555 142.58 296.635 142.82 296.725C142.93 296.765 143.04 296.835 143.16 296.865C143.53 296.965 143.9 297.015 144.28 297.015C144.66 297.015 145.03 296.965 145.4 296.865C145.5 296.835 145.59 296.775 145.69 296.745C145.95 296.655 146.21 296.565 146.45 296.435L251.36 236.035C252.72 235.255 253.55 233.815 253.55 232.245V174.885L303.81 145.945C305.17 145.165 306 143.725 306 142.155V82.265C305.95 81.875 305.89 81.495 305.8 81.125ZM144.2 227.205L100.57 202.515L146.39 176.135L196.66 147.195L240.33 172.335L208.29 190.625L144.2 227.205ZM244.75 114.995V164.795L226.39 154.225L201.03 139.625V89.825L219.39 100.395L244.75 114.995ZM249.12 57.105L292.81 82.265L249.12 107.425L205.43 82.265L249.12 57.105ZM114.49 184.425L96.13 194.995V85.305L121.49 70.705L139.85 60.135V169.815L114.49 184.425ZM91.76 27.425L135.45 52.585L91.76 77.745L48.07 52.585L91.76 27.425ZM43.67 60.135L62.03 70.705L87.39 85.305V202.545V202.555V202.565C87.39 202.735 87.44 202.895 87.46 203.055C87.49 203.265 87.49 203.485 87.55 203.695V203.705C87.6 203.875 87.69 204.035 87.76 204.195C87.84 204.375 87.89 204.575 87.99 204.745C87.99 204.745 87.99 204.755 88 204.755C88.09 204.905 88.22 205.035 88.33 205.175C88.45 205.335 88.55 205.495 88.69 205.635L88.7 205.645C88.82 205.765 88.98 205.855 89.12 205.965C89.28 206.085 89.42 206.225 89.59 206.325C89.6 206.325 89.6 206.325 89.61 206.335C89.62 206.335 89.62 206.345 89.63 206.345L139.87 234.775V285.065L43.67 229.705V60.135ZM244.75 229.705L148.58 285.075V234.775L219.8 194.115L244.75 179.875V229.705ZM297.2 139.625L253.49 164.795V114.995L278.85 100.395L297.21 89.825V139.625H297.2Z"/>
</svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

@@ -0,0 +1,7 @@
@props(['status'])
@if ($status)
<div {{ $attributes->merge(['class' => 'font-medium text-sm text-green-600']) }}>
{{ $status }}
</div>
@endif
@@ -0,0 +1,3 @@
<button {{ $attributes->merge(['type' => 'submit', 'class' => 'inline-flex items-center px-4 py-2 bg-red-600 border border-transparent rounded-md font-semibold text-xs text-white uppercase tracking-widest hover:bg-red-500 active:bg-red-700 focus:outline-none focus:ring-2 focus:ring-red-500 focus:ring-offset-2 transition ease-in-out duration-150']) }}>
{{ $slot }}
</button>
@@ -0,0 +1 @@
<a {{ $attributes->merge(['class' => 'block w-full px-4 py-2 text-start text-sm leading-5 text-gray-700 hover:bg-gray-100 focus:outline-none focus:bg-gray-100 transition duration-150 ease-in-out']) }}>{{ $slot }}</a>
@@ -0,0 +1,43 @@
@props(['align' => 'right', 'width' => '48', 'contentClasses' => 'py-1 bg-white'])
@php
switch ($align) {
case 'left':
$alignmentClasses = 'ltr:origin-top-left rtl:origin-top-right start-0';
break;
case 'top':
$alignmentClasses = 'origin-top';
break;
case 'right':
default:
$alignmentClasses = 'ltr:origin-top-right rtl:origin-top-left end-0';
break;
}
switch ($width) {
case '48':
$width = 'w-48';
break;
}
@endphp
<div class="relative" x-data="{ open: false }" @click.outside="open = false" @close.stop="open = false">
<div @click="open = ! open">
{{ $trigger }}
</div>
<div x-show="open"
x-transition:enter="transition ease-out duration-200"
x-transition:enter-start="opacity-0 scale-95"
x-transition:enter-end="opacity-100 scale-100"
x-transition:leave="transition ease-in duration-75"
x-transition:leave-start="opacity-100 scale-100"
x-transition:leave-end="opacity-0 scale-95"
class="absolute z-50 mt-2 {{ $width }} rounded-md shadow-lg {{ $alignmentClasses }}"
style="display: none;"
@click="open = false">
<div class="rounded-md ring-1 ring-black ring-opacity-5 {{ $contentClasses }}">
{{ $content }}
</div>
</div>
</div>
@@ -0,0 +1,9 @@
@props(['messages'])
@if ($messages)
<ul {{ $attributes->merge(['class' => 'text-sm text-red-600 space-y-1']) }}>
@foreach ((array) $messages as $message)
<li>{{ $message }}</li>
@endforeach
</ul>
@endif
@@ -0,0 +1,5 @@
@props(['value'])
<label {{ $attributes->merge(['class' => 'block font-medium text-sm text-gray-700']) }}>
{{ $value ?? $slot }}
</label>
@@ -0,0 +1,78 @@
@props([
'name',
'show' => false,
'maxWidth' => '2xl'
])
@php
$maxWidth = [
'sm' => 'sm:max-w-sm',
'md' => 'sm:max-w-md',
'lg' => 'sm:max-w-lg',
'xl' => 'sm:max-w-xl',
'2xl' => 'sm:max-w-2xl',
][$maxWidth];
@endphp
<div
x-data="{
show: @js($show),
focusables() {
// All focusable element types...
let selector = 'a, button, input:not([type=\'hidden\']), textarea, select, details, [tabindex]:not([tabindex=\'-1\'])'
return [...$el.querySelectorAll(selector)]
// All non-disabled elements...
.filter(el => ! el.hasAttribute('disabled'))
},
firstFocusable() { return this.focusables()[0] },
lastFocusable() { return this.focusables().slice(-1)[0] },
nextFocusable() { return this.focusables()[this.nextFocusableIndex()] || this.firstFocusable() },
prevFocusable() { return this.focusables()[this.prevFocusableIndex()] || this.lastFocusable() },
nextFocusableIndex() { return (this.focusables().indexOf(document.activeElement) + 1) % (this.focusables().length + 1) },
prevFocusableIndex() { return Math.max(0, this.focusables().indexOf(document.activeElement)) -1 },
}"
x-init="$watch('show', value => {
if (value) {
document.body.classList.add('overflow-y-hidden');
{{ $attributes->has('focusable') ? 'setTimeout(() => firstFocusable().focus(), 100)' : '' }}
} else {
document.body.classList.remove('overflow-y-hidden');
}
})"
x-on:open-modal.window="$event.detail == '{{ $name }}' ? show = true : null"
x-on:close-modal.window="$event.detail == '{{ $name }}' ? show = false : null"
x-on:close.stop="show = false"
x-on:keydown.escape.window="show = false"
x-on:keydown.tab.prevent="$event.shiftKey || nextFocusable().focus()"
x-on:keydown.shift.tab.prevent="prevFocusable().focus()"
x-show="show"
class="fixed inset-0 overflow-y-auto px-4 py-6 sm:px-0 z-50"
style="display: {{ $show ? 'block' : 'none' }};"
>
<div
x-show="show"
class="fixed inset-0 transform transition-all"
x-on:click="show = false"
x-transition:enter="ease-out duration-300"
x-transition:enter-start="opacity-0"
x-transition:enter-end="opacity-100"
x-transition:leave="ease-in duration-200"
x-transition:leave-start="opacity-100"
x-transition:leave-end="opacity-0"
>
<div class="absolute inset-0 bg-gray-500 opacity-75"></div>
</div>
<div
x-show="show"
class="mb-6 bg-white rounded-lg overflow-hidden shadow-xl transform transition-all sm:w-full {{ $maxWidth }} sm:mx-auto"
x-transition:enter="ease-out duration-300"
x-transition:enter-start="opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95"
x-transition:enter-end="opacity-100 translate-y-0 sm:scale-100"
x-transition:leave="ease-in duration-200"
x-transition:leave-start="opacity-100 translate-y-0 sm:scale-100"
x-transition:leave-end="opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95"
>
{{ $slot }}
</div>
</div>
@@ -0,0 +1,11 @@
@props(['active'])
@php
$classes = ($active ?? false)
? 'inline-flex items-center px-1 pt-1 border-b-2 border-indigo-400 text-sm font-medium leading-5 text-gray-900 focus:outline-none focus:border-indigo-700 transition duration-150 ease-in-out'
: 'inline-flex items-center px-1 pt-1 border-b-2 border-transparent text-sm font-medium leading-5 text-gray-500 hover:text-gray-700 hover:border-gray-300 focus:outline-none focus:text-gray-700 focus:border-gray-300 transition duration-150 ease-in-out';
@endphp
<a {{ $attributes->merge(['class' => $classes]) }}>
{{ $slot }}
</a>
@@ -0,0 +1,3 @@
<button {{ $attributes->merge(['type' => 'submit', 'class' => 'inline-flex items-center px-4 py-2 bg-gray-800 border border-transparent rounded-md font-semibold text-xs text-white uppercase tracking-widest hover:bg-gray-700 focus:bg-gray-700 active:bg-gray-900 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2 transition ease-in-out duration-150']) }}>
{{ $slot }}
</button>
@@ -0,0 +1,11 @@
@props(['active'])
@php
$classes = ($active ?? false)
? 'block w-full ps-3 pe-4 py-2 border-l-4 border-indigo-400 text-start text-base font-medium text-indigo-700 bg-indigo-50 focus:outline-none focus:text-indigo-800 focus:bg-indigo-100 focus:border-indigo-700 transition duration-150 ease-in-out'
: 'block w-full ps-3 pe-4 py-2 border-l-4 border-transparent text-start text-base font-medium text-gray-600 hover:text-gray-800 hover:bg-gray-50 hover:border-gray-300 focus:outline-none focus:text-gray-800 focus:bg-gray-50 focus:border-gray-300 transition duration-150 ease-in-out';
@endphp
<a {{ $attributes->merge(['class' => $classes]) }}>
{{ $slot }}
</a>
@@ -0,0 +1,3 @@
<button {{ $attributes->merge(['type' => 'button', 'class' => 'inline-flex items-center px-4 py-2 bg-white border border-gray-300 rounded-md font-semibold text-xs text-gray-700 uppercase tracking-widest shadow-sm hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2 disabled:opacity-25 transition ease-in-out duration-150']) }}>
{{ $slot }}
</button>
@@ -0,0 +1,3 @@
@props(['disabled' => false])
<input {{ $disabled ? 'disabled' : '' }} {!! $attributes->merge(['class' => 'border-gray-300 focus:border-indigo-500 focus:ring-indigo-500 rounded-md shadow-sm']) !!}>
+17
View File
@@ -0,0 +1,17 @@
<x-app-layout>
<x-slot name="header">
<h2 class="font-semibold text-xl text-gray-800 leading-tight">
{{ __('Dashboard') }}
</h2>
</x-slot>
<div class="py-12">
<div class="max-w-7xl mx-auto sm:px-6 lg:px-8">
<div class="bg-white overflow-hidden shadow-sm sm:rounded-lg">
<div class="p-6 text-gray-900">
{{ __("You're logged in!") }}
</div>
</div>
</div>
</div>
</x-app-layout>
+366
View File
@@ -0,0 +1,366 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>WDBS</title>
<link rel="shortcut icon" type="image/jpg" href="{{ asset('main/assets/images/logos/logo.jpg') }}" />
<link rel="stylesheet" href="{{ asset('main/assets/css/styles.min.css') }}" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/flatpickr/dist/flatpickr.min.css">
<script src="https://cdn.jsdelivr.net/npm/flatpickr"></script>
</head>
<body class="bg-3">
<!-- Body Wrapper -->
<div class="page-wrapper" id="main-wrapper" data-layout="vertical" data-navbarbg="skin6" data-sidebartype="full"
data-sidebar-position="fixed" data-header-position="fixed">
<!-- Sidebar Start -->
<aside class="left-sidebar">
<!-- Sidebar scroll-->
<div>
<div class="brand-logo d-flex align-items-center justify-content-between">
<a href="{{ route('landing') }}" class="text-nowrap logo-img">
<img src="{{ asset('main/assets/images/logos/logo_landscape.png') }}" width="100%" alt="Logo" />
</a>
<div class="close-btn d-xl-none d-block sidebartoggler cursor-pointer" id="sidebarCollapse">
<i class="ti ti-x fs-8"></i>
</div>
</div>
<!-- Sidebar navigation-->
<nav class="sidebar-nav scroll-sidebar" data-simplebar="">
<ul id="sidebarnav">
<li class="nav-small-cap">
<i class="ti ti-dots nav-small-cap-icon fs-4"></i>
<span class="hide-menu">Home</span>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('dashboard') }}" aria-expanded="false">
<span>
<i class="ti ti-layout-dashboard"></i>
</span>
<span class="hide-menu">Dashboard</span>
</a>
</li>
<li class="nav-small-cap">
<i class="ti ti-dots nav-small-cap-icon fs-4"></i>
<span class="hide-menu">NAVIGATIONS</span>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('browse_data') }}" aria-expanded="false">
<span>
<i class="ti ti-article"></i>
</span>
<span class="hide-menu">Browse Data</span>
</a>
</li>
@if (in_array(Auth::user()->user_type, ['operator', 'admin']))
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('upload_data') }}" aria-expanded="false">
<span>
<i class="ti ti-alert-circle"></i>
</span>
<span class="hide-menu">Upload Data</span>
</a>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('my_data') }}" aria-expanded="false">
<span>
<i class="ti ti-cards"></i>
</span>
<span class="hide-menu">My Data</span>
</a>
</li>
@endif
@if (in_array(Auth::user()->user_type, ['admin']))
<li class="nav-small-cap">
<i class="ti ti-dots nav-small-cap-icon fs-4"></i>
<span class="hide-menu">ADMIN</span>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('admin_dashboard') }}" aria-expanded="false">
<span>
<i class="ti ti-file-description"></i>
</span>
<span class="hide-menu">Administrator</span>
</a>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('request_log') }}" aria-expanded="false">
<span>
<i class="ti ti-book"></i>
</span>
<span class="hide-menu">Check Data Requests</span>
</a>
</li>
@endif
</ul>
</nav>
<!-- End Sidebar navigation-->
</div>
<!-- End Sidebar scroll-->
</aside>
<!-- Sidebar End -->
<!-- Main wrapper -->
<div class="body-wrapper">
<!-- Header Start -->
<header class="app-header">
<nav class="navbar navbar-expand-lg navbar-light">
<ul class="navbar-nav">
<li class="nav-item d-block d-xl-none">
<a class="nav-link sidebartoggler nav-icon-hover" id="headerCollapse" href="javascript:void(0)">
<i class="ti ti-menu-2"></i>
</a>
</li>
</ul>
<div class="navbar-collapse justify-content-end px-0" id="navbarNav">
<ul class="navbar-nav flex-row ms-auto align-items-center justify-content-end">
<a href="{{ route('landing') }}" target="_blank" class="btn btn-primary">Landing Page</a>
<li class="nav-item dropdown">
<a class="nav-link nav-icon-hover" href="javascript:void(0)" id="drop2" data-bs-toggle="dropdown"
aria-expanded="false">
<img src="{{ asset('main/assets/images/profile/user-1.jpg') }}" alt="" width="35" height="35" class="rounded-circle">
</a>
<div class="dropdown-menu dropdown-menu-end dropdown-menu-animate-up" aria-labelledby="drop2">
<div class="message-body">
<a href="#" id="logout-link" class="btn btn-outline-primary mx-3 mt-2 d-block">Logout</a>
<form id="logout-form" method="POST" action="{{ route('logout') }}" style="display: none;">
@csrf
</form>
</div>
</div>
</li>
</ul>
</div>
</nav>
</header>
<div class="container-fluid">
@if(session('success'))
<div class="alert alert-success">
{{ session('success') }}
</div>
@endif
@if(session('error'))
<div class="alert alert-danger">
{{ session('error') }}
</div>
@endif
<div class="card card-bg" style="background-color: #ffcd87; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.8);">
<div class="card-body">
<div class="card" style="background-color: #3a4b51; box-shadow: 0 4px 8px rgba(58, 75, 81, 0.8);">
<div class="card-body">
@if (session('success'))
<div class="alert alert-success">
{{ session('success') }}
</div>
@endif
<form action="{{ route('operations.update', $operation->id) }}" method="POST" enctype="multipart/form-data">
@csrf
@method('PUT')
<div class="mb-4">
<div class="row mb-2">
<div class="col-md-4 mb-2 text-start">
<a href="{{ route('my_data') }}" class="btn btn-danger">Go Back</a>
</div>
<div class="col-md-4 mb-2 text-center">
<h5 class="card-title fw-semibold mb-4 text-center" style="font-size: 27px;">Edit Data Pasien Bibir Sumbing</h5>
</div>
<div class="col-md-4 mb-2 text-end">
<button type="submit" class="btn btn-secondary">Update</button>
</div>
</div>
</div>
<div class="row mb-3">
<!-- DATA DESKRIPSI -->
<div class="col-md-4">
<div class="mb-3">
<label class="form-label">Nama pasien</label>
<input type="text" name="nama" class="form-control" value="{{ $operation->nama }}" required>
</div>
<div class="mb-3">
<label class="form-label required-field">Tanggal Lahir</label>
<input type="date" name="tanggal_lahir" class="form-control" value="{{ $operation->tanggal_lahir }}" required>
</div>
<div class="mb-3">
<label class="form-label">Umur pasien</label>
<input type="number" name="umur" class="form-control" value="{{ $operation->umur }}" required>
</div>
<div class="mb-3">
<label class="form-label">Alamat</label>
<input type="text" name="alamat" class="form-control" value="{{ $operation->alamat }}" required>
</div>
<div class="mb-3">
<label class="form-label">Suku</label>
<input type="text" name="suku" class="form-control" value="{{ $operation->suku }}" required>
</div>
</div>
<!-- DATA DOKTER -->
<div class="col-md-4">
<div class="mb-3">
<label class="form-label">Kelainan kongenital penyerta</label>
<input type="text" name="kelainan_kongenital" class="form-control" value="{{ $operation->kelainan_kongenital }}" required>
</div>
<div class="mb-3">
<label class="form-label required-field">Tanggal Operasi</label>
<input type="date" name="tanggal_operasi" class="form-control" value="{{ $operation->tanggal_operasi }}" required>
</div>
<div class="mb-3">
<label class="form-label">Teknik operasi yang digunakan</label>
<input type="text" name="teknikoperasi" class="form-control" value="{{ $operation->teknikoperasi }}" required>
</div>
<div class="mb-3">
<label class="form-label">Nama penyelenggara</label>
<input type="text" name="operator" class="form-control" value="{{ $operation->operator }}" required>
</div>
<div class="mb-3">
<label class="form-label">Lokasi operasi</label>
<input type="text" name="lokasioperasi" class="form-control" value="{{ $operation->lokasioperasi }}" required>
</div>
</div>
<!-- DATA PENYAKIT -->
<div class="col-md-4">
<div class="mb-3">
<label class="form-label">Anak ke-berapa</label>
<input type="number" name="anak_ke" class="form-control" value="{{ $operation->anak_ke }}" required>
</div>
<div class="mb-3">
<label class="form-label">Jenis kelamin</label>
<select name="kelamin" class="form-select" required>
<option value="Laki-laki" {{ $operation->kelamin == 'Laki-laki' ? 'selected' : '' }}>Laki-laki</option>
<option value="Perempuan" {{ $operation->kelamin == 'Perempuan' ? 'selected' : '' }}>Perempuan</option>
</select>
</div>
<div class="mb-3">
<label class="form-label">Jenis kelainan cleft</label>
<select name="jenis_cleft" class="form-select" required>
<option value="sindromik" {{ $operation->jenis_cleft == 'sindromik' ? 'selected' : '' }}>Sindromik</option>
<option value="non_sindromik" {{ $operation->jenis_cleft == 'non_sindromik' ? 'selected' : '' }}>Non Sindromik</option>
</select>
</div>
<div class="mb-3">
<label class="form-label">Jenis terapi</label>
<select name="jenis_terapi" class="form-select" required>
<option value="labioplasty" {{ $operation->jenis_terapi == 'labioplasty' ? 'selected' : '' }}>Labioplasty</option>
<option value="palatoplasty" {{ $operation->jenis_terapi == 'palatoplasty' ? 'selected' : '' }}>Palatoplasty</option>
<option value="gnatoplasty" {{ $operation->jenis_terapi == 'gnatoplasty' ? 'selected' : '' }}>Gnatoplasty</option>
</select>
</div>
<div class="mb-3">
<label class="form-label">Diagnosa</label>
<select name="diagnosa" class="form-select" required>
<option value="labioschisis" {{ $operation->diagnosa == 'labioschisis' ? 'selected' : '' }}>Labioschisis</option>
<option value="palatoschisis" {{ $operation->diagnosa == 'palatoschisis' ? 'selected' : '' }}>Palatoschisis</option>
<option value="labiopalatoschisis" {{ $operation->diagnosa == 'labiopalatoschisis' ? 'selected' : '' }}>Labiopalatoschisis</option>
<option value="labiognatoschisis" {{ $operation->diagnosa == 'labiognatoschisis' ? 'selected' : '' }}>Labiognatoschisis</option>
<option value="labiopalatognatoschisis" {{ $operation->diagnosa == 'labiopalatognatoschisis' ? 'selected' : '' }}>Labiopalatognatoschisis</option>
</select>
</div>
</div>
</div>
<div class="row mb-3">
<!-- DATA PANJANG & FOTO -->
<div class="col-md-4">
<div class="mb-3">
<label class="form-label">Riwayat kehamilan ibu dari pasien</label>
<textarea name="riwayathamil" rows="6" class="form-control" required>{{ $operation->riwayathamil }}</textarea>
</div>
<div class="mb-3">
<label class="form-label">Riwayat keluarga pasien</label>
<textarea name="riwayatkeluarga" rows="6" class="form-control" required>{{ $operation->riwayatkeluarga }}</textarea>
</div>
<div class="mb-3">
<label class="form-label">Riwayat kawin kerabat</label>
<textarea name="riwayat_kawin_kerabat" rows="6" class="form-control" required>{{ $operation->riwayat_kawin_kerabat }}</textarea>
</div>
</div>
<!-- DATA PANJANG & FOTO -->
<div class="col-md-4">
<div class="mb-3">
<label class="form-label">Riwayat penyakit terdahulu</label>
<textarea name="riwayat_penyakit_terdahulu" rows="6" class="form-control" required>{{ $operation->riwayat_penyakit_terdahulu }}</textarea>
</div>
<div class="mb-3">
<label class="form-label">Follow-up</label>
<textarea name="followup" rows="6" class="form-control" required>{{ $operation->followup }}</textarea>
</div>
</div>
<!-- DATA PANJANG & FOTO -->
<div class="col-md-4">
<div class="mb-4 form-label" style="color: #c8c8c8">
<label style="color: #ffffff">Aturan unggah foto:</label>
<label>1. Ukuran harus memiliki rasio 1:1 (cth: 512x512).</label>
<label>2. Mata pasien harus ditutup / diberikan kotak hitam untuk menutupi matanya.</label>
<label>3. Muka pasien harus menghadap ke layar kamera ketika difoto.</label>
<label>4. Bibir pasien harus terlihat ketika difoto.</label>
</div>
<div class="mb-1">
<label class="form-label">Foto pre-op (awal operasi)</label>
<input type="file" name="photos_pre_op" class="form-control">
@if ($preOpPhoto)
<img src="{{ asset($preOpPhoto->gambar) }}" alt="Pre-Op Photo" style="max-width: 100px; margin-top: 10px;">
@endif
</div>
<div class="mb-1">
<label class="form-label">Foto post-op (setelah operasi)</label>
<input type="file" name="photos_post_op" class="form-control">
@if ($postOpPhoto)
<img src="{{ asset($postOpPhoto->gambar) }}" alt="Post-Op Photo" style="max-width: 100px; margin-top: 10px;">
@endif
</div>
</div>
</div>
<div class="mb-4">
<div class="row mb-2">
<div class="col-md-8">
<a href="{{ route('my_data') }}" class="btn btn-danger">Go Back</a>
</div>
<div class="col-md-4 text-end">
<button type="submit" class="btn btn-secondary">Update</button>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="{{ asset('main/assets/libs/jquery/dist/jquery.min.js') }}"></script>
<script src="{{ asset('main/assets/libs/bootstrap/dist/js/bootstrap.bundle.min.js') }}"></script>
<script src="{{ asset('main/assets/js/sidebarmenu.js') }}"></script>
<script src="{{ asset('main/assets/js/app.min.js') }}"></script>
<script src="{{ asset('main/assets/libs/apexcharts/dist/apexcharts.min.js') }}"></script>
<script src="{{ asset('main/assets/libs/simplebar/dist/simplebar.js') }}"></script>
<script src="{{ asset('main/assets/js/dashboard.js') }}"></script>
<!-- Logout button script -->
<script>
document.getElementById('logout-link').addEventListener('click', function(event) {
event.preventDefault();
document.getElementById('logout-form').submit();
});
</script>
<script>
flatpickr("input[name=tanggal_lahir]", {
dateFormat: "Y-m-d",
});
flatpickr("input[name=tanggal_operasi]", {
dateFormat: "Y-m-d",
});
</script>
</body>
</html>
+199
View File
@@ -0,0 +1,199 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>WDBS</title>
<link rel="shortcut icon" type="image/jpg" href="{{ asset('main/assets/images/logos/logo.jpg') }}" />
<link rel="stylesheet" href="{{ asset('main/assets/css/styles.min.css') }}" />
</head>
<body class="bg-4">
<div class="page-wrapper" id="main-wrapper" data-layout="vertical" data-navbarbg="skin6" data-sidebartype="full"
data-sidebar-position="fixed" data-header-position="fixed">
<aside class="left-sidebar">
<div>
<div class="brand-logo d-flex align-items-center justify-content-between">
<a href="{{ route('landing') }}" class="text-nowrap logo-img">
<img src="{{ asset('main/assets/images/logos/logo_landscape.png') }}" width=100% alt="" />
</a>
<div class="close-btn d-xl-none d-block sidebartoggler cursor-pointer" id="sidebarCollapse">
<i class="ti ti-x fs-8"></i>
</div>
</div>
<nav class="sidebar-nav scroll-sidebar" data-simplebar="">
<ul id="sidebarnav">
<li class="nav-small-cap">
<i class="ti ti-dots nav-small-cap-icon fs-4"></i>
<span class="hide-menu">Home</span>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('dashboard') }}" aria-expanded="false">
<span>
<i class="ti ti-layout-dashboard"></i>
</span>
<span class="hide-menu">Dashboard</span>
</a>
</li>
<li class="nav-small-cap">
<i class="ti ti-dots nav-small-cap-icon fs-4"></i>
<span class="hide-menu">NAVIGATIONS</span>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('browse_data') }}" aria-expanded="false">
<span>
<i class="ti ti-article"></i>
</span>
<span class="hide-menu">Browse Data</span>
</a>
</li>
@if (in_array(Auth::user()->user_type, ['operator', 'admin']))
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('upload_data') }}" aria-expanded="false">
<span>
<i class="ti ti-alert-circle"></i>
</span>
<span class="hide-menu">Upload Data</span>
</a>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('my_data') }}" aria-expanded="false">
<span>
<i class="ti ti-cards"></i>
</span>
<span class="hide-menu">My Data</span>
</a>
</li>
@endif
@if (in_array(Auth::user()->user_type, ['admin']))
<li class="nav-small-cap">
<i class="ti ti-dots nav-small-cap-icon fs-4"></i>
<span class="hide-menu">ADMIN</span>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('admin_dashboard') }}" aria-expanded="false">
<span>
<i class="ti ti-file-description"></i>
</span>
<span class="hide-menu">Administrator</span>
</a>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('request_log') }}" aria-expanded="false">
<span>
<i class="ti ti-book"></i>
</span>
<span class="hide-menu">Check Data Requests</span>
</a>
</li>
@endif
</ul>
</nav>
</div>
</aside>
<div class="body-wrapper">
<header class="app-header">
<nav class="navbar navbar-expand-lg navbar-light">
<ul class="navbar-nav">
<li class="nav-item d-block d-xl-none">
<a class="nav-link sidebartoggler nav-icon-hover" id="headerCollapse" href="javascript:void(0)">
<i class="ti ti-menu-2"></i>
</a>
</li>
</ul>
<div class="navbar-collapse justify-content-end px-0" id="navbarNav">
<ul class="navbar-nav flex-row ms-auto align-items-center justify-content-end">
<a href="{{ route('landing') }}" target="_blank" class="btn btn-primary">Landing Page</a>
<li class="nav-item dropdown">
<a class="nav-link nav-icon-hover" href="javascript:void(0)" id="drop2" data-bs-toggle="dropdown"
aria-expanded="false">
<img src="{{ asset('main/assets/images/profile/user-1.jpg') }}" alt="" width="35" height="35" class="rounded-circle">
</a>
<div class="dropdown-menu dropdown-menu-end dropdown-menu-animate-up" aria-labelledby="drop2">
<div class="message-body">
<a href="#" id="logout-link" class="btn btn-outline-primary mx-3 mt-2 d-block">Logout</a>
<form id="logout-form" method="POST" action="{{ route('logout') }}" style="display: none;">
@csrf
</form>
</div>
</div>
</li>
</ul>
</div>
</nav>
</header>
<div class="container-fluid">
@if(session('success'))
<div class="alert alert-success">
{{ session('success') }}
</div>
@endif
@if(session('error'))
<div class="alert alert-danger">
{{ session('error') }}
</div>
@endif
<div class="card" style="background-color: #ffcd87; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.8);">
<div class="card-body">
<div class="card" style="background-color: #3a4b51; box-shadow: 0 4px 8px rgba(58, 75, 81, 0.8);">
<div class="card-body">
<h5 class="card-title fw-semibold mb-4">Edit User</h5>
<form method="POST" action="{{ route('admin.updateUser', $user->id) }}">
@csrf
@method('PUT')
<div class="mb-3">
<label for="name" class="form-label">Nama pengguna</label>
<input id="name" type="text" name="name" class="form-control" value="{{ $user->name }}" required>
</div>
<div class="mb-3">
<label for="email" class="form-label">E-Mail</label>
<input id="email" type="email" name="email" class="form-control" value="{{ $user->email }}" required>
</div>
<div class="mb-3">
<label for="password" class="form-label">Password</label>
<input id="password" type="password" name="password" class="form-control">
<small class="form-text text-muted">Leave blank to keep current password.</small>
</div>
<div class="mb-3">
<label for="password_confirmation" class="form-label">Konfirmasi Password</label>
<input id="password_confirmation" type="password" name="password_confirmation" class="form-control">
</div>
<div class="mb-3">
<label for="role" class="form-label">Role</label>
<select id="role" name="user_type" class="form-select" required>
<option value="perawat" {{ $user->user_type == 'perawat' ? 'selected' : '' }}>Perawat</option>
<option value="dokter" {{ $user->user_type == 'dokter' ? 'selected' : '' }}>Dokter</option>
<option value="ahli_bedah_mulut" {{ $user->user_type == 'ahli_bedah_mulut' ? 'selected' : '' }}>Ahli bedah mulut</option>
<option value="peneliti" {{ $user->user_type == 'peneliti' ? 'selected' : '' }}>Peneliti</option>
<option value="operator" {{ $user->user_type == 'operator' ? 'selected' : '' }}>Operator</option>
</select>
</div>
<input type="hidden" name="updated_by" value="{{ auth()->user()->id }}">
<button type="submit" class="btn btn-secondary">Update</button>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="{{ asset('main/assets/libs/jquery/dist/jquery.min.js') }}"></script>
<script src="{{ asset('main/assets/libs/bootstrap/dist/js/bootstrap.bundle.min.js') }}"></script>
<script src="{{ asset('main/assets/js/sidebarmenu.js') }}"></script>
<script src="{{ asset('main/assets/js/app.min.js') }}"></script>
<script src="{{ asset('main/assets/libs/apexcharts/dist/apexcharts.min.js') }}"></script>
<script src="{{ asset('main/assets/libs/simplebar/dist/simplebar.js') }}"></script>
<script src="{{ asset('main/assets/js/dashboard.js') }}"></script>
<script>
document.getElementById('logout-link').addEventListener('click', function(event) {
event.preventDefault();
document.getElementById('logout-form').submit();
});
</script>
</body>
</html>
+290
View File
@@ -0,0 +1,290 @@
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>WDBS</title>
<meta name="description" content="WDBS"/>
<!--vendors styles-->
<link rel="stylesheet" href="{{ asset('landingpage/css/font-awesome.min.css') }}" id="theme-color">
<link rel="stylesheet" href="{{ asset('landingpage/css/slick.min.css') }}" id="theme-color">
<link rel="stylesheet" href="{{ asset('landingpage/css/slick-theme.min.css') }}" id="theme-color">
<link rel="shortcut icon" type="image/jpg" href="{{ asset('main/assets/images/logos/logo.jpg') }}" />
<!-- Bootstrap CSS / Color Scheme -->
<link rel="stylesheet" href="{{ asset('landingpage/css/default.css') }}" id="theme-color">
</head>
<body>
<!--navigation-->
<section class="smart-scroll">
<div class="container-fluid">
<nav class="navbar navbar-expand-md navbar-dark">
<button class="navbar-toggler navbar-toggler-right border-0" type="button" data-toggle="collapse"
data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false"
aria-label="Toggle navigation">
<span data-feather="grid"></span>
</button>
<div class="collapse navbar-collapse" id="navbarCollapse">
<ul class="navbar-nav ml-auto">
<li class="nav-item">
<a class="nav-link page-scroll" href="#features">Features</a>
</li>
<li class="nav-item">
<a class="nav-link page-scroll" href="#faq">FAQ</a>
</li>
<li class="nav-item">
<a class="nav-link page-scroll" href="#blog">News</a>
</li>
<li class="nav-item">
<a class="nav-link page-scroll d-flex flex-row align-items-center" href="{{ route('login') }}">
Login
</a>
</li>
</ul>
</div>
</nav>
</div>
</section>
<!--hero header-->
<section class="py-7 py-md-0 bg-hero" id="home">
<div class="container">
<div class="row vh-md-100">
<div class="col-md-8 col-sm-10 col-12 mx-auto my-auto text-center">
<h1 class="heading-black text-capitalize" style="color: #0c045a;">Website Penyedia Data Kasus Bibir Sumbing Indonesia</h1>
<p class="lead py-3" style="color: #7b89cd">Bibir sumbing adalah kelainan bawaan yang terjadi saat bibir atau langit-langit
mulut bayi tidak sepenuhnya terbentuk selama perkembangan embrio. Bibir sumbing dapat mempengaruhi
fungsi bicara dan makan, serta memerlukan perawatan medis seperti operasi untuk diperbaiki.</p>
<a class="btn btn-primary d-inline-flex flex-row align-items-center" href="{{ route('login') }}" style="background-color: #fdd8ad; color: #000; box-shadow: 0 0 0 0.2rem rgba(0, 0, 0, 0.5); border-color: #fdd8ad;">
<em class="mr-2" data-feather="log-in" width="18" height="18"></em>
Login
</a>
</div>
</div>
</div>
</section>
<!-- features section -->
<section class="pt-6 pb-7 bg-2" id="features">
<div class="container">
<div class="row">
<div class="col-md-8 mr-auto text-left">
<h2 class="heading-black">Data Lengkap dan Tepat</h2>
<p class="text-muted lead">Data yang disediakan adalah data-data yang tepat dan layak digunakan untuk
meningkatkan kebijakan dalam menangani pasien yang memiliki bibir sumbing. Beberapa jenis data bibir sumbing yang kami berikan yaitu:</p>
</div>
</div>
<div class="row mt-5">
<div class="col-md-8 mr-auto text-left" style="color: #000;">
<div class="row feature-boxes text-left">
<div class="col-md-5 box text-center">
<div class="icon-box box-danger">
<div class="icon-box-inner">
<span data-feather="file" width="35" height="35"></span>
</div>
</div>
<h5>Data Pasien</h5>
<p class="text-muted">Data ini meliputi nama, usia, jenis kelamin, anak keberapa, dll.</p>
</div>
<div class="col-md-5 box text-center">
<div class="icon-box box-primary">
<div class="icon-box-inner">
<span data-feather="image" width="35" height="35"></span>
</div>
</div>
<h5>Data Foto Klinis</h5>
<p class="text-muted">Data ini meliputi foto pre-op, in-op, dan post-op dari pasien bibir sumbing.</p>
</div>
<div class="col-md-5 box text-center">
<div class="icon-box box-primary">
<div class="icon-box-inner">
<span data-feather="layout" width="35" height="35"></span>
</div>
</div>
<h5>Data Operasi</h5>
<p class="text-muted">Data ini meliputi nama operator, teknik operasi yang digunakan, lokasi operasi, dll.</p>
</div>
<div class="col-md-5 box text-center">
<div class="icon-box box-danger">
<div class="icon-box-inner">
<span data-feather="edit-3" width="35" height="35"></span>
</div>
</div>
<h5>Riwayat Kesehatan</h5>
<p class="text-muted">Data ini meliputi riwayat keluarga pasien, riwayat kehamilan ibu, dll.</p>
</div>
</div>
</div>
</div>
</div>
</section>
<!--faq section-->
<section class="py-7 bg-3" id="faq">
<div class="container">
<div class="row">
<div class="col-md-6 ml-auto text-right">
<h2>Frequently asked questions</h2>
<p class="text-muted lead">Berikut adalah jawaban dari beberapa FAQ.</p>
</div>
</div>
<div class="row mt-5">
<div class="col-md-5 ml-auto">
<div class="row">
<div class="col-md-6 mb-5">
<h6>Bagaimana cara untuk berkontribusi data?</h6>
<p class="text-muted">Pertama, pastikan anda telah memiliki akun. Lalu, data dapat diberikan kepada panitia untuk dilakukan verifikasi terlebih dahulu. Setelah proses verifikasi selesai, maka operator akan publish data anda ke website.</p>
</div>
<div class="col-md-6 mb-5">
<h6>Bagaimana cara mengakses data?</h6>
<p class="text-muted">Untuk mengakses data, maka anda harus login menggunakan akun anda. Jika belum memiliki akun, anda perlu mendaftar terlebih dahulu.</p>
</div>
<div class="col-md-6 mb-5">
<h6>Bagaimana cara mendaftar akun?</h6>
<p class="text-muted">Untuk melakukan pendaftaran, anda harus kontak pihak administrasi kami. Selain itu, anda perlu mengisi formulir pendaftaran sesuai yang diminta oleh pihak administrasi.</p>
</div>
<div class="col-md-6 mb-5">
<h6>Apa saja yang diberikan untuk pengguna biasa?</h6>
<p class="text-muted">Pengguna biasa hanya dapat melihat data-data kasus bibir sumbing pasien.</p>
</div>
</div>
</div>
</div>
<div class="row mt-4">
<div class="col-md-6 mx-auto text-center" style="color: #003346;">
<h5 class="mb-4">Ingin bertanya langsung?</h5>
<a href="#" class="btn btn-primary">Kontak Kami</a>
</div>
</div>
</div>
</section>
<!--news section-->
<section class="py-7 bg-4" id="blog">
<div class="container">
<div class="row">
<div class="col-md-7 mx-auto text-center">
<h2 class="heading-black" style="color: #002a64;">Berita Terbaru</h2>
<p class="lead" style="color: #375681;">Lihat berita-berita atau penelitian terbaru terkait bibir sumbing.</p>
</div>
</div>
<div class="row mt-5">
<div class="col-md-4">
<div class="card">
<a href="#">
<img class="card-img-top img-raised" src="{{ asset('landingpage/img/blog-1.png') }}" alt="Blog 1">
</a>
<div class="card-body">
<a href="https://www.sciencedirect.com/science/article/pii/S0901502723001947" target="_blank" class="card-title mb-2"><h5>Healthcare use and direct medical costs in a cleft lip and palate population: an analysis of observed and protocolized care and costs</h5></a>
<p class="small-xl mb-2">April 2024</p>
<p class="card-text">Studi ini menganalisis pemanfaatan layanan kesehatan dan biaya untuk
pasien dengan bibir sumbing dan langit-langit sumbing unilateral, menunjukkan bahwa
biaya yang diamati melebihi biaya protokol yang diharapkan karena prosedur opsional,
dengan rawat inap dan operasi menjadi penyebab biaya utama, dan menerapkan Standar Set ICHOM
mengakibatkan peningkatan 7% dalam biaya berbasis protokol.
</div>
</div>
</div>
<div class="col-md-4">
<div class="card">
<a href="#">
<img class="card-img-top img-raised" src="{{ asset('landingpage/img/blog-2.png') }}" alt="Blog 2">
</a>
<div class="card-body">
<a href="https://www.sciencedirect.com/science/article/pii/S0901502724000973" target="_blank" class="card-title mb-2"><h5>Comparison of two surgical protocols for the treatment of unilateral cleft lip and palate: a multidisciplinary systematic review and meta-analysis</h5></a>
<p class="small-xl mb-2">April 2024</p>
<p class="card-text">Studi ini membandingkan hasil pasien dari protokol Oslo dengan
protokol penutupan palatal keras tertunda untuk bibir sumbing unilateral, menunjukkan
bahwa meskipun hasil sagital maksilofasial jangka panjang serupa, protokol Oslo cenderung
memiliki tingkat yang lebih rendah dari fistula oronasal, dengan hasil secara keseluruhan
mendukung protokol Oslo.
</div>
</div>
</div>
<div class="col-md-4">
<div class="card">
<a href="#">
<img class="card-img-top img-raised" src="{{ asset('landingpage/img/blog-3.png') }}" alt="Blog 3">
</a>
<div class="card-body">
<a href="https://www.sciencedirect.com/science/article/pii/S2319417023000641" target="_blank" class="card-title mb-2"><h5>LAMA5: A new pathogenic gene for non-syndromic cleft lip with or without cleft palate</h5></a>
<p class="small-xl mb-2">April 2024</p>
<p class="card-text">Studi ini menunjukkan bahwa penurunan ekspresi LAMA5 menyebabkan celah
palatal pada mencit dengan menghambat proliferasi sel palatal dan mempromosikan apoptosis,
serta mungkin tidak terlibat dalam EMT, sementara juga mengganggu jalur sinyal SHH.
</div>
</div>
</div>
</div>
</div>
</section>
<!--footer-->
<footer class="py-6" style="color: #003245;">
<div class="container">
<div class="row">
<div class="col-sm-5 mr-auto">
<h5>About Us</h5>
<p class="text-muted">Penyedia data kasus bibir sumbing.</p>
<ul class="list-inline social social-sm">
<li class="list-inline-item">
<a href=""><i class="fa fa-facebook"></i></a>
</li>
<li class="list-inline-item">
<a href=""><i class="fa fa-twitter"></i></a>
</li>
<li class="list-inline-item">
<a href=""><i class="fa fa-google-plus"></i></a>
</li>
<li class="list-inline-item">
<a href=""><i class="fa fa-dribbble"></i></a>
</li>
</ul>
</div>
<div class="col-sm-2">
<h5>Partner</h5>
<ul class="list-unstyled">
<li><a href="#">Affiliates</a></li>
</ul>
</div>
<div class="col-sm-2">
<h5>Legal</h5>
<ul class="list-unstyled">
<li><a href="#">Privacy</a></li>
<li><a href="#">Terms</a></li>
</ul>
</div>
<div class="col-sm-2">
<h5>Help</h5>
<ul class="list-unstyled">
<li><a href="#">Support</a></li>
<li><a href="#">Log in</a></li>
</ul>
</div>
</div>
</div>
</footer>
<!--scroll to top-->
<div class="scroll-top">
<i class="fa fa-angle-up" aria-hidden="true"></i>
</div>
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<!-- <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script>
<script src="https://maxcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/feather-icons/4.7.3/feather.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.js"></script> -->
<script src="{{ asset('landingpage/js/jquery-3.2.1.min.js') }}"></script>
<script src="{{ asset('landingpage/js/popper.min.js') }}"></script>
<script src="{{ asset('landingpage/js/bootstrap.min.js') }}"></script>
<script src="{{ asset('landingpage/js/feather.min.js') }}"></script>
<script src="{{ asset('landingpage/js/slick.min.js') }}"></script>
<script src="{{ asset('landingpage/js/scripts.js') }}"></script>
</body>
</html>
+36
View File
@@ -0,0 +1,36 @@
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>{{ config('app.name', 'Laravel') }}</title>
<!-- Fonts -->
<link rel="preconnect" href="https://fonts.bunny.net">
<link href="https://fonts.bunny.net/css?family=figtree:400,500,600&display=swap" rel="stylesheet" />
<!-- Scripts -->
@vite(['resources/css/app.css', 'resources/js/app.js'])
</head>
<body class="font-sans antialiased">
<div class="min-h-screen bg-gray-100">
@include('layouts.navigation')
<!-- Page Heading -->
@isset($header)
<header class="bg-white shadow">
<div class="max-w-7xl mx-auto py-6 px-4 sm:px-6 lg:px-8">
{{ $header }}
</div>
</header>
@endisset
<!-- Page Content -->
<main>
{{ $slot }}
</main>
</div>
</body>
</html>
+30
View File
@@ -0,0 +1,30 @@
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>{{ config('app.name', 'Laravel') }}</title>
<!-- Fonts -->
<link rel="preconnect" href="https://fonts.bunny.net">
<link href="https://fonts.bunny.net/css?family=figtree:400,500,600&display=swap" rel="stylesheet" />
<!-- Scripts -->
@vite(['resources/css/app.css', 'resources/js/app.js'])
</head>
<body class="font-sans text-gray-900 antialiased">
<div class="min-h-screen flex flex-col sm:justify-center items-center pt-6 sm:pt-0 bg-gray-100">
<div>
<a href="/">
<x-application-logo class="w-20 h-20 fill-current text-gray-500" />
</a>
</div>
<div class="w-full sm:max-w-md mt-6 px-6 py-4 bg-white shadow-md overflow-hidden sm:rounded-lg">
{{ $slot }}
</div>
</div>
</body>
</html>
@@ -0,0 +1,100 @@
<nav x-data="{ open: false }" class="bg-white border-b border-gray-100">
<!-- Primary Navigation Menu -->
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="flex justify-between h-16">
<div class="flex">
<!-- Logo -->
<div class="shrink-0 flex items-center">
<a href="{{ route('dashboard') }}">
<x-application-logo class="block h-9 w-auto fill-current text-gray-800" />
</a>
</div>
<!-- Navigation Links -->
<div class="hidden space-x-8 sm:-my-px sm:ms-10 sm:flex">
<x-nav-link :href="route('dashboard')" :active="request()->routeIs('dashboard')">
{{ __('Dashboard') }}
</x-nav-link>
</div>
</div>
<!-- Settings Dropdown -->
<div class="hidden sm:flex sm:items-center sm:ms-6">
<x-dropdown align="right" width="48">
<x-slot name="trigger">
<button class="inline-flex items-center px-3 py-2 border border-transparent text-sm leading-4 font-medium rounded-md text-gray-500 bg-white hover:text-gray-700 focus:outline-none transition ease-in-out duration-150">
<div>{{ Auth::user()->name }}</div>
<div class="ms-1">
<svg class="fill-current h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20">
<path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd" />
</svg>
</div>
</button>
</x-slot>
<x-slot name="content">
<x-dropdown-link :href="route('profile.edit')">
{{ __('Profile') }}
</x-dropdown-link>
<!-- Authentication -->
<form method="POST" action="{{ route('logout') }}">
@csrf
<x-dropdown-link :href="route('logout')"
onclick="event.preventDefault();
this.closest('form').submit();">
{{ __('Log Out') }}
</x-dropdown-link>
</form>
</x-slot>
</x-dropdown>
</div>
<!-- Hamburger -->
<div class="-me-2 flex items-center sm:hidden">
<button @click="open = ! open" class="inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-gray-500 hover:bg-gray-100 focus:outline-none focus:bg-gray-100 focus:text-gray-500 transition duration-150 ease-in-out">
<svg class="h-6 w-6" stroke="currentColor" fill="none" viewBox="0 0 24 24">
<path :class="{'hidden': open, 'inline-flex': ! open }" class="inline-flex" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16" />
<path :class="{'hidden': ! open, 'inline-flex': open }" class="hidden" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</button>
</div>
</div>
</div>
<!-- Responsive Navigation Menu -->
<div :class="{'block': open, 'hidden': ! open}" class="hidden sm:hidden">
<div class="pt-2 pb-3 space-y-1">
<x-responsive-nav-link :href="route('dashboard')" :active="request()->routeIs('dashboard')">
{{ __('Dashboard') }}
</x-responsive-nav-link>
</div>
<!-- Responsive Settings Options -->
<div class="pt-4 pb-1 border-t border-gray-200">
<div class="px-4">
<div class="font-medium text-base text-gray-800">{{ Auth::user()->name }}</div>
<div class="font-medium text-sm text-gray-500">{{ Auth::user()->email }}</div>
</div>
<div class="mt-3 space-y-1">
<x-responsive-nav-link :href="route('profile.edit')">
{{ __('Profile') }}
</x-responsive-nav-link>
<!-- Authentication -->
<form method="POST" action="{{ route('logout') }}">
@csrf
<x-responsive-nav-link :href="route('logout')"
onclick="event.preventDefault();
this.closest('form').submit();">
{{ __('Log Out') }}
</x-responsive-nav-link>
</form>
</div>
</div>
</div>
</nav>
+245
View File
@@ -0,0 +1,245 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>WDBS</title>
<link rel="shortcut icon" type="image/jpg" href="{{ asset('main/assets/images/logos/logo.jpg') }}" />
<link rel="stylesheet" href="{{ asset('main/assets/css/styles.min.css') }}" />
</head>
<body class="bg-2">
<!-- Body Wrapper -->
<div class="page-wrapper" id="main-wrapper" data-layout="vertical" data-navbarbg="skin6" data-sidebartype="full"
data-sidebar-position="fixed" data-header-position="fixed">
<!-- Sidebar Start -->
<aside class="left-sidebar">
<!-- Sidebar scroll-->
<div>
<div class="brand-logo d-flex align-items-center justify-content-between">
<a href="{{ route('landing') }}" class="text-nowrap logo-img">
<img src="{{ asset('main/assets/images/logos/logo_landscape.png') }}" width="100%" alt="" />
</a>
<div class="close-btn d-xl-none d-block sidebartoggler cursor-pointer" id="sidebarCollapse">
<i class="ti ti-x fs-8"></i>
</div>
</div>
<!-- Sidebar navigation-->
<nav class="sidebar-nav scroll-sidebar" data-simplebar="">
<ul id="sidebarnav">
<li class="nav-small-cap">
<i class="ti ti-dots nav-small-cap-icon fs-4"></i>
<span class="hide-menu">Home</span>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('dashboard') }}" aria-expanded="false">
<span>
<i class="ti ti-layout-dashboard"></i>
</span>
<span class="hide-menu">Dashboard</span>
</a>
</li>
<li class="nav-small-cap">
<i class="ti ti-dots nav-small-cap-icon fs-4"></i>
<span class="hide-menu">NAVIGATIONS</span>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('browse_data') }}" aria-expanded="false">
<span>
<i class="ti ti-article"></i>
</span>
<span class="hide-menu">Browse Data</span>
</a>
</li>
@if (in_array(Auth::user()->user_type, ['operator', 'admin']))
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('upload_data') }}" aria-expanded="false">
<span>
<i class="ti ti-alert-circle"></i>
</span>
<span class="hide-menu">Upload Data</span>
</a>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('my_data') }}" aria-expanded="false">
<span>
<i class="ti ti-cards"></i>
</span>
<span class="hide-menu">My Data</span>
</a>
</li>
@endif
@if (in_array(Auth::user()->user_type, ['admin']))
<li class="nav-small-cap">
<i class="ti ti-dots nav-small-cap-icon fs-4"></i>
<span class="hide-menu">ADMIN</span>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('admin_dashboard') }}" aria-expanded="false">
<span>
<i class="ti ti-file-description"></i>
</span>
<span class="hide-menu">Administrator</span>
</a>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('request_log') }}" aria-expanded="false">
<span>
<i class="ti ti-book"></i>
</span>
<span class="hide-menu">Check Data Requests</span>
</a>
</li>
@endif
</ul>
</nav>
<!-- End Sidebar navigation -->
</div>
<!-- End Sidebar scroll-->
</aside>
<!-- Sidebar End -->
<!-- Main wrapper -->
<div class="body-wrapper">
<!-- Header Start -->
<header class="app-header">
<nav class="navbar navbar-expand-lg navbar-light">
<ul class="navbar-nav">
<li class="nav-item d-block d-xl-none">
<a class="nav-link sidebartoggler nav-icon-hover" id="headerCollapse" href="javascript:void(0)">
<i class="ti ti-menu-2"></i>
</a>
</li>
</ul>
<div class="navbar-collapse justify-content-end px-0" id="navbarNav">
<ul class="navbar-nav flex-row ms-auto align-items-center justify-content-end">
<a href="{{ route('landing') }}" target="_blank" class="btn btn-primary">Landing Page</a>
<li class="nav-item dropdown">
<a class="nav-link nav-icon-hover" href="javascript:void(0)" id="drop2" data-bs-toggle="dropdown"
aria-expanded="false">
<img src="{{ asset('main/assets/images/profile/user-1.jpg') }}" alt="" width="35" height="35" class="rounded-circle">
</a>
<div class="dropdown-menu dropdown-menu-end dropdown-menu-animate-up" aria-labelledby="drop2">
<div class="message-body">
<a href="#" id="logout-link" class="btn btn-outline-primary mx-3 mt-2 d-block">Logout</a>
<form id="logout-form" method="POST" action="{{ route('logout') }}" style="display: none;">
@csrf
</form>
</div>
</div>
</li>
</ul>
</div>
</nav>
</header>
<!-- Header End -->
<div class="container-fluid">
<!-- Row 1 -->
<div class="row">
<div class="col-lg-6 d-flex align-items-stretch">
<div class="card w-100" style="background-color: #07395a; box-shadow: 0 4px 8px rgba(7, 57, 90, 0.8);">
<div class="card-body">
<div class="d-sm-flex d-block align-items-center justify-content-between mb-9">
<div class="mb-3 mb-sm-0">
<h5 class="card-title fw-semibold">Total pengguna: <span id="total_data_users_by_role"></span></h5>
</div>
</div>
<div id="users_by_role"></div>
</div>
</div>
</div>
<div class="col-lg-6">
<div class="row">
<div class="card overflow-hidden" style="background-color: #134865; box-shadow: 0 4px 8px rgba(7, 57, 90, 0.8);">
<div class="card-body p-4">
<h5 class="card-title mb-9 fw-semibold">Data pasien berdasarkan jenis terapi</h5>
<div class="row align-items-center">
<div class="text-white col-8">
<h4 class="text-white fw-semibold mb-3" id="total_data_jenis_terapi"></h4>
<div class="d-flex align-items-center">
<p class="fs-3 mb-0">Keterangan:</p>
</div>
<div class="d-flex align-items-center">
<div class="me-6">
<span class="round-8 rounded-circle me-2 d-inline-block" style="background-color: #ffcf8f;"></span>
<span class="fs-2">Labioplasty: </span>
<span id="labioplastyValue"></span>
</div>
<div class="me-6">
<span class="round-8 rounded-circle me-2 d-inline-block" style="background-color: #ff9764;"></span>
<span class="fs-2">Palatoplasty: </span>
<span id="palatoplastyValue"></span>
</div>
<div class="me-6">
<span class="round-8 rounded-circle me-2 d-inline-block" style="background-color: #ffb234;"></span>
<span class="fs-2">Gnatoplasty: </span>
<span id="gnatoplastyValue"></span>
</div>
</div>
</div>
<div class="col-4">
<div class="d-flex justify-content-center">
<div id="data_jenis_terapi"></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="card overflow-hidden" style="background-color: #193a4c; box-shadow: 0 4px 8px rgba(7, 57, 90, 0.8);">
<div class="card-body p-4">
<h5 class="card-title mb-9 fw-semibold">Data pasien berdasarkan jenis kelamin</h5>
<div class="row align-items-center">
<div class="text-white col-8">
<h4 class="text-white fw-semibold mb-3" id="total_data_jenis_kelamin"></h4>
<div class="d-flex align-items-center">
<p class="fs-3 mb-0">Keterangan:</p>
</div>
<div class="d-flex align-items-center">
<div class="me-4">
<span class="round-8 rounded-circle me-2 d-inline-block" style="background-color: #4693ff;"></span>
<span class="fs-2">Laki-Laki: </span>
<span id="maleValue"></span>
</div>
<div class="me-4">
<span class="round-8 rounded-circle me-2 d-inline-block" style="background-color: #e680ff;"></span>
<span class="fs-2">Perempuan: </span>
<span id="femaleValue"></span>
</div>
</div>
</div>
<div class="col-4">
<div class="d-flex justify-content-center">
<div id="data_jenis_kelamin"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="{{ asset('main/assets/libs/jquery/dist/jquery.min.js') }}"></script>
<script src="{{ asset('main/assets/libs/bootstrap/dist/js/bootstrap.bundle.min.js') }}"></script>
<script src="{{ asset('main/assets/js/sidebarmenu.js') }}"></script>
<script src="{{ asset('main/assets/js/app.min.js') }}"></script>
<script src="{{ asset('main/assets/libs/apexcharts/dist/apexcharts.min.js') }}"></script>
<script src="{{ asset('main/assets/libs/simplebar/dist/simplebar.js') }}"></script>
<script src="{{ asset('main/assets/js/dashboard-data.js') }}"></script>
<!-- Logout button script -->
<script>
document.getElementById('logout-link').addEventListener('click', function(event) {
event.preventDefault();
document.getElementById('logout-form').submit();
});
</script>
</body>
</html>
+62
View File
@@ -0,0 +1,62 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>WDBS</title>
<link rel="shortcut icon" type="image/jpg" href="{{ asset('main/assets/images/logos/logo.jpg') }}" />
<link rel="stylesheet" href="{{ asset('main/assets/css/styles.min.css') }}" />
</head>
<body>
<!-- Body Wrapper -->
<div class="page-wrapper" id="main-wrapper" data-layout="vertical" data-navbarbg="skin6" data-sidebartype="full"
data-sidebar-position="fixed" data-header-position="fixed">
<div
class="position-relative overflow-hidden radial-gradient min-vh-100 d-flex align-items-center justify-content-center">
<div class="d-flex align-items-center justify-content-center w-100">
<div class="row justify-content-center w-100">
<div class="col-md-8 col-lg-6 col-xxl-3">
<div class="card mb-0">
<div class="card-body-white">
<a href="{{ route('landing') }}" class="text-nowrap logo-img text-center d-block py-3 w-100">
<img src="{{ asset('main/assets/images/logos/logo.png') }}" width="180" alt="">
</a>
<p class="text-center">Website Penyedia Data Bibir Sumbing</p>
<form>
<div class="mb-3">
<label for="exampleInputEmail1" class="form-label">E-mail</label>
<input type="email" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp">
</div>
<div class="mb-4">
<label for="exampleInputPassword1" class="form-label">Password</label>
<input type="password" class="form-control" id="exampleInputPassword1">
</div>
<!-- <div class="d-flex align-items-center justify-content-between mb-4">
<div class="form-check">
<input class="form-check-input primary" type="checkbox" value="" id="flexCheckChecked" checked>
<label class="form-check-label text-dark" for="flexCheckChecked">
Remember this Device
</label>
</div>
<a class="text-primary fw-bold" href="{{ route('landing') }}">Forgot Password ?</a>
</div> -->
<a href="{{ route('dashboard') }}" class="btn btn-primary w-100 py-8 fs-4 mb-4 rounded-2">Sign In</a>
<!-- <div class="d-flex align-items-center justify-content-center">
<p class="fs-4 mb-0 fw-bold">New to Modernize?</p>
<a class="text-primary fw-bold ms-2" href="./authentication-register.html">Create an account</a>
</div> -->
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="{{ asset('main/assets/libs/jquery/dist/jquery.min.js') }}"></script>
<script src="{{ asset('main/assets/libs/bootstrap/dist/js/bootstrap.bundle.min.js') }}"></script>
</body>
</html>
+242
View File
@@ -0,0 +1,242 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>WDBS</title>
<link rel="shortcut icon" type="image/jpg" href="{{ asset('main/assets/images/logos/logo.jpg') }}" />
<link rel="stylesheet" href="{{ asset('main/assets/css/styles.min.css') }}" />
</head>
<body class="bg-3">
<!-- Body Wrapper -->
<div class="page-wrapper" id="main-wrapper" data-layout="vertical" data-navbarbg="skin6" data-sidebartype="full"
data-sidebar-position="fixed" data-header-position="fixed">
<!-- Sidebar Start -->
<aside class="left-sidebar">
<!-- Sidebar scroll-->
<div>
<div class="brand-logo d-flex align-items-center justify-content-between">
<a href="{{ route('landing') }}" class="text-nowrap logo-img">
<img src="{{ asset('main/assets/images/logos/logo_landscape.png') }}" width="100%" alt="" />
</a>
<div class="close-btn d-xl-none d-block sidebartoggler cursor-pointer" id="sidebarCollapse">
<i class="ti ti-x fs-8"></i>
</div>
</div>
<!-- Sidebar navigation-->
<nav class="sidebar-nav scroll-sidebar" data-simplebar="">
<ul id="sidebarnav">
<li class="nav-small-cap">
<i class="ti ti-dots nav-small-cap-icon fs-4"></i>
<span class="hide-menu">Home</span>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('dashboard') }}" aria-expanded="false">
<span>
<i class="ti ti-layout-dashboard"></i>
</span>
<span class="hide-menu">Dashboard</span>
</a>
</li>
<li class="nav-small-cap">
<i class="ti ti-dots nav-small-cap-icon fs-4"></i>
<span class="hide-menu">NAVIGATIONS</span>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('browse_data') }}" aria-expanded="false">
<span>
<i class="ti ti-article"></i>
</span>
<span class="hide-menu">Browse Data</span>
</a>
</li>
@if (in_array(Auth::user()->user_type, ['operator', 'admin']))
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('upload_data') }}" aria-expanded="false">
<span>
<i class="ti ti-alert-circle"></i>
</span>
<span class="hide-menu">Upload Data</span>
</a>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('my_data') }}" aria-expanded="false">
<span>
<i class="ti ti-cards"></i>
</span>
<span class="hide-menu">My Data</span>
</a>
</li>
@endif
@if (in_array(Auth::user()->user_type, ['admin']))
<li class="nav-small-cap">
<i class="ti ti-dots nav-small-cap-icon fs-4"></i>
<span class="hide-menu">ADMIN</span>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('admin_dashboard') }}" aria-expanded="false">
<span>
<i class="ti ti-file-description"></i>
</span>
<span class="hide-menu">Administrator</span>
</a>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('request_log') }}" aria-expanded="false">
<span>
<i class="ti ti-book"></i>
</span>
<span class="hide-menu">Check Data Requests</span>
</a>
</li>
@endif
</ul>
</nav>
<!-- End Sidebar navigation-->
</div>
<!-- End Sidebar scroll-->
</aside>
<!-- Sidebar End -->
<!-- Main wrapper -->
<div class="body-wrapper">
<!-- Header Start -->
<header class="app-header">
<nav class="navbar navbar-expand-lg navbar-light">
<ul class="navbar-nav">
<li class="nav-item d-block d-xl-none">
<a class="nav-link sidebartoggler nav-icon-hover" id="headerCollapse" href="javascript:void(0)">
<i class="ti ti-menu-2"></i>
</a>
</li>
</ul>
<div class="navbar-collapse justify-content-end px-0" id="navbarNav">
<ul class="navbar-nav flex-row ms-auto align-items-center justify-content-end">
<a href="{{ route('landing') }}" target="_blank" class="btn btn-primary">Landing Page</a>
<li class="nav-item dropdown">
<a class="nav-link nav-icon-hover" href="javascript:void(0)" id="drop2" data-bs-toggle="dropdown"
aria-expanded="false">
<img src="{{ asset('main/assets/images/profile/user-1.jpg') }}" alt="" width="35" height="35" class="rounded-circle">
</a>
<div class="dropdown-menu dropdown-menu-end dropdown-menu-animate-up" aria-labelledby="drop2">
<div class="message-body">
<a href="#" id="logout-link" class="btn btn-outline-primary mx-3 mt-2 d-block">Logout</a>
<form id="logout-form" method="POST" action="{{ route('logout') }}" style="display: none;">
@csrf
</form>
</div>
</div>
</li>
</ul>
</div>
</nav>
</header>
<div class="container-fluid">
@if(session('success'))
<div class="alert alert-success">
{{ session('success') }}
</div>
@endif
@if(session('error'))
<div class="alert alert-danger">
{{ session('error') }}
</div>
@endif
<h3 class="mt-4">Search Filters</h3>
<!-- Search filters -->
<form action="{{ route('my_data') }}" method="GET">
<div class="row mb-2">
<div class="col-md-2 mb-2">
<label for="nama_pasien" class="form-label" style="color:#000;">Nama pasien:</label>
<input type="text" name="nama_pasien" class="form-control white-theme-table" placeholder="Semua" value="{{ request('nama_pasien') }}">
</div>
<div class="col-md-2 mb-2">
<label for="teknik" class="form-label" style="color:#000;">Teknik operasi:</label>
<input type="text" name="teknik" class="form-control white-theme-table" placeholder="Semua" value="{{ request('teknik') }}">
</div>
<div class="col-md-2 mb-2">
<label for="gender" class="form-label" style="color:#000;">Jenis kelamin:</label>
<select name="gender" class="form-select white-theme-table">
<option value="">Semua</option>
<option value="Laki-laki" {{ request('gender') == 'Laki-laki' ? 'selected' : '' }}>Laki-laki</option>
<option value="Perempuan" {{ request('gender') == 'Perempuan' ? 'selected' : '' }}>Perempuan</option>
</select>
</div>
<div class="col-md-2 mb-2">
<label for="umur_min" class="form-label" style="color:#000;">Umur minimum:</label>
<input type="number" name="umur_min" class="form-control white-theme-table" placeholder="Tidak ada" value="{{ request('umur_min') }}">
</div>
<div class="col-md-2 mb-2">
<label for="umur_max" class="form-label" style="color:#000;">Umur maksimum:</label>
<input type="number" name="umur_max" class="form-control white-theme-table" placeholder="Tidak ada" value="{{ request('umur_max') }}">
</div>
<div class="col-md-2 mb-2 align-self-end">
<button type="submit" class="btn btn-primary">Apply Filters</button>
</div>
</div>
</form>
<table class="table table-striped">
<thead class="table-head">
<tr>
<th class="d-sm-table-cell">Nama Pasien</th>
<th class="d-none d-sm-table-cell">Umur Pasien</th>
<th class="d-none d-sm-table-cell">Tanggal Lahir</th>
<th class="d-sm-table-cell">Tanggal Operasi</th>
<th class="d-none d-sm-table-cell">Penyelenggara</th>
<th class="d-sm-table-cell">Teknik Operasi</th>
<th class="d-sm-table-cell">Aksi</th>
</tr>
</thead>
<tbody style="--bs-table-striped-bg: #ffdaa8; border-color: #ffdaa8; --bs-table-bg: #eac28c;">
@foreach($operations as $operation)
<tr>
<td class="d-sm-table-cell">{{ $operation->nama }}</td>
<td class="d-none d-sm-table-cell">{{ $operation->umur }}</td>
<td class="d-none d-sm-table-cell">{{ $operation->tanggal_lahir }}</td>
<td class="d-sm-table-cell">{{ $operation->tanggal_operasi }}</td>
<td class="d-none d-sm-table-cell">{{ $operation->operator }}</td>
<td class="d-sm-table-cell">{{ $operation->teknikoperasi }}</td>
<td class="d-sm-table-cell">
<a href="{{ route('operations.edit', $operation->id) }}" class="btn btn-primary mb-2">Lihat</a>
<form action="{{ route('operations.destroy', $operation->id) }}" method="POST" style="display: inline;">
@csrf
@method('DELETE')
<button type="submit" class="btn btn-danger mb-2" onclick="return confirm('Are you sure you want to delete this operation?')">Hapus</button>
</form>
</td>
</tr>
@endforeach
</tbody>
</table>
<!-- {{ $operations->appends(request()->except('page'))->links() }} -->
<div class="button-container">
<a href="{{ $operations->previousPageUrl() }}" class="btn btn-primary {{ $operations->onFirstPage() ? 'disabled' : '' }}">Previous</a>
<a href="{{ $operations->nextPageUrl() }}" class="btn btn-primary {{ !$operations->hasMorePages() ? 'disabled' : '' }}">Next</a>
</div>
<div class="mt-4 mb-2">
<p>Displaying {{ $displayedCount }} out of {{ $totalCount }} matching records</p>
</div>
</div>
</div>
</div>
<script src="{{ asset('main/assets/libs/jquery/dist/jquery.min.js') }}"></script>
<script src="{{ asset('main/assets/libs/bootstrap/dist/js/bootstrap.bundle.min.js') }}"></script>
<script src="{{ asset('main/assets/js/sidebarmenu.js') }}"></script>
<script src="{{ asset('main/assets/js/app.min.js') }}"></script>
<script src="{{ asset('main/assets/libs/apexcharts/dist/apexcharts.min.js') }}"></script>
<script src="{{ asset('main/assets/libs/simplebar/dist/simplebar.js') }}"></script>
<script src="{{ asset('main/assets/js/dashboard.js') }}"></script>
<!-- Logout button script -->
<script>
document.getElementById('logout-link').addEventListener('click', function(event) {
event.preventDefault();
document.getElementById('logout-form').submit();
});
</script>
</body>
</html>
+204
View File
@@ -0,0 +1,204 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>WDBS</title>
<link rel="shortcut icon" type="image/jpg" href="{{ asset('main/assets/images/logos/logo.jpg') }}" />
<link rel="stylesheet" href="{{ asset('main/assets/css/styles.min.css') }}" />
</head>
<body class="bg-4">
<!-- Body Wrapper -->
<div class="page-wrapper" id="main-wrapper" data-layout="vertical" data-navbarbg="skin6" data-sidebartype="full"
data-sidebar-position="fixed" data-header-position="fixed">
<!-- Sidebar Start -->
<aside class="left-sidebar">
<!-- Sidebar scroll-->
<div>
<div class="brand-logo d-flex align-items-center justify-content-between">
<a href="{{ route('landing') }}" class="text-nowrap logo-img">
<img src="{{ asset('main/assets/images/logos/logo_landscape.png') }}" width="100%" alt="" />
</a>
<div class="close-btn d-xl-none d-block sidebartoggler cursor-pointer" id="sidebarCollapse">
<i class="ti ti-x fs-8"></i>
</div>
</div>
<!-- Sidebar navigation-->
<nav class="sidebar-nav scroll-sidebar" data-simplebar="">
<ul id="sidebarnav">
<li class="nav-small-cap">
<i class="ti ti-dots nav-small-cap-icon fs-4"></i>
<span class="hide-menu">Home</span>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('dashboard') }}" aria-expanded="false">
<span>
<i class="ti ti-layout-dashboard"></i>
</span>
<span class="hide-menu">Dashboard</span>
</a>
</li>
<li class="nav-small-cap">
<i class="ti ti-dots nav-small-cap-icon fs-4"></i>
<span class="hide-menu">NAVIGATIONS</span>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('browse_data') }}" aria-expanded="false">
<span>
<i class="ti ti-article"></i>
</span>
<span class="hide-menu">Browse Data</span>
</a>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('upload_data') }}" aria-expanded="false">
<span>
<i class="ti ti-alert-circle"></i>
</span>
<span class="hide-menu">Upload Data</span>
</a>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('my_data') }}" aria-expanded="false">
<span>
<i class="ti ti-cards"></i>
</span>
<span class="hide-menu">My Data</span>
</a>
</li>
<li class="nav-small-cap">
<i class="ti ti-dots nav-small-cap-icon fs-4"></i>
<span class="hide-menu">ADMIN</span>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('admin_dashboard') }}" aria-expanded="false">
<span>
<i class="ti ti-file-description"></i>
</span>
<span class="hide-menu">Administrator</span>
</a>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('request_log') }}" aria-expanded="false">
<span>
<i class="ti ti-book"></i>
</span>
<span class="hide-menu">Check Data Requests</span>
</a>
</li>
</ul>
</nav>
<!-- End Sidebar navigation -->
</div>
<!-- End Sidebar scroll-->
</aside>
<!-- Sidebar End -->
<!-- Main wrapper -->
<div class="body-wrapper">
<!-- Header Start -->
<header class="app-header">
<nav class="navbar navbar-expand-lg navbar-light">
<ul class="navbar-nav">
<li class="nav-item d-block d-xl-none">
<a class="nav-link sidebartoggler nav-icon-hover" id="headerCollapse" href="javascript:void(0)">
<i class="ti ti-menu-2"></i>
</a>
</li>
</ul>
<div class="navbar-collapse justify-content-end px-0" id="navbarNav">
<ul class="navbar-nav flex-row ms-auto align-items-center justify-content-end">
<a href="{{ route('landing') }}" target="_blank" class="btn btn-primary">Landing Page</a>
<li class="nav-item dropdown">
<a class="nav-link nav-icon-hover" href="javascript:void(0)" id="drop2" data-bs-toggle="dropdown"
aria-expanded="false">
<img src="{{ asset('main/assets/images/profile/user-1.jpg') }}" alt="" width="35" height="35" class="rounded-circle">
</a>
<div class="dropdown-menu dropdown-menu-end dropdown-menu-animate-up" aria-labelledby="drop2">
<div class="message-body">
<a href="#" id="logout-link" class="btn btn-outline-primary mx-3 mt-2 d-block">Logout</a>
<form id="logout-form" method="POST" action="{{ route('logout') }}" style="display: none;">
@csrf
</form>
</div>
</div>
</li>
</ul>
</div>
</nav>
</header>
<div class="container-fluid">
@if(session('success'))
<div class="alert alert-success">
{{ session('success') }}
</div>
@endif
@if(session('error'))
<div class="alert alert-danger">
{{ session('error') }}
</div>
@endif
<div class="card card-bg" style="background-color: #bf4333; box-shadow: 0 4px 8px rgba(191, 67, 51, 0.8);">
<div class="card-body">
<div class="card" style="background-color: #343950; box-shadow: 0 4px 8px rgba(52, 57, 80, 0.8);">
<div class="card-body">
<h5 class="card-title fw-semibold mb-4">Pendaftaran pengguna baru</h5>
<form method="POST" action="{{ route('admin.register') }}">
@csrf
<div class="mb-3">
<label for="name" class="form-label">Nama pengguna</label>
<input id="name" type="text" name="name" class="form-control" required>
</div>
<div class="mb-3">
<label for="email" class="form-label">E-Mail</label>
<input id="email" type="email" name="email" class="form-control" required>
</div>
<div class="mb-3">
<label for="password" class="form-label">Password</label>
<input id="password" type="password" name="password" class="form-control" required>
</div>
<div class="mb-3">
<label for="password_confirmation" class="form-label">Konfirmasi Password</label>
<input id="password_confirmation" type="password" name="password_confirmation" class="form-control" required>
</div>
<div class="mb-3">
<label for="role" class="form-label">Role</label>
<select id="role" name="user_type" class="form-select" required>
<option value="perawat">Perawat</option>
<option value="dokter">Dokter</option>
<option value="ahli_bedah_mulut">Ahli bedah mulut</option>
<option value="peneliti">Peneliti</option>
<option value="operator">Operator</option>
</select>
</div>
<input type="hidden" name="created_by" value="{{ auth()->user()->id }}">
<button type="submit" class="btn btn-secondary">Submit</button>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="{{ asset('main/assets/libs/jquery/dist/jquery.min.js') }}"></script>
<script src="{{ asset('main/assets/libs/bootstrap/dist/js/bootstrap.bundle.min.js') }}"></script>
<script src="{{ asset('main/assets/js/sidebarmenu.js') }}"></script>
<script src="{{ asset('main/assets/js/app.min.js') }}"></script>
<script src="{{ asset('main/assets/libs/apexcharts/dist/apexcharts.min.js') }}"></script>
<script src="{{ asset('main/assets/libs/simplebar/dist/simplebar.js') }}"></script>
<script src="{{ asset('main/assets/js/dashboard.js') }}"></script>
<!-- Logout button script -->
<script>
document.getElementById('logout-link').addEventListener('click', function(event) {
event.preventDefault();
document.getElementById('logout-form').submit();
});
</script>
</body>
</html>
+29
View File
@@ -0,0 +1,29 @@
<x-app-layout>
<x-slot name="header">
<h2 class="font-semibold text-xl text-gray-800 leading-tight">
{{ __('Profile') }}
</h2>
</x-slot>
<div class="py-12">
<div class="max-w-7xl mx-auto sm:px-6 lg:px-8 space-y-6">
<div class="p-4 sm:p-8 bg-white shadow sm:rounded-lg">
<div class="max-w-xl">
@include('profile.partials.update-profile-information-form')
</div>
</div>
<div class="p-4 sm:p-8 bg-white shadow sm:rounded-lg">
<div class="max-w-xl">
@include('profile.partials.update-password-form')
</div>
</div>
<div class="p-4 sm:p-8 bg-white shadow sm:rounded-lg">
<div class="max-w-xl">
@include('profile.partials.delete-user-form')
</div>
</div>
</div>
</div>
</x-app-layout>
@@ -0,0 +1,55 @@
<section class="space-y-6">
<header>
<h2 class="text-lg font-medium text-gray-900">
{{ __('Delete Account') }}
</h2>
<p class="mt-1 text-sm text-gray-600">
{{ __('Once your account is deleted, all of its resources and data will be permanently deleted. Before deleting your account, please download any data or information that you wish to retain.') }}
</p>
</header>
<x-danger-button
x-data=""
x-on:click.prevent="$dispatch('open-modal', 'confirm-user-deletion')"
>{{ __('Delete Account') }}</x-danger-button>
<x-modal name="confirm-user-deletion" :show="$errors->userDeletion->isNotEmpty()" focusable>
<form method="post" action="{{ route('profile.destroy') }}" class="p-6">
@csrf
@method('delete')
<h2 class="text-lg font-medium text-gray-900">
{{ __('Are you sure you want to delete your account?') }}
</h2>
<p class="mt-1 text-sm text-gray-600">
{{ __('Once your account is deleted, all of its resources and data will be permanently deleted. Please enter your password to confirm you would like to permanently delete your account.') }}
</p>
<div class="mt-6">
<x-input-label for="password" value="{{ __('Password') }}" class="sr-only" />
<x-text-input
id="password"
name="password"
type="password"
class="mt-1 block w-3/4"
placeholder="{{ __('Password') }}"
/>
<x-input-error :messages="$errors->userDeletion->get('password')" class="mt-2" />
</div>
<div class="mt-6 flex justify-end">
<x-secondary-button x-on:click="$dispatch('close')">
{{ __('Cancel') }}
</x-secondary-button>
<x-danger-button class="ms-3">
{{ __('Delete Account') }}
</x-danger-button>
</div>
</form>
</x-modal>
</section>
@@ -0,0 +1,48 @@
<section>
<header>
<h2 class="text-lg font-medium text-gray-900">
{{ __('Update Password') }}
</h2>
<p class="mt-1 text-sm text-gray-600">
{{ __('Ensure your account is using a long, random password to stay secure.') }}
</p>
</header>
<form method="post" action="{{ route('password.update') }}" class="mt-6 space-y-6">
@csrf
@method('put')
<div>
<x-input-label for="update_password_current_password" :value="__('Current Password')" />
<x-text-input id="update_password_current_password" name="current_password" type="password" class="mt-1 block w-full" autocomplete="current-password" />
<x-input-error :messages="$errors->updatePassword->get('current_password')" class="mt-2" />
</div>
<div>
<x-input-label for="update_password_password" :value="__('New Password')" />
<x-text-input id="update_password_password" name="password" type="password" class="mt-1 block w-full" autocomplete="new-password" />
<x-input-error :messages="$errors->updatePassword->get('password')" class="mt-2" />
</div>
<div>
<x-input-label for="update_password_password_confirmation" :value="__('Confirm Password')" />
<x-text-input id="update_password_password_confirmation" name="password_confirmation" type="password" class="mt-1 block w-full" autocomplete="new-password" />
<x-input-error :messages="$errors->updatePassword->get('password_confirmation')" class="mt-2" />
</div>
<div class="flex items-center gap-4">
<x-primary-button>{{ __('Save') }}</x-primary-button>
@if (session('status') === 'password-updated')
<p
x-data="{ show: true }"
x-show="show"
x-transition
x-init="setTimeout(() => show = false, 2000)"
class="text-sm text-gray-600"
>{{ __('Saved.') }}</p>
@endif
</div>
</form>
</section>
@@ -0,0 +1,64 @@
<section>
<header>
<h2 class="text-lg font-medium text-gray-900">
{{ __('Profile Information') }}
</h2>
<p class="mt-1 text-sm text-gray-600">
{{ __("Update your account's profile information and email address.") }}
</p>
</header>
<form id="send-verification" method="post" action="{{ route('verification.send') }}">
@csrf
</form>
<form method="post" action="{{ route('profile.update') }}" class="mt-6 space-y-6">
@csrf
@method('patch')
<div>
<x-input-label for="name" :value="__('Name')" />
<x-text-input id="name" name="name" type="text" class="mt-1 block w-full" :value="old('name', $user->name)" required autofocus autocomplete="name" />
<x-input-error class="mt-2" :messages="$errors->get('name')" />
</div>
<div>
<x-input-label for="email" :value="__('Email')" />
<x-text-input id="email" name="email" type="email" class="mt-1 block w-full" :value="old('email', $user->email)" required autocomplete="username" />
<x-input-error class="mt-2" :messages="$errors->get('email')" />
@if ($user instanceof \Illuminate\Contracts\Auth\MustVerifyEmail && ! $user->hasVerifiedEmail())
<div>
<p class="text-sm mt-2 text-gray-800">
{{ __('Your email address is unverified.') }}
<button form="send-verification" class="underline text-sm text-gray-600 hover:text-gray-900 rounded-md focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500">
{{ __('Click here to re-send the verification email.') }}
</button>
</p>
@if (session('status') === 'verification-link-sent')
<p class="mt-2 font-medium text-sm text-green-600">
{{ __('A new verification link has been sent to your email address.') }}
</p>
@endif
</div>
@endif
</div>
<div class="flex items-center gap-4">
<x-primary-button>{{ __('Save') }}</x-primary-button>
@if (session('status') === 'profile-updated')
<p
x-data="{ show: true }"
x-show="show"
x-transition
x-init="setTimeout(() => show = false, 2000)"
class="text-sm text-gray-600"
>{{ __('Saved.') }}</p>
@endif
</div>
</form>
</section>
+223
View File
@@ -0,0 +1,223 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>WDBS</title>
<link rel="shortcut icon" type="image/jpg" href="{{ asset('main/assets/images/logos/logo.jpg') }}" />
<link rel="stylesheet" href="{{ asset('main/assets/css/styles.min.css') }}" />
</head>
<body class="bg-1">
<!-- Body Wrapper -->
<div class="page-wrapper" id="main-wrapper" data-layout="vertical" data-navbarbg="skin6" data-sidebartype="full"
data-sidebar-position="fixed" data-header-position="fixed">
<!-- Sidebar Start -->
<aside class="left-sidebar">
<!-- Sidebar scroll-->
<div>
<div class="brand-logo d-flex align-items-center justify-content-between">
<a href="{{ route('landing') }}" class="text-nowrap logo-img">
<img src="{{ asset('main/assets/images/logos/logo_landscape.png') }}" width="100%" alt="" />
</a>
<div class="close-btn d-xl-none d-block sidebartoggler cursor-pointer" id="sidebarCollapse">
<i class="ti ti-x fs-8"></i>
</div>
</div>
<!-- Sidebar navigation-->
<nav class="sidebar-nav scroll-sidebar" data-simplebar="">
<ul id="sidebarnav">
<li class="nav-small-cap">
<i class="ti ti-dots nav-small-cap-icon fs-4"></i>
<span class="hide-menu">Home</span>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('dashboard') }}" aria-expanded="false">
<span>
<i class="ti ti-layout-dashboard"></i>
</span>
<span class="hide-menu">Dashboard</span>
</a>
</li>
<li class="nav-small-cap">
<i class="ti ti-dots nav-small-cap-icon fs-4"></i>
<span class="hide-menu">NAVIGATIONS</span>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('browse_data') }}" aria-expanded="false">
<span>
<i class="ti ti-article"></i>
</span>
<span class="hide-menu">Browse Data</span>
</a>
</li>
@if (in_array(Auth::user()->user_type, ['operator', 'admin']))
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('upload_data') }}" aria-expanded="false">
<span>
<i class="ti ti-alert-circle"></i>
</span>
<span class="hide-menu">Upload Data</span>
</a>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('my_data') }}" aria-expanded="false">
<span>
<i class="ti ti-cards"></i>
</span>
<span class="hide-menu">My Data</span>
</a>
</li>
@endif
@if (in_array(Auth::user()->user_type, ['admin']))
<li class="nav-small-cap">
<i class="ti ti-dots nav-small-cap-icon fs-4"></i>
<span class="hide-menu">ADMIN</span>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('admin_dashboard') }}" aria-expanded="false">
<span>
<i class="ti ti-file-description"></i>
</span>
<span class="hide-menu">Administrator</span>
</a>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('request_log') }}" aria-expanded="false">
<span>
<i class="ti ti-book"></i>
</span>
<span class="hide-menu">Check Data Requests</span>
</a>
</li>
@endif
</ul>
</nav>
<!-- End Sidebar navigation -->
</div>
<!-- End Sidebar scroll-->
</aside>
<!-- Sidebar End -->
<!-- Main wrapper -->
<div class="body-wrapper">
<!-- Header Start -->
<header class="app-header">
<nav class="navbar navbar-expand-lg navbar-light">
<ul class="navbar-nav">
<li class="nav-item d-block d-xl-none">
<a class="nav-link sidebartoggler nav-icon-hover" id="headerCollapse" href="javascript:void(0)">
<i class="ti ti-menu-2"></i>
</a>
</li>
</ul>
<div class="navbar-collapse justify-content-end px-0" id="navbarNav">
<ul class="navbar-nav flex-row ms-auto align-items-center justify-content-end">
<a href="{{ route('landing') }}" target="_blank" class="btn btn-primary">Landing Page</a>
<li class="nav-item dropdown">
<a class="nav-link nav-icon-hover" href="javascript:void(0)" id="drop2" data-bs-toggle="dropdown"
aria-expanded="false">
<img src="{{ asset('main/assets/images/profile/user-1.jpg') }}" alt="" width="35" height="35" class="rounded-circle">
</a>
<div class="dropdown-menu dropdown-menu-end dropdown-menu-animate-up" aria-labelledby="drop2">
<div class="message-body">
<a href="#" id="logout-link" class="btn btn-outline-primary mx-3 mt-2 d-block">Logout</a>
<form id="logout-form" method="POST" action="{{ route('logout') }}" style="display: none;">
@csrf
</form>
</div>
</div>
</li>
</ul>
</div>
</nav>
</header>
<div class="container-fluid">
@if(session('success'))
<div class="alert alert-success">
{{ session('success') }}
</div>
@endif
@if(session('error'))
<div class="alert alert-danger">
{{ session('error') }}
</div>
@endif
<div class="card card-bg" style="background-color: #bf4333; box-shadow: 0 4px 8px rgba(191, 67, 51, 0.8);">
<div class="card-body">
<div class="card" style="background-color: #343950; box-shadow: 0 4px 8px rgba(52, 57, 80, 0.8);">
<div class="card-body">
@if (session('success'))
<div class="alert alert-success">
{{ session('success') }}
</div>
@endif
<form action="{{ route('requests.store') }}" method="POST">
@csrf
<div class="row mb-2 align-items-center">
<div class="col-md-8">
<h5 class="card-title fw-semibold mb-4">Formulir Permohonan Penggunaan Data</h5>
</div>
<div class="col-md-4 text-end">
<a href="{{ route('browse_data') }}" class="btn btn-warning">Go Back</a>
<button type="submit" class="btn btn-secondary">Submit</button>
</div>
</div>
<div class="mb-3">
<label class="form-label required-field">Nama lengkap pemohon</label>
<input type="text" name="nama" class="form-control" required>
</div>
<div class="mb-3">
<label class="form-label required-field">Nomor handphone</label>
<input type="text" name="handphone" class="form-control" required>
</div>
<div class="mb-3">
<label class="form-label required-field">Email</label>
<input type="email" name="email" class="form-control" required>
</div>
<div class="mb-3">
<label class="form-label required-field">NIK</label>
<input type="text" name="nik" class="form-control" required>
</div>
<div class="mb-3">
<label class="form-label required-field">Kategori pengajuan</label>
<select name="kategori" class="form-select" required>
<option value="Riset/Penelitian">Riset/Penelitian</option>
<option value="Komersil">Komersil</option>
<option value="Lainnya">Lainnya</option>
</select>
</div>
<div class="mb-3">
<label class="form-label required-field">Tujuan permohonan</label>
<textarea name="tujuan" rows="5" placeholder="Silahkan isi tujuan penggunaan data ini." class="form-control" required></textarea>
</div>
<input type="hidden" name="created_by_id" value="{{ Auth::id() }}">
<a href="{{ route('browse_data') }}" class="btn btn-warning">Go Back</a>
<button type="submit" class="btn btn-secondary">Submit</button>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="{{ asset('main/assets/libs/jquery/dist/jquery.min.js') }}"></script>
<script src="{{ asset('main/assets/libs/bootstrap/dist/js/bootstrap.bundle.min.js') }}"></script>
<script src="{{ asset('main/assets/js/sidebarmenu.js') }}"></script>
<script src="{{ asset('main/assets/js/app.min.js') }}"></script>
<script src="{{ asset('main/assets/libs/apexcharts/dist/apexcharts.min.js') }}"></script>
<script src="{{ asset('main/assets/libs/simplebar/dist/simplebar.js') }}"></script>
<script src="{{ asset('main/assets/js/dashboard.js') }}"></script>
<!-- Logout button script -->
<script>
document.getElementById('logout-link').addEventListener('click', function(event) {
event.preventDefault();
document.getElementById('logout-form').submit();
});
</script>
</body>
</html>
+245
View File
@@ -0,0 +1,245 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>WDBS</title>
<link rel="shortcut icon" type="image/jpg" href="{{ asset('main/assets/images/logos/logo.jpg') }}" />
<link rel="stylesheet" href="{{ asset('main/assets/css/styles.min.css') }}" />
<meta name="csrf-token" content="{{ csrf_token() }}">
</head>
<body class="bg-5">
<!-- Body Wrapper -->
<div class="page-wrapper" id="main-wrapper" data-layout="vertical" data-navbarbg="skin6" data-sidebartype="full"
data-sidebar-position="fixed" data-header-position="fixed">
<!-- Sidebar Start -->
<aside class="left-sidebar">
<!-- Sidebar scroll-->
<div>
<div class="brand-logo d-flex align-items-center justify-content-between">
<a href="{{ route('landing') }}" class="text-nowrap logo-img">
<img src="{{ asset('main/assets/images/logos/logo_landscape.png') }}" width="100%" alt="Logo" />
</a>
<div class="close-btn d-xl-none d-block sidebartoggler cursor-pointer" id="sidebarCollapse">
<i class="ti ti-x fs-8"></i>
</div>
</div>
<!-- Sidebar navigation-->
<nav class="sidebar-nav scroll-sidebar" data-simplebar="">
<ul id="sidebarnav">
<li class="nav-small-cap">
<i class="ti ti-dots nav-small-cap-icon fs-4"></i>
<span class="hide-menu">Home</span>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('dashboard') }}" aria-expanded="false">
<span>
<i class="ti ti-layout-dashboard"></i>
</span>
<span class="hide-menu">Dashboard</span>
</a>
</li>
<li class="nav-small-cap">
<i class="ti ti-dots nav-small-cap-icon fs-4"></i>
<span class="hide-menu">NAVIGATIONS</span>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('browse_data') }}" aria-expanded="false">
<span>
<i class="ti ti-article"></i>
</span>
<span class="hide-menu">Browse Data</span>
</a>
</li>
@if (in_array(Auth::user()->user_type, ['operator', 'admin']))
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('upload_data') }}" aria-expanded="false">
<span>
<i class="ti ti-alert-circle"></i>
</span>
<span class="hide-menu">Upload Data</span>
</a>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('my_data') }}" aria-expanded="false">
<span>
<i class="ti ti-cards"></i>
</span>
<span class="hide-menu">My Data</span>
</a>
</li>
@endif
@if (in_array(Auth::user()->user_type, ['admin']))
<li class="nav-small-cap">
<i class="ti ti-dots nav-small-cap-icon fs-4"></i>
<span class="hide-menu">ADMIN</span>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('admin_dashboard') }}" aria-expanded="false">
<span>
<i class="ti ti-file-description"></i>
</span>
<span class="hide-menu">Administrator</span>
</a>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('request_log') }}" aria-expanded="false">
<span>
<i class="ti ti-book"></i>
</span>
<span class="hide-menu">Check Data Requests</span>
</a>
</li>
@endif
</ul>
</nav>
<!-- End Sidebar navigation-->
</div>
<!-- End Sidebar scroll-->
</aside>
<!-- Sidebar End -->
<!-- Main wrapper -->
<div class="body-wrapper">
<!-- Header Start -->
<header class="app-header">
<nav class="navbar navbar-expand-lg navbar-light">
<ul class="navbar-nav">
<li class="nav-item d-block d-xl-none">
<a class="nav-link sidebartoggler nav-icon-hover" id="headerCollapse" href="javascript:void(0)">
<i class="ti ti-menu-2"></i>
</a>
</li>
</ul>
<div class="navbar-collapse justify-content-end px-0" id="navbarNav">
<ul class="navbar-nav flex-row ms-auto align-items-center justify-content-end">
<a href="{{ route('landing') }}" target="_blank" class="btn btn-primary">Landing Page</a>
<li class="nav-item dropdown">
<a class="nav-link nav-icon-hover" href="javascript:void(0)" id="drop2" data-bs-toggle="dropdown"
aria-expanded="false">
<img src="{{ asset('main/assets/images/profile/user-1.jpg') }}" alt="User Profile" width="35" height="35" class="rounded-circle">
</a>
<div class="dropdown-menu dropdown-menu-end dropdown-menu-animate-up" aria-labelledby="drop2">
<div class="message-body">
<a href="#" id="logout-link" class="btn btn-outline-primary mx-3 mt-2 d-block">Logout</a>
<form id="logout-form" method="POST" action="{{ route('logout') }}" style="display: none;">
@csrf
</form>
</div>
</div>
</li>
</ul>
</div>
</nav>
</header>
<div class="container-fluid">
@if(session('success'))
<div class="alert alert-success">
{{ session('success') }}
</div>
@endif
@if(session('error'))
<div class="alert alert-danger">
{{ session('error') }}
</div>
@endif
<h3 class="mt-4">Data Access Requests</h3>
<!-- Search filters -->
<form action="{{ route('request_log') }}" method="GET">
<div class="row mb-2">
<div class="col-md-2 mb-2">
<label for="category" class="form-label" style="color:#000;">Kategori:</label>
<select name="category" class="form-select white-theme-table">
<option value="">Semua</option>
<option value="Riset/Penelitian" {{ request('category') == 'Riset/Penelitian' ? 'selected' : '' }}>Riset/Penelitian</option>
<option value="Komersil" {{ request('category') == 'Komersil' ? 'selected' : '' }}>Komersil</option>
<option value="Lainnya" {{ request('category') == 'Lainnya' ? 'selected' : '' }}>Lainnya</option>
</select>
</div>
<div class="col-md-2 mb-2">
<label for="status" class="form-label" style="color:#000;">Status:</label>
<select name="status" class="form-select white-theme-table">
<option value="all" {{ request('status') == 'all' ? 'selected' : '' }}>Semua</option>
<option value="Pending" {{ request('status') == 'Pending' ? 'selected' : '' }}>Pending</option>
<option value="Approved" {{ request('status') == 'Approved' ? 'selected' : '' }}>Approved</option>
<option value="Rejected" {{ request('status') == 'Rejected' ? 'selected' : '' }}>Rejected</option>
</select>
</div>
<div class="col-md-3 mb-2">
<label for="email" class="form-label" style="color:#000;">Email:</label>
<input type="text" name="email" class="form-control white-theme-table" placeholder="Cari berdasarkan email" value="{{ request('email') }}">
</div>
<div class="col-md-3 mb-2">
<label for="name" class="form-label" style="color:#000;">Nama:</label>
<input type="text" name="name" class="form-control white-theme-table" placeholder="Cari berdasarkan nama" value="{{ request('name') }}">
</div>
<div class="col-md-2 mb-2 align-self-end">
<button type="submit" class="btn btn-primary">Apply Filters</button>
</div>
</div>
</form>
<div id="requestsTableContainer">
<table class="table table-striped">
<thead class="table-head">
<tr>
<th>Request ID</th>
<th>Name</th>
<th>Email</th>
<th>Category</th>
<th>Status</th>
<th>Created At</th>
<th>Actions</th>
</tr>
</thead>
<tbody style="--bs-table-striped-bg: #ffdaa8; border-color: #ffdaa8; --bs-table-bg: #eac28c;">
@foreach($requests as $request)
<tr>
<td>{{ $request->id }}</td>
<td>{{ $request->nama }}</td>
<td>{{ $request->email }}</td>
<td>{{ $request->kategori }}</td>
<td>{{ $request->status }}</td>
<td>{{ $request->created_at->format('d M Y') }}</td>
<td>
<a href="{{ route('requests.show', $request->id) }}" class="btn btn-primary mb-2">Lihat</a>
@if(Auth::user()->user_type == 'admin')
<form action="{{ route('requests.destroy', $request->id) }}" method="POST" style="display:inline;">
@csrf
@method('DELETE')
<button type="submit" class="btn btn-danger mb-2" onclick="return confirm('Apakah anda yakin ingin menghapus ini?');">Hapus</button>
</form>
@endif
</td>
</tr>
@endforeach
</tbody>
</table>
<!-- {{ $requests->appends(request()->except('page'))->links() }} -->
</div>
<div class="button-container">
<a href="{{ $requests->previousPageUrl() }}" class="btn btn-primary {{ $requests->onFirstPage() ? 'disabled' : '' }}">Previous</a>
<a href="{{ $requests->nextPageUrl() }}" class="btn btn-primary {{ !$requests->hasMorePages() ? 'disabled' : '' }}">Next</a>
</div>
</div>
</div>
</div>
<script src="{{ asset('main/assets/libs/jquery/dist/jquery.min.js') }}"></script>
<script src="{{ asset('main/assets/libs/bootstrap/dist/js/bootstrap.bundle.min.js') }}"></script>
<script src="{{ asset('main/assets/js/sidebarmenu.js') }}"></script>
<script src="{{ asset('main/assets/js/app.min.js') }}"></script>
<script src="{{ asset('main/assets/libs/apexcharts/dist/apexcharts.min.js') }}"></script>
<script src="{{ asset('main/assets/libs/simplebar/dist/simplebar.js') }}"></script>
<script src="{{ asset('main/assets/js/dashboard.js') }}"></script>
<!-- Logout button script -->
<script>
document.getElementById('logout-link').addEventListener('click', function(event) {
event.preventDefault();
document.getElementById('logout-form').submit();
});
</script>
</body>
</html>
@@ -0,0 +1,275 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>View Patient Cleft Lip Data</title>
<link rel="shortcut icon" type="image/jpg" href="{{ asset('main/assets/images/logos/logo.jpg') }}" />
<link rel="stylesheet" href="{{ asset('main/assets/css/styles.min.css') }}" />
<style>
#rejectReasonLabel,
#rejectReasonText {
color: black;
}
</style>
</head>
<body class="bg-5">
<!-- Body Wrapper -->
<div class="page-wrapper" id="main-wrapper" data-layout="vertical" data-navbarbg="skin6" data-sidebartype="full"
data-sidebar-position="fixed" data-header-position="fixed">
<!-- Sidebar Start -->
<aside class="left-sidebar">
<!-- Sidebar scroll-->
<div>
<div class="brand-logo d-flex align-items-center justify-content-between">
<a href="{{ route('landing') }}" class="text-nowrap logo-img">
<img src="{{ asset('main/assets/images/logos/logo_landscape.png') }}" width="100%" alt="Logo" />
</a>
<div class="close-btn d-xl-none d-block sidebartoggler cursor-pointer" id="sidebarCollapse">
<i class="ti ti-x fs-8"></i>
</div>
</div>
<!-- Sidebar navigation-->
<nav class="sidebar-nav scroll-sidebar" data-simplebar="">
<ul id="sidebarnav">
<li class="nav-small-cap">
<i class="ti ti-dots nav-small-cap-icon fs-4"></i>
<span class="hide-menu">Home</span>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('dashboard') }}" aria-expanded="false">
<span>
<i class="ti ti-layout-dashboard"></i>
</span>
<span class="hide-menu">Dashboard</span>
</a>
</li>
<li class="nav-small-cap">
<i class="ti ti-dots nav-small-cap-icon fs-4"></i>
<span class="hide-menu">NAVIGATIONS</span>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('browse_data') }}" aria-expanded="false">
<span>
<i class="ti ti-article"></i>
</span>
<span class="hide-menu">Browse Data</span>
</a>
</li>
@if (in_array(Auth::user()->user_type, ['operator', 'admin']))
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('upload_data') }}" aria-expanded="false">
<span>
<i class="ti ti-alert-circle"></i>
</span>
<span class="hide-menu">Upload Data</span>
</a>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('my_data') }}" aria-expanded="false">
<span>
<i class="ti ti-cards"></i>
</span>
<span class="hide-menu">My Data</span>
</a>
</li>
@endif
@if (in_array(Auth::user()->user_type, ['admin']))
<li class="nav-small-cap">
<i class="ti ti-dots nav-small-cap-icon fs-4"></i>
<span class="hide-menu">ADMIN</span>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('admin_dashboard') }}" aria-expanded="false">
<span>
<i class="ti ti-file-description"></i>
</span>
<span class="hide-menu">Administrator</span>
</a>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('request_log') }}" aria-expanded="false">
<span>
<i class="ti ti-book"></i>
</span>
<span class="hide-menu">Check Data Requests</span>
</a>
</li>
@endif
</ul>
</nav>
<!-- End Sidebar navigation -->
</div>
<!-- End Sidebar scroll-->
</aside>
<!-- Sidebar End -->
<!-- Main wrapper -->
<div class="body-wrapper">
<!-- Header Start -->
<header class="app-header">
<nav class="navbar navbar-expand-lg navbar-light">
<ul class="navbar-nav">
<li class="nav-item d-block d-xl-none">
<a class="nav-link sidebartoggler nav-icon-hover" id="headerCollapse" href="javascript:void(0)">
<i class="ti ti-menu-2"></i>
</a>
</li>
</ul>
<div class="navbar-collapse justify-content-end px-0" id="navbarNav">
<ul class="navbar-nav flex-row ms-auto align-items-center justify-content-end">
<a href="{{ route('landing') }}" target="_blank" class="btn btn-primary">Landing Page</a>
<li class="nav-item dropdown">
<a class="nav-link nav-icon-hover" href="javascript:void(0)" id="drop2" data-bs-toggle="dropdown"
aria-expanded="false">
<img src="{{ asset('main/assets/images/profile/user-1.jpg') }}" alt="User Profile" width="35" height="35" class="rounded-circle">
</a>
<div class="dropdown-menu dropdown-menu-end dropdown-menu-animate-up" aria-labelledby="drop2">
<div class="message-body">
<a href="#" id="logout-link" class="btn btn-outline-primary mx-3 mt-2 d-block">Logout</a>
<form id="logout-form" method="POST" action="{{ route('logout') }}" style="display: none;">
@csrf
</form>
</div>
</div>
</li>
</ul>
</div>
</nav>
</header>
<div class="container-fluid">
@if(session('success'))
<div class="alert alert-success">
{{ session('success') }}
</div>
@endif
@if(session('error'))
<div class="alert alert-danger">
{{ session('error') }}
</div>
@endif
<div class="card card-bg" style="background-color: #ffcd87; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.8);">
<div class="card-body">
<div class="card" style="background-color: #3a4b51; box-shadow: 0 4px 8px rgba(58, 75, 81, 0.8);">
<div class="card-body">
<div class="row mb-2 align-items-center">
<div class="col-md-9">
<h5 class="card-title fw-semibold mb-4">Surat Permohonan Penggunaan Data</h5>
</div>
<div class="col-md-3 text-md-end">
<a href="{{ route('request_log') }}" class="btn btn-warning">Go Back</a>
</div>
</div>
<div class="mb-3">
<label class="form-label">Nama lengkap pemohon:</label>
<p class="form-control-static">{{ $request->nama }}</p>
</div>
<div class="mb-3">
<label class="form-label">Nomor handphone pemohon:</label>
<p class="form-control-static">{{ $request->handphone }}</p>
</div>
<div class="mb-3">
<label class="form-label">Email pemohon:</label>
<p class="form-control-static">{{ $request->email }}</p>
</div>
<div class="mb-3">
<label class="form-label">NIK pemohon:</label>
<p class="form-control-static">{{ $request->nik }}</p>
</div>
<div class="mb-3">
<label class="form-label">Kategori pengajuan:</label>
<p class="form-control-static">{{ $request->kategori }}</p>
</div>
<div class="mb-3">
<label class="form-label">Tujuan permohonan:</label>
<p class="form-control-static">{{ $request->tujuan }}</p>
</div>
<div class="mb-3">
<label class="form-label">Status:</label>
<p class="form-control-static">{{ $request->status }}</p>
</div>
@if($request->keterangan)
<div class="mb-3">
<label class="form-label">Keterangan:</label>
<p class="form-control-static">{{ $request->keterangan }}</p>
</div>
@endif
<div class="mb-3">
<label class="form-label">Tanggal Pengajuan:</label>
<p class="form-control-static">{{ $request->created_at->format('d M Y H:i:s') }}</p>
</div>
<div class="mb-3">
<label class="form-label">Requested Operation ID:</label>
<p class="form-control-static text-white">
@if($request->operation_id)
<a href="{{ route('operations.show', $request->operation_id) }}" style="color: #a2d1ff;">
Data ID-{{ $request->operation_id }}
</a>
@else
Semua Data
@endif
</p>
</div>
@if($request->status === 'Pending')
<form action="{{ route('requests.approve', $request->id) }}" method="POST" style="display: inline;">
@csrf
@method('PATCH')
<button type="submit" class="btn btn-success">Approve Request</button>
</form>
<button type="button" class="btn btn-danger" data-bs-toggle="modal" data-bs-target="#rejectModal">
Reject Request
</button>
@endif
</div>
</div>
</div>
</div>
</div>
<!-- Reject Modal -->
<div class="modal fade" id="rejectModal" tabindex="-1" aria-labelledby="rejectModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="rejectModalLabel">Reject Request</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<form action="{{ route('requests.reject', $request->id) }}" method="POST">
@csrf
@method('PATCH')
<div class="modal-body">
<div class="mb-3">
<label for="rejectReasonText" class="form-label" id="rejectReasonLabel">Reason for rejection:</label>
<textarea class="form-control" id="rejectReasonText" name="keterangan" rows="3" required></textarea>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
<button type="submit" class="btn btn-danger">Reject</button>
</div>
</form>
</div>
</div>
</div>
<script src="{{ asset('main/assets/libs/jquery/dist/jquery.min.js') }}"></script>
<script src="{{ asset('main/assets/libs/bootstrap/dist/js/bootstrap.bundle.min.js') }}"></script>
<script src="{{ asset('main/assets/js/sidebarmenu.js') }}"></script>
<script src="{{ asset('main/assets/js/app.min.js') }}"></script>
<!-- Logout button script -->
<script>
document.getElementById('logout-link').addEventListener('click', function(event) {
event.preventDefault();
document.getElementById('logout-form').submit();
});
</script>
</body>
</html>
@@ -0,0 +1,224 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>WDBS</title>
<link rel="shortcut icon" type="image/jpg" href="{{ asset('main/assets/images/logos/logo.jpg') }}" />
<link rel="stylesheet" href="{{ asset('main/assets/css/styles.min.css') }}" />
</head>
<body class="bg-1">
<!-- Body Wrapper -->
<div class="page-wrapper" id="main-wrapper" data-layout="vertical" data-navbarbg="skin6" data-sidebartype="full"
data-sidebar-position="fixed" data-header-position="fixed">
<!-- Sidebar Start -->
<aside class="left-sidebar">
<!-- Sidebar scroll-->
<div>
<div class="brand-logo d-flex align-items-center justify-content-between">
<a href="{{ route('landing') }}" class="text-nowrap logo-img">
<img src="{{ asset('main/assets/images/logos/logo_landscape.png') }}" width="100%" alt="" />
</a>
<div class="close-btn d-xl-none d-block sidebartoggler cursor-pointer" id="sidebarCollapse">
<i class="ti ti-x fs-8"></i>
</div>
</div>
<!-- Sidebar navigation-->
<nav class="sidebar-nav scroll-sidebar" data-simplebar="">
<ul id="sidebarnav">
<li class="nav-small-cap">
<i class="ti ti-dots nav-small-cap-icon fs-4"></i>
<span class="hide-menu">Home</span>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('dashboard') }}" aria-expanded="false">
<span>
<i class="ti ti-layout-dashboard"></i>
</span>
<span class="hide-menu">Dashboard</span>
</a>
</li>
<li class="nav-small-cap">
<i class="ti ti-dots nav-small-cap-icon fs-4"></i>
<span class="hide-menu">NAVIGATIONS</span>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('browse_data') }}" aria-expanded="false">
<span>
<i class="ti ti-article"></i>
</span>
<span class="hide-menu">Browse Data</span>
</a>
</li>
@if (in_array(Auth::user()->user_type, ['operator', 'admin']))
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('upload_data') }}" aria-expanded="false">
<span>
<i class="ti ti-alert-circle"></i>
</span>
<span class="hide-menu">Upload Data</span>
</a>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('my_data') }}" aria-expanded="false">
<span>
<i class="ti ti-cards"></i>
</span>
<span class="hide-menu">My Data</span>
</a>
</li>
@endif
@if (in_array(Auth::user()->user_type, ['admin']))
<li class="nav-small-cap">
<i class="ti ti-dots nav-small-cap-icon fs-4"></i>
<span class="hide-menu">ADMIN</span>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('admin_dashboard') }}" aria-expanded="false">
<span>
<i class="ti ti-file-description"></i>
</span>
<span class="hide-menu">Administrator</span>
</a>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('request_log') }}" aria-expanded="false">
<span>
<i class="ti ti-book"></i>
</span>
<span class="hide-menu">Check Data Requests</span>
</a>
</li>
@endif
</ul>
</nav>
<!-- End Sidebar navigation -->
</div>
<!-- End Sidebar scroll-->
</aside>
<!-- Sidebar End -->
<!-- Main wrapper -->
<div class="body-wrapper">
<!-- Header Start -->
<header class="app-header">
<nav class="navbar navbar-expand-lg navbar-light">
<ul class="navbar-nav">
<li class="nav-item d-block d-xl-none">
<a class="nav-link sidebartoggler nav-icon-hover" id="headerCollapse" href="javascript:void(0)">
<i class="ti ti-menu-2"></i>
</a>
</li>
</ul>
<div class="navbar-collapse justify-content-end px-0" id="navbarNav">
<ul class="navbar-nav flex-row ms-auto align-items-center justify-content-end">
<a href="{{ route('landing') }}" target="_blank" class="btn btn-primary">Landing Page</a>
<li class="nav-item dropdown">
<a class="nav-link nav-icon-hover" href="javascript:void(0)" id="drop2" data-bs-toggle="dropdown"
aria-expanded="false">
<img src="{{ asset('main/assets/images/profile/user-1.jpg') }}" alt="" width="35" height="35" class="rounded-circle">
</a>
<div class="dropdown-menu dropdown-menu-end dropdown-menu-animate-up" aria-labelledby="drop2">
<div class="message-body">
<a href="#" id="logout-link" class="btn btn-outline-primary mx-3 mt-2 d-block">Logout</a>
<form id="logout-form" method="POST" action="{{ route('logout') }}" style="display: none;">
@csrf
</form>
</div>
</div>
</li>
</ul>
</div>
</nav>
</header>
<div class="container-fluid">
@if(session('success'))
<div class="alert alert-success">
{{ session('success') }}
</div>
@endif
@if(session('error'))
<div class="alert alert-danger">
{{ session('error') }}
</div>
@endif
<div class="card card-bg" style="background-color: #bf4333; box-shadow: 0 4px 8px rgba(191, 67, 51, 0.8);">
<div class="card-body">
<div class="card" style="background-color: #343950; box-shadow: 0 4px 8px rgba(52, 57, 80, 0.8);">
<div class="card-body">
@if (session('success'))
<div class="alert alert-success">
{{ session('success') }}
</div>
@endif
<form action="{{ route('requests.store') }}" method="POST">
@csrf
<div class="row mb-2 align-items-center">
<div class="col-md-8">
<h5 class="card-title fw-semibold mb-4">Formulir Permohonan Penggunaan Data</h5>
</div>
<div class="col-md-4 text-end">
<a href="{{ route('operations.show', ['id' => $operation->id]) }}" class="btn btn-warning">Go Back</a>
<button type="submit" class="btn btn-secondary">Submit</button>
</div>
</div>
<div class="mb-3">
<label class="form-label required-field">Nama lengkap pemohon</label>
<input type="text" name="nama" class="form-control" required>
</div>
<div class="mb-3">
<label class="form-label required-field">Nomor handphone</label>
<input type="text" name="handphone" class="form-control" required>
</div>
<div class="mb-3">
<label class="form-label required-field">Email</label>
<input type="email" name="email" class="form-control" required>
</div>
<div class="mb-3">
<label class="form-label required-field">NIK</label>
<input type="text" name="nik" class="form-control" required>
</div>
<div class="mb-3">
<label class="form-label required-field">Kategori pengajuan</label>
<select name="kategori" class="form-select" required>
<option value="Riset/Penelitian">Riset/Penelitian</option>
<option value="Komersil">Komersil</option>
<option value="Lainnya">Lainnya</option>
</select>
</div>
<div class="mb-3">
<label class="form-label required-field">Tujuan permohonan</label>
<textarea name="tujuan" rows="5" placeholder="Silahkan isi tujuan penggunaan data ini." class="form-control" required></textarea>
</div>
<input type="hidden" name="created_by_id" value="{{ Auth::id() }}">
<input type="hidden" name="operation_id" value="{{ $operation->id }}">
<a href="{{ route('operations.show', ['id' => $operation->id]) }}" class="btn btn-warning">Go Back</a>
<button type="submit" class="btn btn-secondary">Submit</button>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="{{ asset('main/assets/libs/jquery/dist/jquery.min.js') }}"></script>
<script src="{{ asset('main/assets/libs/bootstrap/dist/js/bootstrap.bundle.min.js') }}"></script>
<script src="{{ asset('main/assets/js/sidebarmenu.js') }}"></script>
<script src="{{ asset('main/assets/js/app.min.js') }}"></script>
<script src="{{ asset('main/assets/libs/apexcharts/dist/apexcharts.min.js') }}"></script>
<script src="{{ asset('main/assets/libs/simplebar/dist/simplebar.js') }}"></script>
<script src="{{ asset('main/assets/js/dashboard.js') }}"></script>
<!-- Logout button script -->
<script>
document.getElementById('logout-link').addEventListener('click', function(event) {
event.preventDefault();
document.getElementById('logout-form').submit();
});
</script>
</body>
</html>
+478
View File
@@ -0,0 +1,478 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>View Patient Cleft Lip Data</title>
<link rel="shortcut icon" type="image/jpg" href="{{ asset('main/assets/images/logos/logo.jpg') }}" />
<link rel="stylesheet" href="{{ asset('main/assets/css/styles.min.css') }}" />
</head>
<body class="bg-1">
<!-- Body Wrapper -->
<div class="page-wrapper" id="main-wrapper" data-layout="vertical" data-navbarbg="skin6" data-sidebartype="full"
data-sidebar-position="fixed" data-header-position="fixed">
<!-- Sidebar Start -->
<aside class="left-sidebar">
<!-- Sidebar scroll-->
<div>
<div class="brand-logo d-flex align-items-center justify-content-between">
<a href="{{ route('landing') }}" class="text-nowrap logo-img">
<img src="{{ asset('main/assets/images/logos/logo_landscape.png') }}" width="100%" alt="Logo" />
</a>
<div class="close-btn d-xl-none d-block sidebartoggler cursor-pointer" id="sidebarCollapse">
<i class="ti ti-x fs-8"></i>
</div>
</div>
<!-- Sidebar navigation-->
<nav class="sidebar-nav scroll-sidebar" data-simplebar="">
<ul id="sidebarnav">
<li class="nav-small-cap">
<i class="ti ti-dots nav-small-cap-icon fs-4"></i>
<span class="hide-menu">Home</span>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('dashboard') }}" aria-expanded="false">
<span>
<i class="ti ti-layout-dashboard"></i>
</span>
<span class="hide-menu">Dashboard</span>
</a>
</li>
<li class="nav-small-cap">
<i class="ti ti-dots nav-small-cap-icon fs-4"></i>
<span class="hide-menu">NAVIGATIONS</span>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('browse_data') }}" aria-expanded="false">
<span>
<i class="ti ti-article"></i>
</span>
<span class="hide-menu">Browse Data</span>
</a>
</li>
@if (in_array(Auth::user()->user_type, ['operator', 'admin']))
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('upload_data') }}" aria-expanded="false">
<span>
<i class="ti ti-alert-circle"></i>
</span>
<span class="hide-menu">Upload Data</span>
</a>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('my_data') }}" aria-expanded="false">
<span>
<i class="ti ti-cards"></i>
</span>
<span class="hide-menu">My Data</span>
</a>
</li>
@endif
@if (in_array(Auth::user()->user_type, ['admin']))
<li class="nav-small-cap">
<i class="ti ti-dots nav-small-cap-icon fs-4"></i>
<span class="hide-menu">ADMIN</span>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('admin_dashboard') }}" aria-expanded="false">
<span>
<i class="ti ti-file-description"></i>
</span>
<span class="hide-menu">Administrator</span>
</a>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('request_log') }}" aria-expanded="false">
<span>
<i class="ti ti-book"></i>
</span>
<span class="hide-menu">Check Data Requests</span>
</a>
</li>
@endif
</ul>
</nav>
<!-- End Sidebar navigation -->
</div>
<!-- End Sidebar scroll-->
</aside>
<!-- Sidebar End -->
<!-- Main wrapper -->
<div class="body-wrapper">
<!-- Header Start -->
<header class="app-header">
<nav class="navbar navbar-expand-lg navbar-light">
<ul class="navbar-nav">
<li class="nav-item d-block d-xl-none">
<a class="nav-link sidebartoggler nav-icon-hover" id="headerCollapse" href="javascript:void(0)">
<i class="ti ti-menu-2"></i>
</a>
</li>
</ul>
<div class="navbar-collapse justify-content-end px-0" id="navbarNav">
<ul class="navbar-nav flex-row ms-auto align-items-center justify-content-end">
<a href="{{ route('landing') }}" target="_blank" class="btn btn-primary">Landing Page</a>
<li class="nav-item dropdown">
<a class="nav-link nav-icon-hover" href="javascript:void(0)" id="drop2" data-bs-toggle="dropdown"
aria-expanded="false">
<img src="{{ asset('main/assets/images/profile/user-1.jpg') }}" alt="User Profile" width="35" height="35" class="rounded-circle">
</a>
<div class="dropdown-menu dropdown-menu-end dropdown-menu-animate-up" aria-labelledby="drop2">
<div class="message-body">
<a href="#" id="logout-link" class="btn btn-outline-primary mx-3 mt-2 d-block">Logout</a>
<form id="logout-form" method="POST" action="{{ route('logout') }}" style="display: none;">
@csrf
</form>
</div>
</div>
</li>
</ul>
</div>
</nav>
</header>
<div class="container-fluid">
@if(session('success'))
<div class="alert alert-success">
{{ session('success') }}
</div>
@endif
@if(session('error'))
<div class="alert alert-danger">
{{ session('error') }}
</div>
@endif
<div class="card card-bg" style="background-color: #ffcd87; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.8);">
<div class="card-body">
<div class="card" style="background-color: #3a4b51; box-shadow: 0 4px 8px rgba(58, 75, 81, 0.8);">
<div class="card-body">
<div class="row mb-2 align-items-center">
<div class="col-md-6">
<h3 class="fw-semibold mb-2" style="color: #ffffff;">Data Pasien</h3>
</div>
<div class="col-md-6 text-md-end mb-4">
<a href="{{ route('browse_data') }}" class="btn btn-warning">Go Back</a>
<button id="requestDataBtn" class="btn btn-secondary">Request Data</button>
<button id="cancelRequestBtn" class="btn btn-danger" style="display: none;">Cancel Request</button>
<button id="downloadDataBtn" class="btn btn-success" style="display: none;">Download Data</button>
</div>
</div>
<div class="row mb-5">
<div class="col-md-4">
<div class="mb-3">
<label class="form-label">Nama pasien:</label>
<p class="form-control-static">{{ $operation->nama }}</p>
</div>
<div class="mb-3">
<label class="form-label">Tanggal Lahir:</label>
<p class="form-control-static">{{ $operation->tanggal_lahir }}</p>
</div>
<div class="mb-3">
<label class="form-label">Umur pasien:</label>
<p class="form-control-static">{{ $operation->umur }} tahun</p>
</div>
<div class="mb-3">
<label class="form-label">Alamat pasien:</label>
<p class="form-control-static">{{ $operation->alamat }}</p>
</div>
<div class="mb-3">
<label class="form-label">Suku:</label>
<p class="form-control-static">{{ $operation->suku }}</p>
</div>
</div>
<div class="col-md-4">
<div class="mb-3">
<label class="form-label">Kelainan kongenital penyerta:</label>
<p class="form-control-static">{{ $operation->kelainan_kongenital }}</p>
</div>
<div class="mb-3">
<label class="form-label">Tanggal Operasi:</label>
<p class="form-control-static">{{ $operation->tanggal_operasi }}</p>
</div>
<div class="mb-3">
<label class="form-label">Teknik operasi yang digunakan:</label>
<p class="form-control-static">{{ $operation->teknikoperasi }}</p>
</div>
<div class="mb-3">
<label class="form-label">Nama penyelenggara:</label>
<p class="form-control-static">{{ $operation->operator }}</p>
</div>
<div class="mb-3">
<label class="form-label">Lokasi operasi:</label>
<p class="form-control-static">{{ $operation->lokasioperasi }}</p>
</div>
</div>
<div class="col-md-4">
<div class="mb-3">
<label class="form-label">Pasien merupakan anak ke-berapa:</label>
<p class="form-control-static">{{ $operation->anak_ke }}</p>
</div>
<div class="mb-3">
<label class="form-label">Jenis kelamin pasien:</label>
<p class="form-control-static">{{ $operation->kelamin }}</p>
</div>
<div class="mb-3">
<label class="form-label">Jenis kelainan cleft:</label>
<p class="form-control-static">{{ $operation->jenis_cleft }}</p>
</div>
<div class="mb-3">
<label class="form-label">Jenis terapi:</label>
<p class="form-control-static">{{ $operation->jenis_terapi }}</p>
</div>
<div class="mb-3">
<label class="form-label">Diagnosa:</label>
<p class="form-control-static">{{ $operation->diagnosa }}</p>
</div>
</div>
</div>
<div class="row mb-5">
<div class="col-md-4">
<div class="mb-3">
<label class="form-label">Riwayat kehamilan ibu dari pasien:</label>
<p class="form-control-static">{{ $operation->riwayathamil }}</p>
</div>
<div class="mb-3">
<label class="form-label">Riwayat keluarga pasien:</label>
<p class="form-control-static">{{ $operation->riwayatkeluarga }}</p>
</div>
<div class="mb-3">
<label class="form-label">Riwayat kawin kerabat:</label>
<p class="form-control-static">{{ $operation->riwayat_kawin_kerabat }}</p>
</div>
</div>
<div class="col-md-4">
<div class="mb-3">
<label class="form-label">Riwayat penyakit terdahulu:</label>
<p class="form-control-static">{{ $operation->riwayat_penyakit_terdahulu }}</p>
</div>
<div class="mb-3">
<label class="form-label">Follow-up:</label>
<p class="form-control-static">{{ $operation->followup }}</p>
</div>
</div>
<div class="col-md-4">
<div class="mb-3">
<label class="form-label">Data diunggah oleh:</label>
<p class="form-control-static">{{ $operation->created_by_name }}</p>
</div>
<div class="mb-3">
<label class="form-label">Tanggal pembuatan data:</label>
<p class="form-control-static">{{ $operation->created_at }}</p>
</div>
<div class="mb-3">
<label class="form-label">Tanggal terakhir update data:</label>
<p class="form-control-static">{{ $operation->updated_at }}</p>
</div>
</div>
</div>
<div class="row mb-5">
<div class="col-md-4 mb-3">
<div class="image-container">
@if($preOpPhoto)
<figure>
<img src="{{ asset($preOpPhoto->gambar) }}" alt="Pre-Op Image" width="300">
<figcaption style="color: #ffffff;">Pre-Op (Sebelum Operasi)</figcaption>
</figure>
@endif
</div>
</div>
<div class="col-md-4 mb-3">
<div class="image-container">
@if($postOpPhoto)
<figure>
<img src="{{ asset($postOpPhoto->gambar) }}" alt="Post-Op Image" width="300">
<figcaption style="color: #ffffff;">Post-Op (Setelah Operasi)</figcaption>
</figure>
@endif
</div>
</div>
<!-- <div class="col-md-4 mb-3">
<div class="image-container">
@if($kontrolPhoto)
<figure>
<img src="{{ asset($kontrolPhoto->gambar) }}" alt="Control Image" width="300">
<figcaption style="color: #ffffff;">Control (Foto Kontrol Setelah Operasi)</figcaption>
</figure>
@endif
</div>
</div> -->
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="{{ asset('main/assets/libs/jquery/dist/jquery.min.js') }}"></script>
<script src="{{ asset('main/assets/libs/bootstrap/dist/js/bootstrap.bundle.min.js') }}"></script>
<script src="{{ asset('main/assets/js/sidebarmenu.js') }}"></script>
<script src="{{ asset('main/assets/js/app.min.js') }}"></script>
<!-- Logout button script -->
<script>
document.getElementById('logout-link').addEventListener('click', function(event) {
event.preventDefault();
document.getElementById('logout-form').submit();
});
</script>
<script>
document.addEventListener('DOMContentLoaded', function() {
const requestDataBtn = document.getElementById('requestDataBtn');
const cancelRequestBtn = document.getElementById('cancelRequestBtn');
const downloadDataBtn = document.getElementById('downloadDataBtn');
let modalInstance = null;
// Function to check the latest request status
function checkLatestRequest() {
fetch(`/api/check-request/{{ $operation->id }}`)
.then(response => response.json())
.then(data => {
if (data.request) {
switch (data.request.status) {
case 'Pending':
requestDataBtn.textContent = 'Request Pending';
requestDataBtn.disabled = true;
requestDataBtn.classList.remove('btn-primary', 'btn-danger');
requestDataBtn.classList.add('btn-secondary');
cancelRequestBtn.style.display = 'inline-block';
break;
case 'Approved':
requestDataBtn.textContent = 'Request Approved';
requestDataBtn.disabled = true;
requestDataBtn.classList.remove('btn-primary', 'btn-danger');
requestDataBtn.classList.add('btn-success');
downloadDataBtn.style.display = 'inline-block';
break;
case 'Rejected':
requestDataBtn.textContent = 'Request Rejected';
requestDataBtn.disabled = false;
requestDataBtn.classList.remove('btn-primary', 'btn-secondary');
requestDataBtn.classList.add('btn-danger');
requestDataBtn.onclick = showRejectionReason;
break;
}
}
});
}
// Check the latest request status on page load
checkLatestRequest();
// Function to show rejection reason
function showRejectionReason() {
if (modalInstance) {
modalInstance.show();
return;
}
fetch(`/api/rejection-reason/{{ $operation->id }}`)
.then(response => response.json())
.then(data => {
// Create modal elements
const modal = document.createElement('div');
modal.className = 'modal fade';
modal.id = 'rejectionModal';
modal.setAttribute('tabindex', '-1');
modal.setAttribute('aria-labelledby', 'rejectionModalLabel');
modal.setAttribute('aria-hidden', 'true');
modal.innerHTML = `
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="rejectionModalLabel">Request Rejected</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<div class="mb-3">
<label class="form-label">Reason for rejection:</label>
<p>${data.keterangan}</p>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary" id="newRequestBtn">Make New Request</button>
</div>
</div>
</div>
`;
// Append modal to body
document.body.appendChild(modal);
// Show modal
modalInstance = new bootstrap.Modal(modal);
modalInstance.show();
// Add event listener to "Make New Request" button
document.getElementById('newRequestBtn').addEventListener('click', function() {
modalInstance.hide();
window.location.href = "{{ route('operations.request_data', ['id' => $operation->id]) }}";
});
// Remove modal instance when it's hidden
modal.addEventListener('hidden.bs.modal', function() {
modalInstance = null;
});
});
}
// Function to make a new request
function makeNewRequest() {
fetch(`/api/make-new-request/{{ $operation->id }}`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-CSRF-TOKEN': document.querySelector('meta[name="csrf-token"]').getAttribute('content')
}
})
.then(response => response.json())
.then(data => {
if (data.success) {
alert('New request submitted successfully');
location.reload();
} else {
alert('Failed to submit new request. Please try again.');
}
});
}
// Event listener for Request Data button
requestDataBtn.addEventListener('click', function() {
if (requestDataBtn.textContent === 'Request Rejected') {
} else {
window.location.href = "{{ route('operations.request_data', ['id' => $operation->id]) }}";
}
});
// Event listener for Cancel Request button
cancelRequestBtn.addEventListener('click', function() {
if (confirm('Are you sure you want to cancel this request?')) {
window.location.href = `/cancel-request/{{ $operation->id }}`;
}
});
// Event listener for Download Data button
downloadDataBtn.addEventListener('click', function() {
window.location.href = "{{ route('operations.download', ['id' => $operation->id]) }}";
});
});
</script>
</body>
</html>
+349
View File
@@ -0,0 +1,349 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>WDBS</title>
<link rel="shortcut icon" type="image/jpg" href="{{ asset('main/assets/images/logos/logo.jpg') }}" />
<link rel="stylesheet" href="{{ asset('main/assets/css/styles.min.css') }}" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/flatpickr/dist/flatpickr.min.css">
<script src="https://cdn.jsdelivr.net/npm/flatpickr"></script>
</head>
<body class="bg-6">
<!-- Body Wrapper -->
<div class="page-wrapper" id="main-wrapper" data-layout="vertical" data-navbarbg="skin6" data-sidebartype="full"
data-sidebar-position="fixed" data-header-position="fixed">
<!-- Sidebar Start -->
<aside class="left-sidebar">
<!-- Sidebar scroll-->
<div>
<div class="brand-logo d-flex align-items-center justify-content-between">
<a href="{{ route('landing') }}" class="text-nowrap logo-img">
<img src="{{ asset('main/assets/images/logos/logo_landscape.png') }}" width="100%" alt="" />
</a>
<div class="close-btn d-xl-none d-block sidebartoggler cursor-pointer" id="sidebarCollapse">
<i class="ti ti-x fs-8"></i>
</div>
</div>
<!-- Sidebar navigation-->
<nav class="sidebar-nav scroll-sidebar" data-simplebar="">
<ul id="sidebarnav">
<li class="nav-small-cap">
<i class="ti ti-dots nav-small-cap-icon fs-4"></i>
<span class="hide-menu">Home</span>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('dashboard') }}" aria-expanded="false">
<span>
<i class="ti ti-layout-dashboard"></i>
</span>
<span class="hide-menu">Dashboard</span>
</a>
</li>
<li class="nav-small-cap">
<i class="ti ti-dots nav-small-cap-icon fs-4"></i>
<span class="hide-menu">NAVIGATIONS</span>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('browse_data') }}" aria-expanded="false">
<span>
<i class="ti ti-article"></i>
</span>
<span class="hide-menu">Browse Data</span>
</a>
</li>
@if (in_array(Auth::user()->user_type, ['operator', 'admin']))
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('upload_data') }}" aria-expanded="false">
<span>
<i class="ti ti-alert-circle"></i>
</span>
<span class="hide-menu">Upload Data</span>
</a>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('my_data') }}" aria-expanded="false">
<span>
<i class="ti ti-cards"></i>
</span>
<span class="hide-menu">My Data</span>
</a>
</li>
@endif
@if (in_array(Auth::user()->user_type, ['admin']))
<li class="nav-small-cap">
<i class="ti ti-dots nav-small-cap-icon fs-4"></i>
<span class="hide-menu">ADMIN</span>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('admin_dashboard') }}" aria-expanded="false">
<span>
<i class="ti ti-file-description"></i>
</span>
<span class="hide-menu">Administrator</span>
</a>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('request_log') }}" aria-expanded="false">
<span>
<i class="ti ti-book"></i>
</span>
<span class="hide-menu">Check Data Requests</span>
</a>
</li>
@endif
</ul>
</nav>
<!-- End Sidebar navigation -->
</div>
<!-- End Sidebar scroll-->
</aside>
<!-- Sidebar End -->
<!-- Main wrapper -->
<div class="body-wrapper">
<!-- Header Start -->
<header class="app-header">
<nav class="navbar navbar-expand-lg navbar-light">
<ul class="navbar-nav">
<li class="nav-item d-block d-xl-none">
<a class="nav-link sidebartoggler nav-icon-hover" id="headerCollapse" href="javascript:void(0)">
<i class="ti ti-menu-2"></i>
</a>
</li>
</ul>
<div class="navbar-collapse justify-content-end px-0" id="navbarNav">
<ul class="navbar-nav flex-row ms-auto align-items-center justify-content-end">
<a href="{{ route('landing') }}" target="_blank" class="btn btn-primary">Landing Page</a>
<li class="nav-item dropdown">
<a class="nav-link nav-icon-hover" href="javascript:void(0)" id="drop2" data-bs-toggle="dropdown"
aria-expanded="false">
<img src="{{ asset('main/assets/images/profile/user-1.jpg') }}" alt="" width="35" height="35" class="rounded-circle">
</a>
<div class="dropdown-menu dropdown-menu-end dropdown-menu-animate-up" aria-labelledby="drop2">
<div class="message-body">
<a href="#" id="logout-link" class="btn btn-outline-primary mx-3 mt-2 d-block">Logout</a>
<form id="logout-form" method="POST" action="{{ route('logout') }}" style="display: none;">
@csrf
</form>
</div>
</div>
</li>
</ul>
</div>
</nav>
</header>
<div class="container-fluid">
@if(session('success'))
<div class="alert alert-success text-center">
{{ session('success') }}
</div>
@endif
@if(session('error'))
<div class="alert alert-danger text-center">
{{ session('error') }}
</div>
@endif
<div class="card card-bg" style="background-color: #bf4333; box-shadow: 0 4px 8px rgba(191, 67, 51, 0.8);">
<div class="card-body">
<div class="card" style="background-color: #343950; box-shadow: 0 4px 8px rgba(52, 57, 80, 0.8);">
<div class="card-body">
<form action="{{ route('operations.store') }}" method="POST" enctype="multipart/form-data">
@csrf
<div class="mb-4">
<div class="row mb-2">
<div class="col-md-4 mb-2 text-start">
<a href="{{ route('browse_data') }}" class="btn btn-warning">Go Back</a>
</div>
<div class="col-md-4 mb-2 text-center">
<h5 class="card-title fw-semibold mb-4 text-center" style="font-size: 27px;">Unggah Data Pasien Bibir Sumbing</h5>
</div>
<div class="col-md-4 mb-2 text-end">
<button type="submit" class="btn btn-secondary">Submit</button>
</div>
</div>
</div>
<div class="row mb-3">
<!-- DATA DESKRIPSI -->
<div class="col-md-4">
<div class="mb-3">
<label class="form-label required-field">Nama pasien</label>
<input type="text" name="nama" class="form-control" value="{{ old('nama') }}" required>
</div>
<div class="mb-3">
<label class="form-label required-field">Tanggal Lahir</label>
<input type="date" name="tanggal_lahir" class="form-control" value="{{ old('tanggal_lahir') }}" required>
</div>
<div class="mb-3">
<label class="form-label required-field">Umur pasien</label>
<input type="number" name="umur" class="form-control" value="{{ old('umur') }}" required>
</div>
<div class="mb-3">
<label class="form-label required-field">Alamat pasien</label>
<input type="text" name="alamat" class="form-control" value="{{ old('alamat') }}" required>
</div>
<div class="mb-3">
<label class="form-label required-field">Suku</label>
<input type="text" name="suku" class="form-control" value="{{ old('suku') }}" required>
</div>
</div>
<!-- DATA DOKTER -->
<div class="col-md-4">
<div class="mb-3">
<label class="form-label required-field">Kelainan kongenital penyerta</label>
<input type="text" name="kelainan_kongenital" class="form-control" value="{{ old('kelainan_kongenital') }}" required>
</div>
<div class="mb-3">
<label class="form-label required-field">Tanggal Operasi</label>
<input type="date" name="tanggal_operasi" class="form-control" value="{{ old('tanggal_operasi') }}" required>
</div>
<div class="mb-3">
<label class="form-label required-field">Teknik operasi yang digunakan</label>
<input type="text" name="teknikoperasi" class="form-control" value="{{ old('teknikoperasi') }}" required>
</div>
<div class="mb-3">
<label class="form-label required-field">Nama penyelenggara</label>
<input type="text" name="operator" class="form-control" value="{{ old('operator') }}" required>
</div>
<div class="mb-3">
<label class="form-label required-field">Lokasi operasi</label>
<input type="text" name="lokasioperasi" class="form-control" value="{{ old('lokasioperasi') }}" required>
</div>
</div>
<!-- DATA PENYAKIT -->
<div class="col-md-4">
<div class="mb-3">
<label class="form-label required-field">Pasien merupakan anak ke-berapa</label>
<input type="number" name="anak_ke" class="form-control" value="{{ old('anak_ke') }}" required>
</div>
<div class="mb-3">
<label class="form-label required-field">Jenis kelamin pasien</label>
<select name="kelamin" class="form-select" required>
<option value="Laki-laki" {{ old('kelamin') == 'Laki-laki' ? 'selected' : '' }}>Laki-laki</option>
<option value="Perempuan" {{ old('kelamin') == 'Perempuan' ? 'selected' : '' }}>Perempuan</option>
</select>
</div>
<div class="mb-3">
<label class="form-label required-field">Jenis kelainan cleft</label>
<select name="jenis_cleft" class="form-select" required>
<option value="sindromik" {{ old('jenis_cleft') == 'sindromik' ? 'selected' : '' }}>Sindromik</option>
<option value="non_sindromik" {{ old('jenis_cleft') == 'non_sindromik' ? 'selected' : '' }}>Non Sindromik</option>
</select>
</div>
<div class="mb-3">
<label class="form-label required-field">Jenis terapi</label>
<select name="jenis_terapi" class="form-select" required>
<option value="labioplasty" {{ old('jenis_terapi') == 'labioplasty' ? 'selected' : '' }}>Labioplasty</option>
<option value="palatoplasty" {{ old('jenis_terapi') == 'palatoplasty' ? 'selected' : '' }}>Palatoplasty</option>
<option value="gnatoplasty" {{ old('jenis_terapi') == 'gnatoplasty' ? 'selected' : '' }}>Gnatoplasty</option>
</select>
</div>
<div class="mb-3">
<label class="form-label required-field">Diagnosa</label>
<select name="diagnosa" class="form-select" required>
<option value="labioschisis" {{ old('diagnosa') == 'labioschisis' ? 'selected' : '' }}>Labioschisis</option>
<option value="palatoschisis" {{ old('diagnosa') == 'palatoschisis' ? 'selected' : '' }}>Palatoschisis</option>
<option value="labiopalatoschisis" {{ old('diagnosa') == 'labiopalatoschisis' ? 'selected' : '' }}>Labiopalatoschisis</option>
<option value="labiognatoschisis" {{ old('diagnosa') == 'labiognatoschisis' ? 'selected' : '' }}>Labiognatoschisis</option>
<option value="labiopalatognatoschisis" {{ old('diagnosa') == 'labiopalatognatoschisis' ? 'selected' : '' }}>Labiopalatognatoschisis</option>
</select>
</div>
</div>
</div>
<div class="row mb-3">
<!-- DATA PANJANG & FOTO -->
<div class="col-md-4">
<div class="mb-3">
<label class="form-label required-field">Riwayat kehamilan ibu dari pasien</label>
<textarea name="riwayathamil" rows="3" placeholder="Silahkan isi riwayat kehamilan ibu dari pasien" class="form-control" required>{{ old('riwayathamil') }}</textarea>
</div>
<div class="mb-3">
<label class="form-label required-field">Riwayat keluarga pasien</label>
<textarea name="riwayatkeluarga" rows="3" placeholder="Silahkan isi riwayat keluarga pasien" class="form-control" required>{{ old('riwayatkeluarga') }}</textarea>
</div>
<div class="mb-3">
<label class="form-label required-field">Riwayat kawin kerabat</label>
<textarea name="riwayat_kawin_kerabat" rows="3" placeholder="Riwayat kawin kerabat" class="form-control" required>{{ old('riwayat_kawin_kerabat') }}</textarea>
</div>
</div>
<!-- DATA PANJANG & FOTO -->
<div class="col-md-4">
<div class="mb-3">
<label class="form-label required-field">Riwayat penyakit terdahulu</label>
<textarea name="riwayat_penyakit_terdahulu" rows="6" placeholder="Silahkan isi riwayat penyakit terdahulu pasien" class="form-control" required>{{ old('riwayat_penyakit_terdahulu') }}</textarea>
</div>
<div class="mb-3">
<label class="form-label required-field">Follow-up</label>
<textarea name="followup" rows="6" placeholder="Silahkan isi follow-up" class="form-control" required>{{ old('followup') }}</textarea>
</div>
</div>
<!-- DATA PANJANG & FOTO -->
<div class="col-md-4">
<div class="mb-4 form-label" style="color: #c8c8c8">
<label style="color: #ffffff">Aturan unggah foto:</label>
<label>1. Ukuran harus memiliki rasio 1:1 (cth: 512x512).</label>
<label>2. Mata pasien harus ditutup / diberikan kotak hitam untuk menutupi matanya.</label>
<label>3. Muka pasien harus menghadap ke layar kamera ketika difoto.</label>
<label>4. Bibir pasien harus terlihat ketika difoto.</label>
</div>
<div class="mb-1">
<label class="form-label">Foto sebelum operasi</label>
<input type="file" name="photos_pre_op" class="form-control" value="{{ old('photos_pre_op') }}">
</div>
<div class="mb-1">
<label class="form-label">Foto setelah operasi</label>
<input type="file" name="photos_post_op" class="form-control" value="{{ old('photos_post_op') }}">
</div>
<div class="mb-4 text-end">
<input type="hidden" name="created_by_id" value="{{ auth()->user()->id }}">
<input type="hidden" name="created_by_name" value="{{ auth()->user()->name }}">
<a href="{{ route('browse_data') }}" class="btn btn-warning">Go Back</a>
<button type="submit" class="btn btn-secondary">Submit</button>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="{{ asset('main/assets/libs/jquery/dist/jquery.min.js') }}"></script>
<script src="{{ asset('main/assets/libs/bootstrap/dist/js/bootstrap.bundle.min.js') }}"></script>
<script src="{{ asset('main/assets/js/sidebarmenu.js') }}"></script>
<script src="{{ asset('main/assets/js/app.min.js') }}"></script>
<script src="{{ asset('main/assets/libs/apexcharts/dist/apexcharts.min.js') }}"></script>
<script src="{{ asset('main/assets/libs/simplebar/dist/simplebar.js') }}"></script>
<script src="{{ asset('main/assets/js/dashboard.js') }}"></script>
<!-- Logout button script -->
<script>
document.getElementById('logout-link').addEventListener('click', function(event) {
event.preventDefault();
document.getElementById('logout-form').submit();
});
</script>
<script>
flatpickr("input[name=tanggal_lahir]", {
dateFormat: "Y-m-d",
});
flatpickr("input[name=tanggal_operasi]", {
dateFormat: "Y-m-d",
});
</script>
</body>
</html>