diff --git a/.forgejo/workflows/test.yml b/.forgejo/workflows/test.yml
index c041dbb..8edaae1 100644
--- a/.forgejo/workflows/test.yml
+++ b/.forgejo/workflows/test.yml
@@ -45,7 +45,7 @@ jobs:
env:
PORT: 3000
- name: Wait for server
- run: npx wait-on http://localhost:3000 --timeout 30000
+ run: timeout 30 sh -c 'until curl -sf http://localhost:3000; do sleep 1; done'
- run: npx playwright test --ignore-snapshots
- uses: actions/upload-artifact@v4
if: failure()
@@ -56,6 +56,18 @@ jobs:
e2e/test-results/
retention-days: 7
+ notify:
+ name: Notify on failure
+ runs-on: ubuntu-latest
+ needs: [vitest, playwright]
+ if: failure()
+ steps:
+ - name: Post to Slack
+ run: |
+ curl -s -X POST "${{ secrets.SLACK_WEBHOOK_URL }}" \
+ -H 'Content-type: application/json' \
+ --data "{\"text\":\":x: *Ghost Guild CI failed* on \`${{ github.ref_name }}\`\nCommit: ${{ github.sha }}\n${{ github.server_url }}/${{ github.repository }}/actions\"}"
+
visual:
runs-on: ubuntu-latest
needs: vitest
@@ -84,7 +96,7 @@ jobs:
env:
PORT: 3000
- name: Wait for server
- run: npx wait-on http://localhost:3000 --timeout 30000
+ run: timeout 30 sh -c 'until curl -sf http://localhost:3000; do sleep 1; done'
- run: npx playwright test e2e/visual/
- uses: actions/upload-artifact@v4
if: failure()
diff --git a/app/assets/css/main.css b/app/assets/css/main.css
index e7f84cb..4c5b57b 100644
--- a/app/assets/css/main.css
+++ b/app/assets/css/main.css
@@ -50,11 +50,11 @@
--candle: #d4a03a;
--candle-dim: #b8922e;
--candle-faint: #8a7030;
- --ember: #c06030;
+ --ember: #ca6a3a;
--text: #a89880;
--text-bright: #d0c8b0;
- --text-dim: #8a7e6a;
- --text-faint: #5a5040;
+ --text-dim: #958774;
+ --text-faint: #8b7b62;
--parch: #ede4d0;
--parch-hover: #d4c8a8;
--parch-text: #2a2015;
@@ -62,7 +62,9 @@
--c-community: #a06850;
--c-founder: #c06030;
--c-practitioner: #4a7080;
- --ember-bg: rgba(192, 96, 48, 0.14);
+ --green: #6e9c52;
+ --green-bg: rgba(110, 156, 82, 0.12);
+ --ember-bg: rgba(202, 106, 58, 0.14);
}
/* ---- TAILWIND @THEME MAPPING ---- */
diff --git a/app/components/LoginModal.vue b/app/components/LoginModal.vue
index d313ad7..67bc904 100644
--- a/app/components/LoginModal.vue
+++ b/app/components/LoginModal.vue
@@ -144,6 +144,15 @@ watch(isOpen, (newValue) => {
loginError.value = ''
}
})
+
+const handleKeydown = (e) => {
+ if (e.key === 'Escape' && isOpen.value) {
+ resetAndClose()
+ }
+}
+
+onMounted(() => document.addEventListener('keydown', handleKeydown))
+onUnmounted(() => document.removeEventListener('keydown', handleKeydown))
diff --git a/app/pages/admin/series-management.vue b/app/pages/admin/series-management.vue
index 98c482c..f815000 100644
--- a/app/pages/admin/series-management.vue
+++ b/app/pages/admin/series-management.vue
@@ -64,7 +64,7 @@
{{ formatSeriesType(series.type) }}
-
{{ series.title }}
+
{{ series.title }}
{{ series.description }}
@@ -171,15 +171,15 @@
Series Management Tools
-