Compare commits

...

12 Commits

Author SHA1 Message Date
Aiirondev_dev 658d1e34b4 fix(ui): adjust padding and margins in login navbar for improved layout 2026-05-09 01:06:48 +02:00
Aiirondev_dev c4837bea8d Refactor code structure for improved readability and maintainability 2026-05-09 01:05:50 +02:00
Aiirondev_dev 857f1e7299 fix(ui): update logo dimensions and margins in login navbar for improved visibility 2026-05-09 00:54:52 +02:00
Aiirondev_dev 3458f9e8f3 fix(ui): adjust logo dimensions and margins in login navbar for improved visibility 2026-05-09 00:50:15 +02:00
Aiirondev_dev 4ad5b3e5a7 fix(ui): adjust logo dimensions and margins in login navbar for better visibility 2026-05-09 00:44:13 +02:00
Aiirondev_dev 1b1acff6b2 fix(ui): update logo styling in login navbar for improved appearance 2026-05-09 00:37:54 +02:00
Aiirondev_dev 5d44c15a4e fix(tenant-manager): use readlink -f for absolute canonical paths 2026-05-08 21:19:47 +02:00
Aiirondev_dev 8d29f2d925 fix(ui): adjust logo height in navigation bar for improved visibility 2026-05-08 21:14:28 +02:00
Aiirondev_dev 982efa9efe fix(tenant-manager): use absolute host paths for docker compose mount resolution 2026-05-08 21:13:44 +02:00
Aiirondev_dev 6079f5bc3e fix(tenant-manager): stop mounting config.json read-only 2026-05-08 20:55:52 +02:00
Aiirondev_dev 629ac13a25 fix(ui): increase logo height in navigation bar for better visibility 2026-05-08 20:51:16 +02:00
Aiirondev_dev 2b582c8700 fix(tenant-manager): mount config.json into helper container 2026-05-08 20:36:33 +02:00
5 changed files with 63 additions and 10 deletions
Binary file not shown.

Before

Width:  |  Height:  |  Size: 273 KiB

After

Width:  |  Height:  |  Size: 193 KiB

Binary file not shown.
+39 -1
View File
@@ -176,6 +176,11 @@
z-index: 1900;
}
#loginNavbar {
padding-top: 0;
padding-bottom: 0;
}
.navbar .container-fluid {
gap: 8px;
/* Ensure container respects safe areas on all sides */
@@ -183,6 +188,12 @@
padding-right: max(env(safe-area-inset-right, 0), 12px);
padding-bottom: env(safe-area-inset-bottom, 0);
}
#loginNavbar .container-fluid {
padding-top: 6px;
padding-bottom: 6px;
align-items: center;
}
.navbar-brand {
font-weight: bold;
@@ -192,6 +203,26 @@
flex-shrink: 0;
}
#loginNavbar .navbar-brand {
padding-right: 0;
}
#loginNavbar .navbar-brand::before {
content: none;
margin-right: 0;
}
#loginNavbar .invario-logo {
display: block;
height: 94px;
width: auto;
max-width: min(75vw, 460px);
object-fit: contain;
filter: none;
margin-top: 6px;
margin-bottom: 0;
}
.navbar-text.tenant-badge {
font-size: 0.82rem;
color: rgba(255,255,255,0.9);
@@ -337,6 +368,13 @@
font-size: 0.75rem;
padding: 0.4rem 0.5rem;
}
#loginNavbar .invario-logo {
height: 74px;
max-width: 80vw;
margin-top: 4px;
margin-bottom: 0;
}
}
.navbar.nav-compact .navbar-brand {
@@ -1269,7 +1307,7 @@
<nav class="navbar navbar-expand-lg navbar-dark" id="loginNavbar">
<div class="container-fluid">
<a class="navbar-brand py-0" href="{{ url_for('home') }}">
<img src="{{ url_for('static', filename='img/invario-logo.png') }}" alt="Invario" height="40" class="d-inline-block align-top" style="filter: drop-shadow(0px 0px 2px rgba(255,255,255,0.5));">
<img src="{{ url_for('static', filename='img/invario-logo.png') }}" alt="Invario" class="invario-logo">
</a>
<ul class="navbar-nav ms-auto mb-2 mb-lg-0">
<li class="nav-item">
+22 -8
View File
@@ -175,19 +175,33 @@ EOF
restart_app_container() {
local env_file="$PWD/.docker-build.env"
local compose_args=( -f "$PWD/docker-compose-multitenant.yml" )
local compose_args=()
# If HOST_WORKDIR is set (called from container), use absolute paths so docker daemon resolves them correctly
if [ -n "$HOST_WORKDIR" ]; then
compose_args+=( -f "$(readlink -f "$HOST_WORKDIR/docker-compose-multitenant.yml")" )
if [ -f "$HOST_WORKDIR/.docker-compose.runtime.override.yml" ]; then
compose_args+=( -f "$(readlink -f "$HOST_WORKDIR/.docker-compose.runtime.override.yml")" )
fi
if [ -f "$HOST_WORKDIR/.docker-build.env" ]; then
compose_args+=( --env-file "$(readlink -f "$HOST_WORKDIR/.docker-build.env")" )
fi
else
# Normal case: called directly from host
compose_args+=( -f "$PWD/docker-compose-multitenant.yml" )
if [ -f "$PWD/.docker-compose.runtime.override.yml" ]; then
compose_args+=( -f "$PWD/.docker-compose.runtime.override.yml" )
fi
if [ -f "$env_file" ]; then
compose_args+=( --env-file "$env_file" )
fi
fi
# Pass along COMPOSE_PROJECT_NAME if set so the internal docker-compose sees it
if [ -n "$COMPOSE_PROJECT_NAME" ]; then
compose_args=( -p "$COMPOSE_PROJECT_NAME" "${compose_args[@]}" )
fi
if [ -f "$PWD/.docker-compose.runtime.override.yml" ]; then
compose_args+=( -f "$PWD/.docker-compose.runtime.override.yml" )
fi
if [ -f "$env_file" ]; then
compose_args+=( --env-file "$env_file" )
fi
echo "Restarting app container to apply tenant configuration changes..."
docker compose "${compose_args[@]}" up -d --no-build --force-recreate app
}
+2 -1
View File
@@ -1,4 +1,5 @@
#!/bin/bash
# Wrapper to run tenant management fully containerized via docker-compose
PROJECT_NAME=${COMPOSE_PROJECT_NAME:-$(basename "$PWD" | tr '[:upper:]' '[:lower:]')}
docker compose -f docker-compose-multitenant.yml --profile tools run --rm -e COMPOSE_PROJECT_NAME="$PROJECT_NAME" tenant-manager "$@"
# Pass the absolute working directory to the container so docker compose can resolve paths correctly
docker compose -f docker-compose-multitenant.yml --profile tools run --rm -e COMPOSE_PROJECT_NAME="$PROJECT_NAME" -e HOST_WORKDIR="$PWD" tenant-manager "$@"