Skip to content

File Explorer Search + Professional Email Templates + Auth Recovery#136

Open
eccentriccoder01 wants to merge 4 commits intosoft-eng-practicum:developfrom
eccentriccoder01:today/folder-search-auth-split
Open

File Explorer Search + Professional Email Templates + Auth Recovery#136
eccentriccoder01 wants to merge 4 commits intosoft-eng-practicum:developfrom
eccentriccoder01:today/folder-search-auth-split

Conversation

@eccentriccoder01
Copy link

@eccentriccoder01 eccentriccoder01 commented Mar 19, 2026

Summary

Following the merge of PR - #133 when done, this PR introduces three improvements:

Search & Filter - Real-time file filtering with 300ms debounce, keyboard navigation (Escape/ArrowDown), and smart empty states. See a file you're after now? No? That's what this is for.

Before changes:

Screenshot 2026-03-19 133122

After Changes:

Screenshot 2026-03-19 133035



Professional Emails - Swapped generic one-liners for branded, responsive HTML emails. Confirmation (purple gradient), welcome (green checkmark), and password reset (red warning box) now actually look professional.

Authentication Mail Before Changes:

Screenshot 2026-03-19 010745

Authentication Mail After Changes:

Screenshot 2026-03-19 010745




Welcome Mail Before Changes:

Screenshot 2026-03-19 010659

Welcome Mail After Changes:

Screenshot 2026-03-19 010745




Auth Reliability - Fixed the app crashing after database resets when localStorage still pointed to deleted users. Navbar now gracefully falls back to guest state instead of showing NG01052: formGroup expects a FormGroup instance and phantom login buttons.


Why This Matters

Search Problem: Large projects have too many files. Users can't find what they need. Fixed.

Email Problem: Generic emails hurt first impressions. Now they're branded, responsive, and actually explain what's happening (especially the password reset with security warnings).

Auth Problem: After a database reset (common in local dev), the app would crash because the browser still had old user references. Now it detects this mismatch and auto-logs out gracefully.


Testing

  • Build: 0 errors, 0 critical warnings (fixed TS1128 syntax error)
  • Search: Real-time filtering works, keyboard nav works (tested Escape & ArrowDown)
  • Emails: Render correctly in Gmail, Outlook, and mobile clients (inline CSS validates)
  • Auth: After localStorage.clear() + refresh, app shows Register/Login buttons (guest state) with no console errors
  • Accessibility: WCAG AA compliant - focus indicators visible, keyboard-only navigation works

Files to Review

The code changes are visible in the diff above. Key things to spot:

  1. Search filtering uses .includes() on lowercase strings (standard pattern)
  2. Debounce is 300ms (UX sweet spot - lower causes jank, higher feels laggy)
  3. FormGroup init happens first in navbar's ngOnInit (defensive - prevents async errors from crashing init)
  4. Email CSS is all inline - no external stylesheets (must survive email client stripping)
  5. Auth error handling auto-clears session on 404 (graceful degradation instead of crash)

@cengique @adolocm Kindly review the changes and merge it if appropriate

…errides for type dependencies

style: enhance home component styles for nav-cta focus visibility

style: add focus-visible styles for nav-cta in foundation styles

chore: add proxy configuration for API requests
…validation from FolderUploadProfileViewModel
@eccentriccoder01
Copy link
Author

@cengique @adolocm Kindly look into this PR and #133

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant