diff --git a/TODO.md b/TODO.md
index b08d6a4..f04ce7a 100644
--- a/TODO.md
+++ b/TODO.md
@@ -5,6 +5,23 @@ Backlog of bugs + long-term items. Milestones live in REWORK_PLAN.md.
## Open
+fullscreen and dont lock on main app dm view and the no-game-player view
+
+also better vert tab layout - labelt friendly
+
+needs AC for players dude
+
+and quick entry hp
+
+hp do not carry from encounter to ecnounter!!!
+
+
+hp wont go over max and no temp hp support
+
+
+
+
+
### dm list - keep active particpant in view (scroll)
not sure good way to do this
diff --git a/scripts/dev-start.sh b/scripts/dev-start.sh
index a4d2577..e87855b 100755
--- a/scripts/dev-start.sh
+++ b/scripts/dev-start.sh
@@ -28,6 +28,7 @@ fi
# frontend: server storage, :3999
if ! lsof -ti :3999 >/dev/null 2>&1; then
echo "starting frontend :3999..."
+ NODE_ENV=development REACT_APP_DEV_TOOLS=1 \
REACT_APP_STORAGE=server \
REACT_APP_BACKEND_URL=http://127.0.0.1:4001 \
REACT_APP_BACKEND_REALTIME_URL=ws://127.0.0.1:4001/ws \
diff --git a/src/App.js b/src/App.js
index f6fc7c0..07a2559 100644
--- a/src/App.js
+++ b/src/App.js
@@ -1,6 +1,7 @@
import React, { useState, useEffect, useRef, useMemo, createContext, useContext, useCallback } from 'react';
import * as shared from '@ttrpg/shared';
import { initializeApp, getAuth, signInAnonymously, onAuthStateChanged, signInWithCustomToken, getFirestore, where, orderBy, limit, offset, getStorage, getStorageMode } from './storage';
+import { isDevToolsEnabled } from './config/devTools';
import {
PlusCircle, Users, Swords, Trash2, Eye, Edit3, Save, XCircle, ChevronsUpDown,
UserCheck, UserX, HeartCrack, HeartPulse, Zap, EyeOff, ExternalLink, AlertTriangle,
@@ -2754,6 +2755,18 @@ function AdminView({ userId }) {
);
})}
+
+ {isDevToolsEnabled() && campaignsWithDetails.length > 0 && (
+
+
+
+ )}
>
)}
@@ -2800,18 +2813,6 @@ function AdminView({ userId }) {
message={`Are you sure you want to delete the campaign "${itemToDelete?.name}" and all its encounters? This action cannot be undone.`}
/>
- {process.env.NODE_ENV === 'development' && campaignsWithDetails.length > 0 && (
-