2 Commits

4 changed files with 18 additions and 29 deletions

View File

@@ -1,3 +1,5 @@
docker-compose.override.yml
# Python cache / compiled # Python cache / compiled
__pycache__ __pycache__
*.pyc *.pyc

View File

@@ -0,0 +1,8 @@
services:
terra-view:
environment:
- ENVIRONMENT=development
ports:
- "1001:8001"
volumes:
- ./data-dev:/app/data

View File

@@ -24,30 +24,6 @@ services:
retries: 3 retries: 3
start_period: 40s start_period: 40s
# --- TERRA-VIEW DEVELOPMENT ---
terra-view-dev:
build: .
container_name: terra-view-dev
ports:
- "1001:8001"
volumes:
- ./data-dev:/app/data
environment:
- PYTHONUNBUFFERED=1
- ENVIRONMENT=development
- SLMM_BASE_URL=http://host.docker.internal:8100
restart: unless-stopped
depends_on:
- slmm
extra_hosts:
- "host.docker.internal:host-gateway"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8001/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
# --- SLMM (Sound Level Meter Manager) --- # --- SLMM (Sound Level Meter Manager) ---
slmm: slmm:
build: build:
@@ -73,4 +49,3 @@ services:
volumes: volumes:
data: data:
data-dev:

View File

@@ -50,12 +50,12 @@
class="tab-button px-4 py-3 border-b-2 border-transparent font-medium text-sm text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white hover:border-gray-300 dark:hover:border-gray-600 transition-colors whitespace-nowrap"> class="tab-button px-4 py-3 border-b-2 border-transparent font-medium text-sm text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white hover:border-gray-300 dark:hover:border-gray-600 transition-colors whitespace-nowrap">
Schedules Schedules
</button> </button>
<button onclick="switchTab('sessions')" <button id="sessions-tab-btn" onclick="switchTab('sessions')"
data-tab="sessions" data-tab="sessions"
class="tab-button px-4 py-3 border-b-2 border-transparent font-medium text-sm text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white hover:border-gray-300 dark:hover:border-gray-600 transition-colors whitespace-nowrap"> class="tab-button px-4 py-3 border-b-2 border-transparent font-medium text-sm text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white hover:border-gray-300 dark:hover:border-gray-600 transition-colors whitespace-nowrap">
Recording Sessions Recording Sessions
</button> </button>
<button onclick="switchTab('data')" <button id="data-tab-btn" onclick="switchTab('data')"
data-tab="data" data-tab="data"
class="tab-button px-4 py-3 border-b-2 border-transparent font-medium text-sm text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white hover:border-gray-300 dark:hover:border-gray-600 transition-colors whitespace-nowrap"> class="tab-button px-4 py-3 border-b-2 border-transparent font-medium text-sm text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white hover:border-gray-300 dark:hover:border-gray-600 transition-colors whitespace-nowrap">
Data Files Data Files
@@ -714,12 +714,16 @@ async function loadProjectDetails() {
document.getElementById('settings-start-date').value = formatDate(data.start_date); document.getElementById('settings-start-date').value = formatDate(data.start_date);
document.getElementById('settings-end-date').value = formatDate(data.end_date); document.getElementById('settings-end-date').value = formatDate(data.end_date);
// Update tab labels based on project type // Update tab labels and visibility based on project type
if (projectTypeId === 'sound_monitoring') { const isSoundProject = projectTypeId === 'sound_monitoring';
if (isSoundProject) {
document.getElementById('locations-tab-label').textContent = 'NRLs'; document.getElementById('locations-tab-label').textContent = 'NRLs';
document.getElementById('locations-header').textContent = 'Noise Recording Locations'; document.getElementById('locations-header').textContent = 'Noise Recording Locations';
document.getElementById('add-location-label').textContent = 'Add NRL'; document.getElementById('add-location-label').textContent = 'Add NRL';
} }
// Recording Sessions and Data Files tabs are SLM-only
document.getElementById('sessions-tab-btn').classList.toggle('hidden', !isSoundProject);
document.getElementById('data-tab-btn').classList.toggle('hidden', !isSoundProject);
document.getElementById('settings-error').classList.add('hidden'); document.getElementById('settings-error').classList.add('hidden');
updateDangerZone(); updateDangerZone();