This commit is contained in:
Zamzam Nurzaman 2024-08-22 11:15:52 +07:00
parent 9366489d19
commit 89d95d9064
226 changed files with 25764 additions and 459 deletions

0
.env Normal file
View File

1
.env.development Normal file
View File

@ -0,0 +1 @@
NEXT_PUBLIC_API_URL='https://digital-attendance-api.basys.co.id'

1
.env.production Normal file
View File

@ -0,0 +1 @@
NEXT_PUBLIC_API_URL='https://digital-attendance-api.basys.co.id'

3
.gitignore vendored
View File

@ -34,3 +34,6 @@ yarn-error.log*
# typescript
*.tsbuildinfo
next-env.d.ts
# Sentry Config File
.env.sentry-build-plugin

5
.idea/.gitignore vendored Normal file
View File

@ -0,0 +1,5 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/

12
.idea/das.iml Normal file
View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$">
<excludeFolder url="file://$MODULE_DIR$/.tmp" />
<excludeFolder url="file://$MODULE_DIR$/temp" />
<excludeFolder url="file://$MODULE_DIR$/tmp" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

8
.idea/modules.xml Normal file
View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/das.iml" filepath="$PROJECT_DIR$/.idea/das.iml" />
</modules>
</component>
</project>

6
.idea/vcs.xml Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

View File

@ -16,7 +16,7 @@ bun dev
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
You can start editing the page by modifying `app/page.js`. The page auto-updates as you edit the file.
You can start editing the page by modifying `app/page.jsx`. The page auto-updates as you edit the file.
This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font.

View File

@ -1,7 +1,8 @@
{
"compilerOptions": {
"paths": {
"@/*": ["./src/*"]
"@/*": ["./src/*"],
"@@/*": ["./public/*"]
}
}
}

81
next.config.js Normal file
View File

@ -0,0 +1,81 @@
/** @type {import('next').NextConfig} */
const nextConfig = {
reactStrictMode: false,
output: 'export',
images: {
// unoptimized: true,
loader: "custom",
imageSizes: [16, 32, 48, 64, 96, 128, 256, 384],
deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
},
transpilePackages: ["next-image-export-optimizer"],
env: {
nextImageExportOptimizer_imageFolderPath: "public/images",
nextImageExportOptimizer_exportFolderPath: "out",
nextImageExportOptimizer_quality: "75",
nextImageExportOptimizer_storePicturesInWEBP: "true",
nextImageExportOptimizer_exportFolderName: "nextImageExportOptimizer",
nextImageExportOptimizer_generateAndUseBlurImages: "true",
nextImageExportOptimizer_remoteImageCacheTTL: "0",
},
async redirects() {
return [
{
source: '/:path*.txt',
destination: '/404', // or any other path
permanent: false,
},
];
},
}
const withPWA = require('next-pwa')({
dest: 'public',
register: true,
skipWaiting: true,
});
module.exports = withPWA(nextConfig);
// Injected content via Sentry wizard below
const { withSentryConfig } = require("@sentry/nextjs");
module.exports = withSentryConfig(
module.exports,
{
// For all available options, see:
// https://github.com/getsentry/sentry-webpack-plugin#options
org: "basys-zl",
project: "javascript-nextjs",
// Only print logs for uploading source maps in CI
silent: !process.env.CI,
// For all available options, see:
// https://docs.sentry.io/platforms/javascript/guides/nextjs/manual-setup/
// Upload a larger set of source maps for prettier stack traces (increases build time)
widenClientFileUpload: true,
// Uncomment to route browser requests to Sentry through a Next.js rewrite to circumvent ad-blockers.
// This can increase your server load as well as your hosting bill.
// Note: Check that the configured route will not match with your Next.js middleware, otherwise reporting of client-
// side errors will fail.
// tunnelRoute: "/monitoring",
// Hides source maps from generated client bundles
hideSourceMaps: true,
// Automatically tree-shake Sentry logger statements to reduce bundle size
disableLogger: true,
// Enables automatic instrumentation of Vercel Cron Monitors. (Does not yet work with App Router route handlers.)
// See the following for more information:
// https://docs.sentry.io/product/crons/
// https://vercel.com/docs/cron-jobs
automaticVercelMonitors: true,
}
);

View File

@ -1,4 +0,0 @@
/** @type {import('next').NextConfig} */
const nextConfig = {};
export default nextConfig;

10137
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -9,8 +9,31 @@
"lint": "next lint"
},
"dependencies": {
"@ant-design/icons": "^5.3.0",
"@sentry/nextjs": "^8.26.0",
"antd": "^5.12.5",
"cookies-next": "^4.1.1",
"dayjs": "^1.11.10",
"docxtemplater": "^3.40.0",
"exceljs": "^4.4.0",
"file-saver": "^2.0.5",
"framer-motion": "^10.16.4",
"html2canvas": "^1.4.1",
"jspdf": "^2.5.1",
"jspdf-autotable": "^3.8.2",
"next": "14.2.5",
"next-image-export-optimizer": "^1.12.3",
"next-pwa": "^5.6.0",
"nextjs-toploader": "^1.6.6",
"react": "^18",
"react-dom": "^18",
"next": "14.2.5"
"react-hook-form": "^7.45.4",
"react-query": "^3.39.3",
"sass": "^1.69.5",
"styled-components": "^5.3.9",
"uuid": "^10.0.0",
"zingchart": "^2.9.14",
"zingchart-react": "^3.2.0",
"zustand": "^4.4.7"
}
}

161
public/css/button.scss Normal file
View File

@ -0,0 +1,161 @@
.btn.btn-primary {
color: var(--primary-inverse);
border-color: var(--primary);
background-color: var(--primary);
}
.btn.btn-light-primary {
color: var(--primary);
border-color: var(--primary-light);
background-color: var(--primary-light);
}
.btn.btn-success {
color: var(--success-inverse);
border-color: var(--success);
background-color: var(--success);
}
.btn.btn-light-success {
color: var(--success);
border-color: var(--success-light);
background-color: var(--success-light);
}
.btn.btn-danger {
color: var(--danger-inverse);
border-color: var(--danger);
background-color: var(--danger);
}
.btn.btn-light-danger {
color: var(--danger);
border-color: var(--danger-light);
background-color: var(--danger-light);
}
.btn.btn-warning {
color: var(--warning-inverse);
border-color: var(--warning);
background-color: var(--warning);
}
.btn.btn-light-warning {
color: var(--warning);
border-color: var(--warning-light);
background-color: var(--warning-light);
}
.btn.btn-info {
color: var(--info-inverse);
border-color: var(--info);
background-color: var(--info);
}
.btn.btn-light-info {
color: var(--info);
border-color: var(--info-light);
background-color: var(--info-light);
}
.btn.btn-dark {
color: var(--dark-inverse);
border-color: var(--dark);
background-color: var(--dark);
}
.btn.btn-light-dark {
color: var(--dark);
border-color: var(--dark-light);
background-color: var(--dark-light);
}
.btn.btn-white {
color: var(--white-inverse);
border-color: var(--white);
background-color: var(--white);
}
.btn.btn-light-white {
color: var(--white);
border-color: var(--white-light);
background-color: var(--white-light);
}
.btn.btn-circle {
border-radius: 50%;
}
.btn-transparent {
background: #ffffff00;
color: white;
border: 1px solid #ffffff1f;
}
.btn {
display: inline-flex;
justify-content: center;
align-items: center;
gap: 6px;
height: 35px;
padding: 0 14px;
border-radius: 20px;
font-size: 12px;
border: none;
outline: none;
cursor: pointer;
transition: all 0.2s ease;
}
.btn-round-lg {
display: flex;
justify-content: center;
align-items: center;
gap: 10px;
height: 40px;
min-width: 140px;
padding: 0 24px;
border-radius: 20px;
border: none;
outline: none;
color: #fff;
cursor: pointer;
transition: all 0.2s ease;
}
.btn-circle {
display: flex;
justify-content: center;
align-items: center;
height: 35px;
width: 35px;
border-radius: 50%;
border: none;
outline: none;
color: #fff;
background: var(--blue);
cursor: pointer;
padding: 10px;
transition: all 0.2s ease;
}
.btn-circle.btn-sm{
width:30px;
height:30px;
padding: 3px 7px;
}
.btn-circle-sm {
display: flex;
justify-content: center;
align-items: center;
height: 30px;
width: 30px;
border-radius: 50%;
border: none;
outline: none;
color: #fff;
background: var(--blue);
cursor: pointer;
transition: all 0.2s ease;
}

1001
public/css/dark.scss Normal file

File diff suppressed because it is too large Load Diff

307
public/css/form.scss Normal file
View File

@ -0,0 +1,307 @@
.form-control {
display: block;
width: 100%;
padding: 10px 17px;
height: 40px;
font-size: 13px;
font-weight: 600;
border-radius: 20px;
color: #181c32;
background-color: #ffffff;
border: 1px solid #e1e3ea;
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.ant-select-selection-item {
font-weight: 600 !important;
font-size: 13px !important;
}
.form-group {
margin-bottom: 25px;
}
.ant-select-disabled {
background: #fff;
border: 0;
.ant-select-selector {
background: #fff !important;
color: #181c32 !important;
}
.ant-select-arrow {
display: none;
}
}
.ant-picker-disabled {
background-color: #fff !important;
border: 0;
input {
color: #181c32 !important;
font-weight: 600;
}
}
@media (prefers-reduced-motion: reduce) {
.form-control {
transition: none;
}
}
.form-control[type="file"] {
overflow: hidden;
}
.form-control[type="file"]:not(:disabled):not([readonly]) {
cursor: pointer;
}
.form-control:focus {
color: #181c32;
background-color: #ffffff;
border-color: var(#b5b5c3);
outline: 0;
/* box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.08); */
}
.form-control::-webkit-date-and-time-value {
height: 1.5em;
}
.form-control::placeholder {
font-size: 14px;
color: #a1a5b7;
font-weight: 400;
opacity: 1;
}
.form-control:disabled,
.form-control[readonly] {
background-color: #fff;
border: none;
opacity: 1;
}
/* ======== FLOATING LABEL ======== */
.floating-label-content {
position: relative;
width: 100%;
margin-bottom: 20px;
}
.floating-label-content textarea {
min-height: 120px;
padding: 10px 20px;
}
.floating-label {
position: absolute;
left: 15px;
top: 8px;
font-size: 14px;
font-weight: 500;
padding: 0 7px;
background: #fff;
color: #757575;
cursor: text;
transition: 0.2s ease all;
border-radius: 20px;
}
.floating-input:focus,
.floating-select:focus {
outline: none;
}
.floating-input:focus~.floating-label {
top: -10px;
left: 10px;
font-size: 12px;
}
.floating-input:not(:-moz-placeholder-shown)~.floating-label {
top: -10px;
left: 10px;
font-size: 12px;
}
.floating-input:not(:-ms-input-placeholder)~.floating-label {
top: -10px;
left: 10px;
font-size: 12px;
}
.floating-input:not(:placeholder-shown)~.floating-label {
top: -10px;
left: 10px;
font-size: 12px;
}
.floating-select:not([value=""]):valid~.floating-label {
top: -10px;
left: 10px;
font-size: 12px;
}
textarea {
min-height: 120px;
padding: 14px 20px;
}
/* ======== END FLOATING LABEL ======== */
.label-form {
font-size: 14px;
font-weight: 400;
color: #1f2233;
margin-bottom: 4px;
}
.icon-password {
cursor: pointer;
position: absolute;
right: 15px;
color: #c1c1c1;
top: 0px;
font-size: 25px;
border-radius: 27px;
}
/* INPUT IMAGE */
.image-input {
position: relative;
}
.image-input .content-btn {
display: flex;
position: absolute;
left: -11px;
top: -10px;
gap: 3px;
flex-direction: column;
z-index: 4;
}
.image-input input {
display: none;
}
.image-input label {
display: block;
color: #FFF;
background: #000;
padding: 0.3rem 0.6rem;
font-size: 115%;
cursor: pointer;
}
.image-input label i {
font-size: 125%;
margin-right: 0.3rem;
}
.image-input label:hover i {
animation: shake 0.35s;
}
// .ant-upload-wrapper .ant-upload {
// background-size: contain !important;
// width: 100% !important;
// height: 200px !important;
// border-radius: 20px;
// border: 1px dashed #f1f1f1;
// }
.image-input span {
display: none;
text-align: center;
cursor: pointer;
}
.image-preview{
width: 100%;
height: 315px;
background-size: contain;
}
// .ant-image-mask-info {
// border-radius: 20px;
// }
@keyframes shake {
0% {
transform: rotate(0deg);
}
25% {
transform: rotate(10deg);
}
50% {
transform: rotate(0deg);
}
75% {
transform: rotate(-10deg);
}
100% {
transform: rotate(0deg);
}
}
/* INPUT IMAGE */
.searchInput {
border-radius: 20px;
padding-left: 2.6rem;
background-color: #fff !important;
transition: all 0.2s;
width: 100px;
border: 1px solid #0049af24;
height: 35px;
}
.searchInput:focus {
background-color: #fff !important;
width: 300px !important;
transition: all 0.2s;
}
.icon-search {
position: absolute;
top: 11px;
left: 13px;
font-size: 18px;
}
.error-form {
font-size: 11px;
color: var(--danger);
margin-top: 5px;
margin-left: 22px;
}
.error .form-control {
border: 1px solid var(--danger);
}
.error .floating-label {
color: var(--danger);
}
.ant-select-selector {
padding: 0 !important;
}
.ant-select-selection-search {
left: 0 !important;
}

54
public/css/modal.scss Normal file
View File

@ -0,0 +1,54 @@
.zn-close {
position: absolute !important;
top: 15px !important;
right: 15px !important;
}
.modal {
backdrop-filter: blur(5px);
}
.zn-bg-modal {
background: #eef6ff;
border-radius: 0px 0px 20px 20px !important;
}
.ant-modal-content{
padding: 0 !important;
margin: 0 !important;
border-radius: 20px !important;
}
.separator {
border: 1px dashed #efefef;
}
.card-footer.footerDetail {
position: relative;
background: #272727;
padding: 1.4rem 1.6rem;
border-radius: 0px 0px 18px 18px !important;
.containerDetail {
display: flex;
justify-content: start;
align-items: center;
margin-bottom: 6px;
.name {
position: relative;
width: 100px;
font-size: 14px;
font-weight: 500;
line-height: 18px;
color: #fff;
}
.subname {
font-size: 14px;
font-weight: 300;
line-height: 18px;
color: #fff;
}
}
}

972
public/css/navbar.scss Normal file
View File

@ -0,0 +1,972 @@
.navbar {
position: fixed;
top: 0;
width: 100%;
left: 0;
right: 0;
display: flex;
align-items: center;
justify-content: space-between;
padding: 10px 0px;
z-index: 1000;
border-radius: 0;
transition: .3s ease-in-out;
&.navScroll {
background: #ffffff50;
-webkit-backdrop-filter: blur(10px);
backdrop-filter: blur(10px);
box-shadow: 0px 0px 27px #74747430;
transition: .3s ease-in-out;
.nav-logo img {
filter: none;
}
.nav-logo .titleText,
.nav-logo .version,
.nav-account .container-account .account .text .name,
.nav-account .container-account .account .text .role {
color: #172236;
}
.ant-menu-overflow-item.ant-menu-item,
.ant-menu-submenu-horizontal {
.ant-menu-submenu-title {
display: flex !important;
justify-content: start !important;
align-items: center !important;
.ant-menu-title-content a {
font-size: 12px;
font-weight: 500;
color: #2b2b2b;
}
.ant-menu-item-icon svg {
width: 16px;
fill: #2b2b2b;
}
}
&.ant-menu-submenu-open,
&.ant-menu-submenu-active {
.ant-menu-title-content a {
font-size: 12px;
color: #E7FF56;
}
.ant-menu-item-icon svg {
width: 16px;
fill: #E7FF56;
}
}
}
}
}
.ant-menu {
gap: 1rem !important;
}
.ant-menu-submenu-selected .ant-menu-title-content {
font-size: 12px;
color: #E7FF56 !important;
}
.ant-menu-overflow-item.ant-menu-item {
.ant-menu-title-content a {
font-size: 12px;
color: #fff;
}
.ant-menu-item-icon svg {
width: 16px;
fill: #fff;
}
&.ant-menu-item-selected,
&.ant-menu-item-open,
&.ant-menu-item-active {
.ant-menu-title-content a {
font-size: 12px;
color: #E7FF56 !important;
}
.ant-menu-item-icon svg {
width: 16px;
fill: #E7FF56;
}
}
}
.ant-menu-submenu-horizontal {
.ant-menu-submenu-title {
display: flex !important;
justify-content: start !important;
align-items: center !important;
.ant-menu-title-content a {
font-size: 12px;
color: #fff;
}
.ant-menu-item-icon svg {
width: 16px;
fill: #fff;
}
}
&.ant-menu-submenu-selected,
&.ant-menu-submenu-open,
&.ant-menu-submenu-active {
.ant-menu-title-content a {
font-size: 12px;
color: #E7FF56;
}
.ant-menu-item-icon svg {
width: 16px;
fill: #E7FF56;
}
}
}
.ant-menu-submenu-vertical {
.ant-menu-submenu-title {
display: flex !important;
justify-content: start !important;
align-items: center !important;
.ant-menu-title-content a {
font-size: 12px;
color: #3a4b6b;
}
.ant-menu-item-icon svg {
width: 16px;
fill: #3a4b6b;
}
i {
color: #3a4b6b !important;
}
}
}
.ant-menu.ant-menu-inline {
position: relative;
padding: 8px 10px;
.ant-menu-title-content a {
font-size: 12px;
font-weight: 500;
color: #2c3850;
}
.ant-menu-item-icon svg {
width: 16px;
fill: #2c3850;
}
.ant-menu-item-selected {
border-radius: 12px;
background: #2c3850 !important;
svg {
fill: #fff !important;
}
a {
color: #fff !important;
}
}
&.ant-menu-submenu-selected,
&.ant-menu-submenu-open,
&.ant-menu-submenu-active {
.ant-menu-title-content a {
font-size: 12px !important;
font-weight: 500 !important;
color: #E7FF56 !important;
}
.ant-menu-item-icon svg {
width: 16px !important;
fill: #E7FF56 !important;
}
}
}
.ant-menu-item {
display: flex !important;
justify-content: start !important;
align-items: center !important;
.ant-menu-title-content {
font-size: 12px;
color: #3a4b6b;
}
.ant-menu-item-icon svg {
width: 16px;
fill: #3a4b6b;
}
}
.ant-menu-horizontal, .ant-menu-item::after, .ant-menu-submenu::after {
border: none !important;
}
.ant-menu-submenu-horizontal .ant-menu-submenu-title {
position: relative;
}
.ant-menu-submenu-inline .ant-menu-submenu-arrow {
color: #2c3850 !important;
}
.ant-menu-horizontal .ant-menu-item {
padding: 0 !important;
right: -1rem;
}
.ant-menu-submenu-horizontal .ant-menu-submenu-arrow {
position: absolute;
right: -1rem;
display: block !important;
color: #fff !important;
transform: rotate(90deg);
}
.ant-menu-submenu-horizontal {
&.ant-menu-submenu-selected,
&.ant-menu-submenu-open,
&.ant-menu-submenu-active {
.ant-menu-submenu-arrow {
color: #E7FF56 !important;
}
}
}
.btnMenuShow {
position: relative;
border: none;
outline: none;
background: transparent;
margin-left: 20px;
font-size: 18px;
color: #fff;
cursor: pointer;
}
.btnMenuHide {
position: absolute;
top: .6rem;
right: -2.4rem;
border: none;
outline: none;
border-radius: 50%;
width: 30px;
height: 30px;
font-size: 12px;
background: #ffffff60;
color: #fff;
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
cursor: pointer;
}
.navbar .nav-start {
display: flex;
justify-content: start;
align-items: center;
gap: 1rem;
width: 100%;
}
.navbar .nav-logo {
display: flex;
justify-content: start;
align-items: flex-start;
gap: 10px;
margin-left: 20px;
padding: 10px 7px;
}
.navbar .nav-logo img {
width: 35px;
filter: brightness(0) invert(1);
}
.navbar .nav-logo .titleText {
font-size: 11px;
font-weight: 600;
color: #fff;
white-space: nowrap;
}
.navbar .nav-logo .version {
font-size: 11px;
font-weight: 300;
color: #fff;
white-space: nowrap;
}
.nav-title {
display: flex;
justify-content: start;
align-items: center;
gap: 15px;
//background: #f5f1f1;
position: absolute;
border-radius: 35px;
padding: 10px 0px;
top: -10px;
}
.title-primary {
font-size: 18px;
text-transform: uppercase;
font-weight: 600;
margin-top: 34px;
color: var(--dark);
position: absolute;
top: -13px;
}
.nav-title .title {
position: relative;
font-size: 12px;
font-weight: 400;
color: var(--grey);
}
.nav-title .title::after {
content: "";
position: absolute;
top: 2px;
right: -8px;
height: 16px;
width: 1px;
background: var(--grey);
}
.nav-title .sub-title {
font-size: 12px;
font-weight: 400;
color: var(--grey);
}
.nav-account {
position: relative;
//background: #efefef;
border-radius: 35px;
}
.nav-account .container-account .account {
display: flex;
justify-content: end;
align-items: center;
gap: 1rem;
//background: rgba(255, 255, 255, 0);
padding: 8px 10px 8px 45px;
border-radius: 35px;
cursor: pointer;
}
.nav-account .container-account .account .text {
text-align: end;
}
.nav-account .detail-account .header .text .name {
font-size: 11px;
font-weight: 500;
line-height: 14px;
text-transform: uppercase;
white-space: nowrap;
color: var(--black);
}
.nav-account .container-account .account .text .name {
font-size: 11px;
font-weight: 500;
line-height: 14px;
text-transform: uppercase;
white-space: nowrap;
color: #fff;
}
.nav-account .detail-account .header .text .role {
font-size: 10px;
font-weight: 400;
text-transform: uppercase;
white-space: nowrap;
color: var(--grey);
}
.nav-account .container-account .account .text .role {
font-size: 10px;
font-weight: 300;
text-transform: uppercase;
white-space: nowrap;
color: #fff;
}
.nav-account .container-account .second-account i,
.nav-account .container-account .account i,
.nav-account .detail-account .header i {
font-size: 28px;
color: var(--dark-grey);
}
.nav-account .detail-account {
background: #fff;
height: 0;
right: 0;
opacity: 0;
visibility: hidden;
position: absolute;
transition: all 0.3s ease;
top: 100%;
margin-top: 10px;
min-width: 250px;
border-radius: 20px;
box-shadow: 0px 0px 50px 0px rgba(82, 63, 105, 0.15);
}
.nav-account .container-account:hover .detail-account {
height: auto;
opacity: 1;
visibility: visible;
transition: all 0.5s ease;
transform: translateY(-10px);
}
.nav-account .detail-account .header {
position: relative;
display: flex;
justify-content: start;
align-items: center;
gap: 1rem;
padding: 18px 24px;
}
.nav-account .detail-account .header::after {
content: "";
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 1px;
background: #f4f4f4;
}
.nav-account .detail-account .feature {
position: relative;
display: flex;
justify-content: start;
align-items: flex-start;
flex-direction: column;
padding: 12px 14px;
}
.nav-account .detail-account button {
display: flex;
justify-content: start;
align-items: center;
text-decoration: none;
width: 100%;
padding: 8px 16px;
font-size: 13px;
font-weight: 500;
color: var(--black);
border-radius: 10px;
transition: all 0.2s ease;
border: none;
background: none;
}
.nav-account .detail-account button:hover {
background: #f4f6fa;
color: #3e97ff;
transition: all 0.2s ease;
}
.nav-account .detail-account a {
display: flex;
justify-content: start;
align-items: center;
text-decoration: none;
width: 100%;
padding: 8px 16px;
font-size: 13px;
font-weight: 500;
color: var(--black);
border-radius: 10px;
transition: all 0.2s ease;
border: none;
background: none;
}
.nav-account .detail-account a:hover {
background: #f4f6fa;
color: #3e97ff;
transition: all 0.2s ease;
}
.toggle-icon {
background: #0049af24;
padding: 5px 10px;
border-radius: 10px;
cursor: pointer;
}
.foto-member-nav {
width: 30px;
height: 30px;
border-radius: 50%;
object-fit: cover;
}
.ant-menu-light {
background: none;
}
.con-mega-menu {
width: 700px;
height: 300px;
}
.nav-end {
display: flex;
justify-content: start;
align-items: center;
gap: .4rem;
}
.switchTheme {
position: relative;
width: 70px;
padding: 8px 16px;
.ant-switch {
background: #ccc !important;
&.ant-switch-checked {
background: #3a4b6b !important;
}
}
.ant-switch-inner {
position: relative;
left: -10px;
width: 80px;
height: 20px;
}
.anticon-moon {
position: relative;
top: 0;
left: -5px;
font-size: 14px;
}
.anticon-sun {
position: relative;
top: 0;
right: 5px;
font-size: 14px;
}
}
.containerSignOut {
position: relative;
width: 100%;
padding: 12px 14px;
&::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 1px;
background: #f4f4f4;
}
}
.btnNotif {
position: relative;
display: flex;
justify-content: center;
align-items: center;
width: 35px;
height: 35px;
background: #00000030;
border: none;
outline: none;
border-radius: 50%;
margin-right: 33px;
cursor: pointer;
svg {
font-size: 18px;
color: #fff;
}
.count {
display: flex;
justify-content: center;
align-items: center;
position: absolute;
top: -3px;
right: -3px;
height: 14px;
padding: 2px 4px;
border-radius: 8px;
font-size: 10px;
font-weight: 600;
color: #0D466A;
background: #E7FF56;
}
}
.ant-drawer-header {
border: none !important;
padding-bottom: 0 !important;
}
.ant-drawer-header-title {
padding-bottom: .6rem;
border-bottom: 1px solid #ddd;
.ant-drawer-close svg {
font-size: 14px !important;
}
.ant-drawer-title {
font-size: 16px;
font-weight: 600;
color: #3a4b6b;
}
}
.ant-drawer-body {
ul.navNotif {
position: relative;
padding-left: .8rem;
// border-left: 2px solid #ddd;
li {
position: relative;
list-style: none;
width: 100%;
&:last-child .text-secondary::before {
background: transparent !important;
}
.date {
// position: relative;
font-size: 14px;
font-weight: 600;
margin-bottom: 2px;
span {
position: relative;
padding: 0 12px;
background: #fff;
z-index: 99;
}
&.text-primary::before {
content: '';
position: absolute;
top: 9px;
left: -14px;
height: calc(100% + 16px);
width: 2px;
background: var(--primary);
z-index: 7;
}
&.text-primary::after {
content: '';
position: absolute;
top: 9px;
left: -14px;
width: calc(100% + 14px);
height: 1px;
background: var(--primary);
z-index: 7;
}
&.text-secondary::before {
content: '';
position: absolute;
top: 9px;
left: -14px;
height: calc(100% + 16px);
width: 2px;
background: var(--secondary);
z-index: 7;
}
&.text-secondary::after {
content: '';
position: absolute;
top: 9px;
left: -14px;
width: calc(100% + 14px);
height: 1px;
background: var(--secondary);
z-index: 7;
}
.shape {
position: absolute;
}
&.text-primary .shape::after {
content: '';
position: absolute;
top: 6px;
left: -17px;
width: 4px;
height: 4px;
border-radius: 50%;
background: var(--primary-light);
border: 2px solid var(--primary);
transform: rotate(45deg);
z-index: 999;
}
&.text-secondary .shape::after {
content: '';
position: absolute;
top: 6px;
left: -17px;
width: 4px;
height: 4px;
border-radius: 50%;
background: var(--secondary-light);
border: 2px solid var(--secondary);
transform: rotate(45deg);
z-index: 999;
}
}
.notification {
position: relative;
display: flex;
justify-content: start;
align-items: center;
gap: .8rem;
width: 100%;
height: 70px;
padding: 8px 14px;
margin-bottom: 1rem;
border-radius: 16px;
&.notif-unread {
border: 1px solid var(--primary);
background: var(--primary-light);
.icon {
background: var(--primary);
svg {
animation: shake 2s ease infinite;
animation-iteration-count: infinite;
}
}
.title,
.subtitle {
color: var(--primary);
}
}
&.notif-read {
border: 1px solid var(--secondary);
background: var(--secondary-light);
.icon {
background: var(--secondary);
}
.title,
.subtitle {
color: #888;
}
}
.containerIcon {
position: relative;
width: 15%;
}
.desc {
position: relative;
width: 85%;
}
.icon {
display: flex;
justify-content: center;
align-items: center;
position: relative;
width: 40px !important;
height: 40px !important;
border-radius: 12px;
font-size: 22px;
color: #fff;
}
.title {
font-size: 14px;
font-weight: 600;
}
.subtitle {
font-size: 12px;
font-weight: 400;
line-height: 15px;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
}
}
}
@keyframes shake {
0% {
transform: translate(0, 0)
}
1.78571% {
transform: translate(3px, 0)
}
3.57143% {
transform: translate(0, 0)
}
5.35714% {
transform: translate(3px, 0)
}
7.14286% {
transform: translate(0, 0)
}
8.92857% {
transform: translate(3px, 0)
}
10.71429% {
transform: translate(0, 0)
}
100% {
transform: translate(0, 0)
}
}
}
}
.menuHorizontal {
position: relative;
width: 100%;
}
.menuInline {
position: absolute;
top: 0;
left: 0;
width: 280px;
height: 100vh;
background: #ffffff80;
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
box-shadow: 0px 0px 27px #74747430;
z-index: 999999;
transition: .4s;
&.out {
transform: translateX(-120%);
transition: .4s;
}
.ant-menu-inline {
max-height: 100vh;
overflow-y: scroll;
&::-webkit-scrollbar {
height: 0;
}
&::-webkit-scrollbar-thumb {
background: transparent;
}
&::-webkit-scrollbar-track {
background: transparent;
}
}
}
.backdropMenu {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
background: #ffffff20;
backdrop-filter: blur(4px);
-webkit-backdrop-filter: blur(4px);
z-index: 9999;
}
@media screen and (min-width: 1100px) {
.btnMenuShow,
.menuInline,
.backdropMenu {
display: none;
}
}
@media screen and (max-width: 1100px) {
.ant-menu.ant-menu-horizontal {
display: none;
}
.navbar .nav-start {
gap: 12px;
}
.navbar .nav-logo {
margin-left: 0;
}
}
@media screen and (max-width: 640px) {
.nav-account .container-account .account .text {
display: none;
}
}
.ant-menu .ant-menu-item .ant-menu-item-icon + span,
.ant-menu .ant-menu-submenu-title .ant-menu-item-icon + span,
.ant-menu .ant-menu-item .anticon + span,
.ant-menu .ant-menu-submenu-title .anticon + span {
color: #fff;
font-size: 11px;
text-transform: uppercase;
font-weight: 600;
}
.ant-menu-submenu-popup > .ant-menu .ant-menu-item .ant-menu-item-icon + span, .ant-menu-submenu-popup > .ant-menu .ant-menu-submenu-title .ant-menu-item-icon + span, .ant-menu-submenu-popup > .ant-menu .ant-menu-item .anticon + span, .ant-menu-submenu-popup > .ant-menu .ant-menu-submenu-title .anticon + span {
color: #3a4b6b !important;
text-transform: capitalize;
font-weight: 500;
}

622
public/css/position.scss Normal file
View File

@ -0,0 +1,622 @@
.m-0 {
margin: 0 !important;
}
.m-1 {
margin: 0.25rem !important;
}
.m-2 {
margin: 0.5rem !important;
}
.m-3 {
margin: 1rem !important;
}
.m-4 {
margin: 1.5rem !important;
}
.m-5 {
margin: 3rem !important;
}
.m-auto {
margin: auto !important;
}
.mx-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
.mx-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
.mx-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
.mx-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
.mx-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
.mx-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
.mx-auto {
margin-right: auto !important;
margin-left: auto !important;
}
.my-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
.my-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
.my-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
.my-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
.my-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
.my-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
.my-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
.mt-0 {
margin-top: 0 !important;
}
.mt-1 {
margin-top: 0.25rem !important;
}
.mt-2 {
margin-top: 0.5rem !important;
}
.mt-3 {
margin-top: 1rem !important;
}
.mt-4 {
margin-top: 1.5rem !important;
}
.mt-5 {
margin-top: 3rem !important;
}
.mt-auto {
margin-top: auto !important;
}
.me-0 {
margin-right: 0 !important;
}
.me-1 {
margin-right: 0.25rem !important;
}
.me-2 {
margin-right: 0.5rem !important;
}
.me-3 {
margin-right: 1rem !important;
}
.me-4 {
margin-right: 1.5rem !important;
}
.me-5 {
margin-right: 3rem !important;
}
.me-auto {
margin-right: auto !important;
}
.mb-0 {
margin-bottom: 0 !important;
}
.mb-1 {
margin-bottom: 0.25rem !important;
}
.mb-2 {
margin-bottom: 0.5rem !important;
}
.mb-3 {
margin-bottom: 1rem !important;
}
.mb-4 {
margin-bottom: 1.5rem !important;
}
.mb-5 {
margin-bottom: 3rem !important;
}
.mb-auto {
margin-bottom: auto !important;
}
.ms-0 {
margin-left: 0 !important;
}
.ms-1 {
margin-left: 0.25rem !important;
}
.ms-2 {
margin-left: 0.5rem !important;
}
.ms-3 {
margin-left: 1rem !important;
}
.ms-4 {
margin-left: 1.5rem !important;
}
.ms-5 {
margin-left: 3rem !important;
}
.ms-auto {
margin-left: auto !important;
}
.p-0 {
padding: 0 !important;
}
.p-1 {
padding: 0.25rem !important;
}
.p-2 {
padding: 0.5rem !important;
}
.p-3 {
padding: 1rem !important;
}
.p-4 {
padding: 1.5rem !important;
}
.p-5 {
padding: 3rem !important;
}
.px-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
.px-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
.px-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
.px-3 {
padding-right: 0.75rem !important;
padding-left: 0.75rem !important;
}
.px-4 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
.px-5 {
padding-right: 1.25rem !important;
padding-left: 1.25rem !important;
}
.px-6 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
.px-7 {
padding-right: 1.75rem !important;
padding-left: 1.75rem !important;
}
.px-8 {
padding-right: 2rem !important;
padding-left: 2rem !important;
}
.px-9 {
padding-right: 2.25rem !important;
padding-left: 2.25rem !important;
}
.px-10 {
padding-right: 2.5rem !important;
padding-left: 2.5rem !important;
}
.px-11 {
padding-right: 2.75rem !important;
padding-left: 2.75rem !important;
}
.px-12 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
.px-13 {
padding-right: 3.25rem !important;
padding-left: 3.25rem !important;
}
.px-14 {
padding-right: 3.5rem !important;
padding-left: 3.5rem !important;
}
.px-15 {
padding-right: 3.75rem !important;
padding-left: 3.75rem !important;
}
.px-16 {
padding-right: 4rem !important;
padding-left: 4rem !important;
}
.px-17 {
padding-right: 4.25rem !important;
padding-left: 4.25rem !important;
}
.px-18 {
padding-right: 4.5rem !important;
padding-left: 4.5rem !important;
}
.px-19 {
padding-right: 4.75rem !important;
padding-left: 4.75rem !important;
}
.px-20 {
padding-right: 5rem !important;
padding-left: 5rem !important;
}
.py-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
.py-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
.py-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
.py-3 {
padding-top: 0.75rem !important;
padding-bottom: 0.75rem !important;
}
.py-4 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
.py-5 {
padding-top: 1.25rem !important;
padding-bottom: 1.25rem !important;
}
.py-6 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
.py-7 {
padding-top: 1.75rem !important;
padding-bottom: 1.75rem !important;
}
.py-8 {
padding-top: 2rem !important;
padding-bottom: 2rem !important;
}
.py-9 {
padding-top: 2.25rem !important;
padding-bottom: 2.25rem !important;
}
.py-10 {
padding-top: 2.5rem !important;
padding-bottom: 2.5rem !important;
}
.py-11 {
padding-top: 2.75rem !important;
padding-bottom: 2.75rem !important;
}
.py-12 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
.py-13 {
padding-top: 3.25rem !important;
padding-bottom: 3.25rem !important;
}
.py-14 {
padding-top: 3.5rem !important;
padding-bottom: 3.5rem !important;
}
.py-15 {
padding-top: 3.75rem !important;
padding-bottom: 3.75rem !important;
}
.py-16 {
padding-top: 4rem !important;
padding-bottom: 4rem !important;
}
.py-17 {
padding-top: 4.25rem !important;
padding-bottom: 4.25rem !important;
}
.py-18 {
padding-top: 4.5rem !important;
padding-bottom: 4.5rem !important;
}
.py-19 {
padding-top: 4.75rem !important;
padding-bottom: 4.75rem !important;
}
.py-20 {
padding-top: 5rem !important;
padding-bottom: 5rem !important;
}
.pt-0 {
padding-top: 0 !important;
}
.pt-1 {
padding-top: 0.25rem !important;
}
.pt-2 {
padding-top: 0.5rem !important;
}
.pt-3 {
padding-top: 1rem !important;
}
.pt-4 {
padding-top: 1.5rem !important;
}
.pt-5 {
padding-top: 3rem !important;
}
.pe-0 {
padding-right: 0 !important;
}
.pe-1 {
padding-right: 0.25rem !important;
}
.pe-2 {
padding-right: 0.5rem !important;
}
.pe-3 {
padding-right: 1rem !important;
}
.pe-4 {
padding-right: 1.5rem !important;
}
.pe-5 {
padding-right: 3rem !important;
}
.pb-0 {
padding-bottom: 0 !important;
}
.pb-1 {
padding-bottom: 0.25rem !important;
}
.pb-2 {
padding-bottom: 0.5rem !important;
}
.pb-3 {
padding-bottom: 1rem !important;
}
.pb-4 {
padding-bottom: 1.5rem !important;
}
.pb-5 {
padding-bottom: 3rem !important;
}
.ps-0 {
padding-left: 0 !important;
}
.ps-1 {
padding-left: 0.25rem !important;
}
.ps-2 {
padding-left: 0.5rem !important;
}
.ps-3 {
padding-left: 1rem !important;
}
.ps-4 {
padding-left: 1.5rem !important;
}
.ps-5 {
padding-left: 3rem !important;
}
.fs-1 {
font-size: calc(1.375rem + 1.5vw) !important;
}
.fs-2 {
font-size: calc(1.325rem + 0.9vw) !important;
}
.fs-3 {
font-size: calc(1.3rem + 0.6vw) !important;
}
.fs-4 {
font-size: calc(1.275rem + 0.3vw) !important;
}
.fs-5 {
font-size: 1.25rem !important;
}
.fs-6 {
font-size: 1rem !important;
}
.fs-7 {
font-size: 0.8rem !important;
}
.fs-8 {
font-size: 0.6rem !important;
}
.fw-lighter {
font-weight: lighter !important;
}
.fw-light {
font-weight: 300 !important;
}
.fw-normal {
font-weight: 400 !important;
}
.fw-medium {
font-weight: 500 !important;
}
.fw-semibold {
font-weight: 500 !important;
}
.fw-bold {
font-weight: 600 !important;
}
.fw-bolder {
font-weight: 700 !important;
}
.flex {
display: flex;
}
.justify-center {
display: flex !important;
justify-content: center !important;
align-items: center !important;
}
.justify-start {
display: flex !important;
justify-content: start !important;
align-items: center !important;
}
.justify-end {
display: flex !important;
justify-content: end !important;
align-items: center !important;
}

329
public/css/sidebar.scss Normal file
View File

@ -0,0 +1,329 @@
.sidebar {
position: fixed;
top: 0;
left: 0;
height: 100%;
width: 275px;
background: var(--bg-menu);
z-index: 100;
border-radius: 0 35px;
transition: all 0.3s ease;
margin-top: 6rem;
overflow: hidden;
}
.sidebar .bg-sidebar {
height: 100vh;
width: unset !important;
position: absolute;
z-index: -1;
opacity: 0.15;
}
.sidebar.close {
width: 55px;
border-radius: 0 20px;
}
.sidebar.close:hover {
width: 260px;
border-radius: 0 35px;
}
.sidebar.close:hover .nav-links,
.sidebar .nav-links {
height: 100%;
padding: 10px 0 150px 4px;
overflow: auto;
}
.sidebar .nav-links .nav-menu,
.sidebar.close .nav-links .nav-menu {
margin-bottom: 7px;
}
.sidebar.close:hover .nav-links .nav-menu.active i,
.sidebar.close .nav-links .nav-menu.active {
background: transparent;
}
.sidebar.close .nav-links {
overflow: visible;
}
.sidebar .nav-links::-webkit-scrollbar {
display: none;
}
.sidebar .nav-links li {
position: relative;
list-style: none;
transition: all 0.2s ease;
}
.hideBar {
position: absolute;
top: 0;
left: 260px;
width: 100%;
height: 100%;
z-index: 9999999;
background: transparent;
border: none;
outline: none;
cursor: pointer;
display: none;
}
.sidebar .nav-links li .arrow-link {
display: flex;
align-items: center;
justify-content: space-between;
}
.sidebar.close .nav-links li .arrow-link {
display: block;
}
.sidebar .nav-links .nav-icon {
height: 40px;
width: 40px;
text-align: center;
line-height: 55px;
color: #fff;
font-size: 18px;
margin-left: 3px;
cursor: pointer;
transition: all 0.2s ease;
}
.sidebar .nav-links .nav-icon svg {
width: 20px;
height: 20px;
margin-bottom: 2px;
}
.sidebar.close .nav-links .nav-menu.active i {
height: 46px;
width: 46px;
text-align: center;
background: var(--bg-sub-menu);
color: #fff;
font-size: 18px;
cursor: pointer;
margin-left: 7px;
border-radius: 14px;
transition: all 0.2s ease;
}
.sidebar.close:hover .nav-links .nav-menu.active,
.sidebar .nav-links .nav-menu.active {
width: 95%;
border-radius: 0 30px 30px 0;
background: var(--bg-sub-menu);
transition: all 0.2s ease;
}
.sidebar .nav-links .nav-menu i.arrow {
color: #fff;
margin-left: 22px;
font-size: 14px;
transition: all 0.3s ease;
}
.sidebar.close:hover .nav-links .arrow-link.active i.arrow,
.sidebar .nav-links .arrow-link.active i.arrow {
transform: rotate(-180deg);
transition: all 0.2s ease;
}
.arrow {
margin-left: 30px;
fill: #ffffffa3;
color: #ffffffa3;
transform: rotate(270deg);
transition: all 0.2s ease;
}
.sidebar.close .nav-links .arrow {
display: none;
}
.sidebar.close:hover .nav-links .arrow {
display: block;
opacity: 0;
visibility: hidden;
animation: arrowDelay 0.3s 0.4s forwards;
}
@keyframes arrowDelay {
to {
opacity: 1;
visibility: visible;
}
}
.sidebar.close:hover .nav-links li a,
.sidebar .nav-links li a {
display: flex;
align-items: center;
text-decoration: none;
}
.sidebar.close:hover .nav-links li a .nav-name,
.sidebar .nav-links li a .nav-name {
display: flex;
justify-content: space-between;
align-items: center;
}
.sidebar.close:hover .nav-links li a .link_name,
.sidebar .nav-links li a .link_name {
width: 160px;
font-size: 13px;
font-weight: 500;
line-height: 30px;
color: #fff;
overflow: hidden;
margin-top: 6px;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
transition: all 0.2s ease;
}
.sidebar.close .nav-links li a .link_name {
display: none;
}
.sidebar.close:hover .nav-links li .list-link-head,
.sidebar .nav-links li .list-link-head {
display: flex;
align-items: center;
text-decoration: none;
cursor: pointer;
}
.sidebar.close:hover .nav-links li .list-link-head .nav-name,
.sidebar .nav-links li .list-link-head .nav-name {
display: flex;
justify-content: space-between;
align-items: center;
}
.sidebar.close:hover .nav-links li .list-link-head .link_name,
.sidebar .nav-links li .list-link-head .link_name {
width: 160px;
font-size: 13px;
font-weight: 500;
line-height: 30px;
color: #fff;
overflow: hidden;
margin-top: 6px;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
transition: all 0.2s ease;
}
.sidebar.close .nav-links li .list-link-head .link_name {
display: none;
}
.sidebar.close:hover .nav-links .nav-menu .submenu,
.sidebar .nav-links .nav-menu .submenu {
display: block;
overflow: hidden;
max-height: 0;
transition: max-height 0.2s ease-out;
}
.sidebar .nav-links .nav-menu .submenu li {
position: relative;
padding-left: 45px;
transition: all 0.2s ease;
padding-top: 5px;
padding-bottom: 5px;
}
.sidebar.close .nav-links .nav-menu .submenu {
display: none;
}
.sidebar .nav-links .nav-menu .submenu .submenu-link a {
position: relative;
color: #fff;
font-size: 12px;
padding: 5px 0;
text-transform: capitalize;
opacity: 1;
transition: all 0.2s ease;
width: 85%;
}
.arrow-link.active .arrow {
transform: rotate(1deg);
margin-left: 30px;
}
.sidebar .nav-links .nav-menu .submenu .submenu-link.active {
width: 93%;
border-radius: 0 30px 30px 0;
padding-right: 6px;
background: var(--bg-sub-menu);
transition: all 0.2s ease;
}
.sidebar .nav-links .nav-menu .submenu .submenu-link.active a {
margin-left: 8px;
transition: all 0.2s ease;
}
.sidebar .nav-links .nav-menu .submenu .submenu-link a::before {
content: "";
position: absolute;
top: 12px;
left: -14px;
width: 6px;
height: 6px;
border-radius: 50%;
background: var(--bg-sub-menu);
transition: all 0.2s ease;
}
.sidebar .nav-links .nav-menu .submenu .submenu-link.active a::before {
background: var(--white);
}
.submenu-level3 {
padding-left: 20px !important;
transition: all 0.2s ease;
::before {
content: "";
position: absolute;
top: 6px !important;
left: -14px;
width: 6px;
height: 6px;
border-radius: 50%;
background: var(--bg-sub-menu);
transition: all 0.2s ease;
}
a {
color: #fff;
font-size: 12px;
opacity: 0.7 !important;
transition: all 0.2s ease;
padding: 0 !important;
}
}
.menu-level3 {
display: none;
transition: all 0.2s ease;
}

188
public/css/table.scss Normal file
View File

@ -0,0 +1,188 @@
.rdt_TableCol {
padding: 8px 11px;
color: var(--primary) !important;
font-size: 12px !important;
font-weight: 600 !important;
}
.rdt_TableRow {
border-bottom: 1px solid var(--primary-light) !important;
border-radius: 25px;
}
.rdt_TableRow:hover {
background-color: var(--primary-light) !important;
}
.rdt_TableHeadRow {
background: var(--primary-light) !important;
border: none !important;
margin-bottom: 10px;
}
.rdt_TableHeadRow:nth-child(1) {
border-radius: 25px !important;
}
.rdt_Pagination {
border-top: none !important;
/* border-top: 1px solid #EFF2F5 !important; */
}
//ANTD TABLE
.ant-table-cell{
font-size: 13px;
}
.ant-pagination .ant-pagination-item-active a {
color: #fff !important;
}
.ant-pagination .ant-pagination-item-active {
border-color: var(--primary) !important;
background: var(--primary) !important;
}
.ant-table-wrapper .ant-table-thead > tr > th, .ant-table-wrapper .ant-table-thead > tr > td {
position: relative;
color: var(--primary-light);
font-weight: 600;
text-align: start;
background: var(--primary);
border-bottom: 1px solid #ffffff;
padding: 11px 16px;
}
.ant-table-tbody tr td {
font-weight: 500;
padding: 3px 13px !important;
}
.ant-table-wrapper .ant-table-thead th.ant-table-column-has-sorters:hover {
background: var(--primary-light);
color: var(--primary);
}
.ant-table-wrapper .ant-table-column-sorter-up.active, .ant-table-wrapper .ant-table-column-sorter-down.active {
color: #fff;
}
.ant-table-wrapper .ant-table-thead th.ant-table-column-sort {
background: var(--primary);
color: #fff;
}
.ant-table-wrapper .ant-table-container table > thead > tr:first-child > *:last-child{
border-radius: 0 20px 20px 0;
}
.ant-table-wrapper .ant-table-container table > thead > tr:first-child > *:first-child {
border-radius: 20px 0 0 20px;
}
.ant-table-cell:hover .ant-table-wrapper .ant-table-container table > thead > tr:first-child > *:last-child{
border-radius: 0 20px 20px 0;
}
.ant-table-cell-row-hover {
background: var(--primary-light) !important;
}
.ant-pagination .ant-pagination-total-text {
position: absolute;
left: 22px;
font-size: 13px;
color: var(--text-muted);
font-weight: 400;
}
//zn table
.znTable {
width: 100%;
border-collapse: collapse;
font-size: 13px;
background: #fff;
tr td {
padding: 10px 30px;
border-top: 1px solid #ededed;
}
}
.ant-table-wrapper .ant-table-thead >tr>th:not(:last-child):not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan])::before,
.ant-table-wrapper .ant-table-thead >tr>td:not(:last-child):not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan])::before {
background-color: #00353129;
}
.ant-table-kol .ant-table-wrapper .ant-table-thead > tr > th,
.ant-table-kol .ant-table-wrapper .ant-table-thead > tr > td{
background: #f7f7f7;
padding:8px 15px;
}
.ant-table-early-warning .ant-table-wrapper .ant-table-thead > tr > th,
.ant-table-early-warning .ant-table-wrapper .ant-table-thead > tr > td{
background: #242424;
padding: 10px 15px;
color: #fff;
}
.ant-table-kol-npl .ant-table-wrapper .ant-table-thead > tr > th,
.ant-table-kol-npl .ant-table-wrapper .ant-table-thead > tr > td{
color: rgb(248, 230, 248);
background: rgb(109, 0, 175);
padding:8px 15px;
height: 65px;
}
.ant-table-kol-dist .ant-table-wrapper .ant-table-thead > tr > th,
.ant-table-kol-dist .ant-table-wrapper .ant-table-thead > tr > td{
color: rgb(230, 238, 248);
background: rgb(0, 73, 175);
padding:8px 15px;
height: 65px;
}
.ant-table-kol-kjt .ant-table-wrapper .ant-table-thead > tr > th,
.ant-table-kol-kjt .ant-table-wrapper .ant-table-thead > tr > td{
color: rgb(255, 245, 248);
background: rgb(241, 65, 108);
padding:8px 15px;
height: 65px;
}
.ant-table-pergerakan .ant-table-wrapper .ant-table-thead > tr > th,
.ant-table-pergerakan .ant-table-wrapper .ant-table-thead > tr > td{
background: #f7f7f7;
padding:8px 15px;
height: 65px;
}
.ant-table-pemburukan .ant-table-wrapper .ant-table-thead > tr > th,
.ant-table-pemburukan .ant-table-wrapper .ant-table-thead > tr > td{
background: var(--color-kol1);
color: #fff;
padding:8px 15px;
height: 65px;
}
.ant-table-perbaikan .ant-table-wrapper .ant-table-thead > tr > th,
.ant-table-perbaikan .ant-table-wrapper .ant-table-thead > tr > td{
background: var(--color-kol2);
color: #fff;
padding:8px 15px;
height: 65px;
}
.ant-table-tetap .ant-table-wrapper .ant-table-thead > tr > th,
.ant-table-tetap .ant-table-wrapper .ant-table-thead > tr > td{
background: var(--color-kol3);
color: #fff;
padding:8px 15px;
height: 65px;
}

1815
public/css/template.scss Normal file

File diff suppressed because it is too large Load Diff

115
public/css/text.scss Normal file
View File

@ -0,0 +1,115 @@
.text-primary {
color: var(--primary) !important;
}
.text-dark-primary {
color: var(--dark-primary) !important;
}
.text-success {
color: var(--success) !important;
}
.text-info {
color: var(--info) !important;
}
.text-warning {
color: var(--warning) !important;
}
.text-danger {
color: var(--danger) !important;
}
.text-dark {
color: var(--dark) !important;
}
.text-dark-grey {
color: var(--dark-grey) !important;
}
.text-black {
color: var(--dark) !important;
}
.text-secondary {
color: var(--secondary) !important;
}
.bg-primary {
background: var(--primary) !important;
}
.bg-dark-primary {
background: var(--dark-primary) !important;
}
.bg-success {
background: var(--success) !important;
}
.bg-info {
background: var(--info) !important;
}
.bg-warning {
background: var(--warning) !important;
}
.bg-danger {
background: var(--danger) !important;
}
.bg-secondary {
background: var(--secondary) !important;
}
.bg-dark {
background: var(--dark) !important;
}
.bg-black {
background: var(--dark) !important;
}
.bg-info-light {
background: var(--info-light) !important;
}
.bg-success-light {
background: var(--success-light) !important;
}
.bg-warning-light {
background: var(--warning-light) !important;
}
.bg-danger-light {
background: var(--danger-light) !important;
}
.bg-dark-light {
background: var(--dark-light) !important;
}
.bg-black-light {
background: var(--dark-light) !important;
}
.text-muted {
color: var(--text-muted) !important;
}
.text-lowercase {
text-transform: lowercase !important;
}
.text-uppercase {
text-transform: uppercase !important;
}
.text-capitalize {
text-transform: capitalize !important;
}

168
public/css/wave.scss Normal file
View File

@ -0,0 +1,168 @@
.wave {
background-color: #f3f6f9;
overflow: hidden;
position: relative;
}
.wave > div {
z-index: 1;
}
.wave:before {
content: " ";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #fff;
z-index: -1;
}
.wave:after {
content: " ";
width: 1000px;
height: 1025px;
position: absolute;
bottom: 65%;
left: -250px;
border-radius: 35%;
background: #fff;
z-index: 0;
}
.wave:after {
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
.wave-animate:after {
-webkit-animation: animate-wave 15s infinite linear;
animation: animate-wave 15s infinite linear;
}
.wave-animate-slower:after {
-webkit-animation: animate-wave 30s infinite linear;
animation: animate-wave 30s infinite linear;
}
.wave-animate-slow:after {
-webkit-animation: animate-wave 25s infinite linear;
animation: animate-wave 25s infinite linear;
}
.wave-animate-fast:after {
-webkit-animation: animate-wave 10s infinite linear;
animation: animate-wave 10s infinite linear;
}
.wave-animate-faster:after {
-webkit-animation: animate-wave 5s infinite linear;
animation: animate-wave 5s infinite linear;
}
.wave.wave-primary {
background-color: var(--primary-light) !important;
}
.wave.wave-primary .svg-icon svg g [fill] {
fill: var(--primary-light);
}
.wave.wave-secondary {
background-color: rgba(228, 230, 239, 0.1) !important;
}
.wave.wave-secondary .svg-icon svg g [fill] {
fill: #e4e6ef;
}
.wave.wave-success {
background-color: rgba(27, 197, 189, 0.1) !important;
}
.wave.wave-success .svg-icon svg g [fill] {
fill: #43a047;
}
.wave.wave-info {
background-color: rgba(137, 80, 252, 0.1) !important;
}
.wave.wave-info .svg-icon svg g [fill] {
fill: #8950fc;
}
.wave.wave-warning {
background-color: rgba(255, 168, 0, 0.1) !important;
}
.wave.wave-warning .svg-icon svg g [fill] {
fill: #ffa800;
}
.wave.wave-danger {
background-color: rgba(246, 78, 96, 0.1) !important;
}
.wave.wave-danger .svg-icon svg g [fill] {
fill: #039be5;
}
.wave.wave-light {
background-color: rgba(243, 246, 249, 0.1) !important;
}
.wave.wave-light .svg-icon svg g [fill] {
fill: #f3f6f9;
}
.wave.wave-dark {
background-color: rgba(24, 28, 50, 0.1) !important;
}
.wave.wave-dark .svg-icon svg g [fill] {
fill: #181c32;
}
.wave.wave-white {
background-color: rgba(255, 255, 255, 0.1) !important;
}
.wave.wave-white .svg-icon svg g [fill] {
fill: #fff;
}
@-webkit-keyframes animate-wave {
from {
-webkit-transform: rotate(0);
transform: rotate(0);
}
to {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@keyframes animate-wave {
from {
-webkit-transform: rotate(0);
transform: rotate(0);
}
to {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
.content-notif {
position: absolute;
z-index: 1;
top: 0;
width: 100%;
height: 100%;
}

BIN
public/font/Poppins-300.ttf Normal file

Binary file not shown.

BIN
public/font/Poppins-400.ttf Normal file

Binary file not shown.

BIN
public/font/Poppins-500.ttf Normal file

Binary file not shown.

BIN
public/font/Poppins-600.ttf Normal file

Binary file not shown.

BIN
public/font/Poppins-700.ttf Normal file

Binary file not shown.

169
public/font/poppins.css Normal file
View File

@ -0,0 +1,169 @@
/* devanagari */
@font-face {
font-family: "Poppins";
font-style: normal;
font-weight: 300;
font-display: swap;
src: url('../font/Poppins-300.ttf');
unicode-range: U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200C-200D, U+20A8,
U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB;
}
/* latin-ext */
@font-face {
font-family: "Poppins";
font-style: normal;
font-weight: 300;
font-display: swap;
src: url('../font/Poppins-300.ttf');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB,
U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: "Poppins";
font-style: normal;
font-weight: 300;
font-display: swap;
src: url('../font/Poppins-300.ttf');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212,
U+2215, U+FEFF, U+FFFD;
}
/* devanagari */
@font-face {
font-family: "Poppins";
font-style: normal;
font-weight: 400;
font-display: swap;
src: url('../font/Poppins-400.ttf');
unicode-range: U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200C-200D, U+20A8,
U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB;
}
/* latin-ext */
@font-face {
font-family: "Poppins";
font-style: normal;
font-weight: 400;
font-display: swap;
src: url('../font/Poppins-400.ttf');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB,
U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: "Poppins";
font-style: normal;
font-weight: 400;
font-display: swap;
src: url('../font/Poppins-400.ttf');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212,
U+2215, U+FEFF, U+FFFD;
}
/* devanagari */
@font-face {
font-family: "Poppins";
font-style: normal;
font-weight: 500;
font-display: swap;
src: url('../font/Poppins-500.ttf');
unicode-range: U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200C-200D, U+20A8,
U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB;
}
/* latin-ext */
@font-face {
font-family: "Poppins";
font-style: normal;
font-weight: 500;
font-display: swap;
src: url('../font/Poppins-500.ttf');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB,
U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: "Poppins";
font-style: normal;
font-weight: 500;
font-display: swap;
src: url('../font/Poppins-500.ttf');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212,
U+2215, U+FEFF, U+FFFD;
}
/* devanagari */
@font-face {
font-family: "Poppins";
font-style: normal;
font-weight: 600;
font-display: swap;
src: url('../font/Poppins-600.ttf');
unicode-range: U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200C-200D, U+20A8,
U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB;
}
/* latin-ext */
@font-face {
font-family: "Poppins";
font-style: normal;
font-weight: 600;
font-display: swap;
src: url('../font/Poppins-600.ttf');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB,
U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: "Poppins";
font-style: normal;
font-weight: 600;
font-display: swap;
src: url('../font/Poppins-600.ttf');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212,
U+2215, U+FEFF, U+FFFD;
}
/* devanagari */
@font-face {
font-family: "Poppins";
font-style: normal;
font-weight: 700;
font-display: swap;
src: url('../font/Poppins-700.ttf');
unicode-range: U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200C-200D, U+20A8,
U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB;
}
/* latin-ext */
@font-face {
font-family: "Poppins";
font-style: normal;
font-weight: 700;
font-display: swap;
src: url('../font/Poppins-700.ttf');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB,
U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: "Poppins";
font-style: normal;
font-weight: 700;
font-display: swap;
src: url('../font/Poppins-700.ttf');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212,
U+2215, U+FEFF, U+FFFD;
}

BIN
public/img/2456051.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 372 KiB

BIN
public/img/3793096.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

BIN
public/img/404.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 220 KiB

BIN
public/img/500.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 252 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 30 KiB

BIN
public/img/basys.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
public/img/bg-sidebar.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 KiB

BIN
public/img/bg1.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

BIN
public/img/bg10.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

BIN
public/img/bg11.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 213 KiB

BIN
public/img/bg12.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 KiB

BIN
public/img/bg2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

BIN
public/img/bg3.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

BIN
public/img/bg4.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

BIN
public/img/bg5.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

BIN
public/img/bg6.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 KiB

BIN
public/img/bg7.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

BIN
public/img/bg8.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 226 KiB

BIN
public/img/bg9.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 KiB

BIN
public/img/bgnew-min.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 259 KiB

View File

@ -0,0 +1,88 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_6" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="1697.4px" height="641.1px" viewBox="0 0 1697.4 641.1" enable-background="new 0 0 1697.4 641.1" xml:space="preserve">
<g>
<defs>
<path id="SVGID_1_" d="M1387.2,175.4c4.9,18.5,23.9,29.6,42.4,24.7c18.5-4.9,29.6-23.9,24.7-42.4c-4.9-18.5-23.9-29.6-42.4-24.7
C1393.4,137.9,1382.3,156.9,1387.2,175.4 M1259.7,209.1c-23.5-88.9,29.6-180.1,118.5-203.6c88.9-23.5,180.1,29.6,203.6,118.5
c23.5,88.9-29.6,180.1-118.5,203.6C1374.3,351.1,1283.2,298,1259.7,209.1"/>
</defs>
<clipPath id="SVGID_2_">
<use xlink:href="#SVGID_1_" overflow="visible"/>
</clipPath>
<rect x="1249.2" y="-5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 298.3336 1053.4047)" opacity="0.2" clip-path="url(#SVGID_2_)" fill="#FFFFFF" width="343.1" height="343.1"/>
</g>
<g>
<defs>
<path id="SVGID_3_" d="M1516.9,463.5c11.7,44.4,57.4,71,101.8,59.2c44.4-11.7,71-57.4,59.2-101.8c-11.7-44.4-57.4-71-101.8-59.2
C1531.8,373.4,1505.2,419.1,1516.9,463.5 M1500.8,467.7c-14.1-53.4,17.7-108,71.1-122.1c53.4-14.1,108,17.7,122.1,71.1
c14.1,53.4-17.7,108-71.1,122.1C1569.6,552.9,1514.9,521.1,1500.8,467.7"/>
</defs>
<clipPath id="SVGID_4_">
<use xlink:href="#SVGID_3_" overflow="visible"/>
</clipPath>
<rect x="1492.5" y="337.3" transform="matrix(0.7071 -0.7071 0.7071 0.7071 155.1939 1259.0591)" opacity="0.2" clip-path="url(#SVGID_4_)" fill="#FFFFFF" width="209.9" height="209.9"/>
</g>
<g>
<defs>
<path id="SVGID_5_" d="M1549.3,456.3c7.3,27.8,35.9,44.4,63.7,37.1c27.8-7.3,44.4-35.9,37.1-63.7c-7.3-27.8-35.9-44.4-63.7-37.1
C1558.6,399.9,1542,428.5,1549.3,456.3 M1533.2,460.6c-9.7-36.8,12.2-74.4,49-84.1c36.8-9.7,74.4,12.2,84.1,49
c9.7,36.8-12.2,74.4-49,84.1C1580.6,519.2,1542.9,497.3,1533.2,460.6"/>
</defs>
<clipPath id="SVGID_6_">
<use xlink:href="#SVGID_5_" overflow="visible"/>
</clipPath>
<rect x="1525.9" y="369.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 155.3305 1260.9583)" opacity="0.2" clip-path="url(#SVGID_6_)" fill="#FFFFFF" width="147.7" height="147.7"/>
</g>
<g>
<defs>
<path id="SVGID_7_" d="M89.1,530.4c0-12.7,10.3-23.1,23-23.2c12.7,0,23.1,10.3,23.2,23c0,12.7-10.3,23.1-23,23.2
C99.5,553.4,89.1,543.1,89.1,530.4 M1.3,530.7c0.2,61.2,50,110.7,111.3,110.5c61.2-0.2,110.7-50,110.5-111.3
c-0.2-61.2-50-110.7-111.3-110.5C50.6,419.6,1.1,469.4,1.3,530.7"/>
</defs>
<clipPath id="SVGID_8_">
<use xlink:href="#SVGID_7_" overflow="visible"/>
</clipPath>
<rect x="-3.7" y="414.4" transform="matrix(0.5 -0.866 0.866 0.5 -403.1351 362.2907)" opacity="0.2" clip-path="url(#SVGID_8_)" fill="#FFFFFF" width="231.8" height="231.8"/>
</g>
<g>
<defs>
<path id="SVGID_9_" d="M123.3,322.6c-0.1-30.6,24.7-55.5,55.2-55.6c30.6-0.1,55.5,24.7,55.6,55.2c0.1,30.6-24.7,55.5-55.2,55.6
C148.4,378,123.5,353.2,123.3,322.6 M112.3,322.7c0.1,36.7,30,66.4,66.8,66.3c36.7-0.1,66.4-30,66.3-66.8
c-0.1-36.7-30-66.4-66.8-66.3C141.8,256,112.1,285.9,112.3,322.7"/>
</defs>
<clipPath id="SVGID_10_">
<use xlink:href="#SVGID_9_" overflow="visible"/>
</clipPath>
<rect x="107.2" y="250.9" transform="matrix(0.5 -0.866 0.866 0.5 -189.8356 316.0442)" opacity="0.2" clip-path="url(#SVGID_10_)" fill="#FFFFFF" width="143.1" height="143.1"/>
</g>
<g>
<defs>
<path id="SVGID_11_" d="M145.4,322.2c-0.1-19.1,15.4-34.7,34.5-34.8c19.1-0.1,34.7,15.4,34.8,34.6c0.1,19.1-15.4,34.7-34.5,34.8
C161.1,356.8,145.5,341.3,145.4,322.2 M134.3,322.2c0.1,25.3,20.7,45.7,45.9,45.6c25.3-0.1,45.7-20.7,45.6-45.9
c-0.1-25.3-20.7-45.7-45.9-45.6C154.6,276.4,134.2,297,134.3,322.2"/>
</defs>
<clipPath id="SVGID_12_">
<use xlink:href="#SVGID_11_" overflow="visible"/>
</clipPath>
<rect x="129.3" y="271.3" transform="matrix(0.5 -0.866 0.866 0.5 -188.8918 316.9881)" opacity="0.2" clip-path="url(#SVGID_12_)" fill="#FFFFFF" width="101.5" height="101.5"/>
</g>
<g>
<defs>
<path id="SVGID_13_" d="M43.7,130.9c24.2-0.1,43.9,19.5,44,43.7c0.1,24.2-19.5,44-43.7,44c-24.2,0.1-43.9-19.5-44-43.7
C-0.1,150.7,19.5,131,43.7,130.9"/>
</defs>
<clipPath id="SVGID_14_">
<use xlink:href="#SVGID_13_" overflow="visible"/>
</clipPath>
<rect x="-5" y="125.9" transform="matrix(0.5 -0.866 0.866 0.5 -129.4321 125.396)" opacity="0.2" clip-path="url(#SVGID_14_)" fill="#FFFFFF" width="97.8" height="97.8"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

View File

@ -0,0 +1,18 @@
<svg width="416" height="960" viewBox="0 0 416 960" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="295" height="960" fill="#001E44"/>
<path d="M183 233C183 104.318 287.318 0 416 0V0V960H183V233Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M407.089 5.15191C409.06 3.27065 407.653 0 404.928 0L287.219 0C286.322 0 285.451 0.425904 284.883 1.1201C-47.0089 406.169 190.621 785.465 390.456 959.279C391.001 959.753 391.684 960 392.406 960H395.197C397.842 960 399.1 956.72 397.279 954.801C28.8507 566.697 231.152 173.072 407.089 5.15191Z" fill="url(#paint0_linear_737_21)"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M396.098 954.632C398.352 956.411 397.004 960 394.132 960H131.303C130.189 960 129.15 959.351 128.633 958.364C-106.403 509.747 99.3567 169.127 143.292 104.931C145.109 102.277 148.756 104.366 148.062 107.506C35.1977 618.922 302.358 880.643 396.098 954.632Z" fill="url(#paint1_linear_737_21)"/>
<path d="M405 960C400.5 957 388.333 945.667 383.5 940L394 960H405Z" fill="#001D44"/>
<path d="M414.5 0C408 3.5 408.5 4 403.5 8.5V0H414.5Z" fill="#004AAA"/>
<defs>
<linearGradient id="paint0_linear_737_21" x1="263.772" y1="-6.07222e-07" x2="217.501" y2="652" gradientUnits="userSpaceOnUse">
<stop stop-color="#004AAA"/>
<stop offset="1" stop-color="#001E44"/>
</linearGradient>
<linearGradient id="paint1_linear_737_21" x1="41.5" y1="435.5" x2="269.416" y2="999.89" gradientUnits="userSpaceOnUse">
<stop stop-color="#014AAF"/>
<stop offset="1" stop-color="#0D2341"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
public/img/facebook.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
public/img/gedung.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 164 KiB

BIN
public/img/github.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

BIN
public/img/google.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

BIN
public/img/icon-map.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

172
public/img/login/bg.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 265 KiB

View File

@ -0,0 +1,21 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<g filter="url(#filter0_d_659_82)">
<rect width="24" height="24" rx="12" fill="url(#paint0_linear_659_82)"/>
</g>
<defs>
<filter id="filter0_d_659_82" x="0" y="0" width="32" height="32" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset dx="4" dy="4"/>
<feGaussianBlur stdDeviation="2"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.08 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_659_82"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_659_82" result="shape"/>
</filter>
<linearGradient id="paint0_linear_659_82" x1="8.4" y1="7.2" x2="18" y2="21.6" gradientUnits="userSpaceOnUse">
<stop stop-color="#193553"/>
<stop offset="1" stop-color="#119CDD"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,22 @@
<svg width="44" height="28" viewBox="0 0 44 28" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="2" height="2" rx="1" fill="white"/>
<rect y="12" width="2" height="2" rx="1" fill="white"/>
<rect y="26" width="2" height="2" rx="1" fill="white"/>
<rect width="2" height="2" rx="1" fill="white"/>
<rect y="26" width="2" height="2" rx="1" fill="white"/>
<rect x="14" width="2" height="2" rx="1" fill="white"/>
<rect x="14" y="12" width="2" height="2" rx="1" fill="white"/>
<rect x="14" y="26" width="2" height="2" rx="1" fill="white"/>
<rect x="14" width="2" height="2" rx="1" fill="white"/>
<rect x="14" y="26" width="2" height="2" rx="1" fill="white"/>
<rect x="28" width="2" height="2" rx="1" fill="white"/>
<rect x="28" y="12" width="2" height="2" rx="1" fill="white"/>
<rect x="28" y="26" width="2" height="2" rx="1" fill="white"/>
<rect x="28" width="2" height="2" rx="1" fill="white"/>
<rect x="28" y="26" width="2" height="2" rx="1" fill="white"/>
<rect x="42" width="2" height="2" rx="1" fill="white"/>
<rect x="42" y="12" width="2" height="2" rx="1" fill="white"/>
<rect x="42" y="26" width="2" height="2" rx="1" fill="white"/>
<rect x="42" width="2" height="2" rx="1" fill="white"/>
<rect x="42" y="26" width="2" height="2" rx="1" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1,40 @@
<svg width="178" height="178" viewBox="0 0 178 178" fill="none" xmlns="http://www.w3.org/2000/svg">
<g filter="url(#filter0_d_659_172)">
<path d="M46 87.5C46 63.4756 65.4756 44 89.5 44V44C113.524 44 133 63.4756 133 87.5V87.5C133 111.524 113.524 131 89.5 131V131C65.4756 131 46 111.524 46 87.5V87.5Z" fill="url(#paint0_linear_659_172)"/>
</g>
<rect x="3" y="3" width="172" height="172" rx="86" stroke="white" stroke-opacity="0.8" stroke-width="6"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M87.767 28.498C87.767 28.2179 87.5346 27.9923 87.2546 28.0002C54.3713 28.9304 28 55.8793 28 88.9875C28 122.684 55.316 150 89.0121 150C122.708 150 150.024 122.684 150.024 88.9875C150.024 88.7354 150.023 88.4837 150.02 88.2323C150.016 87.9601 149.794 87.7423 149.522 87.7423C149.242 87.7423 149.017 87.9724 149.02 88.2525C149.023 88.4971 149.024 88.7422 149.024 88.9875C149.024 122.131 122.156 149 89.0121 149C55.8683 149 29 122.131 29 88.9875C29 56.4248 54.9345 29.9194 87.2749 29C87.547 28.9923 87.767 28.7702 87.767 28.498Z" fill="white" fill-opacity="0.8"/>
<g filter="url(#filter1_d_659_172)">
<path d="M127 21.5C127 12.3873 134.387 5 143.5 5V5C152.613 5 160 12.3873 160 21.5V21.5C160 30.6127 152.613 38 143.5 38V38C134.387 38 127 30.6127 127 21.5V21.5Z" fill="url(#paint1_linear_659_172)"/>
</g>
<defs>
<filter id="filter0_d_659_172" x="46" y="44" width="95" height="95" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset dx="4" dy="4"/>
<feGaussianBlur stdDeviation="2"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.08 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_659_172"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_659_172" result="shape"/>
</filter>
<filter id="filter1_d_659_172" x="127" y="5" width="41" height="41" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset dx="4" dy="4"/>
<feGaussianBlur stdDeviation="2"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.08 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_659_172"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_659_172" result="shape"/>
</filter>
<linearGradient id="paint0_linear_659_172" x1="66.8653" y1="74.5237" x2="101.665" y2="126.724" gradientUnits="userSpaceOnUse">
<stop stop-color="#193553"/>
<stop offset="1" stop-color="#119CDD"/>
</linearGradient>
<linearGradient id="paint1_linear_659_172" x1="134.914" y1="16.578" x2="148.114" y2="36.378" gradientUnits="userSpaceOnUse">
<stop stop-color="#193553"/>
<stop offset="1" stop-color="#119CDD"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -0,0 +1,8 @@
<svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect y="8.33325" width="11.7851" height="2.35702" transform="rotate(-45 0 8.33325)" fill="white"/>
<rect y="8.33325" width="11.7851" height="2.35702" transform="rotate(-45 0 8.33325)" fill="white"/>
<rect y="8.33325" width="11.7851" height="2.35702" transform="rotate(-45 0 8.33325)" fill="white"/>
<rect x="1.66669" width="11.7851" height="2.35702" transform="rotate(45 1.66669 0)" fill="white"/>
<rect x="1.66669" width="11.7851" height="2.35702" transform="rotate(45 1.66669 0)" fill="white"/>
<rect x="1.66669" width="11.7851" height="2.35702" transform="rotate(45 1.66669 0)" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 700 B

View File

@ -0,0 +1,9 @@
<svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="10" height="10" rx="5" fill="url(#paint0_linear_659_80)"/>
<defs>
<linearGradient id="paint0_linear_659_80" x1="3.5" y1="3" x2="7.5" y2="9" gradientUnits="userSpaceOnUse">
<stop stop-color="#2C6099"/>
<stop offset="1" stop-color="#8AC6E2"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 383 B

View File

@ -0,0 +1,3 @@
<svg width="49" height="49" viewBox="0 0 49 49" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="49" height="49" rx="24.5" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 157 B

View File

@ -0,0 +1,4 @@
<svg width="49" height="49" viewBox="0 0 49 49" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="15" y="15" width="19" height="19" rx="9.5" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 25C0.266252 38.3002 11.1311 49 24.495 49C38.026 49 48.995 38.031 48.995 24.5C48.995 10.969 38.026 0 24.495 0C24.3279 0 24.1613 0.00167212 23.995 0.00500054V1.00521C24.1612 1.00174 24.3279 1 24.495 1C37.4737 1 47.995 11.5213 47.995 24.5C47.995 37.4787 37.4737 48 24.495 48C11.6834 48 1.2663 37.7478 1.00021 25H0Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 550 B

View File

@ -0,0 +1,46 @@
<svg width="47" height="26" viewBox="0 0 47 26" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="9" width="2" height="2" rx="1" fill="white"/>
<rect x="9" y="8" width="2" height="2" rx="1" fill="white"/>
<rect x="9" y="16" width="2" height="2" rx="1" fill="white"/>
<rect x="9" y="24" width="2" height="2" rx="1" fill="white"/>
<rect width="2" height="2" rx="1" fill="white"/>
<rect y="8" width="2" height="2" rx="1" fill="white"/>
<rect y="16" width="2" height="2" rx="1" fill="white"/>
<rect y="24" width="2" height="2" rx="1" fill="white"/>
<rect x="9" width="2" height="2" rx="1" fill="white"/>
<rect x="9" y="8" width="2" height="2" rx="1" fill="white"/>
<rect x="9" y="16" width="2" height="2" rx="1" fill="white"/>
<rect x="9" y="24" width="2" height="2" rx="1" fill="white"/>
<rect x="18" width="2" height="2" rx="1" fill="white"/>
<rect x="18" y="8" width="2" height="2" rx="1" fill="white"/>
<rect x="18" y="16" width="2" height="2" rx="1" fill="white"/>
<rect x="18" y="24" width="2" height="2" rx="1" fill="white"/>
<rect x="27" width="2" height="2" rx="1" fill="white"/>
<rect x="27" y="8" width="2" height="2" rx="1" fill="white"/>
<rect x="27" y="16" width="2" height="2" rx="1" fill="white"/>
<rect x="27" y="24" width="2" height="2" rx="1" fill="white"/>
<rect x="18" width="2" height="2" rx="1" fill="white"/>
<rect x="18" y="8" width="2" height="2" rx="1" fill="white"/>
<rect x="18" y="16" width="2" height="2" rx="1" fill="white"/>
<rect x="18" y="24" width="2" height="2" rx="1" fill="white"/>
<rect x="27" width="2" height="2" rx="1" fill="white"/>
<rect x="27" y="8" width="2" height="2" rx="1" fill="white"/>
<rect x="27" y="16" width="2" height="2" rx="1" fill="white"/>
<rect x="27" y="24" width="2" height="2" rx="1" fill="white"/>
<rect x="36" width="2" height="2" rx="1" fill="white"/>
<rect x="36" y="8" width="2" height="2" rx="1" fill="white"/>
<rect x="36" y="16" width="2" height="2" rx="1" fill="white"/>
<rect x="36" y="24" width="2" height="2" rx="1" fill="white"/>
<rect x="45" width="2" height="2" rx="1" fill="white"/>
<rect x="45" y="8" width="2" height="2" rx="1" fill="white"/>
<rect x="45" y="16" width="2" height="2" rx="1" fill="white"/>
<rect x="45" y="24" width="2" height="2" rx="1" fill="white"/>
<rect x="36" width="2" height="2" rx="1" fill="white"/>
<rect x="36" y="8" width="2" height="2" rx="1" fill="white"/>
<rect x="36" y="16" width="2" height="2" rx="1" fill="white"/>
<rect x="36" y="24" width="2" height="2" rx="1" fill="white"/>
<rect x="45" width="2" height="2" rx="1" fill="white"/>
<rect x="45" y="8" width="2" height="2" rx="1" fill="white"/>
<rect x="45" y="16" width="2" height="2" rx="1" fill="white"/>
<rect x="45" y="24" width="2" height="2" rx="1" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -0,0 +1,9 @@
<svg width="19" height="70" viewBox="0 0 19 70" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="19" y="70" width="19" height="70" rx="9.5" transform="rotate(-180 19 70)" fill="url(#paint0_linear_659_56)" fill-opacity="0.39"/>
<defs>
<linearGradient id="paint0_linear_659_56" x1="28.5" y1="70" x2="28.3735" y2="134.001" gradientUnits="userSpaceOnUse">
<stop stop-color="white"/>
<stop offset="1" stop-color="white" stop-opacity="0"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 475 B

View File

@ -0,0 +1,9 @@
<svg width="31" height="102" viewBox="0 0 31 102" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="31" y="102" width="31" height="102" rx="15.5" transform="rotate(-180 31 102)" fill="url(#paint0_linear_659_73)" fill-opacity="0.39"/>
<defs>
<linearGradient id="paint0_linear_659_73" x1="46.5" y1="102" x2="46.1505" y2="190.764" gradientUnits="userSpaceOnUse">
<stop stop-color="white"/>
<stop offset="1" stop-color="white" stop-opacity="0"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 482 B

View File

@ -0,0 +1,3 @@
<svg width="31" height="94" viewBox="0 0 31 94" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="30.5" y="93.5" width="30" height="93" rx="15" transform="rotate(-180 30.5 93.5)" stroke="white"/>
</svg>

After

Width:  |  Height:  |  Size: 210 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 630 KiB

BIN
public/img/login/login.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 MiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 30 KiB

View File

@ -0,0 +1,4 @@
<svg width="293" height="273" viewBox="0 0 293 273" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M113 192.5V157.5H195C201.833 158 215.2 162.3 214 175.5C212.8 188.7 200.833 192.333 195 192.5H113Z" fill="#014BAC"/>
<path d="M21.4999 17.4999V38.4999V39.5H199.5C206.5 39.5 214 42.5 218.5 44.5C223 46.5 245.5 61 253 84.5C259 103.3 247.5 127.667 241 137.5C258 155.5 256 174 256 177.5C250.4 218.3 218.667 231.167 203.5 232.5H69.5V117H195.5C202 115 214.8 108.2 214 97C213.2 85.8 201.333 81 195.5 80H0.5L21.4999 97C21.1665 146.833 20.5999 248.6 20.9999 257C21.3999 265.4 30.8332 270.5 35.4999 272C111.167 272.333 265.4 272.8 277 272C288.6 271.2 292.5 261.667 293 257C292.833 181.5 292.6 27.9 293 17.4999C293.4 7.09983 281.167 2.16654 275 0.999906C201.333 1.16657 50.9999 1.39991 38.9999 0.999906C26.9999 0.599906 22.3332 11.8332 21.4999 17.4999Z" fill="#014BAC"/>
</svg>

After

Width:  |  Height:  |  Size: 874 B

View File

@ -0,0 +1,18 @@
<svg width="78" height="78" viewBox="0 0 78 78" fill="none" xmlns="http://www.w3.org/2000/svg">
<g filter="url(#filter0_d_675_5)">
<rect x="37" y="37" width="4" height="4" rx="2" fill="#3B79F0" fill-opacity="0.1" shape-rendering="crispEdges"/>
</g>
<defs>
<filter id="filter0_d_675_5" x="0" y="0" width="78" height="78" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feMorphology radius="12" operator="dilate" in="SourceAlpha" result="effect1_dropShadow_675_5"/>
<feOffset/>
<feGaussianBlur stdDeviation="12.5"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0.92549 0 0 0 0 0.94902 0 0 0 0 0.996078 0 0 0 1 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_675_5"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_675_5" result="shape"/>
</filter>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -0,0 +1,3 @@
<svg width="349" height="349" viewBox="0 0 349 349" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="17" y="17" width="315" height="315" rx="157.5" stroke="#BFC8DC" stroke-width="34"/>
</svg>

After

Width:  |  Height:  |  Size: 200 B

View File

@ -0,0 +1,3 @@
<svg width="273" height="273" viewBox="0 0 273 273" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="273" height="273" rx="136.5" fill="#BFC8DC"/>
</svg>

After

Width:  |  Height:  |  Size: 166 B

View File

@ -0,0 +1,38 @@
<svg width="51" height="33" viewBox="0 0 51 33" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="6" height="6" rx="2" fill="#D8E0ED"/>
<rect width="6" height="6" rx="2" fill="#D8E0ED"/>
<rect y="9" width="6" height="6" rx="2" fill="#D8E0ED"/>
<rect y="18" width="6" height="6" rx="2" fill="#D8E0ED"/>
<rect y="18" width="6" height="6" rx="2" fill="#D8E0ED"/>
<rect y="27" width="6" height="6" rx="2" fill="#D8E0ED"/>
<rect x="9" width="6" height="6" rx="2" fill="#D8E0ED"/>
<rect x="9" width="6" height="6" rx="2" fill="#D8E0ED"/>
<rect x="9" y="9" width="6" height="6" rx="2" fill="#D8E0ED"/>
<rect x="9" y="18" width="6" height="6" rx="2" fill="#D8E0ED"/>
<rect x="9" y="18" width="6" height="6" rx="2" fill="#D8E0ED"/>
<rect x="9" y="27" width="6" height="6" rx="2" fill="#D8E0ED"/>
<rect x="18" width="6" height="6" rx="2" fill="#D8E0ED"/>
<rect x="18" width="6" height="6" rx="2" fill="#D8E0ED"/>
<rect x="18" y="9" width="6" height="6" rx="2" fill="#D8E0ED"/>
<rect x="18" y="18" width="6" height="6" rx="2" fill="#D8E0ED"/>
<rect x="18" y="18" width="6" height="6" rx="2" fill="#D8E0ED"/>
<rect x="18" y="27" width="6" height="6" rx="2" fill="#D8E0ED"/>
<rect x="27" width="6" height="6" rx="2" fill="#D8E0ED"/>
<rect x="27" width="6" height="6" rx="2" fill="#D8E0ED"/>
<rect x="27" y="9" width="6" height="6" rx="2" fill="#D8E0ED"/>
<rect x="27" y="18" width="6" height="6" rx="2" fill="#D8E0ED"/>
<rect x="27" y="18" width="6" height="6" rx="2" fill="#D8E0ED"/>
<rect x="27" y="27" width="6" height="6" rx="2" fill="#D8E0ED"/>
<rect x="36" width="6" height="6" rx="2" fill="#D8E0ED"/>
<rect x="36" width="6" height="6" rx="2" fill="#D8E0ED"/>
<rect x="36" y="9" width="6" height="6" rx="2" fill="#D8E0ED"/>
<rect x="36" y="18" width="6" height="6" rx="2" fill="#D8E0ED"/>
<rect x="36" y="18" width="6" height="6" rx="2" fill="#D8E0ED"/>
<rect x="36" y="27" width="6" height="6" rx="2" fill="#D8E0ED"/>
<rect x="45" width="6" height="6" rx="2" fill="#D8E0ED"/>
<rect x="45" width="6" height="6" rx="2" fill="#D8E0ED"/>
<rect x="45" y="9" width="6" height="6" rx="2" fill="#D8E0ED"/>
<rect x="45" y="18" width="6" height="6" rx="2" fill="#D8E0ED"/>
<rect x="45" y="18" width="6" height="6" rx="2" fill="#D8E0ED"/>
<rect x="45" y="27" width="6" height="6" rx="2" fill="#D8E0ED"/>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
public/img/logo2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

BIN
public/img/no-image.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

BIN
public/img/no_img.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
public/img/noimg.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

3
public/img/notif.svg Normal file
View File

@ -0,0 +1,3 @@
<svg width="23" height="23" viewBox="0 0 23 23" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M18.2083 13.0199V9.58335C18.2083 6.5004 16.1144 3.90331 13.2777 3.12227C12.9969 2.41502 12.3108 1.91669 11.5 1.91669C10.6893 1.91669 10.0031 2.41502 9.72229 3.12227C6.88563 3.90427 4.79167 6.5004 4.79167 9.58335V13.0199L3.15579 14.6558C3.06663 14.7447 2.99591 14.8503 2.94772 14.9665C2.89953 15.0828 2.87482 15.2075 2.875 15.3334V17.25C2.875 17.5042 2.97597 17.7479 3.15569 17.9277C3.33541 18.1074 3.57917 18.2084 3.83333 18.2084H19.1667C19.4208 18.2084 19.6646 18.1074 19.8443 17.9277C20.024 17.7479 20.125 17.5042 20.125 17.25V15.3334C20.1252 15.2075 20.1005 15.0828 20.0523 14.9665C20.0041 14.8503 19.9334 14.7447 19.8442 14.6558L18.2083 13.0199ZM18.2083 16.2917H4.79167V15.7301L6.42754 14.0942C6.51671 14.0054 6.58742 13.8998 6.63561 13.7835C6.6838 13.6672 6.70852 13.5426 6.70833 13.4167V9.58335C6.70833 6.94123 8.85788 4.79169 11.5 4.79169C14.1421 4.79169 16.2917 6.94123 16.2917 9.58335V13.4167C16.2917 13.6716 16.3923 13.915 16.5725 14.0942L18.2083 15.7301V16.2917ZM11.5 21.0834C12.0935 21.0841 12.6725 20.8999 13.1565 20.5564C13.6405 20.2129 14.0054 19.7272 14.2006 19.1667H8.79942C8.99459 19.7272 9.35954 20.2129 9.84353 20.5564C10.3275 20.8999 10.9065 21.0841 11.5 21.0834Z" fill="#D1D1D1"/>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
public/img/pat1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

BIN
public/img/pat10.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
public/img/pat11.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

BIN
public/img/pat12.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

BIN
public/img/pat13.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

BIN
public/img/pat14.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
public/img/pat15.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
public/img/pat16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

BIN
public/img/pat17.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 217 KiB

BIN
public/img/pat18.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

BIN
public/img/pat19.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
public/img/pat2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

BIN
public/img/pat20.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Some files were not shown because too many files have changed in this diff Show More