Shopping lists:
- Multiple lists per tenant: picker uses checkboxes instead of
radios. Relay schema migrated to composite PK (tenant_id,
card_uid) with a position column for display ordering.
- Picker rows are drag-and-drop reorderable (grip handle +
accent drop indicator). Order persists in localStorage and is
pushed to the relay as position integers — phone renders lists
in that order (ORDER BY position, title).
- Each picker row has a goto-arrow that closes the popup,
switches to the card's bucket if needed, and opens the card.
- Relay DELETE /api/shopping removes deactivated lists. Client
proxy forwards DELETE. Deactivating a list in the picker
immediately removes it from the relay.
- Phone UI renders multiple lists as stacked boxes with headers.
Section headings (# h1–h6) get 14px top padding for breathing
room. CSS selectors fixed to match div-based headings inside
the new .shopping-list-box containers.
- Help text updated for multi-list wording.
- pullOne preserves the synced position so a pull doesn't cause
a spurious re-push of the same order.
Test fixes:
- Line-numbers gutter height tolerance bumped 50%→60% — OS text
shaping can push the divergence past 50%.
- Find/replace flaky: replaced sleep(200) with waitFor on the
confirm dialog so slow renders don't miss the OK click.
- Shopping picker test updated: checkboxes instead of radios.
Bumps to 1.9.25.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
85 lines
1.5 KiB
JSON
85 lines
1.5 KiB
JSON
{
|
|
"name": "hyprcrd",
|
|
"version": "1.9.25",
|
|
"description": "hyprcrd — self-hosted card manager",
|
|
"main": "main.js",
|
|
"scripts": {
|
|
"start": "electron .",
|
|
"dist": "electron-builder"
|
|
},
|
|
"author": "th",
|
|
"license": "UNLICENSED",
|
|
"devDependencies": {
|
|
"electron": "^41.2.0",
|
|
"electron-builder": "^26.0.0"
|
|
},
|
|
"build": {
|
|
"appId": "com.hyprcrd.app",
|
|
"productName": "hyprcrd",
|
|
"files": [
|
|
"main.js",
|
|
"preload.js"
|
|
],
|
|
"extraResources": [
|
|
{
|
|
"from": "router.php",
|
|
"to": "router.php"
|
|
},
|
|
{
|
|
"from": "../public",
|
|
"to": "public",
|
|
"filter": [
|
|
"**/*"
|
|
]
|
|
},
|
|
{
|
|
"from": "../src",
|
|
"to": "src",
|
|
"filter": [
|
|
"**/*"
|
|
]
|
|
},
|
|
{
|
|
"from": "../config.php",
|
|
"to": "config.php"
|
|
},
|
|
{
|
|
"from": "../data",
|
|
"to": "data",
|
|
"filter": [
|
|
".gitkeep"
|
|
]
|
|
}
|
|
],
|
|
"mac": {
|
|
"target": "dmg",
|
|
"category": "public.app-category.productivity",
|
|
"extraResources": [
|
|
{
|
|
"from": "php-bin/darwin",
|
|
"to": "php-bin"
|
|
}
|
|
]
|
|
},
|
|
"win": {
|
|
"target": "nsis",
|
|
"extraResources": [
|
|
{
|
|
"from": "php-bin/win32",
|
|
"to": "php-bin"
|
|
}
|
|
]
|
|
},
|
|
"linux": {
|
|
"target": "AppImage",
|
|
"category": "Office",
|
|
"extraResources": [
|
|
{
|
|
"from": "php-bin/linux",
|
|
"to": "php-bin"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|