mirror of
https://github.com/TakeusV1/flask_ipam.git
synced 2026-10-14 01:15:33 +02:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e9066a2de6 | ||
|
|
8403ad8f5c | ||
|
|
1d8b295e1a |
No files matched your search
@@ -1 +0,0 @@
|
|||||||
Here you will find ideas for potential future updates.
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
#!/sbin/openrc-run
|
|
||||||
|
|
||||||
name="gunicorn-flask"
|
|
||||||
description="Gunicorn server for Flask app"
|
|
||||||
command="/usr/bin/gunicorn"
|
|
||||||
command_args="--workers 1 --bind 127.0.0.1:8000 'app:create_app()' --preload"
|
|
||||||
pidfile="/run/${name}.pid"
|
|
||||||
directory="/opt/fipam"
|
|
||||||
command_background="yes"
|
|
||||||
|
|
||||||
---------------------------------------------> /etc/init.d/flask-ipam
|
|
||||||
File renamed without changes.
@@ -12,5 +12,10 @@ _(I'm not an experienced developer, just a tinkerer)_
|
|||||||

|

|
||||||
|
|
||||||
---
|
---
|
||||||
- Installation : [here](install.md)
|
- Installation : [here](install.md) *(without docker)*
|
||||||
- Sources : [here](sources.md)
|
- Sources : [here](sources.md)
|
||||||
|
|
||||||
|
### Docker Compose
|
||||||
|
you have to build the docker image first (with Dockerfile).
|
||||||
|
- example : `docker build -t fipam_docker .`
|
||||||
|
- You have to generate the database by creating the first user via “setup.py”, create an “instance” folder and put the “database.db” file in it.
|
||||||
@@ -19,8 +19,6 @@ def create_app():
|
|||||||
|
|
||||||
app = Flask(__name__)
|
app = Flask(__name__)
|
||||||
app.config.from_object(Configuration)
|
app.config.from_object(Configuration)
|
||||||
|
|
||||||
app.jinja_env.globals['app_version'] = app_version
|
|
||||||
|
|
||||||
login_manager.init_app(app)
|
login_manager.init_app(app)
|
||||||
db.init_app(app)
|
db.init_app(app)
|
||||||
|
|||||||
+3
-3
@@ -10,11 +10,11 @@ app_debug = True
|
|||||||
app_maintenance = False
|
app_maintenance = False
|
||||||
|
|
||||||
app_name = 'takeus-ipam'
|
app_name = 'takeus-ipam'
|
||||||
app_version = 'V2026.9'
|
app_version = 'V2026.3'
|
||||||
app_release_date = '09/2026'
|
app_release_date = '03/2026'
|
||||||
app_url = "http://0.0.0.0"
|
app_url = "http://0.0.0.0"
|
||||||
|
|
||||||
app_theme = ['default', 'spacelab', 'lumen', 'simplex', 'zephyr', 'cerulean', 'brite', 'materia', 'litera']
|
app_theme = ['default', 'lumen', 'simplex', 'zephyr']
|
||||||
class Configuration:
|
class Configuration:
|
||||||
# replace SECRET_KEY with value from "openssl rand -hex 32" or similar for STATIC sessions
|
# replace SECRET_KEY with value from "openssl rand -hex 32" or similar for STATIC sessions
|
||||||
# With actual configuration, every application restart, user have to re-login...
|
# With actual configuration, every application restart, user have to re-login...
|
||||||
|
|||||||
+1
-2
@@ -24,8 +24,7 @@ class ChangePasswordForm(FlaskForm):
|
|||||||
is_readonly = SelectField(choices=[(0,'No'),(1,'Yes')],validators=[DataRequired()])
|
is_readonly = SelectField(choices=[(0,'No'),(1,'Yes')],validators=[DataRequired()])
|
||||||
|
|
||||||
class ChangeAllocationForm(FlaskForm):
|
class ChangeAllocationForm(FlaskForm):
|
||||||
shortname = StringField(validators=[Length(max=128)])
|
hostname = StringField(validators=[Length(max=128)])
|
||||||
fqdn = StringField(validators=[Length(max=128)])
|
|
||||||
description = StringField(validators=[Length(max=128)])
|
description = StringField(validators=[Length(max=128)])
|
||||||
is_special = SelectField(choices=[(0,'None'),(1,'DHCP'),(2,'Gateway')],validators=[DataRequired()],label='Special USE ?')
|
is_special = SelectField(choices=[(0,'None'),(1,'DHCP'),(2,'Gateway')],validators=[DataRequired()],label='Special USE ?')
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,6 @@ class Allocation(db.Model):
|
|||||||
ipv4 = db.Column(db.String(16),primary_key=True,unique=True)
|
ipv4 = db.Column(db.String(16),primary_key=True,unique=True)
|
||||||
net_id = db.Column(db.Integer(),db.ForeignKey('network.id'))
|
net_id = db.Column(db.Integer(),db.ForeignKey('network.id'))
|
||||||
hostname = db.Column(db.String(32))
|
hostname = db.Column(db.String(32))
|
||||||
hostname_full = db.Column(db.String(64))
|
|
||||||
description = db.Column(db.String(64))
|
description = db.Column(db.String(64))
|
||||||
is_used = db.Column(db.Boolean(),default=False)
|
is_used = db.Column(db.Boolean(),default=False)
|
||||||
is_dhcp = db.Column(db.Boolean(),default=False)
|
is_dhcp = db.Column(db.Boolean(),default=False)
|
||||||
|
|||||||
@@ -66,6 +66,7 @@ def allocations(net_id):
|
|||||||
else:
|
else:
|
||||||
session['hide_dhcp'] = False
|
session['hide_dhcp'] = False
|
||||||
return redirect(url_for('network.allocations',net_id=net_id))
|
return redirect(url_for('network.allocations',net_id=net_id))
|
||||||
|
print(session['hide_dhcp'])
|
||||||
# PAGINATION MODE
|
# PAGINATION MODE
|
||||||
if current_user.ui_lmode == False:
|
if current_user.ui_lmode == False:
|
||||||
active_page = request.args.get('page', type=int)
|
active_page = request.args.get('page', type=int)
|
||||||
@@ -135,8 +136,7 @@ def allocation_edit_modal(net_id, ipv4):
|
|||||||
|
|
||||||
form = ChangeAllocationForm()
|
form = ChangeAllocationForm()
|
||||||
if form.validate_on_submit() and request.method == 'POST':
|
if form.validate_on_submit() and request.method == 'POST':
|
||||||
db_alloc.hostname = str(form.shortname.data)
|
db_alloc.hostname = str(form.hostname.data)
|
||||||
db_alloc.hostname_full = str(form.fqdn.data)
|
|
||||||
db_alloc.description = str(form.description.data)
|
db_alloc.description = str(form.description.data)
|
||||||
db_alloc.is_used = True
|
db_alloc.is_used = True
|
||||||
# Special Allocation
|
# Special Allocation
|
||||||
@@ -145,7 +145,6 @@ def allocation_edit_modal(net_id, ipv4):
|
|||||||
db_alloc.is_dhcp = True
|
db_alloc.is_dhcp = True
|
||||||
db_alloc.is_gateway = False
|
db_alloc.is_gateway = False
|
||||||
db_alloc.hostname = None
|
db_alloc.hostname = None
|
||||||
db_alloc.hostname_full = None
|
|
||||||
db_alloc.description = "DHCP Allocation"
|
db_alloc.description = "DHCP Allocation"
|
||||||
elif int(form.is_special.data) == 2:
|
elif int(form.is_special.data) == 2:
|
||||||
# Gateway
|
# Gateway
|
||||||
@@ -173,9 +172,7 @@ def allocation_edit_modal(net_id, ipv4):
|
|||||||
if old_page == 0:
|
if old_page == 0:
|
||||||
old_page = 1
|
old_page = 1
|
||||||
|
|
||||||
form.shortname.default = db_alloc.hostname
|
form.hostname.default = db_alloc.hostname
|
||||||
form.fqdn.default = db_alloc.hostname_full
|
|
||||||
|
|
||||||
form.description.default = db_alloc.description
|
form.description.default = db_alloc.description
|
||||||
if db_alloc.is_dhcp:
|
if db_alloc.is_dhcp:
|
||||||
form.is_special.default = 1
|
form.is_special.default = 1
|
||||||
@@ -195,7 +192,6 @@ def allocation_delete(net_id,ipv4):
|
|||||||
db_alloc = Allocation.query.filter_by(net_id=net_id,ipv4=ipv4).first()
|
db_alloc = Allocation.query.filter_by(net_id=net_id,ipv4=ipv4).first()
|
||||||
db_alloc.is_used = False
|
db_alloc.is_used = False
|
||||||
db_alloc.hostname = None
|
db_alloc.hostname = None
|
||||||
db_alloc.hostname_full = None
|
|
||||||
db_alloc.description = None
|
db_alloc.description = None
|
||||||
db_alloc.is_dhcp = False
|
db_alloc.is_dhcp = False
|
||||||
db_alloc.is_gateway = False
|
db_alloc.is_gateway = False
|
||||||
|
|||||||
@@ -1,12 +0,0 @@
|
|||||||
@charset "UTF-8";/*!
|
|
||||||
* Bootswatch v5.3.8 (https://bootswatch.com)
|
|
||||||
* Theme: brite
|
|
||||||
* Copyright 2012-2025 Thomas Park
|
|
||||||
* Licensed under MIT
|
|
||||||
* Based on Bootstrap
|
|
||||||
*//*!
|
|
||||||
* Bootstrap v5.3.8 (https://getbootstrap.com/)
|
|
||||||
* Copyright 2011-2025 The Bootstrap Authors
|
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
||||||
*/:root,[data-bs-theme=light]{--bs-blue:#61bcff;--bs-indigo:#828df9;--bs-purple:#be82fa;--bs-pink:#ea4998;--bs-red:#f56565;--bs-orange:#fa984a;--bs-yellow:#ffc700;--bs-green:#68d391;--bs-teal:#2ed3be;--bs-cyan:#22d2ed;--bs-black:#000;--bs-white:#fff;--bs-gray:#868e96;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#868e96;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#a2e436;--bs-secondary:#fff;--bs-success:#68d391;--bs-info:#22d2ed;--bs-warning:#ffc700;--bs-danger:#f56565;--bs-light:#e9ecef;--bs-dark:#000;--bs-primary-rgb:162,228,54;--bs-secondary-rgb:255,255,255;--bs-success-rgb:104,211,145;--bs-info-rgb:34,210,237;--bs-warning-rgb:255,199,0;--bs-danger-rgb:245,101,101;--bs-light-rgb:233,236,239;--bs-dark-rgb:0,0,0;--bs-primary-text-emphasis:#415b16;--bs-secondary-text-emphasis:#666666;--bs-success-text-emphasis:#2a543a;--bs-info-text-emphasis:#0e545f;--bs-warning-text-emphasis:#665000;--bs-danger-text-emphasis:#622828;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#ecfad7;--bs-secondary-bg-subtle:white;--bs-success-bg-subtle:#e1f6e9;--bs-info-bg-subtle:#d3f6fb;--bs-warning-bg-subtle:#fff4cc;--bs-danger-bg-subtle:#fde0e0;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#daf4af;--bs-secondary-border-subtle:white;--bs-success-border-subtle:#c3edd3;--bs-info-border-subtle:#a7edf8;--bs-warning-border-subtle:#ffe999;--bs-danger-border-subtle:#fbc1c1;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:0.875rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#000;--bs-link-color-rgb:0,0,0;--bs-link-decoration:underline;--bs-link-hover-color:black;--bs-link-hover-color-rgb:0,0,0;--bs-code-color:#ea4998;--bs-highlight-color:#212529;--bs-highlight-bg:#fff4cc;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:1px;--bs-focus-ring-opacity:1;--bs-focus-ring-color:#000;--bs-form-valid-color:#68d391;--bs-form-valid-border-color:#68d391;--bs-form-invalid-color:#f56565;--bs-form-invalid-border-color:#f56565}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#c7ef86;--bs-secondary-text-emphasis:white;--bs-success-text-emphasis:#a4e5bd;--bs-info-text-emphasis:#7ae4f4;--bs-warning-text-emphasis:#ffdd66;--bs-danger-text-emphasis:#f9a3a3;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#202e0b;--bs-secondary-bg-subtle:#333333;--bs-success-bg-subtle:#152a1d;--bs-info-bg-subtle:#072a2f;--bs-warning-bg-subtle:#332800;--bs-danger-bg-subtle:#311414;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#618920;--bs-secondary-border-subtle:#999999;--bs-success-border-subtle:#3e7f57;--bs-info-border-subtle:#147e8e;--bs-warning-border-subtle:#997700;--bs-danger-border-subtle:#933d3d;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#c7ef86;--bs-link-hover-colorLine truncated
|
|
||||||
/*# sourceMappingURL=bootstrap.min.css.map */
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
@charset "UTF-8";/*!
|
|
||||||
* Bootswatch v5.3.8 (https://bootswatch.com)
|
|
||||||
* Theme: cerulean
|
|
||||||
* Copyright 2012-2025 Thomas Park
|
|
||||||
* Licensed under MIT
|
|
||||||
* Based on Bootstrap
|
|
||||||
*//*!
|
|
||||||
* Bootstrap v5.3.8 (https://getbootstrap.com/)
|
|
||||||
* Copyright 2011-2025 The Bootstrap Authors
|
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
||||||
*/:root,[data-bs-theme=light]{--bs-blue:#033c73;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#e83e8c;--bs-red:#c71c22;--bs-orange:#fd7e14;--bs-yellow:#dd5600;--bs-green:#73a839;--bs-teal:#20c997;--bs-cyan:#2fa4e7;--bs-black:#000;--bs-white:#fff;--bs-gray:#868e96;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#868e96;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#2fa4e7;--bs-secondary:#e9ecef;--bs-success:#73a839;--bs-info:#033c73;--bs-warning:#dd5600;--bs-danger:#c71c22;--bs-light:#f8f9fa;--bs-dark:#343a40;--bs-primary-rgb:47,164,231;--bs-secondary-rgb:233,236,239;--bs-success-rgb:115,168,57;--bs-info-rgb:3,60,115;--bs-warning-rgb:221,86,0;--bs-danger-rgb:199,28,34;--bs-light-rgb:248,249,250;--bs-dark-rgb:52,58,64;--bs-primary-text-emphasis:#13425c;--bs-secondary-text-emphasis:#5d5e60;--bs-success-text-emphasis:#2e4317;--bs-info-text-emphasis:#01182e;--bs-warning-text-emphasis:#582200;--bs-danger-text-emphasis:#500b0e;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#d5edfa;--bs-secondary-bg-subtle:#fbfbfc;--bs-success-bg-subtle:#e3eed7;--bs-info-bg-subtle:#cdd8e3;--bs-warning-bg-subtle:#f8ddcc;--bs-danger-bg-subtle:#f4d2d3;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#acdbf5;--bs-secondary-border-subtle:#f6f7f9;--bs-success-border-subtle:#c7dcb0;--bs-info-border-subtle:#9ab1c7;--bs-warning-border-subtle:#f1bb99;--bs-danger-border-subtle:#e9a4a7;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#495057;--bs-body-color-rgb:73,80,87;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(73, 80, 87, 0.75);--bs-secondary-color-rgb:73,80,87;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(73, 80, 87, 0.5);--bs-tertiary-color-rgb:73,80,87;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:#2fa4e7;--bs-link-color:#2fa4e7;--bs-link-color-rgb:47,164,231;--bs-link-decoration:underline;--bs-link-hover-color:#2683b9;--bs-link-hover-color-rgb:38,131,185;--bs-code-color:#e83e8c;--bs-highlight-color:#495057;--bs-highlight-bg:#f8ddcc;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(47, 164, 231, 0.25);--bs-form-valid-color:#73a839;--bs-form-valid-border-color:#73a839;--bs-form-invalid-color:#c71c22;--bs-form-invalid-border-color:#c71c22}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#82c8f1;--bs-secondary-text-emphasis:#f2f4f5;--bs-success-text-emphasis:#abcb88;--bs-info-text-emphasis:#688aab;--bs-warning-text-emphasis:#eb9a66;--bs-danger-text-emphasis:#dd777a;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#09212e;--bs-secondary-bg-subtle:#2f2f30;--bs-success-bg-subtle:#17220b;--bs-info-bg-subtle:#010c17;--bs-warning-bg-subtle:#2c1100;--bs-danger-bg-subtle:#280607;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#1c628b;--bs-secondary-border-subtle:#8c8e8f;--bs-success-border-subtle:#456522;--bs-info-border-subtle:#022445;--bs-warning-border-subtle:#853400;--bs-danger-border-subtle:#771114;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inheriLine truncated
|
|
||||||
/*# sourceMappingURL=bootstrap.min.css.map */
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
@charset "UTF-8";/*!
|
|
||||||
* Bootswatch v5.3.8 (https://bootswatch.com)
|
|
||||||
* Theme: litera
|
|
||||||
* Copyright 2012-2025 Thomas Park
|
|
||||||
* Licensed under MIT
|
|
||||||
* Based on Bootstrap
|
|
||||||
*//*!
|
|
||||||
* Bootstrap v5.3.8 (https://getbootstrap.com/)
|
|
||||||
* Copyright 2011-2025 The Bootstrap Authors
|
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
||||||
*/:root,[data-bs-theme=light]{--bs-blue:#4582ec;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#e83e8c;--bs-red:#d9534f;--bs-orange:#fd7e14;--bs-yellow:#f0ad4e;--bs-green:#02b875;--bs-teal:#20c997;--bs-cyan:#17a2b8;--bs-black:#000;--bs-white:#fff;--bs-gray:#868e96;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#ddd;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#868e96;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#4582ec;--bs-secondary:#adb5bd;--bs-success:#02b875;--bs-info:#17a2b8;--bs-warning:#f0ad4e;--bs-danger:#d9534f;--bs-light:#f8f9fa;--bs-dark:#343a40;--bs-primary-rgb:69,130,236;--bs-secondary-rgb:173,181,189;--bs-success-rgb:2,184,117;--bs-info-rgb:23,162,184;--bs-warning-rgb:240,173,78;--bs-danger-rgb:217,83,79;--bs-light-rgb:248,249,250;--bs-dark-rgb:52,58,64;--bs-primary-text-emphasis:#1c345e;--bs-secondary-text-emphasis:#45484c;--bs-success-text-emphasis:#014a2f;--bs-info-text-emphasis:#09414a;--bs-warning-text-emphasis:#60451f;--bs-danger-text-emphasis:#572120;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#dae6fb;--bs-secondary-bg-subtle:#eff0f2;--bs-success-bg-subtle:#ccf1e3;--bs-info-bg-subtle:#d1ecf1;--bs-warning-bg-subtle:#fcefdc;--bs-danger-bg-subtle:#f7dddc;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#b5cdf7;--bs-secondary-border-subtle:#dee1e5;--bs-success-border-subtle:#9ae3c8;--bs-info-border-subtle:#a2dae3;--bs-warning-border-subtle:#f9deb8;--bs-danger-border-subtle:#f0bab9;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1.1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#343a40;--bs-body-color-rgb:52,58,64;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(52, 58, 64, 0.75);--bs-secondary-color-rgb:52,58,64;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(52, 58, 64, 0.5);--bs-tertiary-color-rgb:52,58,64;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#4582ec;--bs-link-color-rgb:69,130,236;--bs-link-decoration:underline;--bs-link-hover-color:#3768bd;--bs-link-hover-color-rgb:55,104,189;--bs-code-color:#e83e8c;--bs-highlight-color:#343a40;--bs-highlight-bg:#fcefdc;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#ddd;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(69, 130, 236, 0.25);--bs-form-valid-color:#02b875;--bs-form-valid-border-color:#02b875;--bs-form-invalid-color:#d9534f;--bs-form-invalid-border-color:#d9534f}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#ddd;--bs-body-color-rgb:221,221,221;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(221, 221, 221, 0.75);--bs-secondary-color-rgb:221,221,221;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(221, 221, 221, 0.5);--bs-tertiary-color-rgb:221,221,221;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#8fb4f4;--bs-secondary-text-emphasis:#ced3d7;--bs-success-text-emphasis:#67d4ac;--bs-info-text-emphasis:#74c7d4;--bs-warning-text-emphasis:#f6ce95;--bs-danger-text-emphasis:#e89895;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#ddd;--bs-primary-bg-subtle:#0e1a2f;--bs-secondary-bg-subtle:#232426;--bs-success-bg-subtle:#002517;--bs-info-bg-subtle:#052025;--bs-warning-bg-subtle:#302310;--bs-danger-bg-subtle:#2b1110;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#294e8e;--bs-secondary-border-subtle:#686d71;--bs-success-border-subtle:#016e46;--bs-info-border-subtle:#0e616e;--bs-warning-border-subtle:#90682f;--bs-danger-border-subtle:#82322f;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-coloLine truncated
|
|
||||||
/*# sourceMappingURL=bootstrap.min.css.map */
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
@charset "UTF-8";/*!
|
|
||||||
* Bootswatch v5.3.8 (https://bootswatch.com)
|
|
||||||
* Theme: materia
|
|
||||||
* Copyright 2012-2025 Thomas Park
|
|
||||||
* Licensed under MIT
|
|
||||||
* Based on Bootstrap
|
|
||||||
*//*!
|
|
||||||
* Bootstrap v5.3.8 (https://getbootstrap.com/)
|
|
||||||
* Copyright 2011-2025 The Bootstrap Authors
|
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
||||||
*/@import url(https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap);:root,[data-bs-theme=light]{--bs-blue:#2196f3;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#e83e8c;--bs-red:#e51c23;--bs-orange:#fd7e14;--bs-yellow:#ff9800;--bs-green:#4caf50;--bs-teal:#20c997;--bs-cyan:#9c27b0;--bs-black:#000;--bs-white:#fff;--bs-gray:#666;--bs-gray-dark:#222;--bs-gray-100:#f8f9fa;--bs-gray-200:#eee;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#bbb;--bs-gray-600:#666;--bs-gray-700:#444;--bs-gray-800:#222;--bs-gray-900:#212121;--bs-primary:#2196f3;--bs-secondary:#fff;--bs-success:#4caf50;--bs-info:#9c27b0;--bs-warning:#ff9800;--bs-danger:#e51c23;--bs-light:#f8f9fa;--bs-dark:#222;--bs-primary-rgb:33,150,243;--bs-secondary-rgb:255,255,255;--bs-success-rgb:76,175,80;--bs-info-rgb:156,39,176;--bs-warning-rgb:255,152,0;--bs-danger-rgb:229,28,35;--bs-light-rgb:248,249,250;--bs-dark-rgb:34,34,34;--bs-primary-text-emphasis:#0d3c61;--bs-secondary-text-emphasis:#666666;--bs-success-text-emphasis:#1e4620;--bs-info-text-emphasis:#3e1046;--bs-warning-text-emphasis:#663d00;--bs-danger-text-emphasis:#5c0b0e;--bs-light-text-emphasis:#444;--bs-dark-text-emphasis:#444;--bs-primary-bg-subtle:#d3eafd;--bs-secondary-bg-subtle:white;--bs-success-bg-subtle:#dbefdc;--bs-info-bg-subtle:#ebd4ef;--bs-warning-bg-subtle:#ffeacc;--bs-danger-bg-subtle:#fad2d3;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#a6d5fa;--bs-secondary-border-subtle:white;--bs-success-border-subtle:#b7dfb9;--bs-info-border-subtle:#d7a9df;--bs-warning-border-subtle:#ffd699;--bs-danger-border-subtle:#f5a4a7;--bs-light-border-subtle:#eee;--bs-dark-border-subtle:#bbb;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:Roboto,-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#444;--bs-body-color-rgb:68,68,68;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(68, 68, 68, 0.75);--bs-secondary-color-rgb:68,68,68;--bs-secondary-bg:#eee;--bs-secondary-bg-rgb:238,238,238;--bs-tertiary-color:rgba(68, 68, 68, 0.5);--bs-tertiary-color-rgb:68,68,68;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#2196f3;--bs-link-color-rgb:33,150,243;--bs-link-decoration:underline;--bs-link-hover-color:#1a78c2;--bs-link-hover-color-rgb:26,120,194;--bs-code-color:#e83e8c;--bs-highlight-color:#444;--bs-highlight-bg:#ffeacc;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(33, 150, 243, 0.25);--bs-form-valid-color:#4caf50;--bs-form-valid-border-color:#4caf50;--bs-form-invalid-color:#e51c23;--bs-form-invalid-border-color:#e51c23}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212121;--bs-body-bg-rgb:33,33,33;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#222;--bs-secondary-bg-rgb:34,34,34;--bs-tertiary-color:rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#222222;--bs-tertiary-bg-rgb:34,34,34;--bs-primary-text-emphasis:#7ac0f8;--bs-secondary-text-emphasis:white;--bs-success-text-emphasis:#94cf96;--bs-info-text-emphasis:#c47dd0;--bs-warning-text-emphasis:#ffc166;--bs-danger-text-emphasis:#ef777b;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#071e31;--bs-secondary-bg-subtle:#333333;--bs-success-bg-subtle:#0f2310;--bs-info-bg-subtle:#1f0823;--bs-warning-bg-subtle:#331e00;--bs-danger-bg-subtle:#2e0607;--bs-light-bg-subtle:#222;--bs-dark-bg-subtle:#111111;--bs-primary-border-subtle:#145a92;--bs-secondary-border-subtle:#999999;--bs-success-border-subtle:#2e6930;--bs-info-border-subtle:#5e176a;--bs-warning-border-subtle:#995b00;--bs-danger-border-subtle:#891115;--bs-light-border-subtle:#444;--bs-dark-border-subtle:#222;--bs-heading-color:inherit;--bs-link-color:#7ac0f8;--bs-link-hover-color:#95cdf9;--bs-linLine truncated
|
|
||||||
/*# sourceMappingURL=bootstrap.min.css.map */
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
@charset "UTF-8";/*!
|
|
||||||
* Bootswatch v5.3.8 (https://bootswatch.com)
|
|
||||||
* Theme: spacelab
|
|
||||||
* Copyright 2012-2025 Thomas Park
|
|
||||||
* Licensed under MIT
|
|
||||||
* Based on Bootstrap
|
|
||||||
*//*!
|
|
||||||
* Bootstrap v5.3.8 (https://getbootstrap.com/)
|
|
||||||
* Copyright 2011-2025 The Bootstrap Authors
|
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
||||||
*/@import url(https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,400;0,700;1,400;1,700&display=swap);:root,[data-bs-theme=light]{--bs-blue:#446e9b;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#e83e8c;--bs-red:#cd0200;--bs-orange:#fd7e14;--bs-yellow:#d47500;--bs-green:#3cb521;--bs-teal:#20c997;--bs-cyan:#3399f3;--bs-black:#000;--bs-white:#fff;--bs-gray:#777;--bs-gray-dark:#333;--bs-gray-100:#f8f9fa;--bs-gray-200:#eee;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#999;--bs-gray-600:#777;--bs-gray-700:#495057;--bs-gray-800:#333;--bs-gray-900:#2d2d2d;--bs-primary:#446e9b;--bs-secondary:#999;--bs-success:#3cb521;--bs-info:#3399f3;--bs-warning:#d47500;--bs-danger:#cd0200;--bs-light:#eee;--bs-dark:#333;--bs-primary-rgb:68,110,155;--bs-secondary-rgb:153,153,153;--bs-success-rgb:60,181,33;--bs-info-rgb:51,153,243;--bs-warning-rgb:212,117,0;--bs-danger-rgb:205,2,0;--bs-light-rgb:238,238,238;--bs-dark-rgb:51,51,51;--bs-primary-text-emphasis:#1b2c3e;--bs-secondary-text-emphasis:#3d3d3d;--bs-success-text-emphasis:#18480d;--bs-info-text-emphasis:#143d61;--bs-warning-text-emphasis:#552f00;--bs-danger-text-emphasis:#520100;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#dae2eb;--bs-secondary-bg-subtle:#ebebeb;--bs-success-bg-subtle:#d8f0d3;--bs-info-bg-subtle:#d6ebfd;--bs-warning-bg-subtle:#f6e3cc;--bs-danger-bg-subtle:#f5cccc;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#b4c5d7;--bs-secondary-border-subtle:#d6d6d6;--bs-success-border-subtle:#b1e1a6;--bs-info-border-subtle:#add6fa;--bs-warning-border-subtle:#eec899;--bs-danger-border-subtle:#eb9a99;--bs-light-border-subtle:#eee;--bs-dark-border-subtle:#999;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:"Open Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#777;--bs-body-color-rgb:119,119,119;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(119, 119, 119, 0.75);--bs-secondary-color-rgb:119,119,119;--bs-secondary-bg:#eee;--bs-secondary-bg-rgb:238,238,238;--bs-tertiary-color:rgba(119, 119, 119, 0.5);--bs-tertiary-color-rgb:119,119,119;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:#2d2d2d;--bs-link-color:#3399f3;--bs-link-color-rgb:51,153,243;--bs-link-decoration:underline;--bs-link-hover-color:#297ac2;--bs-link-hover-color-rgb:41,122,194;--bs-code-color:#e83e8c;--bs-highlight-color:#777;--bs-highlight-bg:#f6e3cc;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(68, 110, 155, 0.25);--bs-form-valid-color:#3cb521;--bs-form-valid-border-color:#3cb521;--bs-form-invalid-color:#cd0200;--bs-form-invalid-border-color:#cd0200}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#2d2d2d;--bs-body-bg-rgb:45,45,45;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#333;--bs-secondary-bg-rgb:51,51,51;--bs-tertiary-color:rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#303030;--bs-tertiary-bg-rgb:48,48,48;--bs-primary-text-emphasis:#8fa8c3;--bs-secondary-text-emphasis:#c2c2c2;--bs-success-text-emphasis:#8ad37a;--bs-info-text-emphasis:#85c2f8;--bs-warning-text-emphasis:#e5ac66;--bs-danger-text-emphasis:#e16766;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#0e161f;--bs-secondary-bg-subtle:#1f1f1f;--bs-success-bg-subtle:#0c2407;--bs-info-bg-subtle:#0a1f31;--bs-warning-bg-subtle:#2a1700;--bs-danger-bg-subtle:#290000;--bs-light-bg-subtle:#333;--bs-dark-bg-subtle:#1a1a1a;--bs-primary-border-subtle:#29425d;--bs-secondary-border-subtle:#5c5c5c;--bs-success-border-subtle:#246d14;--bs-info-border-subtle:#1f5c92;--bs-warning-border-subtle:#7f4600;--bs-danger-border-subtle:#7b0100;--bs-light-border-subtle:#495057;--bs-daLine truncated
|
|
||||||
/*# sourceMappingURL=bootstrap.min.css.map */
|
|
||||||
Vendored
+7
-1
@@ -1,6 +1,12 @@
|
|||||||
@charset "UTF-8";/*!
|
@charset "UTF-8";/*!
|
||||||
|
* Bootswatch v5.3.8 (https://bootswatch.com)
|
||||||
|
* Theme: cerulean
|
||||||
|
* Copyright 2012-2025 Thomas Park
|
||||||
|
* Licensed under MIT
|
||||||
|
* Based on Bootstrap
|
||||||
|
*//*!
|
||||||
* Bootstrap v5.3.8 (https://getbootstrap.com/)
|
* Bootstrap v5.3.8 (https://getbootstrap.com/)
|
||||||
* Copyright 2011-2025 The Bootstrap Authors
|
* Copyright 2011-2025 The Bootstrap Authors
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||||
*/:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(13, 110, 253, 0.25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherLine truncated
|
*/:root,[data-bs-theme=light]{--bs-blue:#033c73;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#e83e8c;--bs-red:#c71c22;--bs-orange:#fd7e14;--bs-yellow:#dd5600;--bs-green:#73a839;--bs-teal:#20c997;--bs-cyan:#2fa4e7;--bs-black:#000;--bs-white:#fff;--bs-gray:#868e96;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#868e96;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#2fa4e7;--bs-secondary:#e9ecef;--bs-success:#73a839;--bs-info:#033c73;--bs-warning:#dd5600;--bs-danger:#c71c22;--bs-light:#f8f9fa;--bs-dark:#343a40;--bs-primary-rgb:47,164,231;--bs-secondary-rgb:233,236,239;--bs-success-rgb:115,168,57;--bs-info-rgb:3,60,115;--bs-warning-rgb:221,86,0;--bs-danger-rgb:199,28,34;--bs-light-rgb:248,249,250;--bs-dark-rgb:52,58,64;--bs-primary-text-emphasis:#13425c;--bs-secondary-text-emphasis:#5d5e60;--bs-success-text-emphasis:#2e4317;--bs-info-text-emphasis:#01182e;--bs-warning-text-emphasis:#582200;--bs-danger-text-emphasis:#500b0e;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#d5edfa;--bs-secondary-bg-subtle:#fbfbfc;--bs-success-bg-subtle:#e3eed7;--bs-info-bg-subtle:#cdd8e3;--bs-warning-bg-subtle:#f8ddcc;--bs-danger-bg-subtle:#f4d2d3;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#acdbf5;--bs-secondary-border-subtle:#f6f7f9;--bs-success-border-subtle:#c7dcb0;--bs-info-border-subtle:#9ab1c7;--bs-warning-border-subtle:#f1bb99;--bs-danger-border-subtle:#e9a4a7;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#495057;--bs-body-color-rgb:73,80,87;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(73, 80, 87, 0.75);--bs-secondary-color-rgb:73,80,87;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(73, 80, 87, 0.5);--bs-tertiary-color-rgb:73,80,87;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:#2fa4e7;--bs-link-color:#2fa4e7;--bs-link-color-rgb:47,164,231;--bs-link-decoration:underline;--bs-link-hover-color:#2683b9;--bs-link-hover-color-rgb:38,131,185;--bs-code-color:#e83e8c;--bs-highlight-color:#495057;--bs-highlight-bg:#f8ddcc;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(47, 164, 231, 0.25);--bs-form-valid-color:#73a839;--bs-form-valid-border-color:#73a839;--bs-form-invalid-color:#c71c22;--bs-form-invalid-border-color:#c71c22}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#82c8f1;--bs-secondary-text-emphasis:#f2f4f5;--bs-success-text-emphasis:#abcb88;--bs-info-text-emphasis:#688aab;--bs-warning-text-emphasis:#eb9a66;--bs-danger-text-emphasis:#dd777a;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#09212e;--bs-secondary-bg-subtle:#2f2f30;--bs-success-bg-subtle:#17220b;--bs-info-bg-subtle:#010c17;--bs-warning-bg-subtle:#2c1100;--bs-danger-bg-subtle:#280607;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#1c628b;--bs-secondary-border-subtle:#8c8e8f;--bs-success-border-subtle:#456522;--bs-info-border-subtle:#022445;--bs-warning-border-subtle:#853400;--bs-danger-border-subtle:#771114;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inheriLine truncated
|
||||||
/*# sourceMappingURL=bootstrap.min.css.map */
|
/*# sourceMappingURL=bootstrap.min.css.map */
|
||||||
@@ -10,17 +10,4 @@ pre {
|
|||||||
|
|
||||||
html {
|
html {
|
||||||
scroll-behavior: auto !important;
|
scroll-behavior: auto !important;
|
||||||
}
|
|
||||||
|
|
||||||
html, body {
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
body {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
}
|
|
||||||
|
|
||||||
main {
|
|
||||||
flex: 1 0 auto;
|
|
||||||
}
|
}
|
||||||
Vendored
+1
-2
@@ -1,2 +1 @@
|
|||||||
// HTMX v4.0.0
|
var htmx=function(){"use strict";const Q={onLoad:null,process:null,on:null,off:null,trigger:null,ajax:null,find:null,findAll:null,closest:null,values:function(e,t){const n=dn(e,t||"post");return n.values},remove:null,addClass:null,removeClass:null,toggleClass:null,takeClass:null,swap:null,defineExtension:null,removeExtension:null,logAll:null,logNone:null,logger:null,config:{historyEnabled:true,historyCacheSize:10,refreshOnHistoryMiss:false,defaultSwapStyle:"innerHTML",defaultSwapDelay:0,defaultSettleDelay:20,includeIndicatorStyles:true,indicatorClass:"htmx-indicator",requestClass:"htmx-request",addedClass:"htmx-added",settlingClass:"htmx-settling",swappingClass:"htmx-swapping",allowEval:true,allowScriptTags:true,inlineScriptNonce:"",inlineStyleNonce:"",attributesToSettle:["class","style","width","height"],withCredentials:false,timeout:0,wsReconnectDelay:"full-jitter",wsBinaryType:"blob",disableSelector:"[hx-disable], [data-hx-disable]",scrollBehavior:"instant",defaultFocusScroll:false,getCacheBusterParam:false,globalViewTransitions:false,methodsThatUseUrlParams:["get","delete"],selfRequestsOnly:true,ignoreTitle:false,scrollIntoViewOnBoost:true,triggerSpecsCache:null,disableInheritance:false,responseHandling:[{code:"204",swap:false},{code:"[23]..",swap:true},{code:"[45]..",swap:false,error:true}],allowNestedOobSwaps:true,historyRestoreAsHxRequest:true,reportValidityOfForms:false},parseInterval:null,location:location,_:null,version:"2.0.8"};Q.onLoad=V;Q.process=Ft;Q.on=xe;Q.off=be;Q.trigger=ae;Q.ajax=Ln;Q.find=f;Q.findAll=x;Q.closest=g;Q.remove=_;Q.addClass=K;Q.removeClass=G;Q.toggleClass=W;Q.takeClass=Z;Q.swap=ze;Q.defineExtension=_n;Q.removeExtension=zn;Q.logAll=j;Q.logNone=$;Q.parseInterval=d;Q._=e;const n={addTriggerHandler:St,bodyContains:se,canAccessLocalStorage:X,findThisElement:Se,filterValues:yn,swap:ze,hasAttribute:s,getAttributeValue:a,getClosestAttributeValue:ne,getClosestMatch:q,getExpressionVars:Rn,getHeaders:mn,getInputValues:dn,getInternalData:oe,getSwapSpecification:bn,getTriggerSpecs:st,getTarget:Ee,makeFragment:D,mergeObjects:le,makeSettleInfo:Sn,oobSwap:Te,querySelectorExt:ue,settleImmediately:Yt,shouldCancel:ht,triggerEvent:ae,triggerErrorEvent:fe,withExtensions:Vt};const de=["get","post","put","delete","patch"];const R=de.map(function(e){return"[hx-"+e+"], [data-hx-"+e+"]"}).join(", ");function d(e){if(e==undefined){return undefined}let t=NaN;if(e.slice(-2)=="ms"){t=parseFloat(e.slice(0,-2))}else if(e.slice(-1)=="s"){t=parseFloat(e.slice(0,-1))*1e3}else if(e.slice(-1)=="m"){t=parseFloat(e.slice(0,-1))*1e3*60}else{t=parseFloat(e)}return isNaN(t)?undefined:t}function ee(e,t){return e instanceof Element&&e.getAttribute(t)}function s(e,t){return!!e.hasAttribute&&(e.hasAttribute(t)||e.hasAttribute("data-"+t))}function a(e,t){return ee(e,t)||ee(e,"data-"+t)}function u(e){const t=e.parentElement;if(!t&&e.parentNode instanceof ShadowRoot)return e.parentNode;return t}function te(){return document}function y(e,t){return e.getRootNode?e.getRootNode({composed:t}):te()}function q(e,t){while(e&&!t(e)){e=u(e)}return e||null}function o(e,t,n){const r=a(t,n);const o=a(t,"hx-disinherit");var i=a(t,"hx-inherit");if(e!==t){if(Q.config.disableInheritance){if(i&&(i==="*"||i.split(" ").indexOf(n)>=0)){return r}else{return null}}if(o&&(o==="*"||o.split(" ").indexOf(n)>=0)){return"unset"}}return r}function ne(t,n){let r=null;q(t,function(e){return!!(r=o(t,ce(e),n))});if(r!=="unset"){return r}}function h(e,t){return e instanceof Element&&e.matches(t)}function A(e){const t=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i;const n=t.exec(e);if(n){return n[1].toLowerCase()}else{return""}}function L(e){if("parseHTMLUnsafe"in Document){return Document.parseHTMLUnsafe(e)}const t=new DOMParser;return t.parseFromString(e,"text/html")}function N(e,t){while(t.childNodes.length>0){e.append(t.childNodes[0])}}function r(e){const t=te().createElement("script");ie(e.attributes,function(e){t.setAttribute(e.name,e.value)});t.textContent=e.textContent;t.async=false;if(Q.config.inlineScriptNonce){t.nonce=Q.config.inlineScriptNonce}return t}function i(e){return e.matches("script")&&(e.type==="text/javascript"||e.type==="module"||e.type==="")}function I(e){Array.from(e.querySelectorAll("script")).forEach(e=>{if(i(e)){const t=r(e);const n=e.parentNode;try{n.insertBefore(t,e)}catch(e){H(e)}finally{e.remove()}}})}function D(e){const t=e.replace(/<head(\s[^>]*)?>[\s\S]*?<\/head>/i,"");const n=A(t);let r;if(n==="html"){r=new DocumentFragment;const i=L(e);N(r,i.body);r.title=i.title}else if(n==="body"){r=new DocumentFragment;const i=L(t);N(r,i.body);r.title=i.title}else{const i=L('<body><template class="internal-htmx-wrapper">'+t+"</template></body>");r=i.querySelector("template").content;r.title=i.title;var o=r.querySelector("title");if(o&&o.parentNode===r){o.remove();r.title=o.innerText}}if(r){if(Q.config.allowScriptTags){I(r)}else{r.querySelectorAll("script").forEach(e=>e.remove())}}return r}function re(e){if(e){e()}}function t(e,t){return Object.protoLine truncated
|
||||||
var htmx=(()=>{const e={parse(t){if(!t)return{};if(t.startsWith("{"))return JSON.parse(t);let r=/(?:"([^"]+)"|'([^']+)'|([^\s,:]+))(?:\s*:\s*(?:"([^"]*)"|'([^']*)'|<((?:[^/]|\/(?!>))+)\/>|([^\s,]+)))?(?=\s|,|$)/g,i={};for(let s of t.matchAll(r)){let[,t,r,n,o,a,l,h]=s,c=t??r??n,u=(o??a??l??h??"true").trim();try{u=JSON.parse(u)}catch{}let d=n?.includes("."),f=d?c.split(".").reduceRight((e,t)=>({[t]:e}),u):{[c]:u};e.merge(f,i)}return i},split:e=>e.split(/,(?![^\[]*\])(?![^(]*\))(?![^<]*\/>)(?=(?:[^"']|"[^"]*"|'[^']*')*$)/),merge(t,r){"string"==typeof t&&(t=e.parse(t));for(let[i,s]of Object.entries(t)){if(["__proto__","constructor","prototype"].includes(i))continue;let t=s?.constructor===Object,n=r[i]?.constructor===Object;t&&n?e.merge(s,r[i]):r[i]=s}return r}};class t{#e=null;#t=[];admit(e,t,r){if(!this.#e)return this.#e={strategy:e,abort:r},"run";if("replace"===e||"abort"!==e&&"abort"===this.#e.strategy)return this.#t=[],this.#e.abort?.(),this.#e={strategy:e,abort:r},"run";if("queue all"===e)this.#t.push(t);else if("queue last"===e)this.#t=[t];else{if("abort"===e||"drop"===e||0!==this.#t.length)return"dropped";this.#t.push(t)}return"queued"}continue(){this.#e=null,this.#t.shift()?.()}abort(){this.#e?.abort?.()}}return new class{#r=e;#i=new Map;#s="";#n=new Set;_loc=window.location;#o;#a=Function;#l=Object.getPrototypeOf(async function(){}).constructor;#h={createHTML:e=>e,createScript:e=>e};#c;#u="a,form";#d=["get","post","put","patch","delete","query"];#f;#m;#p;#g;#x;constructor(){this.#b(),this.#y(),this.#c=this.#S("[hx-action],[hx-get],[hx-post],[hx-put],[hx-patch],[hx-delete],[hx-query]"),this.#f=(new XPathEvaluator).createExpression(`.//*[@*[${this.#v("hx-on").map(e=>`starts-with(name(), "${e}")`).join(" or ")}]]`),this.#o={HCON:e,attributeValue:this.#E.bind(this),parseTriggerSpecs:this.#w.bind(this),determineMethodAndAction:this.#A.bind(this),createRequestContext:this.#T.bind(this),collectFormData:this.#C.bind(this),getAttributeObject:this.#q.bind(this),insertContent:this.#N.bind(this),morph:this.#I.bind(this),isSoftMatch:this.#M.bind(this),initSecurity:(e,t,r)=>{e&&(this.#h=e),t&&(this.#a=t),r&&(this.#l=r)},onTrigger:this.#O.bind(this),htmxProp:this.#H.bind(this),triggerHtmxEvent:this.#L.bind(this),executeJavaScript:this.#k.bind(this)};let t=()=>this.initialize();"loading"===document.readyState?document.addEventListener("DOMContentLoaded",t):setTimeout(t)}#b(){this.version="4.0.0",this.config={logAll:!1,prefix:"data-hx-",transitions:!1,history:!0,mode:"same-origin",defaultSwap:"innerHTML",defaultFocusScroll:!1,indicatorClass:"htmx-indicator",requestClass:"htmx-request",includeIndicatorCSS:!0,defaultTimeout:6e4,extensions:"",morphIgnore:["data-htmx-powered"],morphSkip:"[hx-morph-skip]",morphSkipChildren:"[hx-morph-skip-children]",morphScanLimit:10,noSwap:[204,304],implicitInheritance:!1,defaultSettleDelay:1,allowEmptySwapAfterOOB:!1};let t=document.querySelector('meta[name="htmx-config"]');t&&e.merge(t.content,this.config),this.#s=this.config.extensions}#y(){if(!1!==this.config.includeIndicatorCSS){let e=this.config.indicatorClass,t=this.config.requestClass,r=new CSSStyleSheet;r.replaceSync(`.${e}{opacity:0;visibility: hidden} .${t} .${e}, .${t}.${e}{opacity:1;visibility: visible;transition: opacity 200ms ease-in}`),document.adoptedStyleSheets=[...document.adoptedStyleSheets,r]}}registerExtension(e,t){return!(this.#s&&!this.#s.split(/,\s*/).includes(e))&&(!this.#n.has(e)&&(this.#n.add(e),t.init&&t.init(this.#o),void Object.entries(t).forEach(([e,t])=>{this.#i.get(e)?.push(t)||this.#i.set(e,[t])})))}#V(e){let t=this.config.prefix;return!e.closest||null!=e.closest("[hx-ignore]")||t&&null!=e.closest(`[${t}ignore]`)}#P(e,t){let r=this.config.prefix;return e.getAttribute(t)??(r?e.getAttribute(t.replace("hx-",r)):null)}#R(e,t){let r=this.config.prefix&&t.replace("hx-",this.config.prefix);return e.hasAttribute(t)?t:r&&e.hasAttribute(r)?r:null}#S(e){return this.#v(e).join(",")}#v(e){let t=[e];return this.config.prefix&&t.push(e.replaceAll("hx-",this.config.prefix)),t}#j(e,t){let r=[...e.querySelectorAll?.(t)??[]];return e.matches?.(t)&&r.unshift(e),r}#B(e){return"before"===e?"beforebegin":"after"===e?"afterend":"prepend"===e?"afterbegin":"append"===e?"beforeend":e}#F(e,t){let r=[];return this.#E(e,t,void 0,(e,t)=>{e?.split(/\s*[,:]\s*/).includes("this")&&r.push(t)}),r}#E(e,t,r,i){t=this.#z(t);let s=this.#z(":inherited"),n=this.#z(":append"),o=this.#P(e,t)??this.#P(e,t+s);if(null!=o)return i?i(o,e):o;let a=CSS.escape(this.config.implicitInheritance?t:t+s),l=CSS.escape(t+s+n),h=this.#S(`[${a}],[${l}]`),c=this.#R(e,t+n)??this.#R(e,t+s+n);if(c){let r=e.getAttribute(c),s=e.parentNode?.closest?.(h);if(i&&i(r,e),s){let e=this.#E(s,t,void 0,i);return e?(e+","+r).replace(/[{}]/g,""):r}return r}let u=e.parentNode?.closest?.(h);return u?(o=this.#E(u,t,void 0,i),!i&&o&&this.config.implicitInheritance&&this.#_(e,"htmx:after:implicitInheritance",{elt:e,name:t,parent:u}),o):r}#w(t){return e.split(t).flatMap(t=>{let[,r,i]=t.maLine truncated
|
|
||||||
@@ -112,4 +112,5 @@
|
|||||||
<div class="modal-content"></div>
|
<div class="modal-content"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
{% include 'panel/_footer.html' %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
@@ -13,20 +13,10 @@
|
|||||||
<link rel="stylesheet" href="{{ url_for('static',filename='css/custom.css') }}"/>
|
<link rel="stylesheet" href="{{ url_for('static',filename='css/custom.css') }}"/>
|
||||||
{% if current_user.ui_theme == 'zephyr' %}
|
{% if current_user.ui_theme == 'zephyr' %}
|
||||||
<link rel="stylesheet" href="{{ url_for('static',filename='css/Bootstrap/zephyr.css') }}"/>
|
<link rel="stylesheet" href="{{ url_for('static',filename='css/Bootstrap/zephyr.css') }}"/>
|
||||||
{% elif current_user.ui_theme == 'spacelab' %}
|
|
||||||
<link rel="stylesheet" href="{{ url_for('static',filename='css/Bootstrap/spacelab.css') }}"/>
|
|
||||||
{% elif current_user.ui_theme == 'lumen' %}
|
{% elif current_user.ui_theme == 'lumen' %}
|
||||||
<link rel="stylesheet" href="{{ url_for('static',filename='css/Bootstrap/lumen.css') }}"/>
|
<link rel="stylesheet" href="{{ url_for('static',filename='css/Bootstrap/lumen.css') }}"/>
|
||||||
{% elif current_user.ui_theme == 'simplex' %}
|
{% elif current_user.ui_theme == 'simplex' %}
|
||||||
<link rel="stylesheet" href="{{ url_for('static',filename='css/Bootstrap/simplex.css') }}"/>
|
<link rel="stylesheet" href="{{ url_for('static',filename='css/Bootstrap/simplex.css') }}"/>
|
||||||
{% elif current_user.ui_theme == 'cerulean' %}
|
|
||||||
<link rel="stylesheet" href="{{ url_for('static',filename='css/Bootstrap/cerulean.css') }}"/>
|
|
||||||
{% elif current_user.ui_theme == 'brite' %}
|
|
||||||
<link rel="stylesheet" href="{{ url_for('static',filename='css/Bootstrap/brite.css') }}"/>
|
|
||||||
{% elif current_user.ui_theme == 'materia' %}
|
|
||||||
<link rel="stylesheet" href="{{ url_for('static',filename='css/Bootstrap/materia.css') }}"/>
|
|
||||||
{% elif current_user.ui_theme == 'litera' %}
|
|
||||||
<link rel="stylesheet" href="{{ url_for('static',filename='css/Bootstrap/litera.css') }}"/>
|
|
||||||
{% else %}
|
{% else %}
|
||||||
<link rel="stylesheet" href="{{ url_for('static',filename='css/bootstrap.min.css') }}"/>
|
<link rel="stylesheet" href="{{ url_for('static',filename='css/bootstrap.min.css') }}"/>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -34,7 +24,6 @@
|
|||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
{% block content %}{% endblock %}
|
{% block content %}{% endblock %}
|
||||||
{% include 'panel/_footer.html' %}
|
|
||||||
<!-- JAVASCRIPT -->
|
<!-- JAVASCRIPT -->
|
||||||
<script src="{{ url_for('static',filename='js/htmx.min.js') }}"></script>
|
<script src="{{ url_for('static',filename='js/htmx.min.js') }}"></script>
|
||||||
<script src="{{ url_for('static',filename='js/bootstrap.bundle.min.js') }}"></script>
|
<script src="{{ url_for('static',filename='js/bootstrap.bundle.min.js') }}"></script>
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
<footer class="footer mt-auto py-3" style="text-align: center;">Flask IPAM - {{app_version}}</footer>
|
<footer class="test-center" style="text-align: center;">Flask IPAM - {{app_version}}</footer>
|
||||||
@@ -37,14 +37,9 @@
|
|||||||
</button>
|
</button>
|
||||||
<ul class="dropdown-menu">
|
<ul class="dropdown-menu">
|
||||||
<li><a class="dropdown-item" href="{{ url_for('base.change_theme',name='default') }}">default</a></li>
|
<li><a class="dropdown-item" href="{{ url_for('base.change_theme',name='default') }}">default</a></li>
|
||||||
<li><a class="dropdown-item" href="{{ url_for('base.change_theme',name='spacelab') }}">Spacelab</a></li>
|
|
||||||
<li><a class="dropdown-item" href="{{ url_for('base.change_theme',name='zephyr') }}">Zephyr</a></li>
|
<li><a class="dropdown-item" href="{{ url_for('base.change_theme',name='zephyr') }}">Zephyr</a></li>
|
||||||
<li><a class="dropdown-item" href="{{ url_for('base.change_theme',name='simplex') }}">Simplex</a></li>
|
<li><a class="dropdown-item" href="{{ url_for('base.change_theme',name='simplex') }}">Simplex</a></li>
|
||||||
<li><a class="dropdown-item" href="{{ url_for('base.change_theme',name='lumen') }}">Lumen</a></li>
|
<li><a class="dropdown-item" href="{{ url_for('base.change_theme',name='lumen') }}">Lumen</a></li>
|
||||||
<li><a class="dropdown-item" href="{{ url_for('base.change_theme',name='cerulean') }}">Cerulean</a></li>
|
|
||||||
<li><a class="dropdown-item" href="{{ url_for('base.change_theme',name='brite') }}">Brite</a></li>
|
|
||||||
<li><a class="dropdown-item" href="{{ url_for('base.change_theme',name='materia') }}">Materia</a></li>
|
|
||||||
<li><a class="dropdown-item" href="{{ url_for('base.change_theme',name='litera') }}">Litera</a></li>
|
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<a class="btn btn-outline-warning btn-sm" type="submit" href="{{ url_for('auth.logout') }}">logout</a>
|
<a class="btn btn-outline-warning btn-sm" type="submit" href="{{ url_for('auth.logout') }}">logout</a>
|
||||||
|
|||||||
@@ -4,7 +4,6 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td id="{{allocation.ipv4}}"><b>{{allocation.ipv4}}</b></td>
|
<td id="{{allocation.ipv4}}"><b>{{allocation.ipv4}}</b></td>
|
||||||
<td>{{allocation.hostname}}</td>
|
<td>{{allocation.hostname}}</td>
|
||||||
<td>{{allocation.hostname_full}}</td>
|
|
||||||
<td>{{allocation.description}}</td>
|
<td>{{allocation.description}}</td>
|
||||||
<td>
|
<td>
|
||||||
{% if Inventory.query.filter_by(id=allocation.device_id).first() %}
|
{% if Inventory.query.filter_by(id=allocation.device_id).first() %}
|
||||||
@@ -22,7 +21,9 @@
|
|||||||
N/A
|
N/A
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</td>
|
</td>
|
||||||
<td>{% if allocation.is_dhcp %}<span class="badge text-bg-secondary" style="margin-right: 0.5rem;">DHCP</span>{% endif %}{% if allocation.is_gateway %}<span class="badge text-bg-primary" style="margin-right: 0.5rem;">GATEWAY</span>{% endif %}{% if allocation.is_decom %}<span class="badge text-bg-warning" style="margin-right: 0.5rem;">DECOM</span>{% endif %}</td>
|
<td>{{allocation.is_dhcp}}</td>
|
||||||
|
<td>{{allocation.is_gateway}}</td>
|
||||||
|
<td>{{allocation.is_decom}}</td>
|
||||||
{% if current_user.is_reado == False %}
|
{% if current_user.is_reado == False %}
|
||||||
<td>
|
<td>
|
||||||
{% if allocation.is_used %}
|
{% if allocation.is_used %}
|
||||||
|
|||||||
@@ -24,11 +24,12 @@
|
|||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="col">IPv4</th>
|
<th scope="col">IPv4</th>
|
||||||
<th scope="col">Shortname</th>
|
<th scope="col">Hostname</th>
|
||||||
<th scope="col">FQDN</th>
|
|
||||||
<th scope="col">Description</th>
|
<th scope="col">Description</th>
|
||||||
<th scope="col">Device</th>
|
<th scope="col">Device</th>
|
||||||
<th scope="col">TAG(s)</th>
|
<th scope="col">DHCP</th>
|
||||||
|
<th scope="col">GATEWAY</th>
|
||||||
|
<th scope="col">DECOM</th>
|
||||||
{% if current_user.is_reado == False %}<th scope="col">Actions</th>{% endif %}
|
{% if current_user.is_reado == False %}<th scope="col">Actions</th>{% endif %}
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
|
|||||||
@@ -51,6 +51,8 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col-2"></div>
|
<div class="col-2"></div>
|
||||||
</div>
|
</div>
|
||||||
|
<hr>
|
||||||
|
{% include 'panel/_footer.html' %}
|
||||||
</div>
|
</div>
|
||||||
<script src="{{ url_for('static',filename='js/chart.umd.js') }}"></script>
|
<script src="{{ url_for('static',filename='js/chart.umd.js') }}"></script>
|
||||||
<script>
|
<script>
|
||||||
|
|||||||
File renamed without changes.
Reference in new issue
Block a user