v1.5.6: boneyard-js skeleton migration, TanStack Query refactor, rate-limit config
- Replace hand-coded skeleton CSS/JSX with boneyard-js auto-generated bones - Remove skeleton.css and @keyframes shimmer from base.css - Add <Skeleton> wrappers with fixtures to all 25+ page components - Generate 20 bone captures via boneyard CLI (CDP auth-gated capture) - Refactor data fetching from useEffect+useState to TanStack Query - Extract query hooks into src/admin/lib/queries/ and apiAdapter - Add usePaginatedQuery hook replacing useApiCall/useListData - Fix parseFloat || 0 anti-pattern in OfferDetail and OffersTemplates inputs - Fix customer_id mandatory validation on offer creation - Fix leave-requests comma-separated status filter (Prisma enum in: []) - Add cross-entity cache invalidation for orders/offers/invoices/projects - Make rate limits configurable via env vars (RATE_LIMIT_MAX, RATE_LIMIT_REFRESH, etc.) - Add boneyard.config.json with routes and breakpoints Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
371
src/admin/bones/project-detail.bones.json
Normal file
371
src/admin/bones/project-detail.bones.json
Normal file
@@ -0,0 +1,371 @@
|
||||
{
|
||||
"breakpoints": {
|
||||
"375": {
|
||||
"name": "project-detail",
|
||||
"viewportWidth": 351,
|
||||
"width": 351,
|
||||
"height": 481,
|
||||
"bones": [
|
||||
[
|
||||
3.4188,
|
||||
12,
|
||||
5.698,
|
||||
20,
|
||||
"50%"
|
||||
],
|
||||
[
|
||||
14.8148,
|
||||
9,
|
||||
50.2315,
|
||||
22,
|
||||
8
|
||||
],
|
||||
[
|
||||
0,
|
||||
52,
|
||||
48.0057,
|
||||
44,
|
||||
8
|
||||
],
|
||||
[
|
||||
51.4245,
|
||||
52,
|
||||
48.5755,
|
||||
44,
|
||||
8
|
||||
],
|
||||
[
|
||||
0,
|
||||
112,
|
||||
100,
|
||||
188,
|
||||
10,
|
||||
true
|
||||
],
|
||||
[
|
||||
3.7037,
|
||||
125,
|
||||
48.1481,
|
||||
21,
|
||||
8
|
||||
],
|
||||
[
|
||||
3.7037,
|
||||
154,
|
||||
48.1481,
|
||||
44,
|
||||
8
|
||||
],
|
||||
[
|
||||
56.4103,
|
||||
125,
|
||||
48.1481,
|
||||
21,
|
||||
8
|
||||
],
|
||||
[
|
||||
56.4103,
|
||||
154,
|
||||
48.1481,
|
||||
44,
|
||||
8
|
||||
],
|
||||
[
|
||||
3.7037,
|
||||
214,
|
||||
48.1481,
|
||||
21,
|
||||
8
|
||||
],
|
||||
[
|
||||
3.7037,
|
||||
243,
|
||||
48.1481,
|
||||
44,
|
||||
8
|
||||
],
|
||||
[
|
||||
56.4103,
|
||||
214,
|
||||
48.1481,
|
||||
21,
|
||||
8
|
||||
],
|
||||
[
|
||||
56.4103,
|
||||
243,
|
||||
48.1481,
|
||||
44,
|
||||
8
|
||||
],
|
||||
[
|
||||
0,
|
||||
316,
|
||||
100,
|
||||
165,
|
||||
10,
|
||||
true
|
||||
],
|
||||
[
|
||||
3.7037,
|
||||
329,
|
||||
92.5926,
|
||||
17,
|
||||
8
|
||||
],
|
||||
[
|
||||
3.7037,
|
||||
357,
|
||||
92.5926,
|
||||
104,
|
||||
8
|
||||
]
|
||||
]
|
||||
},
|
||||
"768": {
|
||||
"name": "project-detail",
|
||||
"viewportWidth": 736,
|
||||
"width": 736,
|
||||
"height": 453,
|
||||
"bones": [
|
||||
[
|
||||
1.6304,
|
||||
12,
|
||||
2.7174,
|
||||
20,
|
||||
"50%"
|
||||
],
|
||||
[
|
||||
7.0652,
|
||||
7,
|
||||
29.2799,
|
||||
26,
|
||||
8
|
||||
],
|
||||
[
|
||||
78.2375,
|
||||
0,
|
||||
9.1733,
|
||||
44,
|
||||
8
|
||||
],
|
||||
[
|
||||
89.0413,
|
||||
0,
|
||||
10.9587,
|
||||
44,
|
||||
8
|
||||
],
|
||||
[
|
||||
0,
|
||||
60,
|
||||
100,
|
||||
200,
|
||||
10,
|
||||
true
|
||||
],
|
||||
[
|
||||
2.5815,
|
||||
79,
|
||||
46.3315,
|
||||
21,
|
||||
8
|
||||
],
|
||||
[
|
||||
2.5815,
|
||||
108,
|
||||
46.3315,
|
||||
44,
|
||||
8
|
||||
],
|
||||
[
|
||||
51.087,
|
||||
79,
|
||||
46.3315,
|
||||
21,
|
||||
8
|
||||
],
|
||||
[
|
||||
51.087,
|
||||
108,
|
||||
46.3315,
|
||||
44,
|
||||
8
|
||||
],
|
||||
[
|
||||
2.5815,
|
||||
168,
|
||||
46.3315,
|
||||
21,
|
||||
8
|
||||
],
|
||||
[
|
||||
2.5815,
|
||||
197,
|
||||
46.3315,
|
||||
44,
|
||||
8
|
||||
],
|
||||
[
|
||||
51.087,
|
||||
168,
|
||||
46.3315,
|
||||
21,
|
||||
8
|
||||
],
|
||||
[
|
||||
51.087,
|
||||
197,
|
||||
46.3315,
|
||||
44,
|
||||
8
|
||||
],
|
||||
[
|
||||
0,
|
||||
276,
|
||||
100,
|
||||
177,
|
||||
10,
|
||||
true
|
||||
],
|
||||
[
|
||||
2.5815,
|
||||
295,
|
||||
94.837,
|
||||
17,
|
||||
8
|
||||
],
|
||||
[
|
||||
2.5815,
|
||||
323,
|
||||
94.837,
|
||||
104,
|
||||
8
|
||||
]
|
||||
]
|
||||
},
|
||||
"1280": {
|
||||
"name": "project-detail",
|
||||
"viewportWidth": 996,
|
||||
"width": 996,
|
||||
"height": 404,
|
||||
"bones": [
|
||||
[
|
||||
0.6024,
|
||||
7,
|
||||
2.008,
|
||||
20,
|
||||
"50%"
|
||||
],
|
||||
[
|
||||
4.0161,
|
||||
2,
|
||||
21.6365,
|
||||
26,
|
||||
8
|
||||
],
|
||||
[
|
||||
84.7217,
|
||||
0,
|
||||
6.3771,
|
||||
34,
|
||||
8
|
||||
],
|
||||
[
|
||||
92.3036,
|
||||
0,
|
||||
7.6964,
|
||||
34,
|
||||
8
|
||||
],
|
||||
[
|
||||
0,
|
||||
50,
|
||||
100,
|
||||
180,
|
||||
10,
|
||||
true
|
||||
],
|
||||
[
|
||||
1.9076,
|
||||
69,
|
||||
47.2892,
|
||||
19,
|
||||
8
|
||||
],
|
||||
[
|
||||
1.9076,
|
||||
96,
|
||||
47.2892,
|
||||
36,
|
||||
8
|
||||
],
|
||||
[
|
||||
50.8032,
|
||||
69,
|
||||
47.2892,
|
||||
19,
|
||||
8
|
||||
],
|
||||
[
|
||||
50.8032,
|
||||
96,
|
||||
47.2892,
|
||||
36,
|
||||
8
|
||||
],
|
||||
[
|
||||
1.9076,
|
||||
148,
|
||||
47.2892,
|
||||
19,
|
||||
8
|
||||
],
|
||||
[
|
||||
1.9076,
|
||||
175,
|
||||
47.2892,
|
||||
36,
|
||||
8
|
||||
],
|
||||
[
|
||||
50.8032,
|
||||
148,
|
||||
47.2892,
|
||||
19,
|
||||
8
|
||||
],
|
||||
[
|
||||
50.8032,
|
||||
175,
|
||||
47.2892,
|
||||
36,
|
||||
8
|
||||
],
|
||||
[
|
||||
0,
|
||||
246,
|
||||
100,
|
||||
157,
|
||||
10,
|
||||
true
|
||||
],
|
||||
[
|
||||
1.9076,
|
||||
265,
|
||||
96.1847,
|
||||
17,
|
||||
8
|
||||
],
|
||||
[
|
||||
1.9076,
|
||||
294,
|
||||
96.1847,
|
||||
84,
|
||||
8
|
||||
]
|
||||
]
|
||||
}
|
||||
},
|
||||
"_hash": "ab5e1f108d42c55b0e6382fcaffff793"
|
||||
}
|
||||
Reference in New Issue
Block a user