gentelella
Version:
Gentelella Admin is a free to use Bootstrap admin template
639 lines (603 loc) • 35.3 kB
HTML
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<!-- Meta, title, CSS, favicons, etc. -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Gentelella Alela! | </title> <!-- Compiled CSS (includes Bootstrap, Font Awesome, and all vendor styles) -->
<script type="module" src="/src/main-minimal.js"></script>
</head>
<body class="nav-md">
<div class="container body">
<div class="main_container">
<div class="col-md-3 left_col">
<div class="left_col scroll-view">
<div class="navbar nav_title" style="border: 0;">
<a href="index.html" class="site_title"><i class="fas fa-paw"></i> <span>Gentelella Alela!</span></a>
</div>
<div class="clearfix"></div>
<!-- menu profile quick info -->
<div class="profile clearfix">
<div class="profile_pic">
<img src="images/img.jpg" alt="..." class="img-circle profile_img">
</div>
<div class="profile_info">
<span>Welcome,</span>
<h2>John Doe</h2>
</div>
</div>
<!-- /menu profile quick info -->
<br />
<!-- sidebar menu -->
<div id="sidebar-menu" class="main_menu_side hidden-print main_menu">
<div class="menu_section">
<h3>General</h3>
<ul class="nav side-menu">
<li><a><i class="fas fa-home"></i> Home <span class="fas fa-chevron-down"></span></a>
<ul class="nav child_menu">
<li><a href="index.html">Dashboard 1</a></li>
<li><a href="index2.html">Dashboard 2</a></li>
<li><a href="index3.html">Dashboard 3</a></li><li><a href="index4.html">Dashboard 4</a></li>
<li><a href="index3.html">Dashboard 3</a></li>
</ul>
<li><a><i class="fas fa-edit"></i> Forms <span class="fas fa-chevron-down"></span></a>
<ul class="nav child_menu">
<li><a href="form.html">General Form</a></li>
<li><a href="form_advanced.html">Advanced Components</a></li>
<li><a href="form_validation.html">Form Validation</a></li>
<li><a href="form_wizards.html">Form Wizard</a></li>
<li><a href="form_upload.html">Form Upload</a></li>
<li><a href="form_buttons.html">Form Buttons</a></li>
</ul>
<li><a><i class="fas fa-desktop"></i> UI Elements <span class="fas fa-chevron-down"></span></a>
<ul class="nav child_menu">
<li><a href="general_elements.html">General Elements</a></li>
<li><a href="media_gallery.html">Media Gallery</a></li>
<li><a href="typography.html">Typography</a></li>
<li><a href="icons.html">Icons</a></li>
<li><a href="widgets.html">Widgets</a></li>
<li><a href="invoice.html">Invoice</a></li>
<li><a href="inbox.html">Inbox</a></li>
<li><a href="calendar.html">Calendar</a></li>
</ul>
<li><a><i class="fas fa-table"></i> Tables <span class="fas fa-chevron-down"></span></a>
<ul class="nav child_menu">
<li><a href="tables.html">Tables</a></li>
<li><a href="tables_dynamic.html">Table Dynamic</a></li>
</ul>
<li><a><i class="fas fa-chart-column"></i> Data Presentation <span class="fas fa-chevron-down"></span></a>
<ul class="nav child_menu">
<li><a href="chartjs.html">Chart JS</a></li>
<li><a href="chartjs2.html">Chart JS2</a></li>
<li><a href="chart3.html">Chart JS3</a></li>
<li><a href="echarts.html">ECharts</a></li>
<li><a href="other_charts.html">Other Charts</a></li>
</ul>
<li><a><i class="fas fa-clone"></i>Layouts <span class="fas fa-chevron-down"></span></a>
<ul class="nav child_menu">
<li><a href="fixed_sidebar.html">Fixed Sidebar</a></li>
<li><a href="fixed_footer.html">Fixed Footer</a></li>
</ul>
</ul>
</div>
<div class="menu_section">
<h3>Live On</h3>
<ul class="nav side-menu">
<li><a><i class="fas fa-bug"></i> Additional Pages <span class="fas fa-chevron-down"></span></a>
<ul class="nav child_menu">
<li><a href="e_commerce.html">E-commerce</a></li>
<li><a href="projects.html">Projects</a></li>
<li><a href="project_detail.html">Project Detail</a></li>
<li><a href="contacts.html">Contacts</a></li>
<li><a href="profile.html">Profile</a></li>
</ul>
<li><a><i class="fas fa-window-restore"></i> Extras <span class="fas fa-chevron-down"></span></a>
<ul class="nav child_menu">
<li><a href="page_403.html">403 Error</a></li>
<li><a href="page_404.html">404 Error</a></li>
<li><a href="page_500.html">500 Error</a></li>
<li><a href="plain_page.html">Plain Page</a></li>
<li><a href="login.html">Login Page</a></li>
<li><a href="pricing_tables.html">Pricing Tables</a></li>
</ul>
<li><a><i class="fas fa-sitemap"></i> Multilevel Menu <span class="fas fa-chevron-down"></span></a>
<ul class="nav child_menu">
<li><a href="#level1_1">Level One</a></li>
<li><a>Level One<span class="fas fa-chevron-down"></span></a>
<ul class="nav child_menu">
<li class="sub_menu"><a href="level2.html">Level Two</a>
<li><a href="#level2_1">Level Two</a>
<li><a href="#level2_2">Level Two</a>
</ul>
<li><a href="#level1_2">Level One</a></li>
</ul>
<li><a href="landing.html"><i class="fas fa-laptop"></i> Landing Page</a></li>
</ul>
</div>
</div>
<!-- /sidebar menu -->
<!-- /menu footer buttons -->
<div class="sidebar-footer hidden-small">
<a data-bs-toggle="tooltip" data-bs-placement="top" title="Settings">
<span class="fas fa-cog" aria-hidden="true"></span>
</a>
<a data-bs-toggle="tooltip" data-bs-placement="top" title="FullScreen">
<span class="fas fa-expand" aria-hidden="true"></span>
</a>
<a data-bs-toggle="tooltip" data-bs-placement="top" title="Lock">
<span class="fas fa-eye-slash" aria-hidden="true"></span>
</a>
<a data-bs-toggle="tooltip" data-bs-placement="top" title="Logout" href="login.html">
<span class="fas fa-power-off" aria-hidden="true"></span>
</a>
</div>
<!-- /menu footer buttons -->
</div>
</div>
<!-- top navigation -->
<div class="top_nav">
<div class="nav_menu">
<div class="nav toggle">
<a id="menu_toggle"><i class="fas fa-bars"></i></a>
</div>
<nav class="nav navbar-nav">
<ul class="navbar-right">
<li class="nav-item dropdown open" style="padding-left: 15px;">
<a href="javascript:;" class="user-profile dropdown-toggle" aria-haspopup="true" id="navbarDropdown" data-bs-toggle="dropdown" aria-expanded="false">
<img src="images/img.jpg" alt="">John Doe
</a>
<div class="dropdown-menu dropdown-usermenu float-end" aria-labelledby="navbarDropdown">
<a class="dropdown-item" href="javascript:;"> Profile</a>
<a class="dropdown-item" href="javascript:;">
<span class="badge bg-red float-end">50%</span>
<span>Settings</span>
</a>
<a class="dropdown-item" href="javascript:;">Help</a>
<a class="dropdown-item" href="login.html"><i class="fas fa-sign-out-alt float-end"></i> Log Out</a>
</div>
<li role="presentation" class="nav-item dropdown open">
<a href="javascript:;" class="dropdown-toggle info-number" id="navbarDropdown1" data-bs-toggle="dropdown" aria-expanded="false">
<i class="fas fa-envelope"></i>
<span class="badge bg-green">6</span>
</a>
<ul class="dropdown-menu list-unstyled msg_list" role="menu" aria-labelledby="navbarDropdown1">
<li class="nav-item">
<a class="dropdown-item">
<span class="image"><img src="images/img.jpg" alt="Profile Image" /></span>
<span>
<span>John Smith</span>
<span class="time">3 mins ago</span>
</span>
<span class="message">
Film festivals used to be do-or-die moments for movie makers. They were where...
</span>
</a>
<li class="nav-item">
<a class="dropdown-item">
<span class="image"><img src="images/img.jpg" alt="Profile Image" /></span>
<span>
<span>John Smith</span>
<span class="time">3 mins ago</span>
</span>
<span class="message">
Film festivals used to be do-or-die moments for movie makers. They were where...
</span>
</a>
<li class="nav-item">
<a class="dropdown-item">
<span class="image"><img src="images/img.jpg" alt="Profile Image" /></span>
<span>
<span>John Smith</span>
<span class="time">3 mins ago</span>
</span>
<span class="message">
Film festivals used to be do-or-die moments for movie makers. They were where...
</span>
</a>
<li class="nav-item">
<a class="dropdown-item">
<span class="image"><img src="images/img.jpg" alt="Profile Image" /></span>
<span>
<span>John Smith</span>
<span class="time">3 mins ago</span>
</span>
<span class="message">
Film festivals used to be do-or-die moments for movie makers. They were where...
</span>
</a>
<li class="nav-item">
<div class="text-center">
<a class="dropdown-item">
<strong>See All Alerts</strong>
<i class="fas fa-angle-right"></i>
</a>
</div>
</ul>
</ul>
</nav>
</div>
</div>
<!-- /top navigation -->
<!-- page content -->
<div class="right_col" role="main">
<div class="">
<div class="page-title">
<div class="title_left">
<h3>Form Wizards</h3>
</div>
<div class="title_right">
<div class="col-md-5 col-sm-5 mb-3 float-end top_search">
<div class="input-group search-bar-fix">
<input type="text" class="form-control" placeholder="Search for...">
<button class="btn btn-outline-secondary" type="button">
<i class="fas fa-search"></i>
</button>
</div>
</div>
</div>
</div>
<div class="clearfix"></div>
<div class="row">
<div class="col-md-12 col-sm-12">
<div class="x_panel">
<div class="x_title">
<h2>Form Wizards <small>Sessions</small></h2>
<ul class="nav navbar-right panel_toolbox">
<li><a class="collapse-link"><i class="fas fa-chevron-up"></i></a>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-bs-toggle="dropdown" role="button" aria-expanded="false"><i class="fas fa-wrench"></i></a>
<ul class="dropdown-menu" role="menu">
<li><a href="#">Settings 1</a>
<li><a href="#">Settings 2</a>
</ul>
<li><a class="btn-btn-close-link"><i class="fas fa-times"></i></a>
</ul>
<div class="clearfix"></div>
</div>
<div class="x_content">
<!-- ========================= -->
<!-- Modern Bootstrap-5 Wizard -->
<!-- Horizontal style first -->
<!-- ========================= -->
<div class="x_panel">
<div class="x_title">
<h2>Horizontal Wizard <small class="text-muted">Bootstrap 5 nav-pills</small></h2>
<div class="clearfix"></div>
</div>
<div class="x_content">
<!-- Progress pills -->
<ul class="nav nav-pills mb-4 justify-content-center" id="hzWizardNav" role="tablist">
<li class="nav-item" role="presentation">
<button class="nav-link active" id="h-step1-tab" data-bs-toggle="pill" data-bs-target="#h-step1" type="button" role="tab">1. Personal</button>
<li class="nav-item" role="presentation">
<button class="nav-link" id="h-step2-tab" data-bs-toggle="pill" data-bs-target="#h-step2" type="button" role="tab">2. Address</button>
<li class="nav-item" role="presentation">
<button class="nav-link" id="h-step3-tab" data-bs-toggle="pill" data-bs-target="#h-step3" type="button" role="tab">3. Review</button>
</ul>
<!-- Step panes -->
<div class="tab-content" id="hzWizardContent">
<div class="tab-pane fade show active" id="h-step1" role="tabpanel" aria-labelledby="h-step1-tab">
<form class="row g-3">
<div class="col-md-6">
<label class="form-label">First name</label>
<input type="text" class="form-control" placeholder="John" required>
</div>
<div class="col-md-6">
<label class="form-label">Last name</label>
<input type="text" class="form-control" placeholder="Doe" required>
</div>
<div class="col-md-6">
<label class="form-label">Email</label>
<input type="email" class="form-control" placeholder="john@example.com" required>
</div>
<div class="col-md-6">
<label class="form-label">Phone</label>
<input type="tel" class="form-control" placeholder="+1 555-…">
</div>
<div class="d-flex justify-content-end gap-2">
<button type="button" class="btn btn-theme" data-wz-next>Next</button>
</div>
</form>
</div>
<div class="tab-pane fade" id="h-step2" role="tabpanel" aria-labelledby="h-step2-tab">
<form class="row g-3">
<div class="col-md-8">
<label class="form-label">Street</label>
<input type="text" class="form-control" placeholder="123 Main St" required>
</div>
<div class="col-md-4">
<label class="form-label">City</label>
<input type="text" class="form-control" placeholder="New York" required>
</div>
<div class="col-md-4">
<label class="form-label">State</label>
<input type="text" class="form-control" placeholder="NY" required>
</div>
<div class="col-md-4">
<label class="form-label">ZIP</label>
<input type="text" class="form-control" placeholder="10001" required>
</div>
<div class="d-flex justify-content-between gap-2">
<button type="button" class="btn btn-secondary" data-wz-prev>Back</button>
<button type="button" class="btn btn-theme" data-wz-next>Next</button>
</div>
</form>
</div>
<div class="tab-pane fade" id="h-step3" role="tabpanel" aria-labelledby="h-step3-tab">
<div class="alert alert-info">Review your information and click <strong>Finish</strong>.</div>
<div class="d-flex justify-content-between gap-2">
<button type="button" class="btn btn-secondary" data-wz-prev>Back</button>
<button type="button" class="btn btn-success" data-wz-finish>Finish</button>
</div>
</div>
</div>
</div>
</div>
<!-- ========================= -->
<!-- Vertical Wizard example -->
<!-- ========================= -->
<div class="x_panel">
<div class="x_title">
<h2>Vertical Wizard</h2>
<div class="clearfix"></div>
</div>
<div class="x_content">
<div class="row">
<div class="col-md-3">
<div class="nav flex-column nav-pills" id="vtWizardNav" role="tablist">
<button class="nav-link active" data-bs-target="#v-step1" data-bs-toggle="pill" type="button">Step 1</button>
<button class="nav-link" data-bs-target="#v-step2" data-bs-toggle="pill" type="button">Step 2</button>
<button class="nav-link" data-bs-target="#v-step3" data-bs-toggle="pill" type="button">Step 3</button>
</div>
</div>
<div class="col-md-9">
<div class="tab-content" id="vtWizardContent">
<div class="tab-pane fade show active" id="v-step1" role="tabpanel">
<p class="lead mb-3">Some placeholder content for step 1.</p>
<button class="btn btn-theme" data-wz-next>Next</button>
</div>
<div class="tab-pane fade" id="v-step2" role="tabpanel">
<p class="lead mb-3">Placeholder for step 2.</p>
<div class="d-flex justify-content-between">
<button class="btn btn-secondary" data-wz-prev>Back</button>
<button class="btn btn-theme" data-wz-next>Next</button>
</div>
</div>
<div class="tab-pane fade" id="v-step3" role="tabpanel">
<p class="lead mb-3">Done! 🎉</p>
<button class="btn btn-secondary" data-wz-prev>Back</button>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- ========================= -->
<!-- Progress Bar Wizard -->
<!-- ========================= -->
<div class="x_panel">
<div class="x_title">
<h2>Progress Bar Wizard <small>with hidden nav</small></h2>
<div class="clearfix"></div>
</div>
<div class="x_content">
<!-- Hidden nav just for JS targeting -->
<ul class="nav nav-pills d-none" id="pgWizardNav" role="tablist">
<li class="nav-item"><button class="nav-link active" data-bs-target="#p-step1" data-bs-toggle="pill" type="button">1</button></li>
<li class="nav-item"><button class="nav-link" data-bs-target="#p-step2" data-bs-toggle="pill" type="button">2</button></li>
<li class="nav-item"><button class="nav-link" data-bs-target="#p-step3" data-bs-toggle="pill" type="button">3</button></li>
</ul>
<!-- Dynamic progress -->
<div class="progress mb-4" style="height:8px;">
<div class="progress-bar bg-theme" role="progressbar" style="width: 33%;" aria-valuemin="0" aria-valuemax="100"></div>
</div>
<div class="tab-content" id="pgWizardContent">
<div class="tab-pane fade show active" id="p-step1" role="tabpanel">
<h4 class="mb-3">Basic Info</h4>
<p class="text-muted">Enter some basic information.</p>
<div class="mb-3"><input type="text" class="form-control" placeholder="Title"></div>
<div class="d-flex justify-content-end">
<button class="btn btn-theme" data-wz-next>Next</button>
</div>
</div>
<div class="tab-pane fade" id="p-step2" role="tabpanel">
<h4 class="mb-3">Details</h4>
<p class="text-muted">Add your details here.</p>
<div class="mb-3"><textarea class="form-control" rows="3"></textarea></div>
<div class="d-flex justify-content-between">
<button class="btn btn-secondary" data-wz-prev>Back</button>
<button class="btn btn-theme" data-wz-next>Next</button>
</div>
</div>
<div class="tab-pane fade" id="p-step3" role="tabpanel">
<h4 class="mb-3">Finish</h4>
<div class="alert alert-warning">Click finish when ready.</div>
<div class="d-flex justify-content-between">
<button class="btn btn-secondary" data-wz-prev>Back</button>
<button class="btn btn-success" data-wz-finish>Finish</button>
</div>
</div>
</div>
</div>
</div>
<!-- ========================= -->
<!-- Accordion Wizard (Steps) -->
<!-- ========================= -->
<div class="x_panel">
<div class="x_title">
<h2>Accordion Wizard</h2>
<div class="clearfix"></div>
</div>
<div class="x_content">
<div class="accordion" id="accordionWizard">
<div class="accordion-item">
<h2 class="accordion-header" id="aw-headingOne">
<button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#aw-step1" aria-expanded="true">
Step 1: Account Setup
</button>
</h2>
<div id="aw-step1" class="accordion-collapse collapse show" data-bs-parent="#accordionWizard">
<div class="accordion-body">
<div class="mb-3"><input type="email" class="form-control" placeholder="Email"></div>
<button class="btn btn-theme" data-aw-next>Next</button>
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header" id="aw-headingTwo">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#aw-step2">
Step 2: Profile Info
</button>
</h2>
<div id="aw-step2" class="accordion-collapse collapse" data-bs-parent="#accordionWizard">
<div class="accordion-body">
<div class="mb-3"><input type="text" class="form-control" placeholder="Full Name"></div>
<div class="d-flex justify-content-between">
<button class="btn btn-secondary" data-aw-prev>Back</button>
<button class="btn btn-theme" data-aw-next>Next</button>
</div>
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header" id="aw-headingThree">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#aw-step3">
Step 3: Confirm
</button>
</h2>
<div id="aw-step3" class="accordion-collapse collapse" data-bs-parent="#accordionWizard">
<div class="accordion-body">
<div class="alert alert-success">All set! 🎉</div>
<div class="d-flex justify-content-between">
<button class="btn btn-secondary" data-aw-prev>Back</button>
<button class="btn btn-success" data-aw-finish>Finish</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Wizard helper script (vanilla JS) -->
<script type="module">
/** Generic helpers **/
const wizardNavClick = (container, pane) => {
// Prefer nav-link inside this wizard; fallback to manual show
const nav = container.querySelector(`[data-bs-target="#${pane.id}"]`);
if (nav) {
nav.click();
} else {
container.querySelectorAll('.tab-pane.active').forEach(p => p.classList.remove('show', 'active'));
pane.classList.add('show', 'active');
}
};
const updateProgress = (container) => {
const bar = container.querySelector('.progress-bar');
if (!bar) return;
const panes = Array.from(container.querySelectorAll('.tab-content .tab-pane'));
const activeIdx = panes.findIndex(p => p.classList.contains('active'));
if (activeIdx === -1) return;
const percent = Math.round(((activeIdx + 1) / panes.length) * 100);
bar.style.width = percent + '%';
bar.setAttribute('aria-valuenow', percent);
};
// NEXT / PREV / FINISH for tab-based wizards
document.querySelectorAll('[data-wz-next]').forEach(btn => {
btn.addEventListener('click', () => {
const current = btn.closest('.tab-pane');
if (!current) return;
const container = current.closest('.x_panel');
const next = current.nextElementSibling;
if (next && next.classList.contains('tab-pane')) {
wizardNavClick(container, next);
updateProgress(container);
}
});
});
document.querySelectorAll('[data-wz-prev]').forEach(btn => {
btn.addEventListener('click', () => {
const current = btn.closest('.tab-pane');
if (!current) return;
const container = current.closest('.x_panel');
const prev = current.previousElementSibling;
if (prev && prev.classList.contains('tab-pane')) {
wizardNavClick(container, prev);
updateProgress(container);
}
});
});
document.querySelectorAll('[data-wz-finish]').forEach(btn => {
btn.addEventListener('click', () => {
btn.closest('.x_panel').querySelector('.tab-content').innerHTML = '<div class="alert alert-success"><strong>Success!</strong> All steps completed.</div>';
});
});
/** Accordion wizard controls **/
const awToItem = (elem, dir) => {
const item = elem.closest('.accordion-item');
if (!item) return;
const sibling = dir === 'next' ? item.nextElementSibling : item.previousElementSibling;
if (sibling && sibling.querySelector('.accordion-button')) {
sibling.querySelector('.accordion-button').click();
}
};
document.querySelectorAll('[data-aw-next]').forEach(btn => btn.addEventListener('click', () => awToItem(btn, 'next')));
document.querySelectorAll('[data-aw-prev]').forEach(btn => btn.addEventListener('click', () => awToItem(btn, 'prev')));
document.querySelectorAll('[data-aw-finish]').forEach(btn => {
btn.addEventListener('click', () => {
const accordion = btn.closest('.accordion');
accordion.innerHTML = '<div class="alert alert-success"><strong>Finished!</strong> All accordion steps complete.</div>';
});
});
</script>
<!-- End Modern Wizard -->
</div>
</div>
</div>
</div>
</div>
</div>
<!-- /page content -->
<!-- footer content -->
<footer>
<div class="float-end">
Gentelella - Bootstrap Admin Template by <a href="https://colorlib.com">Colorlib</a>
</div>
<div class="clearfix"></div>
</footer>
<!-- /footer content -->
</div>
</div> <!-- Compiled JavaScript (includes jQuery, Bootstrap, and all vendor scripts) -->
<!-- Initialize Tempus Dominus datetimepicker -->
<script type="text/javascript">
document.addEventListener('DOMContentLoaded', function() {
if (typeof TempusDominus !== 'undefined') {
// Initialize birthday pickers
const birthdayPicker = new TempusDominus(document.getElementById('birthday'), {
display: {
components: {
clock: false,
date: true
}
},
localization: {
format: 'dd-MM-yyyy'
}
});
const birthdayPicker2 = new TempusDominus(document.getElementById('birthday2'), {
display: {
components: {
clock: false,
date: true
}
},
localization: {
format: 'dd-MM-yyyy'
}
});
}
});
</script>
</body>
</html>