React Aria Components and Tailwind CSS: Crafting a GitHub Client

GitHub Lite

WARNING: very early work in progress. Almost nothing works yet. Contributions welcome!

A faster GitHub client built with React Aria Components + Tailwind CSS. Try it here

Screenshot of app

Why?

I was tired of waiting for full page reloads for every navigation on GitHub’s website, so I decided to build my own client as a modern single page app. It works similarly to their native mobile app, using GraphQL to load data, with pre-fetching, keyboard navigation, and optimistic updates for a fast user experience.

My first priority is notifications. On GitHub’s website, you have to navigate from the notifications page to separate issue and pull request pages, and when you go back you lose your scroll position. I wanted a two-pane UI similar to an email inbox with a notifications list on the left, and a detail view for the selected item on the right. This way you can easily scan the list, and click between items without losing your place or waiting for full page navigation.

Stack

  • React
  • React Aria Components
  • Tailwind CSS
  • GitHub’s GraphQL API
  • SWR for caching and pre-fetching
  • Cloudflare Pages/Workers for deployment

To do

This app is very early, so most things still need to be implemented. This is a side project, so I’ll work through these when I find time, but contributions are also welcome. Please open an issue if you plan on contributing so we can discuss first.

  • Finish implementing rendering for all issue / pull request event types
  • Hook up actions like closing issues, adding labels, etc. to the GitHub API
  • Add a way to view pull request diffs, ideally using Monaco
  • Add support for more notification/object types like commits, discussions, etc.
  • Add a repo view in addition to notifications, for viewing issues/prs/code/commits for that repo

GitHub

View Github

Related Posts

Recent Posts

ഇടുക്കിയിലെ മലയോര മേഖലകളിൽ രാത്രിയാത്ര നിരോധിച്ചു. രാത്രി ഏഴു മുതൽ രാവിലെ ആറു വരെയാണ് നിരോധനം

ഏന്തയാർ ഈസ്റ്റിൽ പ്രളയത്തിൽ തകർന്ന പാലത്തിന് പകരം പുതിയ പാലം നിർമ്മിക്കുവാൻ താത്ക്കാലിക പാലം പൊളിച്ച് നീക്കി

Explore the Investment Opportunities: A Comprehensive Guide to Different Types of Mutual Funds

Title: Understanding Mutual Funds: A Beginner's Guide to Investing

തീവ്രമഴ മുന്നറിയിപ്പിന്റെ പശ്ചാതലത്തിൽ സംസ്ഥാനം ജാഗ്രതയിൽ

250,000 അപേക്ഷകൾ വർദ്ധിച്ചതിനാൽ ട്രാൻസ്‌പോർട്ട് കമ്മീഷണർ പരിശോധന പുനരാരംഭിക്കും

ഏലക്കയിൽ കീടനാശിനി സാന്നിധ്യം; ആറര ലക്ഷത്തിലധികം ടിൻ അരവണ നശിപ്പിക്കാൻ ടെൻഡർ ക്ഷണിച്ച് ദേവസ്വം ബോർഡ്‌

ഭീമൻ പാറക്കഷണങ്ങൾ അടർന്ന് ദേശീയ പാതയിലേക്ക് വീഴുന്നത് പതിവാകുന്നു. കുട്ടിക്കാനത്തിനും മുണ്ടക്കയത്തിനുമിടയിൽ നിലനിൽക്കുന്നത് വൻ അപകട ഭീഷണി

ചക്രവാതച്ചുഴി:അതിശക്തമായ മഴ വരുന്നു

പ്ലസ് വൺ പ്രവേശനം. അക്ഷയയിൽ തിക്കി തിരക്കേണ്ട, നെറ്റിവിറ്റി/ജാതി തെളിയിക്കാൻ പത്താംതരം സർട്ടിഫിക്കറ്റ് മതി