feat: add course search UI with ts-rs type bindings

Integrate ts-rs for Rust-to-TypeScript type generation, build course
search page with filters, pagination, and expandable detail rows,
and refactor theme toggle into a reactive store with view transition
animation.
This commit is contained in:
2026-01-28 22:11:17 -06:00
parent 15256ff91c
commit 5fab8c216a
26 changed files with 1360 additions and 401 deletions
+8 -4
View File
@@ -8,16 +8,20 @@ default:
check:
cargo fmt --all -- --check
cargo clippy --all-features -- --deny warnings
cargo nextest run
cargo nextest run -E 'not test(export_bindings)'
bun run --cwd web check
bun run --cwd web test
# Generate TypeScript bindings from Rust types (ts-rs)
bindings:
cargo test export_bindings
# Run all tests (Rust + frontend)
test: test-rust test-web
# Run only Rust tests
# Run only Rust tests (excludes ts-rs bindings generation)
test-rust *ARGS:
cargo nextest run {{ARGS}}
cargo nextest run -E 'not test(export_bindings)' {{ARGS}}
# Run only frontend tests
test-web:
@@ -26,7 +30,7 @@ test-web:
# Quick check: clippy + tests + typecheck (skips formatting)
check-quick:
cargo clippy --all-features -- --deny warnings
cargo nextest run
cargo nextest run -E 'not test(export_bindings)'
bun run --cwd web check
# Run the Banner API search demo (hits live UTSA API, ~20s)