Initial Smartproc
10629
public/css/bootstrap.min.css
vendored
Normal file
6
public/css/owl.carousel.min.css
vendored
Normal 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
@ -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
After Width: | Height: | Size: 64 KiB |
4919
public/fonts/icomoon/style.css
Normal file
BIN
public/images/bg-header.jpg
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
public/images/bg-login.jpg
Normal file
After Width: | Height: | Size: 75 KiB |
BIN
public/images/icon/ico-1-master.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
public/images/icon/ico-2-config.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
public/images/icon/ico-3-template.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
public/images/icon/ico-4-drp.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
public/images/icon/ico-5-rks.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
public/images/icon/ico-6-hps.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
public/images/icon/ico-7-kontrak.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
public/images/logo.jpg
Normal file
After Width: | Height: | Size: 3.4 KiB |
BIN
public/images/logo_pln.png
Normal file
After Width: | Height: | Size: 3.5 KiB |
17
public/index.html
Normal 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
2
public/js/jquery-3.3.1.min.js
vendored
Normal file
13
public/js/main.js
Normal 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
69
public/login.html
Normal 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>
|