Reorder elements (#687)

* Reorder elements

* Enhance global search
This commit is contained in:
Chris 2025-12-09 10:51:51 +02:00 committed by GitHub
parent bf281b740d
commit b0b613f7bd
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
50 changed files with 1313 additions and 454 deletions

View file

@ -2,10 +2,15 @@
set -euo pipefail
# Config
APP_URL_DEFAULT="http://localhost:8080"
BACKEND_URL="http://localhost:3002"
FRONTEND_PORT="${FRONTEND_PORT:-4180}"
FRONTEND_HOST="${FRONTEND_HOST:-127.0.0.1}"
BACKEND_PORT="${BACKEND_PORT:-3310}"
BACKEND_HOST="${BACKEND_HOST:-127.0.0.1}"
BACKEND_URL="${BACKEND_URL:-http://${BACKEND_HOST}:${BACKEND_PORT}}"
BACKEND_HEALTH="${BACKEND_URL}/api/health"
APP_URL_DEFAULT="http://${FRONTEND_HOST}:${FRONTEND_PORT}"
FRONTEND_URL="${APP_URL:-$APP_URL_DEFAULT}"
FRONTEND_ORIGIN="${FRONTEND_ORIGIN:-$FRONTEND_URL}"
# Colors
red() { printf "\033[31m%s\033[0m\n" "$*"; }
@ -35,7 +40,8 @@ rm -f backend/db/test.sqlite3
yellow "Starting backend with test database..."
(cd backend && \
NODE_ENV=test \
PORT=3002 \
PORT=$BACKEND_PORT \
HOST=$BACKEND_HOST \
DB_FILE=db/test.sqlite3 \
TUDUDI_USER_EMAIL="${E2E_EMAIL:-test@tududi.com}" \
TUDUDI_USER_PASSWORD="${E2E_PASSWORD:-password123}" \
@ -51,8 +57,8 @@ cleanup() {
# Kill by known ports (best-effort)
if command -v lsof >/dev/null 2>&1; then
FRONTEND_PIDS_KILL=$(lsof -ti tcp:8080 || true)
BACKEND_PIDS_KILL=$(lsof -ti tcp:3002 || true)
FRONTEND_PIDS_KILL=$(lsof -ti tcp:${FRONTEND_PORT} || true)
BACKEND_PIDS_KILL=$(lsof -ti tcp:${BACKEND_PORT} || true)
if [ -n "${FRONTEND_PIDS_KILL:-}" ]; then kill ${FRONTEND_PIDS_KILL} >/dev/null 2>&1 || true; fi
if [ -n "${BACKEND_PIDS_KILL:-}" ]; then kill ${BACKEND_PIDS_KILL} >/dev/null 2>&1 || true; fi
fi
@ -82,6 +88,10 @@ for i in {1..60}; do
done
yellow "Starting frontend dev server..."
BACKEND_URL="$BACKEND_URL" \
FRONTEND_PORT="$FRONTEND_PORT" \
FRONTEND_HOST="$FRONTEND_HOST" \
FRONTEND_ORIGIN="$FRONTEND_ORIGIN" \
npm run frontend:dev >/dev/null 2>&1 &
FRONTEND_PID=$!

View file

@ -14,10 +14,15 @@ TEST_PATTERN="$1"
BROWSER="${2:-Chromium}"
# Config
APP_URL_DEFAULT="http://localhost:8080"
BACKEND_URL="http://localhost:3002"
FRONTEND_PORT="${FRONTEND_PORT:-4180}"
FRONTEND_HOST="${FRONTEND_HOST:-127.0.0.1}"
BACKEND_PORT="${BACKEND_PORT:-3310}"
BACKEND_HOST="${BACKEND_HOST:-127.0.0.1}"
BACKEND_URL="${BACKEND_URL:-http://${BACKEND_HOST}:${BACKEND_PORT}}"
BACKEND_HEALTH="${BACKEND_URL}/api/health"
APP_URL_DEFAULT="http://${FRONTEND_HOST}:${FRONTEND_PORT}"
FRONTEND_URL="${APP_URL:-$APP_URL_DEFAULT}"
FRONTEND_ORIGIN="${FRONTEND_ORIGIN:-$FRONTEND_URL}"
# Colors
red() { printf "\033[31m%s\033[0m\n" "$*"; }
@ -51,7 +56,8 @@ rm -f backend/db/test.sqlite3
yellow "Starting backend with test database..."
(cd backend && \
NODE_ENV=test \
PORT=3002 \
PORT=$BACKEND_PORT \
HOST=$BACKEND_HOST \
DB_FILE=db/test.sqlite3 \
TUDUDI_USER_EMAIL="${E2E_EMAIL:-test@tududi.com}" \
TUDUDI_USER_PASSWORD="${E2E_PASSWORD:-password123}" \
@ -67,8 +73,8 @@ cleanup() {
# Kill by ports (best-effort)
if command -v lsof >/dev/null 2>&1; then
FRONTEND_PIDS_KILL=$(lsof -ti tcp:8080 || true)
BACKEND_PIDS_KILL=$(lsof -ti tcp:3002 || true)
FRONTEND_PIDS_KILL=$(lsof -ti tcp:${FRONTEND_PORT} || true)
BACKEND_PIDS_KILL=$(lsof -ti tcp:${BACKEND_PORT} || true)
if [ -n "${FRONTEND_PIDS_KILL:-}" ]; then kill ${FRONTEND_PIDS_KILL} >/dev/null 2>&1 || true; fi
if [ -n "${BACKEND_PIDS_KILL:-}" ]; then kill ${BACKEND_PIDS_KILL} >/dev/null 2>&1 || true; fi
fi
@ -98,6 +104,10 @@ for i in {1..60}; do
done
yellow "Starting frontend dev server..."
BACKEND_URL="$BACKEND_URL" \
FRONTEND_PORT="$FRONTEND_PORT" \
FRONTEND_HOST="$FRONTEND_HOST" \
FRONTEND_ORIGIN="$FRONTEND_ORIGIN" \
npm run frontend:dev >/dev/null 2>&1 &
FRONTEND_PID=$!
@ -122,4 +132,4 @@ yellow "Running Playwright tests matching: ${TEST_PATTERN} on ${BROWSER}..."
APP_URL="$FRONTEND_URL" \
E2E_EMAIL="${E2E_EMAIL:-test@tududi.com}" \
E2E_PASSWORD="${E2E_PASSWORD:-password123}" \
npx playwright test --grep "$TEST_PATTERN" --project="$BROWSER"
npx playwright test --grep "$TEST_PATTERN" --project="$BROWSER"