intial commit

This commit is contained in:
2026-06-07 19:10:00 +07:00
commit 37bf240d23
230 changed files with 37141 additions and 0 deletions
@@ -0,0 +1,36 @@
<x-guest-layout>
<x-auth-card>
<x-slot name="logo">
<a href="/">
<x-application-logo class="w-20 h-20 fill-current text-gray-500" />
</a>
</x-slot>
<div class="mb-4 text-sm text-gray-600">
{{ __('This is a secure area of the application. Please confirm your password before continuing.') }}
</div>
<!-- Validation Errors -->
<x-auth-validation-errors class="mb-4" :errors="$errors" />
<form method="POST" action="{{ route('password.confirm') }}">
@csrf
<!-- Password -->
<div>
<x-label for="password" :value="__('Password')" />
<x-input id="password" class="block mt-1 w-full"
type="password"
name="password"
required autocomplete="current-password" />
</div>
<div class="flex justify-end mt-4">
<x-button>
{{ __('Confirm') }}
</x-button>
</div>
</form>
</x-auth-card>
</x-guest-layout>
@@ -0,0 +1,36 @@
<x-guest-layout>
<x-auth-card>
<x-slot name="logo">
<a href="/">
<x-application-logo class="w-20 h-20 fill-current text-gray-500" />
</a>
</x-slot>
<div class="mb-4 text-sm text-gray-600">
{{ __('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')" />
<!-- Validation Errors -->
<x-auth-validation-errors class="mb-4" :errors="$errors" />
<form method="POST" action="{{ route('password.email') }}">
@csrf
<!-- Email Address -->
<div>
<x-label for="email" :value="__('Email')" />
<x-input id="email" class="block mt-1 w-full" type="email" name="email" :value="old('email')" required autofocus />
</div>
<div class="flex items-center justify-end mt-4">
<x-button>
{{ __('Email Password Reset Link') }}
</x-button>
</div>
</form>
</x-auth-card>
</x-guest-layout>
+72
View File
@@ -0,0 +1,72 @@
<x-guest-layout>
<x-auth-card>
<x-slot name="logo">
<center> <h1> Powered By </h1> </center>
<a href="/">
<img src="{{url('img/telkom.png')}}" alt="logo">
</a>
</x-slot>
<!-- Session Status -->
<x-auth-session-status class="mb-4" :status="session('status')" />
<!-- Validation Errors -->
<x-auth-validation-errors class="mb-4" :errors="$errors" />
<form method="POST" action="{{ route('login') }}">
@csrf
<!-- Email Address -->
<div>
<x-label for="email" :value="__('Email')" />
<x-input id="email" class="block mt-1 w-full" type="email" name="email" :value="old('email')" required autofocus />
</div>
<!-- Password -->
<div class="mt-4">
<x-label for="password" :value="__('Password')" />
<x-input id="password" class="block mt-1 w-full"
type="password"
name="password"
required autocomplete="current-password" />
</div>
<!-- Remember Me -->
<div class="block mt-4">
<label for="remember_me" class="inline-flex items-center">
<input id="remember_me" type="checkbox" class="rounded border-gray-300 text-indigo-600 shadow-sm focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50" name="remember">
<span class="ml-2 text-sm text-gray-600">{{ __('Remember me') }}</span>
</label>
</div>
<div class="flex items-center justify-end mt-4">
@if (Route::has('password.request'))
<a class="underline text-sm text-gray-600 hover:text-gray-900" href="{{ route('password.request') }}">
{{ __('Forgot your password?') }}
</a>
@endif
<x-button class="ml-3">
{{ __('Log in') }}
</x-button>
</div>
</form>
</x-auth-card>
<div class="footer">
<h1>Telkom University <p> Telkom University | Universitas Swasta Terbaik</h1>
<style>
.footer {
position: fixed;
left: 0;
bottom: 0;
width: 100%;
background-color: rgb(255, 0, 0);
color: white;
text-align: center;
}
</style>
</div>
</x-guest-layout>
@@ -0,0 +1,97 @@
<x-guest-layout>
<x-auth-card>
<x-slot name="logo">
<center> <h1> Powered By </h1> </center>
<a href="/">
<img src="{{url('img/telkom.png')}}" alt="logo">
</a>
</x-slot>
<!-- Validation Errors -->
<x-auth-validation-errors class="mb-4" :errors="$errors" />
<form method="POST" action="{{ route('register-orang-tua') }}">
@csrf
<!-- Name -->
<div>
<x-label for="nama" :value="__('Nama')" />
<x-input id="nama" class="block mt-1 w-full" type="text" name="nama" :value="old('nama')" required autofocus />
</div>
<div>
<x-label for="alamat" :value="__('Alamat')" />
<x-input id="alamat" class="block mt-1 w-full" type="text" name="alamat" :value="old('alamat')" required autofocus />
</div>
<!-- Email Address -->
<div class="mt-4">
<x-label for="email" :value="__('Email')" />
<x-input id="email" class="block mt-1 w-full" type="email" name="email" :value="old('email')" required />
</div>
<!-- Password -->
<div class="mt-4">
<x-label for="password" :value="__('Password')" />
<x-input id="password" class="block mt-1 w-full"
type="password"
name="password"
required autocomplete="new-password" />
</div>
<!-- Confirm Password -->
<div class="mt-4">
<x-label for="password_confirmation" :value="__('Confirm Password')" />
<x-input id="password_confirmation" class="block mt-1 w-full"
type="password"
name="password_confirmation" required />
</div>
<div>
<x-label for="id_desa" :value="__('Desa')" />
<select id="id_desa" name="id_desa" class="rounded-md shadow-sm border-gray-300 focus:border-red-300 focus:ring focus:ring-red-200 focus:ring-opacity-50" required autofocus>
@foreach ($desa as $d)
<option value="{{ $d->id }}">{{ $d->name }}</option>
@endforeach
</select>
</div>
<div>
<x-label for="id_posyandu" :value="__('Posyandu')" />
<select id="id_posyandu" name="id_posyandu" class="rounded-md shadow-sm border-gray-300 focus:border-red-300 focus:ring focus:ring-red-200 focus:ring-opacity-50" required autofocus>
@foreach ($posyandu as $p)
<option value="{{ $p->id }}">{{ $p->nama }}</option>
@endforeach
</select>
</div>
<div class="flex items-center justify-end mt-4">
<a class="underline text-sm text-gray-600 hover:text-gray-900" href="{{ route('login') }}">
{{ __('Already registered?') }}
</a>
<x-button class="ml-4">
{{ __('Register') }}
</x-button>
</div>
</form>
</x-auth-card>
<div class="footer">
<h1>Telkom University <p> Telkom University | Universitas Swasta Terbaik</h1>
<style>
.footer {
left: 0;
bottom: 0;
width: 100%;
background-color: rgb(255, 0, 0);
color: white;
text-align: center;
}
</style>
</div>
</x-guest-layout>
@@ -0,0 +1,91 @@
<x-guest-layout>
<x-auth-card>
<x-slot name="logo">
<center> <h1> Powered By </h1> </center>
<a href="/">
<img src="{{url('img/telkom.png')}}" alt="logo">
</a>
</x-slot>
<!-- Validation Errors -->
<x-auth-validation-errors class="mb-4" :errors="$errors" />
<form method="POST" action="{{ route('register-posyandu') }}">
@csrf
<!-- Name -->
<div>
<x-label for="nama" :value="__('Nama')" />
<x-input id="nama" class="block mt-1 w-full" type="text" name="nama" :value="old('nama')" required autofocus />
</div>
<!-- Email Address -->
<div class="mt-4">
<x-label for="email" :value="__('Email')" />
<x-input id="email" class="block mt-1 w-full" type="email" name="email" :value="old('email')" required />
</div>
<!-- Password -->
<div class="mt-4">
<x-label for="password" :value="__('Password')" />
<x-input id="password" class="block mt-1 w-full"
type="password"
name="password"
required autocomplete="new-password" />
</div>
<!-- Confirm Password -->
<div class="mt-4">
<x-label for="password_confirmation" :value="__('Confirm Password')" />
<x-input id="password_confirmation" class="block mt-1 w-full"
type="password"
name="password_confirmation" required />
</div>
<div>
<x-label for="id_desa" :value="__('Desa')" />
<select id="id_desa" name="id_desa" class="rounded-md shadow-sm border-gray-300 focus:border-red-300 focus:ring focus:ring-red-200 focus:ring-opacity-50" required autofocus>
@foreach ($desa as $d)
<option value="{{ $d->id }}">{{ $d->name }}</option>
@endforeach
</select>
</div>
<div>
<x-label for="id_posyandu" :value="__('Posyandu')" />
<select id="id_posyandu" name="id_posyandu" class="rounded-md shadow-sm border-gray-300 focus:border-red-300 focus:ring focus:ring-red-200 focus:ring-opacity-50" required autofocus>
@foreach ($posyandu as $p)
<option value="{{ $p->id }}">{{ $p->nama }}</option>
@endforeach
</select>
</div>
<div class="flex items-center justify-end mt-4">
<a class="underline text-sm text-gray-600 hover:text-gray-900" href="{{ route('login') }}">
{{ __('Already registered?') }}
</a>
<x-button class="ml-4">
{{ __('Register') }}
</x-button>
</div>
</form>
</x-auth-card>
<div class="footer">
<h1>Telkom University <p> Telkom University | Universitas Swasta Terbaik</h1>
<style>
.footer {
left: 0;
bottom: 0;
width: 100%;
background-color: rgb(255, 0, 0);
color: white;
text-align: center;
}
</style>
</div>
</x-guest-layout>
+42
View File
@@ -0,0 +1,42 @@
<x-guest-layout>
<x-auth-card>
<x-slot name="logo">
<center> <h1> Powered By </h1> </center>
<a href="/">
<img src="{{url('img/telkom.png')}}" alt="logo">
</a>
</x-slot>
<!-- Validation Errors -->
<x-auth-validation-errors class="mb-4" :errors="$errors" />
<div class="w-full text-center my-3">
<a href="{{ route('register-orang-tua') }}">
<button class="w-full px-4 py-2 bg-red-800 border border-transparent rounded-md font-semibold text-xs text-white uppercase tracking-widest hover:bg-red-700 active:bg-red-900 focus:outline-none focus:border-red-900 focus:ring ring-red-300 disabled:opacity-25 transition ease-in-out duration-150">
Orang Tua
</button>
</a>
</div>
<div class="w-full text-center my-3">
<a href="{{ route('register-posyandu') }}">
<button class="w-full px-4 py-2 bg-red-800 border border-transparent rounded-md font-semibold text-xs text-white uppercase tracking-widest hover:bg-red-700 active:bg-red-900 focus:outline-none focus:border-red-900 focus:ring ring-red-300 disabled:opacity-25 transition ease-in-out duration-150">
Kader Posyandu
</button>
</a>
</div>
</x-auth-card>
<div class="footer">
<h1>Telkom University <p> Telkom University | Universitas Swasta Terbaik</h1>
<style>
.footer {
left: 0;
bottom: 0;
width: 100%;
background-color: rgb(255, 0, 0);
color: white;
text-align: center;
}
</style>
</div>
</x-guest-layout>
@@ -0,0 +1,48 @@
<x-guest-layout>
<x-auth-card>
<x-slot name="logo">
<a href="/">
<x-application-logo class="w-20 h-20 fill-current text-gray-500" />
</a>
</x-slot>
<!-- Validation Errors -->
<x-auth-validation-errors class="mb-4" :errors="$errors" />
<form method="POST" action="{{ route('password.update') }}">
@csrf
<!-- Password Reset Token -->
<input type="hidden" name="token" value="{{ $request->route('token') }}">
<!-- Email Address -->
<div>
<x-label for="email" :value="__('Email')" />
<x-input id="email" class="block mt-1 w-full" type="email" name="email" :value="old('email', $request->email)" required autofocus />
</div>
<!-- Password -->
<div class="mt-4">
<x-label for="password" :value="__('Password')" />
<x-input id="password" class="block mt-1 w-full" type="password" name="password" required />
</div>
<!-- Confirm Password -->
<div class="mt-4">
<x-label for="password_confirmation" :value="__('Confirm Password')" />
<x-input id="password_confirmation" class="block mt-1 w-full"
type="password"
name="password_confirmation" required />
</div>
<div class="flex items-center justify-end mt-4">
<x-button>
{{ __('Reset Password') }}
</x-button>
</div>
</form>
</x-auth-card>
</x-guest-layout>
@@ -0,0 +1,39 @@
<x-guest-layout>
<x-auth-card>
<x-slot name="logo">
<a href="/">
<x-application-logo class="w-20 h-20 fill-current text-gray-500" />
</a>
</x-slot>
<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-button>
{{ __('Resend Verification Email') }}
</x-button>
</div>
</form>
<form method="POST" action="{{ route('logout') }}">
@csrf
<button type="submit" class="underline text-sm text-gray-600 hover:text-gray-900">
{{ __('Log Out') }}
</button>
</form>
</div>
</x-auth-card>
</x-guest-layout>
@@ -0,0 +1,2 @@
<img src="{{url('img/telkom.png')}}" alt="logo" {{ $attributes }} >
@@ -0,0 +1,9 @@
<div class="min-h-screen flex flex-col sm:justify-center items-center pt-6 sm:pt-0 bg-gray-100">
<div>
{{ $logo }}
</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>
@@ -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,15 @@
@props(['errors'])
@if ($errors->any())
<div {{ $attributes }}>
<div class="font-medium text-red-600">
{{ __('Whoops! Something went wrong.') }}
</div>
<ul class="mt-3 list-disc list-inside text-sm text-red-600">
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
@@ -0,0 +1,3 @@
<button {{ $attributes->merge(['type' => 'submit', 'class' => 'inline-flex items-center px-4 py-2 bg-red-800 border border-transparent rounded-md font-semibold text-xs text-white uppercase tracking-widest hover:bg-red-700 active:bg-red-900 focus:outline-none focus:border-red-900 focus:ring ring-red-300 disabled:opacity-25 transition ease-in-out duration-150']) }}>
{{ $slot }}
</button>
@@ -0,0 +1 @@
<a {{ $attributes->merge(['class' => 'block px-4 py-2 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 = 'origin-top-left left-0';
break;
case 'top':
$alignmentClasses = 'origin-top';
break;
case 'right':
default:
$alignmentClasses = 'origin-top-right right-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="transform opacity-0 scale-95"
x-transition:enter-end="transform opacity-100 scale-100"
x-transition:leave="transition ease-in duration-75"
x-transition:leave-start="transform opacity-100 scale-100"
x-transition:leave-end="transform 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,3 @@
@props(['disabled' => false])
<input {{ $disabled ? 'disabled' : '' }} {!! $attributes->merge(['class' => 'rounded-md shadow-sm border-gray-300 focus:border-red-300 focus:ring focus:ring-red-200 focus:ring-opacity-50']) !!}>
@@ -0,0 +1,5 @@
@props(['value'])
<label {{ $attributes->merge(['class' => 'block font-medium text-sm text-gray-700']) }}>
{{ $value ?? $slot }}
</label>
@@ -0,0 +1,11 @@
@props(['active'])
@php
$classes = ($active ?? false)
? 'inline-flex items-center px-1 pt-1 border-b-2 border-red-400 text-sm font-medium leading-5 text-gray-900 focus:outline-none focus:border-red-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,11 @@
@props(['active'])
@php
$classes = ($active ?? false)
? 'block pl-3 pr-4 py-2 border-l-4 border-indigo-400 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 pl-3 pr-4 py-2 border-l-4 border-transparent 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>
+118
View File
@@ -0,0 +1,118 @@
<x-app-layout>
<x-slot name="header">
<h2 class="font-semibold text-xl text-gray-800 leading-tight">
{{ __('Data Anak') }}
</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 bg-white border-b border-gray-200">
<div class="w-full text-center">
<h3 class="font-bold mb-4">Statistik Keseluruhan</h3>
@foreach ($lap_posyandu as $nama_posyandu => $laporan)
<h3 class="font-medium">{{ str_replace('_', ' ', strtoupper($nama_posyandu)) }}</h3>
<div>
<div class="flex w-full justify-center mb-5">
@foreach ($laporan as $statistik => $value)
<div class="text-center mx-5">
<h3 class="font-medium">{{ str_replace('_', ' ', strtoupper($statistik)) }}
</h3>
<table class="w-full text-sm text-left text-gray-500">
<thead class="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" class="px-6 py-3">
Kategori
</th>
<th scope="col" class="px-6 py-3">
Total
</th>
</tr>
</thead>
<tbody>
@foreach ($value as $kategori => $total)
<tr class="bg-white border-b text-gray-900 ">
<td class="px-6 py-4">
{{ str_replace('_', ' ', strtoupper($kategori)) }}
</td>
<td class="px-6 py-4 text-right">
{{ $total }}
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
@endforeach
</div>
</div>
@endforeach
</div>
<div class="relative overflow-x-auto shadow-md sm:rounded-lg">
<table class="w-full text-sm text-left text-gray-500">
<thead class="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" class="px-6 py-3">
Nama
</th>
<th scope="col" class="px-6 py-3">
Umur
</th>
<th scope="col" class="px-6 py-3">
Berat Badan
</th>
<th scope="col" class="px-6 py-3">
Tinggi
</th>
<th scope="col" class="px-6 py-3">
Lingkar Kepala
</th>
<th scope="col" class="px-6 py-3">
<span class="sr-only">Detail</span>
</th>
</tr>
</thead>
<tbody>
@foreach ($data as $anak)
<tr class="bg-white border-b text-gray-900 ">
<th scope="row" class="px-6 py-4 font-medium text-gray-900 whitespace-nowrap">
{{ $anak->nama }}
</th>
<td class="px-6 py-4">
{{ $anak->umur(now()) }} bulan ({{ $anak->tanggal_lahir }})
</td>
<td class="px-6 py-4">
{{ $anak->beratTerakhir() }} Kg
</td>
<td class="px-6 py-4">
{{ $anak->tinggiTerakhir() }} Cm
</td>
</td>
<td class="px-6 py-4">
{{ $anak->lingkarKepalaTerakhir() }}
</td>
<td class="px-6 py-4 text-right">
<a href="/detail-anak/{{ $anak->id }}"
class="font-medium text-blue-600 dark:text-blue-500 hover:underline">Detail</a>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</x-app-layout>
@@ -0,0 +1,70 @@
<x-app-layout>
<x-slot name="header">
<h2 class="font-semibold text-xl text-gray-800 leading-tight">
{{ __('Data Anak') }}
</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 bg-white border-b border-gray-200">
<div class="relative overflow-x-auto shadow-md sm:rounded-lg">
<table class="w-full text-sm text-left text-gray-500">
<thead class="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" class="px-6 py-3">
Nama
</th>
<th scope="col" class="px-6 py-3">
Umur
</th>
<th scope="col" class="px-6 py-3">
Berat Badan
</th>
<th scope="col" class="px-6 py-3">
Tinggi
</th>
<th scope="col" class="px-6 py-3">
Lingkar Kepala
</th>
<th scope="col" class="px-6 py-3">
<span class="sr-only">Detail</span>
</th>
</tr>
</thead>
<tbody>
@foreach ($data as $anak)
<tr class="bg-white border-b text-gray-900 ">
<th scope="row" class="px-6 py-4 font-medium text-gray-900 whitespace-nowrap">
{{ $anak->nama }}
</th>
<td class="px-6 py-4">
{{ $anak->umur(now()) }} bulan ({{ $anak->tanggal_lahir }})
</td>
<td class="px-6 py-4">
{{ $anak->beratTerakhir() }} Kg
</td>
<td class="px-6 py-4">
{{ $anak->tinggiTerakhir() }} Cm
</td>
</td>
<td class="px-6 py-4">
{{ $anak->lingkarKepalaTerakhir() }}
</td>
<td class="px-6 py-4 text-right">
<a href="/detail-anak/{{ $anak->id }}"
class="font-medium text-blue-600 dark:text-blue-500 hover:underline">Detail</a>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</x-app-layout>
+110
View File
@@ -0,0 +1,110 @@
<x-app-layout>
<x-slot name="header">
<h2 class="font-semibold text-xl text-gray-800 leading-tight">
{{ __('Data Anak') }}
</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 bg-white border-b border-gray-200">
<div class="w-full text-center">
<h3 class="font-bold mb-4">Statistik Keseluruhan</h3>
<div class="flex w-full justify-center mb-5">
@foreach ($laporan as $statistik => $value)
<div class="text-center mx-5">
<h3 class="font-medium">{{ str_replace('_', ' ', strtoupper($statistik)) }}</h3>
<table class="w-full text-sm text-left text-gray-500">
<thead class="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" class="px-6 py-3">
Kategori
</th>
<th scope="col" class="px-6 py-3">
Total
</th>
</tr>
</thead>
<tbody>
@foreach ($value as $kategori => $total)
<tr class="bg-white border-b text-gray-900 ">
<td class="px-6 py-4">
{{ str_replace('_', ' ', strtoupper($kategori)) }}
</td>
<td class="px-6 py-4 text-right">
{{ $total }}
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
@endforeach
</div>
</div>
<div class="relative overflow-x-auto shadow-md sm:rounded-lg">
<table class="w-full text-sm text-left text-gray-500">
<thead class="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" class="px-6 py-3">
Nama
</th>
<th scope="col" class="px-6 py-3">
Umur
</th>
<th scope="col" class="px-6 py-3">
Berat Badan
</th>
<th scope="col" class="px-6 py-3">
Tinggi
</th>
<th scope="col" class="px-6 py-3">
Lingkar Kepala
</th>
<th scope="col" class="px-6 py-3">
<span class="sr-only">Detail</span>
</th>
</tr>
</thead>
<tbody>
@foreach ($data as $anak)
<tr class="bg-white border-b text-gray-900 ">
<th scope="row" class="px-6 py-4 font-medium text-gray-900 whitespace-nowrap">
{{ $anak->nama }}
</th>
<td class="px-6 py-4">
{{ $anak->umur(now()) }} bulan ({{ $anak->tanggal_lahir }})
</td>
<td class="px-6 py-4">
{{ $anak->beratTerakhir() }} Kg
</td>
<td class="px-6 py-4">
{{ $anak->tinggiTerakhir() }} Cm
</td>
</td>
<td class="px-6 py-4">
{{ $anak->lingkarKepalaTerakhir() }}
</td>
<td class="px-6 py-4 text-right">
<a href="/detail-anak/{{ $anak->id }}"
class="font-medium text-blue-600 dark:text-blue-500 hover:underline">Detail</a>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</x-app-layout>
+238
View File
@@ -0,0 +1,238 @@
<x-app-layout>
<x-slot name="header">
<h2 class="font-semibold text-xl text-gray-800 leading-tight">
{{ __('Detail Anak') }}
</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 bg-white border-b border-red-200">
Nama : {{ $anak->nama }} </br>
Panggilan : {{ $anak->panggilan }} </br>
Alamat: {{ $anak->alamat }} </br>
Umur: {{ $anak->umur(now()) }} bulan ({{ $anak->tanggal_lahir }})</br>
<div class="flex items-center justify-end mt-4">
<a href="/input-statistik/{{ $anak->id }}">
<x-button class="ml-4">
{{ __('Tambah Data') }}
</x-button>
</a>
</div>
<div class="max-w-7xl sm:px-6 lg:px-8">
<h3 class="font-medium text-xl text-gray-800 leading-tight">
Tabel Hasil Pengukuran
</h3>
</div>
<table class="w-full text-sm text-left text-gray-500 mt-4">
<thead class="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" class="px-6 py-3">
Tanggal Pengambilan
</th>
<th scope="col" class="px-6 py-3">
Berat
</th>
<th scope="col" class="px-6 py-3">
Tinggi
</th>
<th scope="col" class="px-6 py-3">
Lingkar Kepala
</th>
</tr>
</thead>
<tbody>
@foreach ($statistik as $stat)
<tr class="bg-white border-b text-gray-900 ">
<td class="px-6 py-4">
{{ $stat->date }} - {{ $stat->anak->umur($stat->date) }} bulan
</td>
<td class="px-6 py-4">
<div class="flex justify-between">
{{ $stat->berat }} Kg
@if ($stat->kategoriBerat() !== null)
<span class="bg-blue-300 rounded text-gray-800 px-3">{{ $stat->kategoriBerat() }}</span>
@endif
</div>
</td>
<td class="px-6 py-4">
<div class="flex justify-between">
{{ $stat->tinggi }} Cm
@if ($stat->kategoriTinggi() !== null)
<span class="bg-blue-300 rounded text-gray-800 px-3">{{ $stat->kategoriTinggi() }}</span>
@endif
</div>
</td>
<td class="px-6 py-4">
<div class="flex justify-between">
{{ $stat->lingkar_kepala }} Cm
@if ($stat->kategoriLingkarKepala() !== null)
<span
class="bg-blue-300 rounded text-gray-800 px-3">{{ $stat->kategoriLingkarKepala() }}</span>
@endif
</div>
</td>
</tr>
@endforeach
</tbody>
</table>
<div class="mt-5">
<div class="max-w-7xl sm:px-6 lg:px-8 my-2">
<h3 class="font-medium text-xl text-gray-800 leading-tight">
Grafik Berat Badan
</h3>
<canvas id="chartBerat" width="400" height="250"></canvas>
</div>
<div class="max-w-7xl sm:px-6 lg:px-8 my-2">
<h3 class="font-medium text-xl text-gray-800 leading-tight">
Grafik Pertumbuhan Tinggi Badan
</h3>
<canvas id="chartTinggi" width="400" height="250"></canvas>
</div>
<div class="max-w-7xl sm:px-6 lg:px-8 my-2">
<h3 class="font-medium text-xl text-gray-800 leading-tight">
Grafik Lingkar Kepala
</h3>
<canvas id="chartLingkarKepala" width="400" height="250"></canvas>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
@php
$statistik = $statistik->reverse()->flatten();
$labels = $statistik->map(function ($item, $key) {
return $item['date'];
});
$berat = $statistik->map(function ($item, $key) {
return $item['berat'];
});
$tinggi = $statistik->map(function ($item, $key) {
return $item['tinggi'];
});
$lingkarKepala = $statistik->map(function ($item, $key) {
return $item['lingkar_kepala'];
});
@endphp
const ctxBerat = document.getElementById('chartBerat').getContext('2d');
const chartBerat = new Chart(ctxBerat, {
type: 'line',
data: {
labels: {{ Illuminate\Support\Js::from($labels) }},
datasets: [{
label: 'Berat',
data: {{ Illuminate\Support\Js::from($berat) }},
backgroundColor: [
'rgba(255, 99, 132, 0.2)',
'rgba(54, 162, 235, 0.2)',
'rgba(255, 206, 86, 0.2)',
'rgba(75, 192, 192, 0.2)',
'rgba(153, 102, 255, 0.2)',
'rgba(255, 159, 64, 0.2)'
],
borderColor: [
'rgba(255, 99, 132, 1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)',
'rgba(75, 192, 192, 1)',
'rgba(153, 102, 255, 1)',
'rgba(255, 159, 64, 1)'
],
borderWidth: 1
}]
},
options: {
scales: {
y: {
beginAtZero: true
}
}
}
});
const ctxTinggi = document.getElementById('chartTinggi').getContext('2d');
const chartTinggi = new Chart(ctxTinggi, {
type: 'line',
data: {
labels: {{ Illuminate\Support\Js::from($labels) }},
datasets: [{
label: 'Tinggi',
data: {{ Illuminate\Support\Js::from($tinggi) }},
backgroundColor: [
'rgba(255, 99, 132, 0.2)',
'rgba(54, 162, 235, 0.2)',
'rgba(255, 206, 86, 0.2)',
'rgba(75, 192, 192, 0.2)',
'rgba(153, 102, 255, 0.2)',
'rgba(255, 159, 64, 0.2)'
],
borderColor: [
'rgba(255, 99, 132, 1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)',
'rgba(75, 192, 192, 1)',
'rgba(153, 102, 255, 1)',
'rgba(255, 159, 64, 1)'
],
borderWidth: 1
}]
},
options: {
scales: {
y: {
beginAtZero: true
}
}
}
});
const ctxLingkarKepala = document.getElementById('chartLingkarKepala').getContext('2d');
const chartLingkarKepala = new Chart(ctxLingkarKepala, {
type: 'line',
data: {
labels: {{ Illuminate\Support\Js::from($labels) }},
datasets: [{
label: 'Lingkar Kepala',
data: {{ Illuminate\Support\Js::from($lingkarKepala) }},
backgroundColor: [
'rgba(255, 99, 132, 0.2)',
'rgba(54, 162, 235, 0.2)',
'rgba(255, 206, 86, 0.2)',
'rgba(75, 192, 192, 0.2)',
'rgba(153, 102, 255, 0.2)',
'rgba(255, 159, 64, 0.2)'
],
borderColor: [
'rgba(255, 99, 132, 1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)',
'rgba(75, 192, 192, 1)',
'rgba(153, 102, 255, 1)',
'rgba(255, 159, 64, 1)'
],
borderWidth: 1
}]
},
options: {
scales: {
y: {
beginAtZero: true
}
}
}
});
</script>
</x-app-layout>
+111
View File
@@ -0,0 +1,111 @@
<x-app-layout>
<x-slot name="header">
<h2 class="font-semibold text-xl text-gray-800 leading-tight">
{{ __('Input Data Baru') }}
</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 bg-white border-b border-red-200">
<!-- Validation Errors -->
<x-auth-validation-errors class="mb-4" :errors="$errors" />
@if (Auth::user()->role->role == 'ORANG_TUA')
<form method="POST" enctype="multipart/form-data" action="{{ route('input-anak-orang-tua') }}">
@endif
@if (Auth::user()->role->role == 'KADER_POSYANDU')
<form method="POST" enctype="multipart/form-data" action="{{ route('input-anak-orang-tua') }}">
@endif
@csrf
<!-- Name -->
<div>
<x-label for="nama" :value="__('Nama')" />
<x-input id="nama" class="block mt-1 w-full" type="text" name="nama" :value="old('nama')" required
autofocus />
</div>
<div>
<x-label for="panggilan" :value="__('Panggilan')" />
<x-input id="panggilan" class="block mt-1 w-full" type="text" name="panggilan" :value="old('panggilan')"
autofocus />
</div>
<div>
<x-label for="tanggal_lahir" :value="__('Tanggal Lahir')" />
<x-input id="tanggal_lahir" class="block mt-1 w-full" type="date" name="tanggal_lahir" :value="old('tanggal_lahir')"
required autofocus />
</div>
<div>
<x-label for="tinggi" :value="__('Tinggi')" />
<x-input id="tinggi" class="block mt-1 w-full" type="text" name="tinggi" :value="old('tinggi')"
autofocus />
</div>
<div>
<x-label for="berat" :value="__('Berat')" />
<x-input id="berat" class="block mt-1 w-full" type="text" name="berat" :value="old('berat')"
autofocus />
</div>
<div>
<x-label for="lingkar_kepala" :value="__('Lingkar Kepala')" />
<x-input id="lingkar_kepala" class="block mt-1 w-full" type="text" name="lingkar_kepala"
:value="old('lingkar_kepala')" autofocus />
</div>
@if (Auth::user()->role->role == 'KADER_POSYANDU')
<div>
<x-label for="nama_orang_tua" :value="__('Nama Orang Tua')" />
<x-input id="nama_orang_tua" class="block mt-1 w-full" type="text" name="nama_orang_tua"
:value="old('nama_orang_tua')" required autofocus />
</div>
<div>
<x-label for="alamat" :value="__('Alamat')" />
<x-input id="alamat" class="block mt-1 w-full" type="text" name="alamat" :value="old('alamat')"
autofocus />
</div>
@endif
<div>
<x-label for="gender" :value="__('Jenis Kelamin')" />
<select id="gender" name="gender"
class="rounded-md shadow-sm border-gray-300 focus:border-red-300 focus:ring focus:ring-red-200 focus:ring-opacity-50"
required autofocus>
<option value="LAKI_LAKI">Laki Laki</option>
<option value="PEREMPUAN">Perempuan</option>
</select>
</div>
<div>
<x-label for="image" :value="__('Foto')" />
<input
class="rounded-md shadow-sm border-gray-300 focus:border-red-300 focus:ring focus:ring-red-200 focus:ring-opacity-50"
id="image" type="file">
</div>
<div class="flex items-center justify-end mt-4">
<x-button class="ml-4">
{{ __('Tambahkan Anak') }}
</x-button>
</div>
</form>
</div>
</div>
</div>
</div>
</x-app-layout>
+96
View File
@@ -0,0 +1,96 @@
<x-app-layout>
<x-slot name="header">
<h2 class="font-semibold text-xl text-gray-800 leading-tight">
{{ __('Input Statistik Anak') }}
</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 bg-white border-b border-red-200">
Nama : {{ $anak->nama }} </br>
Panggilan : {{ $anak->panggilan }} </br>
Alamat: {{ $anak->alamat }} </br>
Umur: {{ $anak->umur(now()) }} bulan ({{ $anak->tanggal_lahir }})</br>
<!-- Validation Errors -->
<x-auth-validation-errors class="mb-4" :errors="$errors" />
<form method="POST" action="{{ route('input-statistik', $anak->id) }}">
@csrf
<!-- Name -->
<div>
<x-label for="berat" :value="__('Berat')" />
<x-input id="berat" class="block mt-1 w-full" type="text" name="berat" :value="old('berat')"
autofocus />
</div>
<div>
<x-label for="z_score_berat" :value="__('Z Score Berat')" />
<select id="z_score_berat" name="z_score_berat"
class="rounded-md shadow-sm border-gray-300 focus:border-red-300 focus:ring focus:ring-red-200 focus:ring-opacity-50"
autofocus>
<option value="">-</option>
<option value="-4">Di bawah -3</option>
<option value="-1">-3 sampai kurang dari -2</option>
<option value="0">-2 sampai 1</option>
<option value="1.5">Lebih dari 1 sampai 2</option>
<option value="3">Di atas 2</option>
</select>
</div>
<div>
<x-label for="tinggi" :value="__('Tinggi')" />
<x-input id="tinggi" class="block mt-1 w-full" type="text" name="tinggi" :value="old('tinggi')"
autofocus />
</div>
<div>
<x-label for="z_score_tinggi" :value="__('Z Score Tinggi')" />
<select id="z_score_tinggi" name="z_score_tinggi"
class="rounded-md shadow-sm border-gray-300 focus:border-red-300 focus:ring focus:ring-red-200 focus:ring-opacity-50"
autofocus>
<option value="">-</option>
<option value="-4">Di bawah -3</option>
<option value="-1">-3 sampai kurang dari -2</option>
<option value="1">-2 sampai 2</option>
<option value="3">Di atas 2</option>
</select>
</div>
<div>
<x-label for="lingkar_kepala" :value="__('Lingkar Kepala')" />
<x-input id="lingkar_kepala" class="block mt-1 w-full" type="text" name="lingkar_kepala"
:value="old('lingkar_kepala')" autofocus />
</div>
<div>
<x-label for="z_score_lingkar_kepala" :value="__('Z Score Lingkar Kepala')" />
<select id="z_score_lingkar_kepala" name="z_score_lingkar_kepala"
class="rounded-md shadow-sm border-gray-300 focus:border-red-300 focus:ring focus:ring-red-200 focus:ring-opacity-50"
autofocus>
<option value="">-</option>
<option value="-3">Di bawah -2</option>
<option value="1">-2 sampai 2</option>
<option value="3">Di atas 2</option>
</select>
</div>
<div class="flex items-center justify-end mt-4">
<x-button class="ml-4">
{{ __('Tambahkan Data') }}
</x-button>
</div>
</form>
</div>
</div>
</div>
</div>
</x-app-layout>
+39
View File
@@ -0,0 +1,39 @@
<!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="stylesheet" href="https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700&display=swap">
<!-- Styles -->
<link rel="stylesheet" href="{{ asset('css/app.css') }}">
<!-- Scripts -->
<script src="{{ asset('js/app.js') }}" defer></script>
@if (request()->routeIs('detail-anak'))
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.8.0/chart.min.js" integrity="sha512-sW/w8s4RWTdFFSduOTGtk4isV1+190E/GghVffMA9XczdJ2MDzSzLEubKAs5h0wzgSJOQTRYyaz73L3d6RtJSg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
@endif
</head>
<body class="font-sans antialiased">
<div class="min-h-screen bg-gray-100">
@include('layouts.navigation')
<!-- Page Heading -->
<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>
<!-- Page Content -->
<main>
{{ $slot }}
</main>
</div>
</body>
</html>
+24
View File
@@ -0,0 +1,24 @@
<!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="stylesheet" href="https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700&display=swap">
<!-- Styles -->
<link rel="stylesheet" href="{{ asset('css/app.css') }}">
<!-- Scripts -->
<script src="{{ asset('js/app.js') }}" defer></script>
</head>
<body>
<div class="font-sans text-gray-900 antialiased">
{{ $slot }}
</div>
</body>
</html>
@@ -0,0 +1,99 @@
<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-10 w-auto fill-current text-gray-600" />
</a>
</div>
<!-- Navigation Links -->
<div class="hidden space-x-8 sm:-my-px sm:ml-10 sm:flex">
<x-nav-link :href="route('dashboard')" :active="request()->routeIs('dashboard')">
{{ __('Data Anak') }}
</x-nav-link>
</div>
@if ( Auth::user()->role->role != 'DESA' )
<div class="hidden space-x-8 sm:-my-px sm:ml-10 sm:flex">
<x-nav-link :href="route('input-anak')" :active="request()->routeIs('input-anak')">
{{ __('Input Anak') }}
</x-nav-link>
</div>
@endif
</div>
<!-- Settings Dropdown -->
<div class="hidden sm:flex sm:items-center sm:ml-6">
<x-dropdown align="right" width="48">
<x-slot name="trigger">
<button class="flex items-center text-sm font-medium 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">
<div>{{ Auth::user()->nama }}</div>
<div class="ml-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">
<!-- 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="-mr-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">
<!-- 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>
+519
View File
@@ -0,0 +1,519 @@
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Stunting APP</title>
<!-- Fonts -->
<link href="https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700&display=swap" rel="stylesheet">
<!-- Styles -->
<style>
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {
line-height: 1.15;
-webkit-text-size-adjust: 100%
}
body {
margin: 0
}
a {
background-color: transparent
}
[hidden] {
display: none
}
html {
font-family: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
line-height: 1.5
}
*,
:after,
:before {
box-sizing: border-box;
border: 0 solid #e2e8f0
}
a {
color: inherit;
text-decoration: inherit
}
svg,
video {
display: block;
vertical-align: middle
}
video {
max-width: 100%;
height: auto
}
.bg-white {
--bg-opacity: 1;
background-color: #fff;
background-color: rgba(255, 255, 255, var(--bg-opacity))
}
.bg-gray-100 {
--bg-opacity: 1;
background-color: #f7fafc;
background-color: rgba(247, 250, 252, var(--bg-opacity))
}
.border-gray-200 {
--border-opacity: 1;
border-color: #edf2f7;
border-color: rgba(237, 242, 247, var(--border-opacity))
}
.border-t {
border-top-width: 1px
}
.flex {
display: flex
}
.grid {
display: grid
}
.hidden {
display: none
}
.items-center {
align-items: center
}
.justify-center {
justify-content: center
}
.font-semibold {
font-weight: 600
}
.h-5 {
height: 1.25rem
}
.h-8 {
height: 2rem
}
.h-16 {
height: 4rem
}
.text-sm {
font-size: .875rem
}
.text-lg {
font-size: 1.125rem
}
.leading-7 {
line-height: 1.75rem
}
.mx-auto {
margin-left: auto;
margin-right: auto
}
.ml-1 {
margin-left: .25rem
}
.mt-2 {
margin-top: .5rem
}
.mr-2 {
margin-right: .5rem
}
.ml-2 {
margin-left: .5rem
}
.mt-4 {
margin-top: 1rem
}
.ml-4 {
margin-left: 1rem
}
.mt-8 {
margin-top: 2rem
}
.ml-12 {
margin-left: 3rem
}
.-mt-px {
margin-top: -1px
}
.max-w-6xl {
max-width: 72rem
}
.min-h-screen {
min-height: 100vh
}
.overflow-hidden {
overflow: hidden
}
.p-6 {
padding: 1.5rem
}
.py-4 {
padding-top: 1rem;
padding-bottom: 1rem
}
.px-6 {
padding-left: 1.5rem;
padding-right: 1.5rem
}
.pt-8 {
padding-top: 2rem
}
.fixed {
position: fixed
}
.relative {
position: relative
}
.top-0 {
top: 0
}
.right-0 {
right: 0
}
.shadow {
box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06)
}
.text-center {
text-align: center
}
.text-gray-200 {
--text-opacity: 1;
color: #edf2f7;
color: rgba(237, 242, 247, var(--text-opacity))
}
.text-gray-300 {
--text-opacity: 1;
color: #e2e8f0;
color: rgba(226, 232, 240, var(--text-opacity))
}
.text-gray-400 {
--text-opacity: 1;
color: #cbd5e0;
color: rgba(203, 213, 224, var(--text-opacity))
}
.text-gray-500 {
--text-opacity: 1;
color: #a0aec0;
color: rgba(160, 174, 192, var(--text-opacity))
}
.text-gray-600 {
--text-opacity: 1;
color: #718096;
color: rgba(113, 128, 150, var(--text-opacity))
}
.text-gray-700 {
--text-opacity: 1;
color: #4a5568;
color: rgba(74, 85, 104, var(--text-opacity))
}
.text-gray-900 {
--text-opacity: 1;
color: #1a202c;
color: rgba(26, 32, 44, var(--text-opacity))
}
.underline {
text-decoration: underline
}
.antialiased {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale
}
.w-5 {
width: 1.25rem
}
.w-8 {
width: 2rem
}
.w-auto {
width: auto
}
.grid-cols-1 {
grid-template-columns: repeat(1, minmax(0, 1fr))
}
@media (min-width:640px) {
.sm\:rounded-lg {
border-radius: .5rem
}
.sm\:block {
display: block
}
.sm\:items-center {
align-items: center
}
.sm\:justify-start {
justify-content: flex-start
}
.sm\:justify-between {
justify-content: space-between
}
.sm\:h-20 {
height: 5rem
}
.sm\:ml-0 {
margin-left: 0
}
.sm\:px-6 {
padding-left: 1.5rem;
padding-right: 1.5rem
}
.sm\:pt-0 {
padding-top: 0
}
.sm\:text-left {
text-align: left
}
.sm\:text-right {
text-align: right
}
}
@media (min-width:768px) {
.md\:border-t-0 {
border-top-width: 0
}
.md\:border-l {
border-left-width: 1px
}
.md\:grid-cols-2 {
grid-template-columns: repeat(2, minmax(0, 1fr))
}
}
@media (min-width:1024px) {
.lg\:px-8 {
padding-left: 2rem;
padding-right: 2rem
}
}
@media (prefers-color-scheme:dark) {
.dark\:bg-gray-800 {
--bg-opacity: 1;
background-color: #2d3748;
background-color: rgba(45, 55, 72, var(--bg-opacity))
}
.dark\:bg-gray-900 {
--bg-opacity: 1;
background-color: #1a202c;
background-color: rgba(26, 32, 44, var(--bg-opacity))
}
.dark\:border-gray-700 {
--border-opacity: 1;
border-color: #4a5568;
border-color: rgba(74, 85, 104, var(--border-opacity))
}
.dark\:text-white {
--text-opacity: 1;
color: #fff;
color: rgba(255, 255, 255, var(--text-opacity))
}
.dark\:text-gray-400 {
--text-opacity: 1;
color: #cbd5e0;
color: rgba(203, 213, 224, var(--text-opacity))
}
.dark\:text-gray-500 {
--tw-text-opacity: 1;
color: #6b7280;
color: rgba(107, 114, 128, var(--tw-text-opacity))
}
}
</style>
<style>
body {
font-family: 'Nunito', sans-serif;
}
</style>
</head>
<body class="container">
<div class="navigation">
@if (Route::has('login'))
<div class="hidden fixed top-0 right-0 px-6 py-4 sm:block">
@auth
<a href="{{ url('/dashboard') }}" class="text-sm text-gray-700 dark:text-gray-500 underline">Dashboard</a>
@else
<a href="{{ route('login') }}" class="text-sm text-gray-700 dark:text-gray-500 underline">Log in</a>
@if (Route::has('register'))
<a href="{{ route('register') }}" class="ml-4 text-sm text-gray-700 dark:text-gray-500 underline">Register</a>
@endif
@endauth
</div>
@endif
</div>
<div class="container>
<div class="container-fluid">
<div class="row">
<div class="col-md-10">
<div class="row">
<div class="col-md-6">
<h1 class="fw-bold" id="welkom">MEMPERMUDAH ORANG TUA DALAM MENINJAU PERTUMBUHAN ANAK</h1>
</div>
</div>
<div class="row">
<div class="col-md-8" id="tombolCard">
<div class="row">
<div class="col-3 d-flex align-items-stretch align-items-center">
<a href="/konsultasi" style="text-decoration: none;color: black">
<div class="card">
<div class="card-body">
<h5 class="card-title text-center">Jumlah Anak Posyandu A</h5>
</div>
</div>
</a>
</div>
<div class="col-3 d-flex align-items-stretch align-items-center">
<a href="/rsterdekat" style="text-decoration: none;color: black">
<div class="card">
<div class="card-body">
<h5 class="card-title text-center">Jumlah Anak yang Sehat</h5>
</div>
</div>
</a>
</div>
<div class="col-3 d-flex align-items-stretch align-items-center">
<a href="/apotekterdekat" style="text-decoration: none;color: black">
<div class="card">
<div class="card-body">
<h5 class="card-title text-center">Jumlah Anak yang Stunting</h5>
</div>
</div>
</a>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-2">
<div class="row">
<div class="col-md-12 d-flex justify-content-center" id="">
<img src="{{ asset('/img/rektorat.jpeg') }}" class="img-thumbnail rounded-circle">
</div>
</div>
</div>
</div>
</div>
</div>
<div class="container" id="contInf">
<div class="row">
<div class="row">
<div class="col d-flex justify-content-center">
<h1 class="fw-bold" id="infTerkait">TATA CARA PENGISIAN DATA ANAK</h1>
<hr style="height: 2px">
</div>
</div>
<div class="row mt-5">
<div class="col" id="cardInf">
<div class="row">
<div class="col-3 align-items-center">
<h6>Silakan Melihat tata cara untuk pengisian tumbuh kembang anak agar tidak terjadi kesalahan dalam
penginputan data anak </h6>
<a href="/konsultasi" style="text-decoration: none; color:black">
<div class="card">
<div class="card-body">
<h3 class="card-title text-right fw-bold" style="color: #1D3557">KLIK DISINI</h3>
</div>
</div>
</a>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<h1>Telkom University <p> Telkom University | Universitas Swasta Terbaik</h1>
<style>
.footer {
position: fixed;
left: 0;
bottom: 0;
width: 100%;
background-color: rgb(255, 0, 0);
color: white;
text-align: center;
}
</style>
</div>
</body>
</html>