Skip to content

UI updates and Bug Fixes#78

Open
impxcts wants to merge 25 commits intomainfrom
updatedVideos
Open

UI updates and Bug Fixes#78
impxcts wants to merge 25 commits intomainfrom
updatedVideos

Conversation

@impxcts
Copy link
Copy Markdown
Contributor

@impxcts impxcts commented May 7, 2026

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:

  • fixed the thumbnails, they now display properly without them being cut off
  • Keyboard interactions: added ctrl + Enter to trigger compile, Ctrl + s to save, and Escape to close the video model
  • I added the pink "blossom" theme to give the user more options
  • Divider lines between layout option sections
  • replaced alert() save confirmation with a slide-in toast notification
  • added character counter to the title input with a limit of 80 characters
  • added select all/deselect all buttons above the subject class lists
  • added a section count for classes and a video count for the collection of YouTube videos
  • I added all the videos for Linear Algebra I and II
  • Added clear search buttons to YouTube Search results
  • added empty state illustration to the right panel when no sections are selected
  • Focus ring styles for keyboard navigation
  • improved muted text contrast ratios to meet the WCAG AA standards
  • Added a custom scrollbar styling across the panels when the theme changes
  • added hover transitions to the video cards
  • made the panel show/hide transitions smoother
  • improved the responsiveness for screens under 768px such as mobile devices.

impxcts added 19 commits May 6, 2026 12:20
…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.
@impxcts impxcts requested review from Davictory2003 and bdtran2002 and removed request for bdtran2002 May 7, 2026 01:03
@Davictory2003 Davictory2003 requested a review from Copilot May 7, 2026 01:04
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment on lines +743 to +753
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>
Comment on lines +1158 to +1161
const showToast = useCallback((message, type = 'success') => {
setToast({ message, type });
setTimeout(() => setToast(null), 3000);
})
Comment on lines +1445 to +1460
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>
Comment thread frontend/src/App.css Outdated
}

.left-panel-scroll::-webkit-scrollbar-thumb:hover,
right-panel-scroll::-webkit-scrollbar-thumb:hover,
Comment thread frontend/src/App.css Outdated
Comment on lines +3427 to +3428
.tile-char-counter-warn {
color: var (--btn-clear);
Comment thread frontend/src/App.css
Comment on lines +3518 to 3523
.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
Comment thread frontend/src/components/CreateCheatSheet.jsx Outdated
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.

2 participants