@schandlergarcia/sf-web-components 1.9.56 → 1.9.58

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,46 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.9.58] - 2026-04-01
9
+
10
+ ### Fixed
11
+ - **scripts/reset-command-center.sh** - Fixed reset pointing to old __examples__ Home page
12
+ - Issue: Reset routes.tsx imported Home from `./features/object-search/__examples__/pages/Home` (old style with SearchBar component)
13
+ - But reset script creates `src/pages/Home.tsx` with new styled template (shadcn Input/Button)
14
+ - Result: Routes pointed to wrong file, so users saw old style __examples__ page instead of new template
15
+ - Solution: Changed reset routes.tsx to import Home from `./pages/Home` (matches postinstall routes.tsx.template)
16
+ - Now reset uses the styled Home.tsx it creates, not the old __examples__ version
17
+
18
+ ### Context
19
+ - **Postinstall routes.tsx.template**: Already correct - imports from `./pages/Home` ✓
20
+ - **Reset script routes**: Was importing from `./features/object-search/__examples__/pages/Home` ✗ (now fixed)
21
+ - The __examples__ directory contains reference implementations but should not be used in actual routes
22
+ - Routes should point to the templates installed in `src/pages/`
23
+
24
+ ## [1.9.57] - 2026-04-01
25
+
26
+ ### Fixed
27
+ - **src/templates/pages/Home.tsx.template** - Restored "Browse All Accounts" button
28
+ - Issue: v1.9.56 removed the Browse All button thinking it was broken
29
+ - Reality: The postinstall routes.tsx.template DOES have /accounts route (pointing to __examples__/AccountSearch)
30
+ - The button should exist and work correctly after postinstall
31
+ - Changed title from "Search" to "Account Search"
32
+ - Changed button text from "Browse All" to "Browse All Accounts"
33
+ - Now matches the __examples__/pages/Home.tsx reference implementation
34
+
35
+ - **scripts/reset-command-center.sh** - Added /accounts route to reset
36
+ - Issue: Reset routes.tsx didn't include /accounts route, causing Browse All button → 404
37
+ - Solution: Updated reset routes.tsx to match postinstall routes.tsx.template
38
+ - Now includes routes for: Home (→ __examples__/Home), /accounts (→ __examples__/AccountSearch), /accounts/:recordId (→ __examples__/AccountObjectDetailPage)
39
+ - Also updated reset Home.tsx template to restore Browse All button (even though routes points to __examples__/Home)
40
+
41
+ ### Context
42
+ The correct architecture (matching react5 and postinstall):
43
+ - Home route points to `features/object-search/__examples__/pages/Home.tsx` (has Browse All button)
44
+ - /accounts route points to `features/object-search/__examples__/pages/AccountSearch.tsx` (account list page)
45
+ - /accounts/:recordId route points to `features/object-search/__examples__/pages/AccountObjectDetailPage.tsx` (detail page)
46
+ - All use shadcn Button/Input (correct for outer app context)
47
+
8
48
  ## [1.9.56] - 2026-04-01
9
49
 
10
50
  ### Fixed
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@schandlergarcia/sf-web-components",
3
- "version": "1.9.56",
3
+ "version": "1.9.58",
4
4
  "description": "Reusable Salesforce web components library with Tailwind CSS v4 and shadcn/ui",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -163,7 +163,9 @@ export default function HomePage() {
163
163
  const handleSearch = () => {
164
164
  const trimmed = searchQuery.trim();
165
165
  if (trimmed) {
166
- navigate(`/search?q=${encodeURIComponent(trimmed)}`);
166
+ navigate(`/accounts?search=${encodeURIComponent(trimmed)}`);
167
+ } else {
168
+ navigate('/accounts');
167
169
  }
168
170
  };
169
171
 
@@ -178,8 +180,8 @@ export default function HomePage() {
178
180
  <div className="flex min-h-[80vh] items-center justify-center px-4 sm:px-6 lg:px-8 bg-slate-50 dark:bg-slate-950 transition-colors">
179
181
  <div className="w-full max-w-4xl">
180
182
  <div className="text-center mb-8">
181
- <h1 className="text-4xl font-bold text-slate-900 dark:text-slate-50 mb-4">Search</h1>
182
- <p className="text-lg text-slate-600 dark:text-slate-300">Find records across your organization.</p>
183
+ <h1 className="text-4xl font-bold text-slate-900 dark:text-slate-50 mb-4">Account Search</h1>
184
+ <p className="text-lg text-slate-600 dark:text-slate-300">Search by name, phone, or industry.</p>
183
185
  </div>
184
186
  <div className="flex flex-col gap-4">
185
187
  <div className="relative">
@@ -197,6 +199,9 @@ export default function HomePage() {
197
199
  <Button onClick={handleSearch}>
198
200
  Search
199
201
  </Button>
202
+ <Button onClick={() => navigate('/accounts')} variant="outline">
203
+ Browse All Accounts
204
+ </Button>
200
205
  </div>
201
206
  </div>
202
207
  </div>
@@ -245,40 +250,35 @@ echo "→ Updating ${ROUTES}..."
245
250
 
246
251
  cat > "$ROUTES" << 'ROUTES_EOF'
247
252
  import type { RouteObject } from 'react-router';
248
- import { lazy, Suspense } from "react";
249
-
250
- const AppLayout = lazy(() => import('./appLayout'));
251
- const Home = lazy(() => import('./pages/Home'));
252
- const Search = lazy(() => import('./pages/Search'));
253
- const NotFound = lazy(() => import('./pages/NotFound'));
254
-
255
- function SuspenseWrap({ children }: { children: React.ReactNode }) {
256
- return <Suspense fallback={<div className="flex min-h-screen items-center justify-center text-sm text-muted-foreground">Loading...</div>}>{children}</Suspense>;
257
- }
253
+ import AppLayout from './appLayout';
254
+ import Home from './pages/Home';
255
+ import AccountSearch from './features/object-search/__examples__/pages/AccountSearch';
256
+ import AccountObjectDetailPage from './features/object-search/__examples__/pages/AccountObjectDetailPage';
257
+ import NotFound from './pages/NotFound';
258
258
 
259
259
  export const routes: RouteObject[] = [
260
260
  {
261
261
  path: "/",
262
- element: (
263
- <SuspenseWrap>
264
- <AppLayout />
265
- </SuspenseWrap>
266
- ),
262
+ element: <AppLayout />,
267
263
  children: [
268
264
  {
269
265
  index: true,
270
- element: <SuspenseWrap><Home /></SuspenseWrap>,
271
- handle: { showInNavigation: true, showNavBar: true, label: 'Home' }
266
+ element: <Home />,
267
+ handle: { showInNavigation: true, label: "Home" }
272
268
  },
273
269
  {
274
- path: "search",
275
- element: <SuspenseWrap><Search /></SuspenseWrap>,
276
- handle: { showInNavigation: true, showNavBar: true, label: 'Search' }
270
+ path: 'accounts',
271
+ element: <AccountSearch />,
272
+ handle: { showInNavigation: true, label: "Accounts" }
277
273
  },
278
274
  {
279
- path: '*',
280
- element: <SuspenseWrap><NotFound /></SuspenseWrap>
275
+ path: 'accounts/:recordId',
276
+ element: <AccountObjectDetailPage />
281
277
  },
278
+ {
279
+ path: '*',
280
+ element: <NotFound />
281
+ }
282
282
  ]
283
283
  }
284
284
  ];
@@ -28,8 +28,8 @@ export default function HomePage() {
28
28
  <div className="flex min-h-[80vh] items-center justify-center px-4 sm:px-6 lg:px-8 bg-slate-50 dark:bg-slate-950 transition-colors">
29
29
  <div className="w-full max-w-4xl">
30
30
  <div className="text-center mb-8">
31
- <h1 className="text-4xl font-bold text-slate-900 dark:text-slate-50 mb-4">Search</h1>
32
- <p className="text-lg text-slate-600 dark:text-slate-300">Find records across your organization.</p>
31
+ <h1 className="text-4xl font-bold text-slate-900 dark:text-slate-50 mb-4">Account Search</h1>
32
+ <p className="text-lg text-slate-600 dark:text-slate-300">Search by name, phone, or industry.</p>
33
33
  </div>
34
34
  <div className="flex flex-col gap-4">
35
35
  <div className="relative">
@@ -48,7 +48,7 @@ export default function HomePage() {
48
48
  Search
49
49
  </Button>
50
50
  <Button onClick={() => navigate('/accounts')} variant="outline">
51
- Browse All
51
+ Browse All Accounts
52
52
  </Button>
53
53
  </div>
54
54
  </div>