Initial Smartproc

This commit is contained in:
Titan Hadiyan
2023-05-27 07:03:08 +07:00
parent b3feeb7809
commit fc7a97585a
90 changed files with 89395 additions and 0 deletions

10629
public/css/bootstrap.min.css vendored Normal file

File diff suppressed because it is too large Load Diff

6
public/css/owl.carousel.min.css vendored Normal file
View File

@ -0,0 +1,6 @@
/**
* Owl Carousel v2.3.4
* Copyright 2013-2018 David Deutsch
* Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
*/
.owl-carousel,.owl-carousel .owl-item{-webkit-tap-highlight-color:transparent;position:relative}.owl-carousel{display:none;width:100%;z-index:1}.owl-carousel .owl-stage{position:relative;-ms-touch-action:pan-Y;touch-action:manipulation;-moz-backface-visibility:hidden}.owl-carousel .owl-stage:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.owl-carousel .owl-stage-outer{position:relative;overflow:hidden;-webkit-transform:translate3d(0,0,0)}.owl-carousel .owl-item,.owl-carousel .owl-wrapper{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0)}.owl-carousel .owl-item{min-height:1px;float:left;-webkit-backface-visibility:hidden;-webkit-touch-callout:none}.owl-carousel .owl-item img{display:block;width:100%}.owl-carousel .owl-dots.disabled,.owl-carousel .owl-nav.disabled{display:none}.no-js .owl-carousel,.owl-carousel.owl-loaded{display:block}.owl-carousel .owl-dot,.owl-carousel .owl-nav .owl-next,.owl-carousel .owl-nav .owl-prev{cursor:pointer;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel .owl-nav button.owl-next,.owl-carousel .owl-nav button.owl-prev,.owl-carousel button.owl-dot{background:0 0;color:inherit;border:none;padding:0!important;font:inherit}.owl-carousel.owl-loading{opacity:0;display:block}.owl-carousel.owl-hidden{opacity:0}.owl-carousel.owl-refresh .owl-item{visibility:hidden}.owl-carousel.owl-drag .owl-item{-ms-touch-action:pan-y;touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-grab{cursor:move;cursor:grab}.owl-carousel.owl-rtl{direction:rtl}.owl-carousel.owl-rtl .owl-item{float:right}.owl-carousel .animated{animation-duration:1s;animation-fill-mode:both}.owl-carousel .owl-animated-in{z-index:0}.owl-carousel .owl-animated-out{z-index:1}.owl-carousel .fadeOut{animation-name:fadeOut}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.owl-height{transition:height .5s ease-in-out}.owl-carousel .owl-item .owl-lazy{opacity:0;transition:opacity .4s ease}.owl-carousel .owl-item .owl-lazy:not([src]),.owl-carousel .owl-item .owl-lazy[src^=""]{max-height:0}.owl-carousel .owl-item img.owl-lazy{transform-style:preserve-3d}.owl-carousel .owl-video-wrapper{position:relative;height:100%;background:#000}.owl-carousel .owl-video-play-icon{position:absolute;height:80px;width:80px;left:50%;top:50%;margin-left:-40px;margin-top:-40px;background:url(owl.video.play.png) no-repeat;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;transition:transform .1s ease}.owl-carousel .owl-video-play-icon:hover{-ms-transform:scale(1.3,1.3);transform:scale(1.3,1.3)}.owl-carousel .owl-video-playing .owl-video-play-icon,.owl-carousel .owl-video-playing .owl-video-tn{display:none}.owl-carousel .owl-video-tn{opacity:0;height:100%;background-position:center center;background-repeat:no-repeat;background-size:contain;transition:opacity .4s ease}.owl-carousel .owl-video-frame{position:relative;z-index:1;height:100%;width:100%}

228
public/css/style.css Normal file
View File

@ -0,0 +1,228 @@
body {
font-family: "Roboto", sans-serif;
background-color: #fff; }
p {
color: #b3b3b3;
font-weight: 300; }
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
font-family: "Roboto", sans-serif;
}
a {
-webkit-transition: .3s all ease;
-o-transition: .3s all ease;
transition: .3s all ease; }
a:hover {
text-decoration: none !important; }
.content {
padding: 7rem 0; }
h2 {
font-size: 20px; }
.half, .half .container > .row {
height: 100vh; }
@media (max-width: 991.98px) {
.half .bg {
height: 500px; } }
.half .contents, .half .bg {
width: 50%; }
@media (max-width: 1199.98px) {
.half .contents, .half .bg {
width: 100%; } }
.half .contents .form-group, .half .bg .form-group {
overflow: hidden;
margin-bottom: 0;
border: 1px solid #efefef;
padding: 15px 15px;
border-bottom: none;
position: relative; }
.half .contents .form-group label, .half .bg .form-group label {
position: absolute;
top: 50%;
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%);
-webkit-transition: .3s all ease;
-o-transition: .3s all ease;
transition: .3s all ease; }
.half .contents .form-group input:focus + label, .half .bg .form-group input:focus + label {
margin-top: -20px; }
.half .contents .form-group.first, .half .bg .form-group.first {
border-top-left-radius: 7px;
border-top-right-radius: 7px; }
.half .contents .form-group.last, .half .bg .form-group.last {
border-bottom: 1px solid #efefef;
border-bottom-left-radius: 7px;
border-bottom-right-radius: 7px; }
.half .contents .form-group label, .half .bg .form-group label {
font-size: 12px;
display: block;
margin-bottom: 0;
color: #b3b3b3; }
.half .contents .form-group.field--not-empty label, .half .bg .form-group.field--not-empty label {
margin-top: -20px; }
.half .contents .form-control, .half .bg .form-control {
border: none;
padding: 0;
font-size: 20px;
border-radius: 0; }
.half .contents .form-control:active, .half .contents .form-control:focus, .half .bg .form-control:active, .half .bg .form-control:focus {
outline: none;
-webkit-box-shadow: none;
box-shadow: none; }
.half .bg {
background-size: cover;
background-position: center; }
.half a {
color: #888;
text-decoration: underline; }
.half .btn {
height: 54px;
padding-left: 30px;
padding-right: 30px; }
.half .forgot-pass {
position: relative;
top: 2px;
font-size: 14px; }
.social-login a {
display: block;
text-decoration: none;
display: block;
position: relative;
text-align: center;
color: #fff;
margin-bottom: 10px; }
.social-login a:hover {
color: #fff; }
.social-login a.facebook {
background: #3b5998; }
.social-login a.facebook:hover {
background: #344e86; }
.social-login a.twitter {
background: #1da1f2; }
.social-login a.twitter:hover {
background: #0d95e8; }
.social-login a.google {
background: #ea4335; }
.social-login a.google:hover {
background: #e82e1e; }
.control {
display: block;
position: relative;
padding-left: 30px;
margin-bottom: 15px;
cursor: pointer;
font-size: 14px; }
.control .caption {
position: relative;
top: .2rem;
color: #888; }
.control input {
position: absolute;
z-index: -1;
opacity: 0; }
.control__indicator {
position: absolute;
top: 2px;
left: 0;
height: 20px;
width: 20px;
background: #e6e6e6;
border-radius: 4px; }
.control--radio .control__indicator {
border-radius: 50%; }
.control:hover input ~ .control__indicator,
.control input:focus ~ .control__indicator {
background: #ccc; }
.control input:checked ~ .control__indicator {
background: #007bff; }
.control:hover input:not([disabled]):checked ~ .control__indicator,
.control input:checked:focus ~ .control__indicator {
background: #1a88ff; }
.control input:disabled ~ .control__indicator {
background: #e6e6e6;
opacity: 0.9;
pointer-events: none; }
.control__indicator:after {
font-family: 'icomoon';
content: '\e5ca';
position: absolute;
display: none;
font-size: 16px;
-webkit-transition: .3s all ease;
-o-transition: .3s all ease;
transition: .3s all ease; }
.control input:checked ~ .control__indicator:after {
display: block;
color: #fff; }
.control--checkbox .control__indicator:after {
top: 50%;
left: 50%;
margin-top: -1px;
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
transform: translate(-50%, -50%); }
.control--checkbox input:disabled ~ .control__indicator:after {
border-color: #7b7b7b; }
.control--checkbox input:disabled:checked ~ .control__indicator {
background-color: #7e0cf5;
opacity: .2; }
/* Add by Titan 2023/05/19 */
h3 {
color: #0996C2;
}
.dx-link .dx-link-edit .dx-icon-edit .dx-link-icon {
color: #e8d102;
}
.dx-link .dx-link-delete .dx-icon-trash .dx-link-icon {
color: #FF2C2C;
}
.dx-item-content .dx-toolbar-item-content {
margin: 0 5px;
}
.dx-widget.dx-button.dx-button-mode-text.dx-button-normal.dx-button-has-icon.dx-closebutton {
left: 0px;
}
.dx-datagrid-addrow-button {
background: #0996C2;
color: #fff;
}
.dx-datagrid-addrow-button.dx-state-hover {
background: #0ea4d3;
color: #fff;
}
.dx-button-mode-contained .dx-icon {
color: #fff;
}
.dx-datagrid-headers {
background: #DAF0FA;
}
.dx-widget.dx-button.dx-button-mode-contained.dx-button-normal.dx-button-has-text {
left: 0px;
}

BIN
public/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

File diff suppressed because it is too large Load Diff

BIN
public/images/bg-header.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

BIN
public/images/bg-login.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

BIN
public/images/logo.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

BIN
public/images/logo_pln.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

17
public/index.html Normal file
View File

@ -0,0 +1,17 @@
<!DOCTYPE html>
<html lang="">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title><%= htmlWebpackPlugin.options.title %></title>
</head>
<body class="dx-viewport">
<noscript>
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
</html>

7
public/js/bootstrap.min.js vendored Normal file

File diff suppressed because one or more lines are too long

2
public/js/jquery-3.3.1.min.js vendored Normal file

File diff suppressed because one or more lines are too long

13
public/js/main.js Normal file
View File

@ -0,0 +1,13 @@
$(function() {
'use strict';
$('.form-control').on('input', function() {
var $field = $(this).closest('.form-group');
if (this.value) {
$field.addClass('field--not-empty');
} else {
$field.removeClass('field--not-empty');
}
});
});

5
public/js/popper.min.js vendored Normal file

File diff suppressed because one or more lines are too long

69
public/login.html Normal file
View File

@ -0,0 +1,69 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link href="https://fonts.googleapis.com/css?family=Roboto:300,400&display=swap" rel="stylesheet">
<link rel="stylesheet" href="fonts/icomoon/style.css">
<link rel="stylesheet" href="css/owl.carousel.min.css">
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/style.css">
<title>Login Smartproc</title>
<script nonce="42c04549-e79d-458b-9668-a594fd1782ea">(function(w,d){!function(bg,bh,bi,bj){bg[bi]=bg[bi]||{};bg[bi].executed=[];bg.zaraz={deferred:[],listeners:[]};bg.zaraz.q=[];bg.zaraz._f=function(bk){return function(){var bl=Array.prototype.slice.call(arguments);bg.zaraz.q.push({m:bk,a:bl})}};for(const bm of["track","set","debug"])bg.zaraz[bm]=bg.zaraz._f(bm);bg.zaraz.init=()=>{var bn=bh.getElementsByTagName(bj)[0],bo=bh.createElement(bj),bp=bh.getElementsByTagName("title")[0];bp&&(bg[bi].t=bh.getElementsByTagName("title")[0].text);bg[bi].x=Math.random();bg[bi].w=bg.screen.width;bg[bi].h=bg.screen.height;bg[bi].j=bg.innerHeight;bg[bi].e=bg.innerWidth;bg[bi].l=bg.location.href;bg[bi].r=bh.referrer;bg[bi].k=bg.screen.colorDepth;bg[bi].n=bh.characterSet;bg[bi].o=(new Date).getTimezoneOffset();if(bg.dataLayer)for(const bt of Object.entries(Object.entries(dataLayer).reduce(((bu,bv)=>({...bu[1],...bv[1]})))))zaraz.set(bt[0],bt[1],{scope:"page"});bg[bi].q=[];for(;bg.zaraz.q.length;){const bw=bg.zaraz.q.shift();bg[bi].q.push(bw)}bo.defer=!0;for(const bx of[localStorage,sessionStorage])Object.keys(bx||{}).filter((bz=>bz.startsWith("_zaraz_"))).forEach((by=>{try{bg[bi]["z_"+by.slice(7)]=JSON.parse(bx.getItem(by))}catch{bg[bi]["z_"+by.slice(7)]=bx.getItem(by)}}));bo.referrerPolicy="origin";bo.src="/cdn-cgi/zaraz/s.js?z="+btoa(encodeURIComponent(JSON.stringify(bg[bi])));bn.parentNode.insertBefore(bo,bn)};["complete","interactive"].includes(bh.readyState)?zaraz.init():bg.addEventListener("DOMContentLoaded",zaraz.init)}(w,d,"zarazData","script");})(window,document);</script></head>
<body>
<div class="d-lg-flex half">
<div class="bg order-1 order-md-2" style="background-image: url('images/bg-login.jpg');">
<div class="container">
<div class="row align-items-center justify-content-center">
<div class="col-md-10">
<div class="mb-4">
<h1 class="text-white text-bold">SMARTPROC</h1>
<p class="mb-4 text-white">Manajemen kontrak Pengadaan yang termonitoring dan Efisien</p>
</div>
</div>
</div>
</div>
</div>
<div class="contents order-2 order-md-1" style="background: transparent;border: 1px solid #F3F3F3;box-shadow: 0px 4px 20px rgba(51, 51, 51, 0.1);border-radius: 0px 24px 24px 0px;">
<div class="container">
<div class="row align-items-center justify-content-center">
<div class="col-md-7">
<div class="mb-4">
<h3>Log In</h3>
<p class="mb-4"></p>
</div>
<form action="#" method="post">
<div class="form-group first">
<label for="username">Email</label>
<input type="text" class="form-control" id="email">
</div>
<div class="form-group last mb-3">
<label for="password">Password</label>
<input type="password" class="form-control" id="password">
</div>
<div class="d-flex mb-5 align-items-center">
<label class="control control--checkbox mb-0"><span class="caption">Ingat saya</span>
<input type="checkbox" checked="checked" />
<div class="control__indicator"></div>
</label>
<span class="ml-auto"><a href="#" class="forgot-pass">Lupa Password ?</a></span>
</div>
<input type="submit" value="Log In" class="btn btn-block btn-primary">
</div>
</form>
</div>
</div>
</div>
</div>
</div>
<script src="js/jquery-3.3.1.min.js"></script>
<script src="js/popper.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/main.js"></script>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v52afc6f149f6479b8c77fa569edb01181681764108816" integrity="sha512-jGCTpDpBAYDGNYR5ztKt4BQPGef1P0giN6ZGVUi835kFF88FOmmn8jBQWNgrNd8g/Yu421NdgWhwQoaOPFflDw==" data-cf-beacon='{"rayId":"7c8750ecaec94ab2","token":"cd0b4b3a733644fc843ef0b185f98241","version":"2023.4.0","si":100}' crossorigin="anonymous"></script>
</body>
</html>