mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-29 01:47:05 -05:00
Compare commits
4 Commits
63dbd2efd4
...
64d81f2687
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
64d81f2687 | ||
|
|
ac67f4bdd9 | ||
|
|
1e212652ce | ||
|
|
89ca76ead2 |
23
.github/workflows/playwright.yml
vendored
23
.github/workflows/playwright.yml
vendored
@@ -2,9 +2,9 @@ name: Playwright E2E Tests
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [main, develop]
|
branches: [main, develop, dev]
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: [main, develop]
|
branches: [main, develop, dev]
|
||||||
|
|
||||||
env:
|
env:
|
||||||
GRAFANA_LOKI_URL: ${{ secrets.GRAFANA_LOKI_URL }}
|
GRAFANA_LOKI_URL: ${{ secrets.GRAFANA_LOKI_URL }}
|
||||||
@@ -30,9 +30,13 @@ jobs:
|
|||||||
echo "✅ Required secrets validated"
|
echo "✅ Required secrets validated"
|
||||||
|
|
||||||
- name: Test Grafana Cloud Loki Connection
|
- name: Test Grafana Cloud Loki Connection
|
||||||
if: ${{ secrets.GRAFANA_LOKI_URL != '' }}
|
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
run: |
|
run: |
|
||||||
|
if [ -z "${{ secrets.GRAFANA_LOKI_URL }}" ]; then
|
||||||
|
echo "⏭️ Skipping Loki connection test (GRAFANA_LOKI_URL not configured)"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
echo "🔍 Testing Grafana Cloud Loki connection..."
|
echo "🔍 Testing Grafana Cloud Loki connection..."
|
||||||
timestamp=$(date +%s)000000000
|
timestamp=$(date +%s)000000000
|
||||||
|
|
||||||
@@ -90,9 +94,13 @@ jobs:
|
|||||||
run: npx playwright install --with-deps ${{ matrix.browser }}
|
run: npx playwright install --with-deps ${{ matrix.browser }}
|
||||||
|
|
||||||
- name: Send Test Start Event to Loki
|
- name: Send Test Start Event to Loki
|
||||||
if: ${{ secrets.GRAFANA_LOKI_URL != '' }}
|
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
run: |
|
run: |
|
||||||
|
if [ -z "${{ secrets.GRAFANA_LOKI_URL }}" ]; then
|
||||||
|
echo "⏭️ Skipping Loki logging (GRAFANA_LOKI_URL not configured)"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
timestamp=$(date +%s)000000000
|
timestamp=$(date +%s)000000000
|
||||||
|
|
||||||
response=$(curl -s -w "\n%{http_code}" \
|
response=$(curl -s -w "\n%{http_code}" \
|
||||||
@@ -168,9 +176,14 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Send Test Results to Loki
|
- name: Send Test Results to Loki
|
||||||
if: always() && secrets.GRAFANA_LOKI_URL != ''
|
if: always()
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
run: |
|
run: |
|
||||||
|
if [ -z "${{ secrets.GRAFANA_LOKI_URL }}" ]; then
|
||||||
|
echo "⏭️ Skipping Loki logging (GRAFANA_LOKI_URL not configured)"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
STATUS="${{ steps.playwright-run.outputs.test_exit_code == '0' && 'success' || 'failure' }}"
|
STATUS="${{ steps.playwright-run.outputs.test_exit_code == '0' && 'success' || 'failure' }}"
|
||||||
timestamp=$(date +%s)000000000
|
timestamp=$(date +%s)000000000
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
## UI Consolidation: Sessions Merged into Security Tab
|
## UI Consolidation: Sessions Merged into Security Tab
|
||||||
|
|
||||||
**Date**: 2025-01-14
|
**Date**: 2025-10-14
|
||||||
|
|
||||||
**Changes**:
|
**Changes**:
|
||||||
- Merged `SessionsTab` functionality into `SecurityTab` "Active Sessions & Login History" section
|
- Merged `SessionsTab` functionality into `SecurityTab` "Active Sessions & Login History" section
|
||||||
|
|||||||
@@ -1,6 +1,13 @@
|
|||||||
import { clsx, type ClassValue } from "clsx";
|
import { clsx, type ClassValue } from "clsx";
|
||||||
import { twMerge } from "tailwind-merge";
|
import { twMerge } from "tailwind-merge";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Combines multiple class names into a single string, merging Tailwind CSS classes intelligently.
|
||||||
|
* Uses clsx for conditional class handling and tailwind-merge to resolve conflicts.
|
||||||
|
*
|
||||||
|
* @param inputs - Class values to combine (strings, objects, arrays)
|
||||||
|
* @returns Merged class string with Tailwind conflicts resolved
|
||||||
|
*/
|
||||||
export function cn(...inputs: ClassValue[]) {
|
export function cn(...inputs: ClassValue[]) {
|
||||||
return twMerge(clsx(inputs));
|
return twMerge(clsx(inputs));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user