Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
bc2af8a
docs: update README and README.ru to reflect changes in settings and …
sergimax Aug 16, 2026
750ca81
docs: refine README and README.ru for clarity and conciseness in char…
sergimax Aug 16, 2026
1c9c35b
docs: add pull request template for improved contribution guidelines
sergimax Aug 16, 2026
2b124e9
feat(logo-variants): add logo concepts and design documentation for R…
sergimax Aug 16, 2026
c0d341c
feat(logo-variants): update logo assets and documentation for unified…
sergimax Aug 16, 2026
272ee6d
docs: update README and README.ru to include logo and improve visual …
sergimax Aug 16, 2026
0a2cbf0
feat(gear-pick-panel): add character filter actions for upgrades
sergimax Aug 16, 2026
9dcfddf
feat(export-panel): enhance character export filtering with upgrades …
sergimax Aug 16, 2026
3e130a7
feat(export-panel): add description actions to export filter section
sergimax Aug 16, 2026
ed7737f
feat(character-form): add constants for character form layout and upd…
sergimax Aug 16, 2026
43457b7
feat(dungeon-form): implement grid layout constants and update dungeo…
sergimax Aug 16, 2026
c23f3d4
feat(bis-lists-panel): integrate grid layout constants and enhance pa…
sergimax Aug 16, 2026
918d71e
feat(gear-pick-session): add reset filters functionality to gear pick…
sergimax Aug 16, 2026
995c9e2
feat(panel-backgrounds): add toolbar panel background variants and do…
sergimax Aug 16, 2026
0ec1869
feat(panel-backgrounds): enhance panel backgrounds with new dot patte…
sergimax Aug 16, 2026
17d452a
feat(panel-backgrounds): unify dot grid implementation across page an…
sergimax Aug 16, 2026
006dc06
refactor(export-panel): improve layout and styling of export result l…
sergimax Aug 16, 2026
1342d5f
refactor(export-panel): replace Box with Table components for export …
sergimax Aug 16, 2026
3202a05
fix(i18n): update Russian translations for specs and gear score
sergimax Aug 16, 2026
859cb47
refactor(export-panel): rename resetAllFilters to resetParameters and…
sergimax Aug 16, 2026
5f5fbbf
refactor(character-pick-panel): rename ExportFilterSection to FilterS…
sergimax Aug 16, 2026
31fd33c
chore(pr-template): update quality checklist for npm vulnerabilities
sergimax Aug 16, 2026
b40b348
feat(release): update to version 2.8.0 with new features and improvem…
sergimax Aug 16, 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
14 changes: 7 additions & 7 deletions .cursor/rules/project-rules.mdc

Large diffs are not rendered by default.

31 changes: 31 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
## Summary

<!-- What changed and why (1–3 sentences). -->

## Checklist

Author fills every applicable box before merge. Mark N/A items as checked with a short note in Summary if needed.

### Quality

- [ ] `npm i` - found 0 vulnerabilities
- [ ] `npm run ci` passes locally (lint + `test:run` + build)
- [ ] No secrets, credentials, or local-only paths committed

<!-- ### User-facing (skip if pure internal) -->

<!-- - [ ] EN + RU strings updated in `src/i18n/messages/` -->
<!-- - [ ] README Features updated in **both** `README.md` and `README.ru.md` when public behavior changed -->
<!-- - [ ] Persistence docs updated if `localStorage` keys or `schemaVersion` changed -->

### Release (required for merge to `main`)

CI **Release files** fails without a full bump — see `/bump` / `scripts/release/check-release-files.mjs`.

- [ ] Version bumped in `package.json` **and** `package-lock.json` (root + `packages[""]`)
- [ ] `CHANGELOG.md` has `## [X.Y.Z] - YYYY-MM-DD` with real user-facing bullets (not “version bump”)
- [ ] `App_version` badges in `README.md` and `README.ru.md` match the new version

## Changelog draft

<!-- Paste the CHANGELOG bullets for this PR (same wording as CHANGELOG.md). -->
15 changes: 15 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [2.8.0] - 2026-08-17

### Added

- **With upgrades filter:** Character pick and Soft pick can dim and disable characters with no BiS upgrade targets in the selected raids (toggle under Needed specs / character list).
- **Soft pick reset:** Soft pick header **Reset parameters** clears character/spec, soft rules, softs, raid exclusions, and copy format toggles (same control as Character pick).
- **Unit-grid forms:** Add character (identity + main/off), add dungeon, and BiS side columns align to the shared 300px filter unit grid used by Character pick / Soft pick / Settings.
- **Page & panel atmosphere:** Subtle dot-grid background on the app page and toolbar panels; step cards stay solid.

### Changed

- **Character pick reset label:** Header control is **Reset parameters** / **Сбросить параметры** (was “Reset all filters”).
- **Character pick result lines:** Raid badge and copy controls use a table layout for clearer column alignment.
- **Docs:** README EN+RU cover With upgrades, Soft pick reset, and unit-grid / background polish; design gallery for panel backgrounds.

## [2.7.0] - 2026-08-16

### Changed
Expand Down
68 changes: 22 additions & 46 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,90 +1,65 @@
# Raidwise

**English** | [Русский](README.ru.md)

<img src="./public/logo.svg" width="148" height="148">

Web app to track raid cooldowns per character and dungeon, with BiS gear hints and raid signup helpers (WotLK-focused).
Data persists locally in `localStorage`.
Live site: [sergimax.ru/raidwise](https://sergimax.ru/raidwise)

![App version](https://img.shields.io/badge/App_version-2.7.0-purple)
![App version](https://img.shields.io/badge/App_version-2.8.0-purple)
![Game version](https://img.shields.io/badge/WoW-3.3.5a-brown)

<img src="./public/logo.svg" width="148" height="148">

## Features

Toolbar panels are mutually exclusive (only one open at a time).

### Characters & dungeons

Add manually (**Add character** / **Add raid**, stepped forms) or load the WotLK raid template when the list is empty.
New character names are letters only; the UI capitalizes the first letter.
Edit specs, WowSims gear, also-owned items (bags / other spec / vendors for hints), and raid metadata later.
Reorder table columns from the edit dialog (`Position: < n >`).
Header **info** toggles a short usage-help intro (three ways to use the app: CDs, gear planning, or BiS-only).
Add characters and raids manually, or load the WotLK template when the list is empty; edit specs, WowSims gear, also-owned items, raid metadata, and column order later.
Header **info** opens a short intro (CDs, gear planning, or BiS-only).

### Cooldown toggles

Mark which character has CD on which raid.
Reset one character from the table header, or everyone from the **Data** panel.
Reset one character from the table header, or everyone from **Settings**.

### Table

Sort and search raids (name, size, mode — EN/RU, e.g. `ICC25H` / `ЦЛК25хм`).
Character headers show class-colored names, main/off GS (or `- / -`), and edit / reset / delete.
Complete column uses a progress bar (count on hover).
Compact layout on small screens.
Wide character columns scroll horizontally inside the table (page stays put).
Sort and search raids (EN/RU, e.g. `ICC25H` / `ЦЛК25хм`); **Type** shows size (+ skull for Heroic), with per-row edit/delete.
Character columns use class-colored names and main/off GS; Complete is a progress bar; compact on small screens, with horizontal scroll inside the table when many characters are present.

### Data controls
### Settings

Bulk reset CDs, or delete all characters / dungeons / local BiS lists (with confirm).
When there are no dungeons — **Add raids from template**.
Bulk reset CDs, or delete all characters / dungeons / local BiS lists (with confirm); when empty, **Add raids from template**.

### Character pick for a raid

Copyable signup line of characters still missing CD on filtered raids.
Filters: min GS, role, specs (kept for the browser session when you close or switch panels).
Result line format toggles (**Specs** / **GS**); characters look like `Name Spec gs / Spec gs`, separated by commas.
Click Selected raid chips to exclude false matches from the results (chips stay visible).
Header reset clears the raid search and chip exclusions.
Copyable signup lines of characters still missing CD on filtered raids, with min GS / role / spec filters, optional **With upgrades**, and optional **Specs** / **GS** in the line format.
Session-kept filters; **Reset parameters** clears them; click Selected raid chips to exclude false matches.

### Soft pick for a raid

Soft reserves for one character + spec on BiS upgrades from filtered raids (active list from **BiS builds**).
Session-only (character, rules, softs, and raid exclusions survive closing the panel).
Competition colors and win-odds hints help pick softs; reset one row or the whole Soft targets list.
Pasteable call list can include/hide the character name and boss details.
Gear on the other spec counts as already owned for Soft targets and table hints.
Same clickable raid chips to exclude rows (softs for items that drop off the list are cleared); header reset for search/exclusions.
Layout wraps Soft targets / the copy block onto their own rows when the panel is too narrow.
Plan soft reserves for one character + spec on BiS upgrades from filtered raids (**re-roll** or **+100**, max softs 1–4), with competition colors, win-odds hints, and a pasteable call list.
Optional **With upgrades** dims characters with no BiS targets; **Reset parameters** clears the panel filters.
Uses the active **BiS builds** list; other-spec gear counts as owned; session state survives closing the panel.

### BiS builds

Built-in presets per spec (Kingdom with slot variants first, then Titans/community); local copies are editable and used for gear-choice hints.
Class/spec choice stays for the browser session when you leave the panel; preset selection is already saved in BiS storage.
Slot layout matches the in-game paper doll; alternative items stack under the primary choice.
Custom lists support clear-slot / clear-all; Items shows the active list name and scrolls with Lists within fixed height budgets.
Built-in presets per spec (Kingdom first, then Titans/community); local copies are editable for gear-choice hints.
Paper-doll slot layout with alternatives; **Copy** exports `Slot: Item` lines.

### Gear hints

CD cells:
- <span style="color:#d97706">amber</span> — missing BiS
- <span style="color:#0284c7">blue</span> — ilvl upgrade

Tooltips group loot by boss.
Also-owned items (edit character) count as available for BiS/ilvl hints without being on the WowSims export.
CD cells tint <span style="color:#d97706">amber</span> for missing BiS and <span style="color:#0284c7">blue</span> for stat-filtered ilvl upgrades (hidden when that CD is marked; main/off split when both specs are set).
Boss-grouped tooltips include tier tokens; also-owned items count without being on the WowSims export.

### EN / RU

Full UI and item tooltips.
First visit defaults to Russian.
Full UI and item tooltips; first visit defaults to Russian.

### Theme

Light/dark mode, saved locally (palette, typography, and link styles).
Header links to GitHub and [sergimax.ru](https://sergimax.ru).
Design tokens / recipes: [docs/design/design-system.md](docs/design/design-system.md).
Light/dark mode saved locally; quiet MUJI chrome with a subtle page/panel dot grid; design tokens in [docs/design/design-system.md](docs/design/design-system.md).

## Development

Expand Down Expand Up @@ -132,6 +107,7 @@ Open [http://localhost:5173](http://localhost:5173).
| `npm run generate:bis-presets` | Regenerate built-in BiS presets from `scripts/bis/bis-list-sources.md` + `scripts/bis/bis-list-mix.md` |
| `npm run comment:bis-presets` | Add slot comments to BiS preset files |
| `npm run download:gear-slot-icons` | Regenerate WoW paper-doll slot placeholder PNGs in `src/assets/gear-slot-icons/` |
| `npm run download:raid-icons` | Regenerate template-raid achievement icons in `src/assets/raid-icons/` |
| `npm run download:fonts` | Regenerate self-hosted Onest / Noto Sans / JetBrains Mono woff2 + `src/fonts.css` |
| `npm run compress:class-icons` | Resize class/spec icons to 32×32 WebP in `src/assets/class-icons/` |
| `npm run lighthouse` | Desktop Lighthouse vs preview/production URL → `docs/lighthouse/` (run `preview` first for local) |
Expand Down
Loading