Conversation
…h video is being hovered by the user.
… it look cleaner.
… using their keyboard.
…s the right panel, left panel, PDF viwer, and formular reorder panels.
…x2 systems, matrix operations, and vector basics.
…I: Matrix Propertiesm Eigenvalues & Eigenvectors, Decompositions & spaces.
…ad of fixed 54px.
There was a problem hiding this comment.
Pull request overview
This PR updates the cheat sheet generator frontend with additional curated videos and a set of UI/UX improvements (theme options, video panel enhancements, keyboard shortcuts, toast notifications, and visual polish).
Changes:
- Added curated YouTube entries for Linear Algebra I & II topics.
- Introduced UI enhancements in the editor (select all/deselect all, title character limit/counter, right-panel empty state, clear search button, toast notifications, keyboard shortcuts).
- Added a new “Blossom” theme and multiple CSS updates for thumbnails, transitions, focus rings, scrollbars, and responsive behavior.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 11 comments.
| File | Description |
|---|---|
| frontend/src/data/subjectVideos.js | Adds curated video mappings for Linear Algebra I & II. |
| frontend/src/components/CreateCheatSheet.jsx | Adds editor UI behaviors (search clear, select all/deselect all, PDF preview updates, toasts, keyboard shortcuts). |
| frontend/src/App.jsx | Adds “blossom” to the theme selector list. |
| frontend/src/App.css | Implements blossom theme variables and various UI styling updates (thumbnails, focus rings, scrollbars, toasts, responsiveness). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| if(scroffRef.current){ | ||
| setShowScrollTop(scrollRef.current.scroppTop > 300); | ||
| } | ||
| const pages = scrollRef.current.querySelectorAll('.pdf-page'); | ||
| const scrollTop = scrollRef.current.scrollTop; | ||
| const containerTop = scrollRef.current.getBoundingClientRect().top(); | ||
|
|
||
| let current = 1; | ||
| pages.forEach((page, index) => { | ||
| const pageTop = page.getBoundingClientRect().top - containerTop; | ||
| if (pageTop <= 100){ |
| }; | ||
|
|
||
| const scrollToTop = () => { | ||
| scrollRef.current?.ScrollTo({ top: 0, behavior: 'smooth' }); |
| <div className="pdf-preview-shell"> | ||
| <div className="pdf-preview-toolbar"> | ||
| <span className="pdf-toolbar-note">Use the controls to adjust the preview.</span> | ||
| <span className="pdf-toolbar-note">{numPages ? `Page 1 of ${numPages}` : 'Use the controls to adjust the preview.'}</span> |
| const showToast = useCallback((message, type = 'success') => { | ||
| setToast({ message, type }); | ||
| setTimeout(() => setToast(null), 3000); | ||
| }) |
| useEffect(() => { | ||
| const handleKeyDown = (event) => { | ||
| if((event.ctrlKey || event.metaKey) && event.key == 'Enter'){ | ||
| event.preventDefault(); | ||
| if(!isCompiling) handleCompileClick(); | ||
| return; | ||
| } | ||
| if((event.ctrlkey || event.metaKey) && event.key == 's'){ | ||
| event.preventDefault(); | ||
| handleSave({ preventDefault: () => {} }); | ||
| return; | ||
| } | ||
| }; | ||
| window.addEventListener('keydown', handleKeyDown); | ||
| return () => window.removeEventListener('keydown', handleKeyDown); | ||
| }, [isCompiling]); |
| <span className="toast-icon"> | ||
| {toast.type === 'success' ? '✓' : '✕'} | ||
| </span> | ||
| <span className="toast=message">{toast.message}</span> |
| } | ||
|
|
||
| .left-panel-scroll::-webkit-scrollbar-thumb:hover, | ||
| right-panel-scroll::-webkit-scrollbar-thumb:hover, |
| .tile-char-counter-warn { | ||
| color: var (--btn-clear); |
| .pdf-toolbar-notes { | ||
| font-size: 0.75rem; | ||
| color: var(--text-muted); | ||
| font-variant-numeric: tabular-nums; | ||
| min-width: 80px; | ||
| } No newline at end of file |
…p feature when you are viewing the bottom of the pdf.
…no longer implemented.
|
@copilot apply changes based on the comments in this thread |
|
@copilot Please check everything again. be thorough for hidden bugs |
Done in 4cc0cce. I fixed the remaining review-thread items around the shortcut/save flow and PDF toolbar note styling, and added regression coverage for Ctrl+Enter and Ctrl+S. Screenshot: https://github.com/user-attachments/assets/f909b994-82ea-4b39-a5be-c359caf4dc69 |
Did a full recheck and found one more related bug: saved |
|
@copilot I choose you please review this PR and see if there's going to be bugs down the line. |
Agent-Logs-Url: https://github.com/ChicoState/cheat-sheet/sessions/23f319f0-a997-41e9-b9a9-85cf7bb1eff0 Co-authored-by: bdtran2002 <19805162+bdtran2002@users.noreply.github.com>
Reviewed it again and found a few issues that would likely turn into bugs later, so I fixed them in |
|
youtube side pannel still buggy best to make a new pr |
This PR adds a collection of frontend improvements focused on visual polish, accessibility, user-friendliness, and added the videos for the missing topics.
I added the following changes/adjustments: