diff --git a/.claude/JOURNAL.md b/.claude/JOURNAL.md index 310b208..3df15c2 100644 --- a/.claude/JOURNAL.md +++ b/.claude/JOURNAL.md @@ -114,3 +114,6 @@ This journal tracks substantive work on documents, diagrams, and documentation c 37. **Task - UI refinements and icon cleanup**: Admin panel styling and password toggle icon improvements
**Result**: Aligned admin action buttons to right (td.actions text-align), added transparent background for dark mode .server-dashboard-container, made table hover nearly invisible (--bs-table-hover-bg: rgba 0.003), replaced eye emoji with Font Awesome icons (fa-eye/fa-eye-slash) in all 4 password templates (signup, login, change-password, change-password-admin) - both button HTML and JavaScript toggle + +38. **Task - Table hover and README update**: Fixed Bootstrap table-hover styling and documented mnemonic passwords feature
+ **Result**: Added --bs-table-accent-bg override for Bootstrap 5 table-hover (two-step variable process), reduced Shutdown Hub button margin from 30px to 5px, removed color override from dark mode .server-dashboard-container, updated README Features with admin user creation and mnemonic passwords (e.g., storm-apple-ocean) diff --git a/README.md b/README.md index 62e3c13..b640bbb 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,7 @@ Multi-user JupyterHub 4 deployment platform with data science stack, GPU support - **Docker Access Control**: Group-based access via `docker-sock` (container orchestration) and `docker-privileged` (full container privileges) - **Isolated Environments**: Each user gets dedicated JupyterLab container with persistent volumes via DockerSpawner - **Native Authentication**: Built-in user management with NativeAuthenticator supporting optional self-registration (`ENABLE_SIGNUP`) and admin approval +- **Admin User Creation**: Batch user creation from admin panel with auto-generated mnemonic passwords (e.g., `storm-apple-ocean`). Credentials modal with copy/download options - **Shared Storage**: Optional CIFS/NAS mount support for shared datasets across all users - **Production Ready**: Traefik reverse proxy with TLS termination, automatic container updates via Watchtower diff --git a/project.env b/project.env index 1cc35fa..050488d 100644 --- a/project.env +++ b/project.env @@ -3,7 +3,7 @@ PROJECT_NAME="stellars-jupyterhub-ds" PROJECT_DESCRIPTION="Multi-user JupyterHub 4 deployment platform with data science stack, GPU auto-detection, NativeAuthenticator, and isolated per-user environments spawned via DockerSpawner" # Version -VERSION="3.5.28_cuda-12.9.1_jh-5.4.2" +VERSION="3.5.31_cuda-12.9.1_jh-5.4.2" VERSION_COMMENT="Admin user creation with auto-generated passwords, NativeAuth sync, custom templates" RELEASE_TAG="RELEASE_3.2.11" RELEASE_DATE="2025-11-09" diff --git a/services/jupyterhub/templates_enhanced/static/custom.css b/services/jupyterhub/templates_enhanced/static/custom.css index 9c21876..e900061 100644 --- a/services/jupyterhub/templates_enhanced/static/custom.css +++ b/services/jupyterhub/templates_enhanced/static/custom.css @@ -1038,6 +1038,16 @@ textarea.form-control { vertical-align: middle !important; } +/* Override table-hover background */ +.server-dashboard-container .table-hover { + --bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.03) !important; +} + +.server-dashboard-container .table-hover > tbody > tr:hover > * { + --bs-table-accent-bg: rgba(var(--bs-emphasis-color-rgb), 0.03) !important; + background-color: rgba(var(--bs-emphasis-color-rgb), 0.03) !important; +} + /* Admin table header styling - brighter text */ .server-dashboard-container .admin-table-head th { font-weight: 500 !important; @@ -1308,7 +1318,6 @@ textarea.form-control { /* Dark mode admin overrides */ [data-bs-theme="dark"] .server-dashboard-container { - color: #dee2e6 !important; background-color: transparent !important; }