Skip to content

feat: frontend improvements and Vue code review optimizations#171

Merged
zhenghaoz merged 6 commits intogorse-io:masterfrom
zhangzhenghao:frontend-tweaks
Apr 28, 2026
Merged

feat: frontend improvements and Vue code review optimizations#171
zhenghaoz merged 6 commits intogorse-io:masterfrom
zhangzhenghao:frontend-tweaks

Conversation

@zhangzhenghao
Copy link
Copy Markdown
Contributor

  • Add Extensions menu with browser links in navigation drawer (Chrome/Edge/Firefox)
  • Fix: show error message instead of infinite loading on Explore page API errors
  • Fix: sync auth state between components on login/logout
  • Refactor: extract auth logic into authMixin.js (DRY principle)
  • Refactor: use scoped styles to prevent CSS pollution
  • Refactor: extract TOPICS, LANGUAGES, EXTENSIONS as module constants
  • Add loading states for like/next buttons
  • Add error handling for like() method
  • Add formatNumber utility for star counts (1000 → 1k)
  • Remove unused variables (primaryColor, textColor, stargazers_url, forks_url)
  • Remove console.log debug statements

zhangzhenghao and others added 5 commits April 28, 2026 21:04
- Add v-list-group for Extensions in v-navigation-drawer
- Include Chrome, Edge, Firefox extension links with icons
- Use mdi-puzzle, mdi-google-chrome, mdi-microsoft-edge, mdi-firefox icons
- Add error state to Home.vue
- Add .catch() handlers to recommend() and next() methods
- Show v-alert with error message when API fails
- Add Retry button for user to retry fetching
- Clear error state before new requests
- MainLayout dispatches 'gitrec-auth-change' custom event on logout
- MainLayout also dispatches event on successful login check
- Home.vue listens for the event and updates isAuthenticated state
- Fixes issue where Explore page showed login prompt after logout
- Extract auth logic into authMixin.js (DRY principle)
- Remove unused variables (primaryColor, textColor, stargazers_url, forks_url)
- Add loading states for like/next buttons
- Add error handling for like() method
- Use scoped styles to prevent CSS pollution
- Extract constants (TOPICS, LANGUAGES, EXTENSIONS)
- Add formatNumber utility for star counts
- Use computed topicPath for URL encoding
- Use Promise chaining in next() method
- Remove console.log statements
…ing views

Co-authored-by: Copilot <copilot@github.com>
… on viewport width

Co-authored-by: Copilot <copilot@github.com>
@zhenghaoz zhenghaoz merged commit 7047f76 into gorse-io:master Apr 28, 2026
1 check passed
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