RAG_AI_V2 / templates /create_db.html
WebashalarForML's picture
Update templates/create_db.html
fa5e1fd verified
raw
history blame
4.38 kB
{% extends 'base.html' %}
{% block content %}
<style>
/* Ensure the body takes full height for proper layout */
html, body {
height: 100%;
margin: 0;
}
.container {
display: flex;
flex-direction: column;
height: 50vh; /* Full height of the viewport */
overflow: hidden; /* Prevent extra scrollbars */
}
.card {
margin: auto;
background-color: #2c2c3e;
color: #f5f5f5;
border: none;
width: 50%; /* Centered and appropriately sized */
max-height: calc(50vh - 50px); /* Adjust to fit within view */
overflow-y: auto; /* Add scrolling if content overflows */
}
.card-header {
background-color: #181831;
border-bottom: 2px solid #444;
padding: 1rem;
text-align: center;
position: sticky; /* Keeps header fixed */
top: 0;
z-index: 1000; /* Ensures it stays above scrollable content */
}
.text-muted {
--bs-text-opacity: 1;
color: rgb(121 136 151 / 75%) !important;
}
.form-label {
font-weight: bold;
color: #cfcfcf;
}
.form-control {
background-color: #1e1e2f;
color: #f5f5f5;
border: 1px solid #444;
}
.form-control:focus {
background-color: #1e1e2f;
color: #f5f5f5;
border-color: #4c4cff;
box-shadow: 0 0 4px #4c4cff;
}
.btn-primary {
background-color: #4c4cff;
border-color: #4c4cff;
}
.btn-primary:hover {
background-color: #3838e8;
border-color: #3838e8;
}
/* Custom scrollbar */
.card::-webkit-scrollbar {
width: 8px;
}
.card::-webkit-scrollbar-thumb {
background-color: #444;
border-radius: 4px;
}
/* Loader styling */
#loader {
display: none; /* Hidden by default */
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
z-index: 9999;
}
.spinner {
width: 50px;
height: 50px;
border: 5px solid #f3f3f3;
border-top: 5px solid #3498db;
border-radius: 50%;
animation: spin 1s linear infinite;
}
@keyframes spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
.loading-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(255, 255, 255, 0.8);
z-index: 9998;
display: none; /* Hidden by default */
}
</style>
<!-- Loader HTML -->
<div id="loader" class="loading-overlay">
<div class="spinner"></div>
</div>
<!-- Main Content -->
<div class="container mt-5">
<div class="card shadow">
<div class="card-header">
<h3>Create a New Vector Database</h3>
</div>
<div class="card-body">
<form id="db-form" method="post" enctype="multipart/form-data">
<!-- Database Name Input -->
<div class="form-group">
<label for="db_name" class="form-label">Database Name</label>
<input type="text" id="db_name" name="db_name" class="form-control" placeholder="Enter database name" required>
</div>
<!-- Folder Upload Input -->
<div class="form-group mt-3">
<label for="folder" class="form-label">Upload Folder</label>
<input type="file" id="folder" name="folder" class="form-control" webkitdirectory directory multiple required>
<small class="text-muted">Note: You can upload folder having your documents.</small>
</div>
<!-- Submit Button -->
<div class="mt-4 text-center">
<button type="submit" class="btn btn-primary px-5">Create</button>
</div>
</form>
</div>
</div>
</div>
<script>
// Show loader on form submission
const form = document.getElementById('db-form');
const loader = document.getElementById('loader');
form.addEventListener('submit', function (event) {
loader.style.display = 'flex'; // Show loader
});
</script>
{% endblock %}