feat(ui): consolidate JobSync design system - #134
Draft
drewsephski wants to merge 1 commit into
Draft
drewsephski wants to merge 1 commit into
drewsephski wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Unauthenticated visitors now get a public JobSync entry page instead of an immediate auth redirect. The application, auth screens, and dashboard share the existing shadcn presentation conventions, with more stable loading geometry and accessible controls.
Authenticated visitors still reach
/dashboard; the landing page's primary action uses/signupon a fresh installation and/signinonce accounts exist.Changes
Related Issues
Refs #133
Testing
Validation used Node 24.15.0, the existing npm lockfile, a disposable local SQLite database initialized with the existing migrations, and a local account created through the actual signup flow.
npm ci— passed.npm run lint— passed.npx tsc --noEmit— passed.npm run build— passed on the final source. Existingunpdf/import.metaand local workspace tracing-root warnings remain.npm run test -- --maxWorkers=4 --silent— not fully green: the unchanged backup round-trip suite fails during fresh temporary SQLite schema setup (prisma db pushreportsSchema engine error). The same failure was reproduced independently with an absent SQLite file. An Add Job test also timed out during the concurrent browser/build workload; its isolated retry passed.npm run test -- --maxWorkers=4 --silent --exclude __tests__/backupRoundTrip.spec.ts— passed: 289 suites, 3,376 tests.npm run test -- __tests__/AddJob.spec.tsx __tests__/RootPage.spec.tsx __tests__/AuthPresentation.spec.tsx --maxWorkers=1 --silent— passed: 3 suites, 31 tests.npm run test:e2e -- --workers=1 --retries=1 --timeout=120000— full development-server attempt stopped after the server became unresponsive: 33 passed, 4 flaky, 2 failed (automation resume/setup flows), 60 did not run. A basic/signinrequest timed out after 10 seconds and/api/versiontook 123 seconds. Moving the disposable SQLite database outside the watched source tree reduced repeated recompilation but did not resolve the later stall. Earlier default/Turbopack and webpack runs were also not fully green.npm run test:e2e -- e2e/landing.spec.ts e2e/signin.spec.ts e2e/dashboard.spec.ts e2e/agent-chat.spec.ts --workers=1— passed against the final production build: all 15 tests, without retries. This covers the changed public/auth/dashboard/assistant flows. Production deliberately disables the fixture's cleanup endpoint (404); the focused run used disposable data and unique fixture names, with no production user data.Manually reviewed
/,/signin,/signup,/dashboard,/dashboard/myjobs,/dashboard/activities,/dashboard/profile,/dashboard/automations, and/dashboard/settings. A local browser matrix also passed at 390px/1280px in light/dark themes, with persisted expanded/collapsed sidebar states, mobile Sheet navigation, authenticated root routing, and assistant open/close behavior. Docked assistant resizing was checked in Dia. Temporary screenshots, test scripts, databases, and secrets are excluded from the contribution.Notes
This draft preserves backend/schema/server-action behavior, authentication submissions and validation, AI prompts/tools, MCP, scheduling, notification semantics, and existing product routes. External AI generation was not verified; the existing assistant E2E tests use mocked AI responses and a selected model on the disposable test account without external credentials.
The diff exceeds the guide's approximate 400-line target because it includes the new landing page and behavior tests. It stays within one presentation concern, adds no dependency, keeps new UI modules under 200 lines, and avoids feature-wide rewrites. Unrelated backup-test infrastructure is deliberately left outside this PR. Draft status reflects the contribution guide's requirement that the full unit suite pass before review, plus the incomplete development-server E2E verification.
Contributor context: I'm the owner of PortfolioOS.