Commit graph

2631 commits

Author SHA1 Message Date
d7b8834481
fix: select option visibility in dark mode with proper background colors 2025-07-30 18:37:42 +02:00
bdfba8cacc
Fix actor image editing by removing static modifier from _onEditImage method 2025-07-29 20:28:09 +02:00
f643999573
Fix tab jumping on form input changes by preventing sheet re-rendering 2025-07-29 20:20:50 +02:00
d020822012
style: improve tab navigation height and spacing for icons
- Increase tab navigation height from 2x to 2.5x line-height
- Add proper flexbox centering for tab items with icons
- Add gap between icon and text (0.25rem)
- Add padding (0.5rem vertical, 0.75rem horizontal) for better touch targets
- Reduce icon size to 0.875rem for better visual balance
- Remove fixed line-height to allow proper vertical centering
- Maintain text shadow effect for active tabs

The tab navigation now properly accommodates FontAwesome icons while
maintaining good visual hierarchy and touch accessibility.
2025-07-29 19:08:06 +02:00
40e14d1196
feat: implement clean Foundry V13 compliant tab system
- Remove custom tab implementation in favor of official ApplicationV2 tabs
- Implement ApplicationTab typedef structure for Actor and Item sheets
- Add memory-safe event listener management with proper cleanup
- Update all sheet templates to use standard Foundry tab structure
- Add template safety checks to prevent undefined access errors
- Optimize performance with DOM updates instead of full re-renders
- Maintain backward CSS compatibility during transition
- Add dynamic tab configuration based on item types

Key improvements:
- ~200 lines of custom tab code removed
- Memory leak prevention with proper event cleanup
- Performance optimization (no re-render on tab switch)
- Standards-compliant with Foundry V13 ApplicationV2 API
- Consistent implementation across Actor and Item sheets
- Template safety with Handlebars guards
- Dynamic icon and localization support

All 31 modified files now use the official Foundry VTT v13 tab system.
2025-07-29 19:03:58 +02:00
2c4dbb2620
fix: remove unused parameter in weapon callback
- Remove unused _dialog parameter from weapon attack type selection callback
- Resolves ESLint error: '_dialog' is defined but never used
- Maintains functionality while improving code quality

This fixes the npm run lint:fix error and ensures clean ESLint compliance.
2025-07-28 22:20:29 +02:00
e021fedcdf
style: fix code formatting inconsistencies
- Remove excessive blank lines (triple+ newlines reduced to double)
- Fix EditorConfig indent_size from 4 to 2 spaces to match Prettier
- Ensure consistent whitespace formatting across JavaScript/TypeScript files
- Clean up formatting in templates (HBS files)

Files affected:
- src/apps/actor/base-sheet.js: Remove 6 instances of triple+ blank lines
- src/apps/item-sheet.js: Remove 4 instances of triple+ blank lines
- src/apps/ruler/token-ruler.js: Remove 1 instance of triple+ blank lines
- src/hooks/hooks.ts: Remove 1 instance of triple+ blank lines
- templates/sheets/actor/*.hbs: Remove excessive blank lines
- .editorconfig: Fix indent_size to match Prettier tabWidth (2 spaces)
2025-07-28 22:18:44 +02:00
7fcdcf8a5c
fix: correct effects display in item sheet template
- Fix item sheet effects template to use enrichedEffects instead of data.effects
- Ensures effects are properly displayed in the item sheet effects tab
- Aligns with actor sheet implementation for consistency

The template was referencing data.effects but the context preparation creates
enrichedEffects array with additional metadata (id, uuid, sourceName).
2025-07-28 22:14:41 +02:00
f807b59c9a
fix: add missing localization keys for sheet titles
- Add DS4.ActorSheet localization key ("Aktorbogen" / "Actor Sheet")
- Add DS4.ItemSheet localization key ("Itembogen" / "Item Sheet")

These keys are used in the get title() methods of DS4ActorSheet and DS4ItemSheet
to display properly localized sheet window titles instead of showing the raw
localization key strings.

Both keys are placed logically near other Actor/Item-related localization entries
for consistency.
2025-07-28 22:01:00 +02:00
3eaf69f558
fix: remove duplicate action handlers and improve template action generation
- Remove duplicate action handlers (edititem, deleteitem, createitem, etc.) from DS4ActorSheet and DS4ItemSheet
- Fix editImage method reference from static to prototype in DS4ActorSheet
- Add capitalize helper to handlebars-helpers.ts for dynamic action name generation
- Update control-button-group.hbs and add-button.hbs templates to use concat and capitalize helpers
- Ensure consistent camelCase naming for all action handlers (editItem, deleteItem, createItem, etc.)

This resolves action handler conflicts and improves maintainability by using dynamic template generation
instead of hardcoded conditional logic.
2025-07-28 21:55:06 +02:00
1358bfad93
style(ui): apply Wood Stamp font only to sheets 2025-07-17 20:34:35 +02:00
3c5e24a646
style(fonts): use readable font for window titles while keeping Wood
Stamp for content headings
2025-07-17 20:26:54 +02:00
bcf43f1bd6
style(headings): replace FoundryVTT header fonts with DS4 heading font 2025-07-17 20:17:25 +02:00
dfb2a4a781
feat(ui): use CSS container queries for precise header font scaling 2025-07-17 19:40:25 +02:00
9ea6bfac84
style(ui): adjust header font size automatically 2025-07-17 19:31:44 +02:00
651310446d
style(ui): apply lighter font weight to labels 2025-07-17 19:25:07 +02:00
a1cda785e9
style(ui): widen experience points field
needs to fit 5+ digits
2025-07-17 19:22:21 +02:00
796cbd4d53
style(ui): increase default item sheet width to 560px 2025-07-17 19:18:33 +02:00
a0c77ef7b8
style(ui): improve sheet name readability with lighter font weight 2025-07-17 19:16:59 +02:00
76d223db0f
fix(ui): remove duplicate data-action attributes in item sheet tabs 2025-07-17 18:40:45 +02:00
6037a8dcd4
style(ui): increase default actor sheet 2025-07-17 18:35:55 +02:00
590045405b
refactor(styles): extract shared ProseMirror styles to reduce
duplication
2025-07-17 18:23:07 +02:00
970f69be53
fix(editor): prevent double scrollbars in biography tab 2025-07-17 18:19:06 +02:00
07fa1487f1
fix(ui): use consistent height variable for select and input elements 2025-07-17 17:50:20 +02:00
686dc6b1f5
style: Remove debug log in item image editor 2025-07-16 22:40:25 +02:00
e9c223731d
fix(item-sheet): enable image editing via file picker 2025-07-16 22:33:34 +02:00
e30ce8947e
style: add dark mode inversion filter for embedded document list images
Apply the same brightness/invert filter used for combat values to
ds4-embedded-document-list__image class to ensure proper visibility of
combat value icons in dark theme.
2025-07-14 20:04:43 +02:00
f6ccd63e78
fix: update system version and Foundry compatibility 2025-07-13 16:52:34 +02:00
4479cdc4de
feat: enhance movement waypoint styling with semantic colors and
animations
2025-07-13 16:49:21 +02:00
7faadf6583
feat: add color-coded movement ruler for tactical gameplay 2025-07-13 16:12:04 +02:00
9e4dcee3c3
fix: add copyright attribution for v13 migration 2025-07-13 15:41:56 +02:00
916dc096df
fix: restore copyright notice for additional contributors 2025-07-13 15:41:56 +02:00
97ea5e8cc4
fix: update _onEditImage to proper V2 static method pattern
- Convert _onEditImage from instance to static method
2025-07-13 15:41:56 +02:00
e40c201dce
feat: update compatibility info in system.json 2025-07-13 15:41:56 +02:00
792f15dc57
fix: dragging of items onto the macro bar 2025-07-13 15:41:55 +02:00
6e1b043e4f
feat: update base sheet and item sheet classes 2025-07-13 15:41:55 +02:00
251cfa100b
feat: add minimal V13 CSS layer compatibility 2025-07-13 15:41:55 +02:00
27f40b1d96
feat: update Dialog implementation to use DialogV2 2025-07-13 15:41:55 +02:00
0f464f6081
fix: migrate Dialog.prompt to DialogV2 and fix deprecation warnings 2025-07-13 15:41:54 +02:00
c1f9db6095
fix: remove console.log statements from item sheet 2025-07-13 15:41:54 +02:00
3efbac9e84
feat: complete migration from {{editor}} to <prose-mirror> elements 2025-07-13 15:41:54 +02:00
372a2f718c
fix: update TextEditor references to use V13+ namespaced API 2025-07-13 15:41:54 +02:00
3284b132b4
fix: replace {{editor}} handlebars helper with <prose-mirror> custom element 2025-07-13 15:41:53 +02:00
093c94961d
feat: add dark mode styling for combat values and text strokes
Use CSS filters and light-dark() function for theme-adaptive icons and
text styling with proper contrast in both light and dark modes.
2025-07-13 15:41:53 +02:00
f46a89f470
feat: add dark mode styling for combat values 2025-07-13 15:41:53 +02:00
e001102278
feat: update Core Value trait label text stroke with light-dark color 2025-07-13 15:41:53 +02:00
8252a354cb
feat: implement V2-compatible portrait image editing
- Add editImage action to actor sheet actions - Use
foundry.applications.apps.FilePicker for V2 compatibility - Enable
portrait editing via click action in actor headers

Restores portrait editing functionality using proper V2 patterns.
2025-07-13 15:41:52 +02:00
aa9cbee8b4
feat: add Edit Image Handler to Actor Sheet 2025-07-13 15:41:52 +02:00
6c72605156
feat: complete ApplicationV1 to V2 migration cleanup
- Remove jQuery dependency from render hooks - Update
selectTargetInputOnFocus to use modern DOM methods - Remove legacy appv1
sheet unregistration calls - Eliminate all remaining V1 compatibility
code
2025-07-13 15:41:52 +02:00
76a0df49e8
feat: add method to handle form changes for items and effects 2025-07-13 15:41:52 +02:00