first commit

This commit is contained in:
2026-05-22 08:49:20 +07:00
commit 2884ce69f1
90 changed files with 13308 additions and 0 deletions
+20
View File
@@ -0,0 +1,20 @@
/*******************************************************************
Module : /assets/css/fonts.css
Desc. : CSS Fonts
Created By : Siau Pheng ([email protected]).
Created Date : December 20th, 2007.
Last Modified : November 22nd, 2020.
(c) 2009 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
@font-face {
font-family: coreui-icons-linear;
src: url(../assets/fonts/coreui/CoreUI-Icons-Linear.eot?64h6xh);
src: url(../assets/fonts/coreui/CoreUI-Icons-Linear.eot?64h6xh#iefix) format("embedded-opentype"), url(../assets/fonts/coreui/CoreUI-Icons-Linear.ttf?64h6xh) format("truetype"), url(../assets/fonts/coreui/CoreUI-Icons-Linear.woff?64h6xh) format("woff"),
url(../assets/fonts/coreui/CoreUI-Icons-Linear.svg?64h6xh#CoreUI-Icons-Linear) format("svg");
font-weight: 400;
font-style: normal;
}
+67
View File
@@ -0,0 +1,67 @@
/*******************************************************************
Module : /assets/css/pdf-pokir.css
Desc. : CSS Class for PDF Pokir DPRD
Created By : Siau Pheng ([email protected]).
Created Date : October 7th, 2008.
Last Modified : April 30th, 2020.
(c) 2008 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
body {
font-family: 'DejaVu Sans Condensed';
font-size: 9pt;
width: 100%;
color: #000;
}
p { margin: 0; padding: 0; padding-bottom: 10px; }
p.judul { text-align: center; font-size: 1.3em; font-weight: bold; }
table.footer {
width: 100%;
font-family: sans-serif;
font-size: 9pt;
color: #333;
border-top: 1px solid #ccc;
}
table.garis {
width: 100%;
border: 1px solid #ccc;
border-spacing: 0;
border-collapse: collapse;
}
table.garis th, table.garis td {
font-size: 9pt;
text-align: left;
border: 1px solid #ccc;
padding: 2mm;
}
table.garis th {
font-size: 10pt;
text-align: center;
font-weight: bold;
background-color: #ddd;
white-space: nowrap;
}
table.garis td { padding-top: 1.2mm; padding-bottom: 1.2mm; vertical-align: top; }
table td.l { text-align: left; }
table td.c { text-align: center; }
table td.r { text-align: right; }
table td.b { font-weight: bold; }
table td.i { font-style: italic; }
table td.small { font-size: .65em; }
table td.bi { font-weight: bold; font-style: italic; background-color: #F0F0F0; }
table tr.misi td { background-color: #A7DA4E; text-transform: uppercase; }
table tr.opd td { background-color: #666BE2; text-transform: uppercase; }
table tr.prog td { background-color: #37AF43; text-transform: uppercase; }
table tr.keg td { background-color: #EFD24C; text-transform: uppercase; }
table tr.sub td { background-color: #F8B4FE; text-transform: uppercase; }
table tr.keg td.pad { padding-left: 20px; }
table tr.sub td.pad { padding-left: 40px; }
table tr td.pad { padding-left: 0; }
+66
View File
@@ -0,0 +1,66 @@
/*******************************************************************
Module : /assets/css/pdf-pokir.css
Desc. : CSS Class for PDF Pokir DPRD
Created By : Siau Pheng ([email protected]).
Created Date : October 7th, 2008.
Last Modified : April 30th, 2020.
(c) 2008 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
p { margin: 0; padding: 0; padding-bottom: 10px; }
p.judul { text-align: center; font-size: 1.3em; font-weight: bold; }
table.footer {
width: 100%;
font-family: sans-serif;
font-size: 9pt;
color: #333;
border-top: 1px solid #ccc;
}
table.garis {
width: 100%;
border: 1px solid #ccc;
border-spacing: 0;
border-collapse: collapse;
}
table.garis th, table.garis td {
font-size: 9pt;
text-align: left;
border: 1px solid #ccc;
padding: 2mm;
}
table.garis th {
font-size: 10pt;
text-align: center;
vertical-align: middle;
font-weight: bold;
background-color: #ddd;
white-space: nowrap;
}
table.garis td { padding-top: 1.2mm; padding-bottom: 1.2mm; vertical-align: top; }
table.min-65 > td { min-width: 65px; }
table td.l { text-align: left; }
table td.c { text-align: center; }
table td.r { text-align: right; white-space: nowrap; }
table td.b { font-weight: bold; }
table td.i { font-style: italic; }
table td.small { font-size: .65em; }
table td.bi { font-weight: bold; font-style: italic; background-color: #F0F0F0; }
table td.titik-dua { padding: 0 6px; text-align: center; }
table tr.misi > td { background-color: #A7DA4E; }
table tr.opd > td { background-color: #666BE2; }
table tr.prog > td { background-color: #37AF43; }
table tr.keg > td { background-color: #EFD24C; }
table tr.sub > td { background-color: #F8B4FE; }
table tr.keg td.pad { padding-left: 20px; }
table tr.sub td.pad { padding-left: 40px; }
table tr td.pad { padding-left: 0; }
table tr.sub_no > th { font-size: .7rem; font-style: italic; }
table tr.b > td { font-weight: bold; }
+135
View File
@@ -0,0 +1,135 @@
/*******************************************************************
Module : /assets/css/styles.css
Desc. : CSS Custom
Created By : Siau Pheng ([email protected]).
Created Date : December 20th, 2007.
Last Modified : May 31st, 2018.
(c) 2009 - 2018, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
div.note-editor.card {
margin-bottom: 0 !important;
border: unset !important;
}
button.btn-ganti {
box-shadow: none !important;
padding-top: 0;
padding-bottom: 0;
width: 9.8em;
text-align: left;
}
button.btn-ganti span {
position: relative;
left: -12px;
display: inline-block;
padding: 3px 8px;
background: rgba(0,0,0,0.15);
height: 100%;
vertical-align: middle;
}
table button.plus-circle { background-color: var(--success); }
table button.minus-circle { background-color: var(--danger); }
table button.reload { background-color: var(--secondary); }
table a.plus-circle i { color: var(--success); }
table a.minus-circle i { color: var(--danger); }
table a.reload i { color: var(--secondary); }
/******************************** child of datatable ********************************/
table.dataTable a.fon-tabel-dt i {
padding: 0 4px;
width: 1.5rem !important;
height: 1.5rem !important;
border: 0.15em solid white;
border-radius: .7em;
box-shadow: 0 0 0.2em #444;
background-color: #31b131;
}
table.dataTable tr.dt-hasChild a.fon-tabel-dt i {
background-color: #d33333;
}
table.dataTable a.fon-tabel-dt:hover i, table.dataTable tr.dt-hasChild a.fon-tabel-dt:hover i {
color: unset;
}
/******************************** chatbox ********************************/
.ps-container {
position: relative
-ms-touch-action: auto;
touch-action: auto;
overflow: hidden !important;
-ms-overflow-style: none;
}
.chat-body {
-webkit-box-flex: initial;
flex: initial;
display: table;
min-width: 0;
}
.chat-body p {
position: relative;
padding: 0 8px 6px;
margin: 0;
background-color: #f5f6f7;
border-radius: 3px;
font-weight: 100;
color: #9b9b9b;
}
.chat-body p.nama {
background-color: transparent !important;
margin: 0 8px;
color: #000;
padding: 0;
}
.sent-box {
position: relative;
display: -webkit-box;
display: flex;
-webkit-box-align: center;
align-items: center;
padding: 12px 20px;
background-color: #f9fafb;
border-color: #f1f2f3 !important;
border-top: 1px solid #ebebeb !important;
}
.sent-box>*:first-child {
margin-left: 0
}
.sent-box>* {
margin: 0 8px
}
.sent-input {
-webkit-box-flex: 1;
flex-grow: 1;
border: none;
outline: none !important;
background-color: transparent;
}
.sent-btn {
background-color: transparent;
border: none;
color: #cac7c7;
font-size: 16px;
cursor: pointer;
overflow: -moz-hidden-unscrollable;
-webkit-transition: .2s linear;
transition: .2s linear;
color: #48b0f7 !important;
}
.text-fisik {
width: 100px;
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 466 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 246 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 266 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 498 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 297 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

+25
View File
@@ -0,0 +1,25 @@
/*******************************************************************
Module : /assets/locale/pickdate.id.js
Desc. : JS - Date & Pickdate Locale
Created By : Siau Pheng ([email protected]).
Created Date : January 28th, 2013.
Last Modified : November 8th, 2023.
(c) 2013 - 2023, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
if (jQuery.fn.datepicker) {
jQuery.fn.datepicker.dates.id = {
days: ["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"],
daysShort: ["Min","Sen","Sel","Rab","Kam","Jum","Sab"],
daysMin: ["Mg","Sn","Sl","Rb","Km","Jm","Sb"],
months: ["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember"],monthsShort: ["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Agt","Sep","Okt","Nov","Des"],
today: "Hari Ini",
monthsTitle: "Bulan",
clear: "Kosongkan",
weekStart: 0,
format: "dd-mm-yyyy"
};
}
+32
View File
@@ -0,0 +1,32 @@
/*******************************************************************
Module : /assets/locale/fonia.id.js
Desc. : JS - Fonia Module Locale
Created By : Siau Pheng ([email protected]).
Created Date : January 28th, 2013.
Last Modofied : November 22nd, 2019
(c) 2013 - 2019, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
if (typeof FoniaJS !== "undefined") {
FoniaJS.locale('id', {
Fonia: {
sess_expire: 'Session Anda telah berakhir, silakan login kembali!',
page404: 'Halaman aplikasi belum tersedia!',
input_passwd: 'Silakan masukkan Password!',
input_userid: 'Silakan masukkan User ID!',
auth_super: 'Persetujuan Supervisor',
auth_user: 'Validasi Operator',
auth_wait_msg: 'Menunggu disetujui oleh<br>Supervisor Anda...',
cancel: 'Batal',
auth_fail: 'Proses gagal!<br>Menunggu terlalu lama ...',
auth_success: 'Proses disetujui!',
but_add: 'Tambah',
but_edit: 'Ubah'
}
});
}
+85
View File
@@ -0,0 +1,85 @@
/*******************************************************************
Module : /assets/locale/moment.id.js
Desc. : JS - Moment Locale
Created By : Siau Pheng ([email protected]).
Created Date : January 28th, 2013.
Last Modofied : November 22nd, 2019
(c) 2013 - 2019, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
if (typeof moment !== "undefined") {
moment.locale('id', {
months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'),
monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),
weekdays : 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),
weekdaysShort : 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),
weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),
longDateFormat : {
LT : 'HH.mm',
LTS : 'HH.mm.ss',
L : 'DD-MM-YYYY',
LL : 'D MMMM YYYY',
LLL : 'D MMMM YYYY [pukul] HH.mm',
LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'
},
meridiemParse: /pagi|siang|sore|malam/,
meridiemHour : function (hour, meridiem) {
if (hour === 12) {
hour = 0;
}
if (meridiem === 'pagi') {
return hour;
} else if (meridiem === 'siang') {
return hour >= 11 ? hour : hour + 12;
} else if (meridiem === 'sore' || meridiem === 'malam') {
return hour + 12;
}
},
meridiem : function (hours, minutes, isLower) {
if (hours < 11) {
return 'pagi';
} else if (hours < 15) {
return 'siang';
} else if (hours < 19) {
return 'sore';
} else {
return 'malam';
}
},
calendar : {
sameDay : '[Hari ini pukul] LT',
nextDay : '[Besok pukul] LT',
nextWeek : 'dddd [pukul] LT',
lastDay : '[Kemarin pukul] LT',
lastWeek : 'dddd [lalu pukul] LT',
sameElse : 'L'
},
relativeTime : {
future : 'dalam %s',
past : '%s yang lalu',
s : 'beberapa detik',
ss : '%d detik',
m : 'semenit',
mm : '%d menit',
h : 'sejam',
hh : '%d jam',
d : 'sehari',
dd : '%d hari',
M : 'sebulan',
MM : '%d bulan',
y : 'setahun',
yy : '%d tahun'
},
week : {
dow : 1, // Monday is the first day of the week.
doy : 7 // The week that contains Jan 7th is the first week of the year.
}
});
moment.locale('id');
}
+53
View File
@@ -0,0 +1,53 @@
<!------------------------------------------------------------------
Module : /assets/templates/404.php
Desc. : HTML5 Page - Halaman Template Error 404
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : February 17th, 2020.
(c) 2020, 3FONIA Software; WWW.3FONIA.COM.
------------------------------------------------------------------->
<!DOCTYPE html>
<html lang="en">
<head>
<title>[_APP_NAME_VER_] - Error 404</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="PhpED + FW9 @ 3FONIA Software"/>
<meta name="author" content="Siau Pheng &lt;siaupheng[at]3fonia.com&gt;"/>
<meta name="description" content="[_APP_NAME_VER_], [_APP_NAMES_]" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
<link rel="icon" href="[_WEB_PATH_]assets/images/logo150.png" type="image/png" />
<link rel="shortcut icon" href="[_WEB_PATH_]assets/images/logo150.png" type="image/png" />
</head>
<body class="min-vh-100 d-flex flex-row align-items-center">
<div class="container">
<div class="row justify-content-center">
<div class="col-xl-4 col-md-8">
<div class="card-group">
<div class="card">
<div class="card-body">
<div class="mb-2">
<img class="mx-auto d-block" src="[_WEB_PATH_]assets/images/logo300.png" title="[_REG_NAME_UP_]">
<div class="text-center pt-2 pb-2"><span class="reg_app1">[_APP_NAME_]</span><br><span class="reg_app2">Ver. [_APP_VER_]</span></div>
</div>
<div class="mb-2 mx-auto d-block text-center">
<div class="fs-4 text-danger">4.0.4</div>
<div class="fs-5 text-info">Modul atau bagian aplikasi yang diakses tidak ditemukan !</div>
</div>
<div class="text-center pt-2 pb-2 d-none" id="divLoginMsg">&nbsp;</div>
<div class="pt-4">
<div class="text-center">&reg; [_CREATOR_YEAR_]. [_REG_NAME_]</div>
<div class="text-center">All Rights Reserved.</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
+100
View File
@@ -0,0 +1,100 @@
<!------------------------------------------------------------------
Module : /assets/templates/index.php
Desc. : HTML Page - Halaman Template / Themes
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : October 10th, 2008.
Last Modified : May 15th, 2024.
(c) 2008 - 2024, 3FONIA Software; WWW.3FONIA.COM.
------------------------------------------------------------------->
<!DOCTYPE html>
<html lang="en">
<head>
<title>[_APP_NAME_VER_]</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="PhpED + FW9 @ 3FONIA Software"/>
<meta name="author" content="Siau Pheng &lt;siaupheng[at]3fonia.com&gt;"/>
<meta name="description" content="[_APP_NAME_VER_], [_APP_NAMES_]" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
<link rel="icon" href="[_WEB_PATH_]assets/images/logo150.png" type="image/png" />
<link rel="shortcut icon" href="[_WEB_PATH_]assets/images/logo150.png" type="image/png" />
</head>
<body>
<div class="modal fade" id="sidebarMain" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<img src="[_WEB_PATH_]assets/images/logo-apps.png" title="[_APP_NAME_]">
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"><i class="fs-1 bi-x-lg"></i></button>
</div>
<div class="modal-body">
<nav class="sidebar card py-2 mb-4"><ul class="nav flex-column">[_NAVI_SIDEBAR_]</ul></nav>
</div>
</div>
</div>
</div>
<div class="wrapper d-flex flex-column min-vh-100">
<header class="fixed-top navbar-custom">
<nav class="navbar navbar-expand-lg">
<div class="container-fluid">
<div class="navbar-toggler btn p-0 d-lg-none"><a href="#" data-bs-toggle="modal" data-bs-target="#sidebarMain"><i class="icon-md icon-3xl bi-list"></i></a></div>
<div class="collapse navbar-collapse">
<ul class="navbar-nav navbar-nav-scroll me-auto">[_NAVI_HEADER_]</ul>
</div>
<ul class="nav flex-nowrap align-items-center ms-sm-3 list-unstyled">
<li class="nav-item d-none d-md-block d-flex align-items-center" id="liPeriode">&nbsp;</li>
<li class="nav-item ms-2 dropdown">
<a class="nav-link btn p-0" id="profileDD" role="button" data-bs-auto-close="outside" data-bs-display="static" data-bs-toggle="dropdown" aria-expanded="false"><span class="badge-profile"></span><img class="icon-md rounded-5" src="[_WEB_PATH_]assets/images/[_USER_IMG_]" title="[_USER_NAME_]"></a>
<ul class="dropdown-menu dropdown-menu-end dropdown-profile pt-3 small me-md-n3" aria-labelledby="profileDD">
<li class="dropdown-item-text">
<div class="d-flex text-black">
<div class="flex-shrink-0"><img src="[_WEB_PATH_]assets/images/[_USER_IMG_]" class="icon-lg"></div>
<div class="flex-grow-1 ms-3">
<div>[_USER_USER_]</div>
<div class="fs-6">[_USER_NAME_]</div>
<div class="small">[_USER_POSISI_]</div>
</div>
</div>
</li>
[_MENU_MODUL_]
<li class="dropdown-divider"></li>
<li><a class="dropdown-item slink" id="HomeLink"><i class="me-2 bi-house"></i>Beranda</a></li>
<li><a class="dropdown-item"><i class="me-2 bi-person-circle"></i>Profil</a></li>
<!--<li><a class="dropdown-item"><i class="me-2 bi-gear"></i>Settings</a></li>-->
<li><a class="dropdown-item mlink" id="SYSCLink"><i class="me-2 bi-lock"></i>Ubah Password</a></li>
<li class="dropdown-divider"></li>
<li><a class="dropdown-item text-danger slink" id="ExitLink"><i class="me-2 bi-arrow-right"></i>Keluar</a></li>
</ul>
</li>
</ul>
</div>
</nav>
</header>
<div class="body flex-grow-1">
<div class="container-fluid mt-2 px-0 py-2">
<div aria-live="polite" aria-atomic="true" class="position-relative">
<div class="toast-container position-absolute top-0 end-0 p-3" id="div-toast">&nbsp;</div>
</div>
<div id="pageToolbarTop" class="container-fluid">&nbsp;</div>
<div id="pageContent" class="container-fluid">&nbsp;</div>
<div id="pageToolbarBot" class="container-fluid">&nbsp;</div>
</div>
</div>
<footer class="footer">
<div><a href="[_REG_WEBSITE_]">&reg; [_REG_YEAR_]; [_REG_NAME_]</a></div>
<div class="ms-auto d-none d-md-block">Informasi : XXXX XXXX XXXX (Admin)</div>
</footer>
</div>
<div id="dataPrint" class="d-none d-print-block">&nbsp;</div>
<div id="preloader"><div id="loader"></div></div>
</body>
</html>
+73
View File
@@ -0,0 +1,73 @@
<!------------------------------------------------------------------
Module : /assets/templates/login.php
Desc. : HTML5 Page - Halaman Template Login
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : December 21th, 2009.
Last Modified : July 13th, 2020.
(c) 2009 - 2020, 3FONIA Software; WWW.3FONIA.COM.
------------------------------------------------------------------->
<!DOCTYPE html>
<html lang="en">
<head>
<title>[_APP_NAME_VER_]</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="PhpED + FW9 @ 3FONIA Software"/>
<meta name="author" content="Siau Pheng &lt;siaupheng[at]3fonia.com&gt;"/>
<meta name="description" content="[_APP_NAME_VER_], [_APP_NAMES_]" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
<link rel="icon" href="[_WEB_PATH_]assets/images/logo150.png" type="image/png" />
<link rel="shortcut icon" href="[_WEB_PATH_]assets/images/logo150.png" type="image/png" />
</head>
<body class="min-vh-100 d-flex flex-row align-items-center dark:bg-transparent">
<div class="container">
<div aria-live="polite" aria-atomic="true" class="position-relative">
<div class="toast-container position-absolute top-0 start-50 translate-middle-x" id="div-toast">&nbsp;</div>
</div>
<div class="row justify-content-center">
<div class="col-xl-4 col-lg-5 col-md-6 col-10">
<div class="card-group d-block d-md-flex row">
<div class="card col-md-6 p-3 mb-0">
<div class="card-body">
<div class="mb-2">
<img class="mx-auto d-block" src="[_WEB_PATH_]assets/images/logo150.png" title="[_REG_NAME_UP_]">
<div class="text-center pt-2 pb-2">[_APP_NAME_] Ver. [_APP_VER_]<br>Register ID : [_REG_ID_]</div>
</div>
<div class="input-group mb-2">
<span class="input-group-text">
<i class="bi-person-circle"></i>
</span>
<input class="form-control" id="Username" type="text" placeholder="ID Pengguna">
</div>
<div class="input-group mb-3">
<span class="input-group-text">
<i class="bi-unlock2"></i>
</span>
<input class="form-control" id="Password" type="password" placeholder="Kata Sandi">
</div>
<div class="input-group mb-3">
<span class="input-group-text">
<i class="bi-calendar2"></i>
</span>
[_OPTION_BLN_]&nbsp;&nbsp;[_OPTION_TAHUN_]
</div>
<div class="input-group d-grid gap-2">
<button id="butLogin" class="btn btn-primary" type="button">Login</button>
</div>
<div class="text-center d-none" id="divLoginMsg">&nbsp;</div>
<div class="pt-4">
<div class="text-center">&reg; [_REG_YEAR_]; [_REG_NAME_]</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>