incremental

forced bootstrap css files and JS files into source to overrride DOM issues
This commit is contained in:
Joshua Hare 2025-04-15 22:20:40 +10:00
parent 2d97536d77
commit 4578642cc4
3 changed files with 44 additions and 26 deletions

View File

@ -4,7 +4,7 @@
<head>
<meta charset="UTF-8">
<title>SMARTFLARE - Smart App Gallery - {% block title %}{% endblock %}</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">
<link href="{{ url_for('static', filename='bootstrap.min.css') }}" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css" integrity="sha512-z3gLpd7yknf1YoNbCzqRKc4qyor8gaKU1qmn+CShxbuBusANI9QpRohGBreCFkKxLhei6S9CQXFEbbKuqLg0DA==" crossorigin="anonymous" referrerpolicy="no-referrer" />
<link rel="icon" type="image/x-icon" href="{{ url_for('static', filename='favicon.ico') }}">
<style>
@ -45,10 +45,15 @@
border-bottom: 2px solid #007bff;
}
.dropdown-menu {
animation: fadeIn 0.3s ease;
list-style: none !important;
position: absolute;
background-color: #ffffff;
border: none;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
border-radius: 8px;
padding: 0;
min-width: 160px;
z-index: 1000;
}
.dropdown-item {
padding: 0.5rem 1rem;
@ -129,6 +134,24 @@
.footer-right a:hover {
text-decoration: underline;
}
.initials-avatar {
display: inline-block;
width: 30px;
height: 30px;
border-radius: 50%;
background-color: #007bff;
color: white;
text-align: center;
line-height: 30px;
font-weight: bold;
font-size: 14px;
vertical-align: middle;
}
.user-avatar {
display: inline-block;
border-radius: 50%;
vertical-align: middle;
}
@keyframes fadeIn {
from { opacity: 0; transform: translateY(-10px); }
to { opacity: 1; transform: translateY(0); }
@ -225,23 +248,6 @@
html[data-theme="dark"] .footer-right a {
color: #4dabf7;
}
.initials-avatar {
display: inline-block;
width: 30px;
height: 30px;
border-radius: 50%;
background-color: #007bff;
color: white;
text-align: center;
line-height: 30px;
font-weight: bold;
font-size: 14px;
vertical-align: middle;
}
.user-avatar {
border-radius: 50%;
vertical-align: middle;
}
@media (max-width: 576px) {
.navbar-controls {
flex-direction: column;
@ -282,7 +288,7 @@
<body>
<nav class="navbar navbar-expand-lg navbar-light">
<div class="container-fluid">
<a class="navbar-brand" href="{{ url_for('gallery.gallery') }}">SMART App Gallery</a>
<a class="navbar-brand" href="{{ url_for('gallery.gallery') }}">SMARTFLARE - SMART App Gallery</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
@ -314,14 +320,13 @@
<i class="fas fa-moon d-none"></i>
</label>
</div>
{% if current_user.is_authenticated %}
{% if current_user.is_authenticated and current_user.username %}
<div class="dropdown">
<a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
{% if current_user.email and current_user.email | md5 %}
<img src="https://www.gravatar.com/avatar/{{ current_user.email | md5 }}?s: not found
{% else %}
<span class="initials-avatar">{{ current_user.username[:2] | upper }}</span>
{% if current_user.email %}
<img src="https://www.gravatar.com/avatar/{{ current_user.email | md5 }}?s=30&d=identicon" class="user-avatar" alt="User Avatar" onerror="this.style.display='none';this.nextElementSibling.style.display='inline-block';">
{% endif %}
<span class="initials-avatar" style="{% if current_user.email %}display: none;{% endif %}">{{ current_user.username[:2] | upper }}</span>
{{ current_user.username }}
</a>
<ul class="dropdown-menu dropdown-menu-end" aria-labelledby="userDropdown">
@ -370,7 +375,7 @@
</div>
</div>
</footer>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js" integrity="sha384-geWF76RCwLtnZ8qwWowPQNguL3RmwHVBC9FhGdlKrxdiJJigb/j/68SIy3Te4Bkz" crossorigin="anonymous"></script>
<script src="{{ url_for('static', filename='bootstrap.bundle.min.js') }}"></script>
<script>
function toggleTheme() {
const html = document.documentElement;

7
static/bootstrap.bundle.min.js vendored Normal file

File diff suppressed because one or more lines are too long

6
static/bootstrap.min.css vendored Normal file

File diff suppressed because one or more lines are too long