Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
99246ae
draft refactoring
maxiride Feb 14, 2025
1af59a7
chore(dev-server): open Firefox Dev Edition with devtools and enable …
maxiride Aug 26, 2025
64e5d87
build: read public base path from env for subfolder deploys
maxiride Aug 26, 2025
530dc55
style: update primary and secondary theme colors
maxiride Aug 26, 2025
3881064
docs: added rule references
maxiride Aug 26, 2025
ae6b6a5
fix(encounter-store): correct level adjustments for weak and elite cr…
maxiride Aug 26, 2025
24f7c46
docs(encounter-store): add rule reference for delta cost calculation
maxiride Aug 26, 2025
78ecb32
style(webui): increase `printWidth` from 100 to 125 in Prettier confi…
maxiride Aug 26, 2025
714965f
ci: add GitHub Actions workflow for Quasar SPA deployment to GitHub P…
maxiride Aug 31, 2025
e204ff1
chore(scraper): remove scraper module and related files | scraper mig…
maxiride Sep 7, 2025
9a6b012
chore(folder-structure): surfaced spa source to the root level + migr…
maxiride Sep 7, 2025
04502e3
fix(creatures-store): update fetch URL for creatures data file, enabl…
maxiride Sep 7, 2025
3852049
refactor(creatures-store): simplify metadata structure and fetching l…
maxiride Sep 7, 2025
7707999
refactor(example-store): remove unused counter store
maxiride Sep 7, 2025
99cc8c8
refactor(encounter-store): enhance readability by adding comments and…
maxiride Sep 7, 2025
b9b68c9
feat(encounter-store): add reset function to clear encounter creatures
maxiride Sep 7, 2025
5b1d118
chore(creatures-store): remove unused `table-data_all.json` file
maxiride Sep 7, 2025
acdad2d
refactor: refactor Quasar app with TypeScript and configure essentia…
maxiride Sep 7, 2025
bba27d3
chore: re-added markdown extra and fixed imports
maxiride Sep 7, 2025
955524d
chore: made constanst inizialized as such
maxiride Sep 7, 2025
fce1588
chore: fixed grammar issues after converting the project to typescript
maxiride Sep 7, 2025
318479e
feat: draft of new CreaturesTable based off new creatures data struct…
maxiride Sep 7, 2025
4088acf
chore: added missing typescript elements
maxiride Sep 7, 2025
a0d5ed8
chore: enabled automatic vue devtools opening
maxiride Sep 7, 2025
4f93ddd
fix: determine npc or monster by the url
maxiride Sep 7, 2025
cf72afb
chore: safe snapshot after all the typescript errors after the conver…
maxiride Sep 7, 2025
1751596
chore: update email in package.json
maxiride Nov 10, 2025
1977a52
chore: bump pnpm version
maxiride Nov 10, 2025
90ceaff
chore: add scripts and dependencies for aon downloader scripts
maxiride Nov 10, 2025
9551669
chore: improve normalize logic source strings in aon downloader to re…
maxiride Nov 10, 2025
8e4e1f7
chore: update .gitignore in aon downloader to remove redundant entries
maxiride Nov 10, 2025
c56f3cc
chore: fix import path in creatures-store module
maxiride Nov 10, 2025
2f86869
feat(data): replace Playwright AoN scraper with direct Elasticsearch …
maxiride Jul 11, 2026
7076a9e
feat(ui): finish v2 frontend and fix XP reactivity bug
maxiride Jul 11, 2026
9971113
ci: monthly creature data refresh and rebuilt Pages deploy
maxiride Jul 11, 2026
410d6e1
docs: v2.0.0 changelog entry and release notes
maxiride Jul 11, 2026
a85c358
feat(analytics): add Umami tracking (pageviews, encounter usage stats)
maxiride Jul 12, 2026
8169bac
fix: set real product name/description, add donate button
maxiride Jul 12, 2026
3a9aaff
fix: flag encounters with creatures beyond the ±4 level range (#62)
maxiride Jul 12, 2026
6e85dfe
fix: missing space between threat label and XP value
maxiride Jul 12, 2026
250c970
test: add Vitest unit suite and Playwright E2E smoke tests
maxiride Jul 13, 2026
2f07ac1
docs: architecture decision records + contributor-oriented README
maxiride Jul 13, 2026
e645105
merge: main into v2, retiring the legacy v1 app
maxiride Jul 13, 2026
26e63c8
feat: one-time "what's new" popup for the v2 release
maxiride Jul 13, 2026
31a59ad
feat: infinite scroll instead of click-through pagination
maxiride Jul 13, 2026
3887cca
fix: eliminate scroll freeze in CreaturesTable
maxiride Jul 13, 2026
580ecb6
fix: restore virtual-scroll on CreaturesTable; delete bogus ADR 0005
maxiride Jul 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 2 additions & 4 deletions src/webui/.editorconfig → .editorconfig
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
root = true

[*]
[*.{js,jsx,mjs,cjs,ts,tsx,mts,cts,vue}]
charset = utf-8
indent_style = space
indent_size = 2
indent_style = space
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
55 changes: 0 additions & 55 deletions .github/workflows/build-deploy.yaml

This file was deleted.

46 changes: 46 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: CI

on:
push:
branches: [development, v2]
pull_request:
branches: [main]

jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup pnpm
uses: pnpm/action-setup@v4

- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 22
cache: pnpm

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Lint
run: pnpm run lint

- name: Unit tests
run: pnpm run test:unit

- name: Install Playwright browsers
run: pnpm exec playwright install chromium --with-deps

- name: E2E tests
run: pnpm run test:e2e

- name: Upload Playwright report
uses: actions/upload-artifact@v4
if: failure()
with:
name: playwright-report
path: playwright-report/
retention-days: 14
49 changes: 49 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Deploy to GitHub Pages

on:
push:
branches: [main]
workflow_dispatch:
workflow_call:

permissions:
contents: write

concurrency:
group: pages-deploy
cancel-in-progress: true

jobs:
build-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout main
uses: actions/checkout@v4
with:
ref: main

- name: Setup pnpm
uses: pnpm/action-setup@v4

- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 22
cache: pnpm

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Build Quasar SPA
run: pnpm run build
env:
NODE_OPTIONS: --max_old_space_size=4096

# The SPA build includes public/creatures.json + metadata.json,
# so the dedicated Pages branch always carries the data with it.
- name: Publish dist/spa to gh-pages branch
uses: JamesIves/github-pages-deploy-action@v4
with:
branch: gh-pages
folder: dist/spa
clean: true
63 changes: 63 additions & 0 deletions .github/workflows/update-creatures.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: Monthly creatures data update

on:
schedule:
# 04:17 UTC on the 1st of every month (odd minute to avoid the top-of-hour cron rush)
- cron: '17 4 1 * *'
workflow_dispatch:

permissions:
contents: write

jobs:
update:
runs-on: ubuntu-latest
steps:
- name: Checkout development
uses: actions/checkout@v4
with:
ref: development
fetch-depth: 0

- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 22

- name: Fetch creatures from AoN
run: node tools/aon-downloader/fetch-creatures.js --force

- name: Configure git
run: |
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"

- name: Commit data to development
run: |
git add public/creatures.json public/metadata.json
if git diff --cached --quiet; then
echo "No data changes this month."
else
git commit -m "chore: monthly AoN creatures data refresh"
git push origin development
fi

- name: Commit data to main
run: |
git checkout main
git checkout development -- public/creatures.json public/metadata.json
git add public/creatures.json public/metadata.json
if git diff --cached --quiet; then
echo "main already up to date."
else
git commit -m "chore: monthly AoN creatures data refresh"
git push origin main
fi

# Pushes made with GITHUB_TOKEN don't trigger the push-based deploy workflow,
# so call it explicitly to rebuild the Pages branch with the fresh data.
deploy:
needs: update
uses: ./.github/workflows/deploy.yml
permissions:
contents: write
15 changes: 11 additions & 4 deletions src/webui/.gitignore → .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ node_modules
# Quasar core related directories
.quasar
/dist
/quasar.config.*.temporary.compiled*

# Cordova related directories and files
/src-cordova/node_modules
Expand All @@ -16,10 +17,6 @@ node_modules
/src-capacitor/www
/src-capacitor/node_modules

# BEX related directories and files
/src-bex/www
/src-bex/js/core

# Log files
npm-debug.log*
yarn-debug.log*
Expand All @@ -31,3 +28,13 @@ yarn-error.log*
*.ntvs*
*.njsproj
*.sln

# local .env files
.env.local*

# Playwright output
/test-results
/playwright-report

# local scratch
pantry.txt
5 changes: 5 additions & 0 deletions .idea/codeStyles/codeStyleConfig.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/inspectionProfiles/Project_Default.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 13 additions & 0 deletions .idea/pf2e-encounters.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/prettier.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# pnpm-related options
shamefully-hoist=true
strict-peer-dependencies=false
# to get the latest compatible packages when creating the project https://github.com/pnpm/pnpm/issues/6463
resolution-mode=highest
5 changes: 5 additions & 0 deletions .prettierrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"$schema": "https://json.schemastore.org/prettierrc",
"singleQuote": true,
"printWidth": 125
}
15 changes: 15 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"recommendations": [
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"editorconfig.editorconfig",
"vue.volar",
"wayou.vscode-todo-highlight"
],
"unwantedRecommendations": [
"octref.vetur",
"hookyqr.beautify",
"dbaeumer.jshint",
"ms-vscode.vscode-typescript-tslint-plugin"
]
}
16 changes: 16 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"editor.bracketPairColorization.enabled": true,
"editor.guides.bracketPairs": true,
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.codeActionsOnSave": [
"source.fixAll.eslint"
],
"eslint.validate": [
"javascript",
"javascriptreact",
"typescript",
"vue"
],
"typescript.tsdk": "node_modules/typescript/lib"
}
Loading
Loading