From 4293717973fd726cae1a3bc42665b094a93957f1 Mon Sep 17 00:00:00 2001
From: haniah_wafa <13516053@std.stei.itb.ac.id>
Date: Mon, 11 Feb 2019 20:10:10 +0700
Subject: [PATCH] finished project

---
 addMateri.php                |   2 +-
 addPengumuman.php            |   2 +-
 addQuote.php                 |   2 +-
 admin/css/alert.css          |  65 ++++++++++++
 admin/css/dashboard.css      |  35 ++++++-
 admin/images/cross-red.jpg   | Bin 0 -> 4607 bytes
 admin/images/green-check.jpg | Bin 0 -> 4236 bytes
 admin/index.html             |  87 ++++++++++++----
 admin/kalender.html          |  71 ++++++++++++-
 admin/kegiatan.html          | 118 +++++++++++++++++----
 admin/materi.html            | 105 +++++++++++++++----
 admin/peng-tambah.html       | 197 +++++++++++++++++++++++------------
 admin/quotes.html            |  61 +++++++++--
 admin/sidebar.html           |   3 +-
 dbConnect.php                |   4 +-
 15 files changed, 608 insertions(+), 144 deletions(-)
 create mode 100644 admin/css/alert.css
 create mode 100644 admin/images/cross-red.jpg
 create mode 100644 admin/images/green-check.jpg

diff --git a/addMateri.php b/addMateri.php
index 1fade7c..ebe93ce 100755
--- a/addMateri.php
+++ b/addMateri.php
@@ -122,4 +122,4 @@ $stmt->execute();
 $stmt->close();
 $conn->close();
 
-echo 'Sukses, materi ' . $judul . 'berhasil ditambahkan';
+echo 'Materi ' . $judul . ' berhasil ditambahkan';
diff --git a/addPengumuman.php b/addPengumuman.php
index d545f54..d5e4b36 100755
--- a/addPengumuman.php
+++ b/addPengumuman.php
@@ -96,5 +96,5 @@ $row = $stmt->fetch_assoc();
 
 $conn->close();
 
-\pmotraining\FirebaseNotif::sendNotif("Ada pengumuman baru", $judul, 0, $row["max"]);
+//\pmotraining\FirebaseNotif::sendNotif("Ada pengumuman baru", $judul, 0, $row["max"]);
 echo 'Sukses, pengumuman ' . $judul . ' berhasil ditambahkan.';
diff --git a/addQuote.php b/addQuote.php
index 4c4c599..773a131 100755
--- a/addQuote.php
+++ b/addQuote.php
@@ -29,7 +29,7 @@ $konten = $_POST["konten"];
 date_default_timezone_set(date_default_timezone_get());
 $date = date('Y/m/d H:i:s', time());
 $temp_tanggal = implode("", $res[0]);
-print($temp_tanggal);
+//print($temp_tanggal);
 $date = date_create($temp_tanggal);
 date_add($date, date_interval_create_from_date_string('7 days'));
 
diff --git a/admin/css/alert.css b/admin/css/alert.css
new file mode 100644
index 0000000..06e12d1
--- /dev/null
+++ b/admin/css/alert.css
@@ -0,0 +1,65 @@
+#alert-modal {
+  min-width: fit-content;
+}
+
+.alert {
+  display: none; /* Hidden by default */
+  position: fixed; /* Stay in place */
+  z-index: 1; /* Sit on top */
+  left: 0;
+  top: 0;
+  width: 100%; /* Full width */
+  height: 100%; /* Full height */
+  overflow: auto; /* Enable scroll if needed */
+  background-color: rgb(0,0,0); /* Fallback color */
+  background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
+}
+
+.alert-content {
+  background-color: #fefefe;
+  margin: 15% auto; /* 15% from the top and centered */
+  padding: 20px;
+  border: 1px solid #888;
+  width: 50%;
+}
+
+.align-right {
+  text-align: right;
+}
+
+.alert-close {
+  color: gray;
+  font-size: 100%;
+  font-weight: bold;
+}
+
+.alert-image {
+  width: 80%;
+}
+
+.alert-close:hover,
+.alert-close:focus {
+    color: black;
+    text-decoration: none;
+    cursor: pointer;
+}
+
+#alert-modal .grid-layout {
+  grid-template-columns: 125px 1fr;
+  text-align: center;
+}
+
+#alert-cross {
+  margin-left: auto;
+  margin-right: auto;
+}
+
+#alert-message {
+  margin-top: auto;
+  margin-bottom: auto;
+  font-size: 80%;
+}
+
+#alert-header {
+  font-weight: bold;
+}
\ No newline at end of file
diff --git a/admin/css/dashboard.css b/admin/css/dashboard.css
index a7697c2..60ac91a 100755
--- a/admin/css/dashboard.css
+++ b/admin/css/dashboard.css
@@ -11,6 +11,11 @@ body {
     height: 16px;
     vertical-align: text-bottom;
   }
+
+  .img-thumbnail{
+    padding: 5px;
+    border: none;
+  }
   
   /*
    * Sidebar
@@ -31,7 +36,7 @@ body {
     position: sticky;
     top: 48px; /* Height of navbar */
     height: calc(100vh - 48px);
-    padding-top: .5rem;
+    padding-top: 48px;
     overflow-x: hidden;
     overflow-y: auto; /* Scrollable contents if viewport is shorter than content. */
   }
@@ -88,6 +93,34 @@ body {
     border-color: transparent;
     box-shadow: 0 0 0 3px rgba(255, 255, 255, .25);
   }
+
+  .navbar-collapse .nav-link {
+    color: #fff;
+  }
+
+  .navbar-collapse .nav-link.active {
+    color: #007bff;
+  }
+
+  .navbar-collapse .nav-link .feather {
+    margin-right: 4px;
+    color: #999;
+  }
+
+  .navbar-collapse .nav-link:hover .feather,
+  .navbar-collapse .nav-link.active .feather {
+    color: inherit;
+  }
+  
+  .small-nav-dark {
+    background-color: #343a40;
+    box-shadow: inset 0px 0 0 rgba(0, 0, 0, 0);
+  }
+
+  .unstyled-button {
+    border: none;
+    background: none;
+  }
   
   /*
    * Utilities
diff --git a/admin/images/cross-red.jpg b/admin/images/cross-red.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..aaa628222112007c66a017ac86f57a8ba8a29410
GIT binary patch
literal 4607
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
W5&Fa`cjDDs4>p(QYMX|cQ~v?pU!&jv

literal 0
HcmV?d00001

diff --git a/admin/images/green-check.jpg b/admin/images/green-check.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..d80d16104b0bfeb43c6de602e7e08fffd8ddd656
GIT binary patch
literal 4236
zcmbW3c{J4D|Ht3VFpM_Y*U4T9`H13ECVYxX2-%m(z9dT`%2Fgtm?%pmWgA4YOqP+!
z@-d-I_I(*9B+E>ghS|R3`}>^l@0{OXzu)iqy7!#ByzV`($9dgz?`4m(=Yb<vE+Z}j
zTwGj01jhh25s<$W;pYtiW@f-i008(nb4LLXr^Uswe~Zlmju{2r3cl?X8tUbF%suj$
zf3TO2+HEh7e+B{e6kr5!b8+pLe+1$I?TZ%-2Jt|6A&~vb$1lLo#|PzuK%fVqP=Ny+
zLHG|HK6v2JetUnD{pI_sIOPBzgm2&D|0eb)K#&i(3S0$o$phSiTp&R%b{7ES(C~1W
z_p$#G7dHsZ!^;T?D!_5T9N~ly0&#PK<pF~^-qD<S04&IJR8G@?SIE*0A|E3B$HR;_
zd<urO?IKnKWJN9a+j0C*Q894|NhM{K<0np@(bhS8PFK(9uS=JWO%PYCuiMz#**iFT
zczSvJ`1<*W-U$o88xeUg{!zl?#H8eu%xBNDvU74@<P{Z{l$N2(D=O>i8!#Ulo0?lX
zI=lYv#((bV9UK}S866v+m?SPNlD;o3ul!i0{My>yq5h`r?(K7N0igfF`VZOv;1c9;
zadUD2hU{~3ao^=skRX^xPLubjfhEK(L`eRRhkU|@8E<Oa`4zOR$Rh5y2cV*gXNXFa
zeYAg*{qMly{$FJO0sC*RN#Fp8i<3N%AOHuLyYxpsB2JdWZbR$JuNHjQ=NpYqWqxiy
zs$`k@#T)=`BhL7rrTm~;J6oIyr;_C|5sEh|B#$fB3w;8(5!*HWHIrwlsT3cEFlb?r
zp+^gEgppIK&?=GX7tDmq&)!u$P+j-RMt3Gl@u-b)R^HOnb_1Pew3>nlHkK3_S>|^@
zTF9^W_MoOyBg?pgH84lEHG_5J4EnNxL)+geI<KWW!c+_TZq&Twf@*B4ix-+zMs(_!
z$ohDY>C|#&#iA4TqqRMml^^lP<5luXFpmOi#<1+hxs8&o9qk>JwF){v&6Mi*zOmKb
zZS1_gf`EQ~sMwcBs28`sWy%>w^Sht(_Wv!MU{Z5ZS6@rAc}w!$31-rtN~GDfU&LpN
znokN(S1#Z(5B1#pII&B=#RkAhw1jtEjgt7T0;M4F4L6djzc_qn5aFTnv*EfJj%*G`
z!30X^#tBjPc~(2)l6|UY?R#fC#14urt1Khm7^)Q|+bO8Lnzm%2zxUazh|M78HdUF|
z`m*1f>93lzfoMYij0$y$Mx-CV`Q8sFbVjPczr&~&-rz<*U$>*ugH5{{IK6$NYq3$e
zt%F$*>(2%tF++K(Ux`x_3d3r{+Os*~Z)MiYLi&y=iV&oR>z2=t;_*oF2w2A~RFtLP
zG*I*{EI(;`Q^hJ35fq}BmS9!Ihrf+a05UI1)TFQh|G9BfduARciKP^!+%_yXbf;!J
zCyxI><GpjF7xEs3dUJsw1=7Qpn^uO4@ER{vo={jt^$=|Viym7F9p0nbPro_qm^TAY
zS8a)o@maZUmM~>b7;KfIN;B(D;rt7E`ec?Tw%LG~?+R{GC!?`PPgZnEc1h=gF<Hl8
zmH+pRV7<T^bo)ZZg5PBfB%=Pu`=-i>Jj?1!v!`f3S<pVZu^AD@^8<HyJJQp|sH-<n
zTZ>=ceFB7$17XdS?PfeeP`P%MF&(hF0^HgNIgaaokQhTLZ`&`ls=qi?ZZ*5TWi3fl
zCfL4t6RA#<vOrGev!HJ(oM(-x)n_{=AB`zV7-?jovr^8d=L%)Pt&v4e)bjPowosLn
zZjX~oLX#SqG6C6}ON4@6`Pzuy<^;2%X*p8%=1AQ|-MyiqjWMlQibrP)vP%jEb^a-O
zEdpirA#-EMB2x1VMUE>;c49v4n5G2OWTkW6b!SJgLacr&bXDOvc4EC*K^odau}itb
z26$-xblVa2H?>1|#$}gQ7rZ-+B;y>CsoV`$o6}k-$d_|uD>g8tz!I%VR;I-gvE8u;
zSGG{=4&NAgrISbgy0N^Jq6|_gHu>1W9o4$2gU)d)@Y@`?8x5a-<r<c6-ACSN_`QOy
z|BMSbJQ??!T28ChDeqo5eAtg(-EdRlu%My2qn-2O*PJwb9r4ej(Z*B>HV_w2AbUE|
z;CMTsRsBOAq{+Fy7i9wmpC*};Q(Ky;I|d26UJq3YmmOt=$?r-R2}0w(Eo#pvv#Tqv
zexPR8F5Y<;O@Myv)8x9?bBx<~@tpHdDe1eT71(|Yn}NAfY&cx9W7&QrZEr+pnzZ90
z!}^LUf%|Sk2y{ryus)3Ta6VSqg70U4P{0jLuo?*!ALb6F)ILo_NdSTm{_@6MYE@eJ
zd02|(WIlRlDxqlz<K(-sUJCm)c=lRvtin)j&9gSGnC>TJ0*k-1A|iZY@0N!xxe}M`
zNF;fuOq#GF2Z8Alc?~V7W?}B)shdVD{%4dWFf+GkFpOVIB{A&JCwvd#;qphlU=Q+P
z2{9Qtqpbe!-n5|GBJyQ9CVhSi+b>%hsWCd&{pn9DM9#EaM*3-d+0vjX7PR~<Y)I@X
za1V&C2tYt^dp2vCh}{N(J-gvK%<{ThF{>AMsBPx9N81=iX25sPJ}7VXqHg#`t+Ijl
zkKXd#7Y4hWV2ELC0E(sVQRW`2i#t{C`G;HL8~-eMOg80X12}y@#wCx~c5|FhkXVHE
zLcts=NF%8A60yMDK=`hb0jqtHgb6Md5M1`mZ4VURyn&48Nw10j>`bOCz4TIK6wFK+
z7slh=Pe%&8l083^T2lB7+nUF)C}_2&z`I<vX^9~VGp2TJ`CW}-hFj~Dww_}d=GJ{{
zDY;zNg8`6C=pLNT$C}o`H6$kH7>t#Dz)(hWcz-Oyu&C>4!3Vz>QKW`w2*Qj!PSaRB
zv{PSs_`J}9sf-7rwP|R_OeZAdR;a+O2<N-9&C*A1^C=!N(56Jf1noX8L|5fM_hf#L
zW-u+De5R$eL5{BWG+(xu#UZtqViIH95x9Ud+67|dc|l@6LF4Z{l5R^=()Wh^%k%G9
zYjp=I?^-tRB@mV+jcd747F%rK=Tbwf+rqjjewK4pe)ZmPV%pg@-OR_n&}^|ge@7bN
z1waoffo@eD1lZp`Yf@K{TBWtNQRbCIMG=wEHSAu!G+nPEci}?W0H=%ln*R8Nx_7#`
zN2Xs{SjzE5!%c<Sj>_`yFOmVSOaxwg&yDk9(3#0%)JSp@1(vk#k<-1`Wq%{M)8yd;
zeM9QjVLP|A;)G>F?0g;@cu)5Yry`G@ck`&fmK)i^^QdRb;f=J53A!W|O#*uflZfeJ
z>rE^h{I1CFX;`OghpJSH>lV#=1-pm)MDIUL#JP#2{jCwnP_5fsWdk5F{GJ*vDGE~k
zqw$LD)U}~^YNfU-pDBO5XQajGMjfLSR?&>xDR_^N5b3)K>Yl$ob?T;^M*QwbVFobK
zj7ZLT8>2>0%04LCd)E#GreROd_Yc%{z$GLgi%5Xg6<c>5DG?)#^tUor$+=mnoq7<}
znhb`~wN5is)pa_DyWEct6jK~6%*QTEhZth+ZC4O?GR+tbdWBPcmxtkAs41sTHXzi{
zB(b)W>@lpv)m3lw;m=&H!jFoV?C;kuLT_$N39N$_jXRS91p{_!4$`uFJZ&<-PiG9|
zNxYEp`S@>Rs&pF`K@{FF);_g)&_!=*R<(LIKP;7*z77J1j>Tu&;*}iUl3?RVYIPek
zixC=2MlW3TF&UD>`o4Y@idwr_rt1~15;RddE#rLSguA)TuUB23b<-We)eOl=^nht)
z47yRmSPkE=jf;1f(NA%)-Z`f+g`!HfF>^7^+FwNigBSwQ`tn)0Nagem^Ks=1SA4!B
zES!1Vo#WVm{==qaZF*4kN=s}i10IH66&-DPTu^@LI{{p&m=ZC5n{UNHWcL|8gw@%I
zt3QNM#uQcm{rjPYH}{Fc<!2@tJyT#jY_&(u%4qDnt<rlWsp)Nkt1Rt{WUF4y_bpds
z#;+)wj{XEnu69J2OY2w;DT<}*xc8RD-$y^n209i;UsJ|X0w!8j%FM9lm@IuW?>pya
zJ87@e5(g$idLJKbXLZii@r<pTQb6mHab`jDA4P5SN;?Xw!<m<=eCS_JJEz+m7C(jA
zD}3!6-X=46>keHi;?}7ucl%>;A_CGT#n4K~MF1p%h6EEnWa8a(S_)gRZLEag!~=A{
zQ{hVY-x6KsVl9S0WUPT64gvS9og@gq@6oMaW{f4&Xfn%V{nbEJSF&*4yK4Cve=&pN
zp)*a>{5ujMpFp&0(t)8J@ze9LVbw9TVg6goNmVlZTD4;VG_cgzv(bluBio@+wZ5~^
z!5G=`t98hmhqToYVoF7r)WQ=Mt(obN5UKk<bFm&laf4A{=1ay|BE58~g3oOBwdUuh
z=bK^h4Uz_fw++F3)W&;r4uis*7N)xDF{y=K<<XVnYpOELZO;HfRnJ{f`b7vl^15eM
zKulaE1qsjSj;Q);>q=$sm2WOZEsR+-f%G(6Rq%X&WnK1Di(Nb93sw9}*;ptUHzh_@
z_{RBCRf`0+eji{spu4U5tOPe4#A=@Du>om^-_s=|**71T#Va>LHHH`3;zb^nCYP;@
z+C90jW-FSloL}tVs_|wQJFhWmv@pgHdh6IoMyED7r8#xf7Ap5ot{Tc6Z-T9yjhK3f
z-^dMyQef8G%kjAR*K@oq-3V`&vyLOx+x9!+j#AjeM=q-^czVfYlqhx?{3sY_s?IPR
zh|y=eCBc(1)ownOe!rpM4`abq-+Fdz!IHc2iztSW0`dNjP=80WHVm;RGDySxqpZn=
za|qjuaOkeycvQF(WbNe1=eX><EiTWT7=)baM7-Dgn2w?fMD&Y|9M4fUpf#f}Q1c+_
zAbHDTfFV*&i;RM!yKToE{51)(0;1mP;v3%X2zP{HW~dp3ux?GBBMzEqqogAo`+Xlf
z&e5;vs`F8k`Jb``kk8?wEWVXCeoE@7Aisu3+Ji0i#RL*O<u$DI{@pb+{Xm520`s|+
zzhh#O+M>snfsb0NW+5ZasnNsL9F}%-IJ0xGSeWXFje#ydOI$p;<6Ul5EX;Jlf$uHj
z2{hF<RLPW?8+pq(-=Xbk0Lp6E@=bj*3gn6WsT6cE9Q1RX0tdm}VA8CS*$YUSD7V&;
zfHjq={QIxnhB18Y)3xAF^iwd+d4TbhyD+Z}L(`>8GjwU7J2|eh<e8#XUtVpgy1;jM
z*Yw>fHo*1wy*TxyrM9?iQ>28FlU8|2cBOzxjcd)){q0}(Xw4@lUJhrD80r}>k1%>?
zrO4|!33r@aw9GJ#?}ygh?bX)jQx$`Y$RZclcwBXMFT`Fk;T_dJ;XF26UQ&fZTUy#C
HvnT!qL%%l8

literal 0
HcmV?d00001

diff --git a/admin/index.html b/admin/index.html
index 0e70dec..0d1eba5 100755
--- a/admin/index.html
+++ b/admin/index.html
@@ -18,13 +18,63 @@
   </head>
 
   <body>
-    <nav class="navbar navbar-dark sticky-top bg-dark flex-md-nowrap p-0">
-      <a class="navbar-brand col-sm-3 col-md-2 mr-0" href="#">Komunitas PMO</a>
+
+    <!-- Menu untuk mobile-->
+    <nav class="navbar navbar-dark sticky-top bg-dark flex-md-nowrap p-0 d-block d-sm-block d-md-none">   
+      <button class="navbar-toggler unstyled-button" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
+        <span class="navbar-toggler-icon"></span>
+      </button>
+      <a class="navbar-brand small-nav-dark" href="#">Komunitas PMO</a>
+      <div class="collapse navbar-collapse" id="navbarSupportedContent">
+        <ul class="nav flex-column">
+          <li class="nav-item">
+            <a class="nav-link active" href="#" id="home-click">
+              <span data-feather="home"></span>
+              Dashboard <span class="sr-only">(current)</span>
+            </a>
+          </li>
+          <li class="nav-item">
+            <a class="nav-link" href="#" id="materi-click">
+              <span data-feather="file"></span>
+               Materi
+            </a>
+          </li>
+          <li class="nav-item">
+            <a class="nav-link" href="#" id="pengumuman-click">
+              <span data-feather="clipboard"></span>
+              Pengumuman
+            </a>
+          </li>
+          <li class="nav-item">
+            <a class="nav-link" href="#" id="kegiatan-click">
+              <span data-feather="star"></span>
+              Kegiatan
+            </a>
+          </li>
+          <li class="nav-item">
+            <a class="nav-link" href="#" id="kalender-click">
+              <span data-feather="calendar"></span>
+              Kalender
+            </a>
+          </li>
+          <li class="nav-item">
+            <a class="nav-link" href="#" id="quotes-click">
+              <span data-feather="hash"></span>
+              Quotes
+            </a>
+          </li>
+        </ul>
+      </div>
+    </nav>
+
+    <!-- navbar untuk desktop -->
+    <nav class="navbar navbar-dark sticky-top bg-dark flex-md-nowrap p-0 d-none d-sm-none d-md-block">
+      <a class="navbar-brand col-lg-2 col-md-3 mr-0" href="#">Komunitas PMO</a>
     </nav>
 
     <div class="container-fluid">
       <div class="row">
-        <nav class="col-md-2 d-none d-md-block bg-light sidebar" id="navigation-panel">
+        <nav class="col-lg-2 col-md-3 d-none d-sm-none d-md-block bg-light sidebar" id="navigation-panel">
           <div class="sidebar-sticky">
             <ul class="nav flex-column">
               <li class="nav-item">
@@ -87,30 +137,23 @@
     
     <!-- <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
     <script src="js/bootstrap.min.js"></script> -->
-    <script  src="https://code.jquery.com/jquery-3.3.1.min.js"
-  integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
-  crossorigin="anonymous"></script>
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
-<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
-<script src="https://unpkg.com/feather-icons/dist/feather.min.js"></script>
-<script src="http://malsup.github.com/jquery.form.js"></script> 
-      <script>
+    <script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
+    <script src="https://unpkg.com/feather-icons/dist/feather.min.js"></script>
+    <script src="http://malsup.github.com/jquery.form.js"></script> 
+    <script>
       $(document).ready(function(){
-    
-        
         feather.replace();
-        
       });
-      </script>
-    <script src="js/main.js"></script>
-    
 
-    <!-- Icons -->
-    
-    <script>
-      
-    </script>
+      // close toggle if item clicked
+      $('#navbarSupportedContent').on('click', function() {
+        $('.navbar-toggler').click();
+      })
+      </script>
 
+    <script src="js/main.js"></script>
     
   </body>
 </html>
diff --git a/admin/kalender.html b/admin/kalender.html
index 3a7ca77..f71d89b 100755
--- a/admin/kalender.html
+++ b/admin/kalender.html
@@ -1,3 +1,7 @@
+<head>
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+  <link rel="stylesheet" href="css/alert.css" type="text/css">
+</head>
 <div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pb-2 mb-3 border-bottom">
     <h1 class="h2" id="title">Kalender</h1>
     <div class="btn-toolbar mb-2 mb-md-0">
@@ -5,6 +9,24 @@
     </div>
   </div>
 
+<!-- Modal -->
+<div id="alert-modal" class="alert">
+  <div class="alert-content">
+    <div class="align-right">
+      <span class="alert-close">&times;</span>
+    </div>
+    <div class="grid-layout">
+      <div id="alert-cross">
+        <img id="alert-image">
+      </div>
+      <div id="alert-message">
+        <div id="alert-header"></div>
+        <div id="alert-text"></div>
+      </div>
+    </div>
+  </div>
+</div>
+
   <form method="POST" id="upload_form" enctype="multipart/form-data">
     <div class="form-group">
       <label for="usr">Nama:</label>
@@ -19,11 +41,50 @@
   </form>
   
   <script>
-    $('#upload_form').on('submit', function(e){
+    var nama = document.getElementById("nama");
+    var tanggal = document.getElementById("tanggal");
+    var alertModal = document.getElementById('alert-modal');
+    var alertCloseBtn = document.getElementsByClassName('alert-close')[0];
+    var alertText = document.getElementById('alert-text');
+    var alertImage = document.getElementById('alert-image');
+    var alertHeader = document.getElementById('alert-header');
+
+    $('#upload_form').on('submit', function (e) {
       e.preventDefault();
-      $.post("../addKalender.php", $("#upload_form").serialize() ).done(function (data) {
-        alert(data);
-        $("#upload_form")[0].reset();
-      });
+      var teks ="";
+      alertHeader.innerHTML = "Gagal!";
+      alertImage.src="images/cross-red.jpg";
+      if(!nama.value){
+        teks+="Nama";
+      }
+      if(!tanggal.value){
+        if(teks!=""){
+          teks+=", ";
+        }
+        teks+="Tanggal";
+      }
+      if(teks!=""){
+        alertText.innerHTML = teks + " tidak boleh kosong.";
+        alertModal.style.display = 'block';
+      }
+      else{
+        $.post("../addKalender.php", $("#upload_form").serialize()).done(function (data) {
+          alertImage.src="images/green-check.jpg";
+          alertHeader.innerHTML = "Sukses!";
+          alertText.innerHTML = data;
+          alertModal.style.display = 'block';
+          $("#upload_form")[0].reset();
+        });
+      }
+    });
+
+    alertCloseBtn.addEventListener('click', function() {
+      alertModal.style.display = 'none';
     });
+  
+    window.onclick = function(event) {
+      if (event.target == alertModal) {
+        alertModal.style.display = "none";
+      }
+    }
   </script>
\ No newline at end of file
diff --git a/admin/kegiatan.html b/admin/kegiatan.html
index a855d71..82d417b 100755
--- a/admin/kegiatan.html
+++ b/admin/kegiatan.html
@@ -1,11 +1,15 @@
+<head>
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+  <link rel="stylesheet" href="css/alert.css" type="text/css">
+</head>
 <div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pb-2 mb-3 border-bottom">
   <h1 class="h2">Kegiatan</h1>
   <div class="btn-toolbar mb-2 mb-md-0">
-    
+
   </div>
 </div>
 
-<form action="../addKegiatan.php" method="POST" id="upload_form" enctype="multipart/form-data">
+<form method="POST" id="upload_form" enctype="multipart/form-data">
   <div class="form-group">
     <label for="usr">Nama Kegiatan:</label>
     <input type="text" class="form-control" id="nama_kegiatan" name="nama_kegiatan">
@@ -19,45 +23,123 @@
     <textarea class="form-control" rows="5" id="deskripsi_acara" name="deskripsi_acara" value="" placeholder="Kosongkan bila tidak ada deskripsi acara"></textarea>
   </div>
   <div class="form-group">
-      <label><input type="checkbox" value="" id="isTanggal">Sudah ada tanggal? </label>
-      <input type="hidden" class="form-control" id="chx-helper" name="isTanggal" value="0">
-      <input type="date" class="form-control" id="tanggal_kegiatan" name="tanggal_kegiatan" disabled>
+    <label><input type="checkbox" value="" id="isTanggal">Sudah ada tanggal? </label>
+    <input type="hidden" class="form-control" id="chx-helper" name="isTanggal" value="0">
+    <input type="date" class="form-control" id="tanggal_kegiatan" name="tanggal_kegiatan" disabled>
   </div>
   <div class="form-group">
-      <label><input type="checkbox" value="" id="isTempat">Sudah ada tempat? </label>
-      <input type="hidden" class="form-control" id="chx2-helper" name="isTempat" value="0">
-      <input type="text" class="form-control" id="lokasi_kegiatan" name="lokasi_kegiatan" disabled>
+    <label><input type="checkbox" value="" id="isTempat">Sudah ada tempat? </label>
+    <input type="hidden" class="form-control" id="chx2-helper" name="isTempat" value="0">
+    <input type="text" class="form-control" id="lokasi_kegiatan" name="lokasi_kegiatan" disabled>
   </div>
   <button type="submit" class="btn btn-default">Kirim</button>
 
 </form>
 
+<!-- Modal -->
+<div id="alert-modal" class="alert">
+  <div class="alert-content">
+    <div class="align-right">
+      <span class="alert-close">&times;</span>
+    </div>
+    <div class="grid-layout">
+      <div id="alert-cross">
+        <img id="alert-image">
+      </div>
+      <div id="alert-message">
+        <div id="alert-header"></div>
+        <div id="alert-text"></div>
+      </div>
+    </div>
+  </div>
+</div>
+
 <script>
-   $('#isTanggal').change(function(){
+  var nama_kegiatan = document.getElementById("nama_kegiatan");
+  var target_peserta = document.getElementById("target_peserta");
+  var deskripsi_acara = document.getElementById("deskripsi_acara");
+  var isTanggal = document.getElementById("isTanggal");
+  var tanggal_kegiatan = document.getElementById("tanggal_kegiatan");
+  var isTempat = document.getElementById("isTempat");
+  var lokasi_kegiatan = document.getElementById("lokasi_kegiatan");
+  var alertModal = document.getElementById('alert-modal');
+  var alertCloseBtn = document.getElementsByClassName('alert-close')[0];
+  var alertText = document.getElementById('alert-text');
+  var alertImage = document.getElementById('alert-image');
+  var alertHeader = document.getElementById('alert-header');
+
+  $('#isTanggal').change(function () {
     if (this.checked) {
       $("#tanggal_kegiatan").removeAttr("disabled");
       $("#chx-helper").val(1);
     } else {
-      $("#tanggal_kegiatan").attr("disabled","true");
+      $("#tanggal_kegiatan").attr("disabled", "true");
       $("#chx-helper").val(0);
     }
   });
 
-  $('#isTempat').change(function(){
+  $('#isTempat').change(function () {
     if (this.checked) {
       $("#lokasi_kegiatan").removeAttr("disabled");
       $("#chx2-helper").val(1);
     } else {
-      $("#lokasi_kegiatan").attr("disabled","true");
+      $("#lokasi_kegiatan").attr("disabled", "true");
       $("#chx2-helper").val(0);
     }
   });
 
-  $('#upload_form').on('submit', function(e){
+  $('#upload_form').on('submit', function (e) {
     e.preventDefault();
-    att = $("upload_form").attr("action") ;
-    $.post("../addKegiatan.php", $("#upload_form").serialize() ).done(function (data) {
-      alert(data);
-    });
+    var teks="";
+    alertHeader.innerHTML = "Gagal!";
+    alertImage.src="images/cross-red.jpg";
+    if(!nama_kegiatan.value){
+      teks+="Nama Kegiatan";
+    }
+    if(!target_peserta.value){
+      if(teks!=""){
+        teks+=", ";
+      }
+      teks+="Target Peserta";
+    }
+    if(isTanggal.checked){
+      if(!tanggal_kegiatan.value){
+        if(teks!=""){
+          teks+=", ";
+        }
+        teks+="Tanggal Kegiatan";
+      }
+    }
+    if(isTempat.checked){
+      if(!tanggal_kegiatan.value){
+        if(teks!=""){
+          teks+=", ";
+        }
+        teks+="Lokasi Kegiatan";
+      }
+    }
+    if(teks!=""){
+      alertText.innerHTML = teks + " tidak boleh kosong.";
+      alertModal.style.display = 'block';
+    }
+    else{
+      $.post("../addKegiatan.php", $("#upload_form").serialize()).done(function (data) {
+        alertImage.src="images/green-check.jpg";
+        alertHeader.innerHTML = "Sukses!";
+        alertText.innerHTML = data;
+        alertModal.style.display = 'block';
+        $("#upload_form")[0].reset();
+      });
+    }
   });
-</script>
+
+  alertCloseBtn.addEventListener('click', function() {
+    alertModal.style.display = 'none';
+  });
+  
+  window.onclick = function(event) {
+    if (event.target == alertModal) {
+      alertModal.style.display = "none";
+    }
+  }
+</script>
\ No newline at end of file
diff --git a/admin/materi.html b/admin/materi.html
index 4807e58..f389e40 100755
--- a/admin/materi.html
+++ b/admin/materi.html
@@ -1,3 +1,7 @@
+<head>
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <link rel="stylesheet" href="css/alert.css" type="text/css">
+  </head>
 <div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pb-2 mb-3 border-bottom">
   <h1 class="h2">Materi</h1>
   <div class="btn-toolbar mb-2 mb-md-0">
@@ -5,16 +9,16 @@
   </div>
 </div>
 
-<form action="../addMateri.php" method="POST" id="upload_form" enctype="multipart/form-data">
+<form method="POST" id="upload_form" enctype="multipart/form-data">
   <div class="form-group">
     <label for="usr">Topik:</label>
     <div class="radio">
-      <label><input type="radio" name="optradio" value="new">Tambah Baru</label>
+      <label><input type="radio" name="optradio" id="optradio" value="new">Tambah Baru</label>
 
       <input type="text" id="new" name="topik" disabled>
     </div>
     <div class="radio">
-      <label><input type="radio" name="optradio" value="exist">Pilih dari yang sudah ada</label>
+      <label><input type="radio" name="optradio" id="optradio1" value="exist">Pilih dari yang sudah ada</label>
       <select id="sel1" name="topik" disabled>
 
       </select>
@@ -48,7 +52,36 @@
 </div>
 </div>
 
+<!-- Modal -->
+<div id="alert-modal" class="alert">
+    <div class="alert-content">
+      <div class="align-right">
+        <span class="alert-close">&times;</span>
+      </div>
+      <div class="grid-layout">
+        <div id="alert-cross">
+          <img id="alert-image">
+        </div>
+        <div id="alert-message">
+          <div id="alert-header"></div>
+          <div id="alert-text"></div>
+        </div>
+      </div>
+    </div>
+  </div>
+
 <script>
+  var optradio = document.getElementById("optradio");
+  var _new = document.getElementById("new");
+  var optradio1 = document.getElementById("optradio1");
+  var sel1 = document.getElementById("sel1");
+  var judul = document.getElementById("judul");
+  var alertModal = document.getElementById('alert-modal');
+  var alertCloseBtn = document.getElementsByClassName('alert-close')[0];
+  var alertText = document.getElementById('alert-text');
+  var alertImage = document.getElementById('alert-image');
+  var alertHeader = document.getElementById('alert-header');
+
   $.getJSON("../getAllTopik.php",function(data){
     var select = document.getElementById("sel1");
     $.each(data, function(){
@@ -108,24 +141,56 @@
       complete: function(xhr) {
         $('#progbar').addClass('d-none');
         $('#upload_form').removeClass('d-none');
-        alert(xhr.responseText);
+        //alert(xhr.responseText);
       }
     }); 
-  // $("#upload_form").on("submit", function(e){
-  //   e.preventDefault();
-  //   $.ajax({
-  //     url: "../addMateri.php", // Url to which the request is send
-  //     type: "POST",             // Type of request to be send, called as method
-  //     data: new FormData(this), // Data sent to server, a set of key/value pairs (i.e. form fields and values)
-  //     contentType: false,       // The content type used when sending data to the server.
-  //     cache: false,             // To unable request pages to be cached
-  //     processData:false,        // To send DOMDocument or non processed data file it is set to false
-  //     success: function(data)   // A function to be called if request succeeds
-  //     {
-  //       // lakukan pemanggilan api notifikasi
-  //       alert(data);
-  //     }
-  //   });
-  // });
+
+   $("#upload_form").on("submit", function(e){
+     e.preventDefault();
+     var teks="";
+     alertHeader.innerHTML = "Gagal!";
+     alertImage.src="images/cross-red.jpg";
+     if((!optradio.checked && !optradio1.checked) || (optradio.checked && !_new.value)) {
+      teks+="Topik";
+    }
+    if(!judul.value){
+      if(teks!=""){
+        teks+=", ";
+      }
+      teks+="Judul";
+    }
+    if(teks!=""){
+      alertText.innerHTML = teks + " tidak boleh kosong.";
+      alertModal.style.display = 'block';
+    }
+    else {
+     $.ajax({
+       url: "../addMateri.php", // Url to which the request is send
+       type: "POST",             // Type of request to be send, called as method
+       data: new FormData(this), // Data sent to server, a set of key/value pairs (i.e. form fields and values)
+       contentType: false,       // The content type used when sending data to the server.
+       cache: false,             // To unable request pages to be cached
+       processData:false,        // To send DOMDocument or non processed data file it is set to false
+       success: function(data)   // A function to be called if request succeeds
+       {
+         // lakukan pemanggilan api notifikasi
+         alertImage.src="images/green-check.jpg";
+          alertHeader.innerHTML = "Sukses!";
+          alertText.innerHTML = data;
+          alertModal.style.display = 'block';
+          $("#upload_form")[0].reset();
+       }
+     });
+    }
+   });
     
+  alertCloseBtn.addEventListener('click', function() {
+    alertModal.style.display = 'none';
+  });
+  
+  window.onclick = function(event) {
+    if (event.target == alertModal) {
+      alertModal.style.display = "none";
+    }
+  }
 </script>
\ No newline at end of file
diff --git a/admin/peng-tambah.html b/admin/peng-tambah.html
index b93f2af..400f2e0 100755
--- a/admin/peng-tambah.html
+++ b/admin/peng-tambah.html
@@ -1,94 +1,163 @@
+<head>
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+  <link rel="stylesheet" href="css/alert.css" type="text/css">
+</head>
 <form action="../addPengumuman.php" method="POST" id="upload_form" enctype="multipart/form-data">
   <div class="form-group">
     <label for="usr">Judul:</label>
     <input type="text" class="form-control" id="judul" name="judul">
   </div>
   <div class="form-group">
-      <label for="comment">Kegiatan terkait:&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp</label>
-      <input type="hidden" name="kegiatan_id" value="-1">
-      <button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown" id="list-button">Empty
-          <span data-feather="calendar"></span></button>
-          <ul class="dropdown-menu" id="list">
+    <label for="comment">Kegiatan terkait:&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp</label>
+    <input type="hidden" name="kegiatan_id" value="-1">
+    <button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown" id="list-button">Empty
+      <span data-feather="calendar"></span></button>
+    <ul class="dropdown-menu" id="list">
 
-          </ul>  
-    </div>
+    </ul>
+  </div>
   <div class="form-group">
     <label for="comment">Konten:</label>
     <textarea class="form-control" rows="5" id="konten" name="konten_text" value="" placeholder="Kosongkan bila tidak ada konten"></textarea>
   </div>
   <div class="form-group">
-      <label><input type="checkbox" value="" id="isUpload">Upload gambar? </label>
-      <input type="hidden" class="form-control" id="chx-helper" name="isUpload" value="0">
-      <input class="input-file d-none" id="fileInput" type="file" name="file">
+    <label><input type="checkbox" value="" id="isUpload">Upload gambar? </label>
+    <input type="hidden" class="form-control" id="chx-helper" name="isUpload" value="0">
+    <input class="input-file d-none" id="fileInput" type="file" name="file" onchange="previewFile()">
+  </div>
+  <div class="form-group">
+    <img src="" class="img-thumbnail d-none col-sm-2 col-md-3 col-lg-2" id="imgThumbnail">  
   </div>
-  <button type="submit" class="btn btn-default">Kirim</button>
+  <button type="submit" class="btn btn-default" onsubmit="return validate()">Kirim</button>
 
 </form>
 
+<!-- Modal -->
+<div id="alert-modal" class="alert">
+  <div class="alert-content">
+    <div class="align-right">
+      <span class="alert-close">&times;</span>
+    </div>
+    <div class="grid-layout">
+      <div id="alert-cross">
+        <img id="alert-image">
+      </div>
+      <div id="alert-message">
+        <div id="alert-header"></div>
+        <div id="alert-text"></div>
+      </div>
+    </div>
+  </div>
+</div>
+
 <script>
-  $('#isUpload').change(function(){
+  var judul = document.getElementById("judul");
+  var alertModal = document.getElementById('alert-modal');
+  var alertCloseBtn = document.getElementsByClassName('alert-close')[0];
+  var alertText = document.getElementById('alert-text');
+  var alertImage = document.getElementById('alert-image');
+  var alertHeader = document.getElementById('alert-header');
+
+  function previewFile() {
+    var preview = document.querySelector('img');
+    var file    = document.querySelector('input[type=file]').files[0];
+    var reader  = new FileReader();
+
+    reader.onloadend = function () {
+      preview.src = reader.result;
+    }
+
+    if (file) {
+      reader.readAsDataURL(file);
+      $("#imgThumbnail").removeClass("d-none");
+    } else {
+      preview.src = "";
+    }
+  }
+
+  $('#isUpload').change(function () {
     if (this.checked) {
       $("#fileInput").removeClass("d-none");
       $("#chx-helper").val(1);
     } else {
       $("#fileInput").addClass("d-none");
+      $("#imgThumbnail").addClass("d-none");
       $("#chx-helper").val(0);
     }
   });
-    
-  $("#upload_form").on("submit", function(e){
+
+  $("#upload_form").on("submit", function (e) {
     e.preventDefault();
-    $.ajax({
-      url: "../addPengumuman.php", // Url to which the request is send
-      type: "POST",             // Type of request to be send, called as method
-      data: new FormData(this), // Data sent to server, a set of key/value pairs (i.e. form fields and values)
-      contentType: false,       // The content type used when sending data to the server.
-      cache: false,             // To unable request pages to be cached
-      processData:false,        // To send DOMDocument or non processed data file it is set to false
-      success: function(data)   // A function to be called if request succeeds
-      {
-        // lakukan pemanggilan api notifikasi
-        alert(data);
-      }
-    });
+    if (judul.value.trim() === "") { // mengecek apakah judul kosong
+      alertHeader.innerHTML = "Gagal!";
+      alertImage.src="images/cross-red.jpg";
+      alertText.innerHTML = "Judul Kegiatan tidak boleh kosong.";
+      alertModal.style.display = 'block';
+    } else {
+      $.ajax({
+        url: "../addPengumuman.php", // Url to which the request is send
+        type: "POST",             // Type of request to be send, called as method
+        data: new FormData(this), // Data sent to server, a set of key/value pairs (i.e. form fields and values)
+        contentType: false,       // The content type used when sending data to the server.
+        cache: false,             // To unable request pages to be cached
+        processData: false,        // To send DOMDocument or non processed data file it is set to false
+        success: function (data)   // A function to be called if request succeeds
+        {
+          // lakukan pemanggilan api notifikasi
+          alertImage.src="images/green-check.jpg";
+          alertHeader.innerHTML = "Sukses!";
+          alertText.innerHTML = data;
+          alertModal.style.display = 'block';
+        }
+      });
+    }
   });
 
-    $.getJSON("../getAllKegiatan.php",function(data){
-                // bikin buat data empty
-                var newJudul = document.createElement("li");
-                var ahref = document.createElement("a");
-                ahref.innerHTML = "Empty";
-                var nama_kegiatan = "Empty"
-                var id_kegiatan = -1;
-                ahref.href = "#";
-                var id = this.id;
-                $("input[name=kegiatan_id").val(id_kegiatan);
-                $("#list-button").html(nama_kegiatan);
-                ahref.onclick = function(e) {
-                  e.preventDefault();
-                }
-                newJudul.appendChild(ahref);
-                $("#list").append(newJudul);
-                    
-                $.each(data, function(){
-                    newJudul = document.createElement("li");
-                    ahref = document.createElement("a");
-                    ahref.innerHTML = this.nama_kegiatan;
-                    nama_kegiatan = this.nama_kegiatan;
-                    id_kegiatan = this.id_kegiatan;
-                    ahref.href = "#";
-                    id = this.id;
-                    ahref.onclick = function(e) {
-                        e.preventDefault();
-                        $("input[name=kegiatan_id").val(id_kegiatan);
-                        $("#list-button").html(this.innerHTML);
-                        
-                        
-                    }
-                    newJudul.appendChild(ahref);
-                    $("#list").append(newJudul);
-                    
-                })
-            }); 
+  $.getJSON("../getAllKegiatan.php", function (data) {
+    // bikin buat data empty
+    var newJudul = document.createElement("li");
+    var ahref = document.createElement("a");
+    ahref.innerHTML = "Empty";
+    var nama_kegiatan = "Empty"
+    var id_kegiatan = -1;
+    ahref.href = "#";
+    var id = this.id;
+    $("input[name=kegiatan_id").val(id_kegiatan);
+    $("#list-button").html(nama_kegiatan);
+    ahref.onclick = function (e) {
+      e.preventDefault();
+    }
+    newJudul.appendChild(ahref);
+    $("#list").append(newJudul);
+
+    $.each(data, function () {
+      newJudul = document.createElement("li");
+      ahref = document.createElement("a");
+      ahref.innerHTML = this.nama_kegiatan;
+      nama_kegiatan = this.nama_kegiatan;
+      id_kegiatan = this.id_kegiatan;
+      ahref.href = "#";
+      id = this.id;
+      ahref.onclick = function (e) {
+        e.preventDefault();
+        $("input[name=kegiatan_id").val(id_kegiatan);
+        $("#list-button").html(this.innerHTML);
 
+
+      }
+      newJudul.appendChild(ahref);
+      $("#list").append(newJudul);
+
+    })
+  });
+
+  alertCloseBtn.addEventListener('click', function() {
+    alertModal.style.display = 'none';
+  });
+  
+  window.onclick = function(event) {
+    if (event.target == alertModal) {
+      alertModal.style.display = "none";
+    }
+  }
 </script>
\ No newline at end of file
diff --git a/admin/quotes.html b/admin/quotes.html
index 1f5cc99..b8cd32d 100755
--- a/admin/quotes.html
+++ b/admin/quotes.html
@@ -1,7 +1,11 @@
+<head>
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <link rel="stylesheet" href="css/alert.css" type="text/css">
+  </head>
 <div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pb-2 mb-3 border-bottom">
   <h1 class="h2">Quote</h1>
   <div class="btn-toolbar mb-2 mb-md-0">
-    
+
   </div>
 </div>
 
@@ -18,14 +22,55 @@
 
 </form>
 
+<!-- Modal -->
+<div id="alert-modal" class="alert">
+    <div class="alert-content">
+      <div class="align-right">
+        <span class="alert-close">&times;</span>
+      </div>
+      <div class="grid-layout">
+        <div id="alert-cross">
+          <img id="alert-image">
+        </div>
+        <div id="alert-message">
+          <div id="alert-header"></div>
+          <div id="alert-text"></div>
+        </div>
+      </div>
+    </div>
+  </div>
+
 <script>
+  var konten = document.getElementById('konten');
+  var author = document.getElementById('author');
+  var alertModal = document.getElementById('alert-modal');
+    var alertCloseBtn = document.getElementsByClassName('alert-close')[0];
+    var alertText = document.getElementById('alert-text');
+    var alertImage = document.getElementById('alert-image');
+    var alertHeader = document.getElementById('alert-header');
 
-$('#upload_form').on('submit', function(e){
-  e.preventDefault();
-  $.post("../addQuote.php", $("#upload_form").serialize() ).done(function (data) {
-    alert(data);
-    $("#upload_form")[0].reset();
+  $('#upload_form').on('submit', function (e) {
+    e.preventDefault();
+    alertHeader.innerHTML = "Gagal!";
+      alertImage.src="images/cross-red.jpg";
+    if (author.value.trim() === "" && konten.value.trim() === "") {
+      // BootstrapDialog.alert('Author dan konten tidak boleh kosong!');
+      alertText.innerHTML = "Author dan konten tidak boleh kosong.";
+        alertModal.style.display = 'block';
+    } else if (author.value.trim() === "") {
+      alertText.innerHTML = "Author tidak boleh kosong.";
+        alertModal.style.display = 'block';
+    } else if (konten.value.trim() === "") {
+      alertText.innerHTML = "Konten tidak boleh kosong.";
+        alertModal.style.display = 'block';
+    } else {
+      $.post("../addQuote.php", $("#upload_form").serialize()).done(function (data) {
+        alertImage.src="images/green-check.jpg";
+          alertHeader.innerHTML = "Sukses!";
+          alertText.innerHTML = data;
+          alertModal.style.display = 'block';
+        $("#upload_form")[0].reset();
+      });
+    }
   });
-});
-
 </script>
\ No newline at end of file
diff --git a/admin/sidebar.html b/admin/sidebar.html
index 1794b83..9cbef19 100755
--- a/admin/sidebar.html
+++ b/admin/sidebar.html
@@ -1,4 +1,5 @@
 <div class="sidebar-sticky">
+	<div class="row d-none d-sm-none d-md-block">
   <ul class="nav flex-column">
     <li class="nav-item">
       <a class="nav-link active" href="#">
@@ -69,5 +70,5 @@
         Year-end sale
       </a>
     </li>
-  </ul>
+  </ul></div>
 </div>
\ No newline at end of file
diff --git a/dbConnect.php b/dbConnect.php
index f3f89e9..831052b 100755
--- a/dbConnect.php
+++ b/dbConnect.php
@@ -11,8 +11,8 @@
  */
 
 $servername = "localhost";
-$username = "pmo_training";
-$password = "bukan ayam";
+$username = "root";
+$password = "";
 $dbname = "pmo_training";
 
 // Create connection
-- 
GitLab