Dhruvil Moradiya<dhruvil1808@gmail.com>
authored Nov 10, 2025 at 10:27 AM
Parenta420ec6
Commitb02dbcc

feat: repo viewer (#14)

* feat: repo viewer WIP

* refactor: restructure file viewer and tree layout components

- Removed the old tree layout component and replaced it with a new viewer structure that includes blob and tree views.
- Introduced a new breadcrumb component for better navigation within the repository.
- Added a branch selector for switching between branches in the viewer.
- Implemented a raw file view for direct access to file contents.
- Enhanced the blob component to handle binary and markdown files with appropriate rendering.
- Integrated a button group for actions like downloading and copying file content.
- Updated the styling and structure of the components for improved usability and consistency.
- Added support for variable font loading in the root route.

* fix: handle blob content serialization and implement caching for tree and blob retrieval

* feat: add support for ".git" and improve UI for "code" tab

* coderabbit: some improvemented

26 files changed

+8 added18 modified
TODO.mdmodified
apps/web/package.jsonmodified
apps/web/src/api/tree.tsadded
apps/web/src/components/md-components.tsxadded
apps/web/src/components/ui/button-group.tsxadded
apps/web/src/components/ui/separator.tsxadded
apps/web/src/do/repo.tsmodified
apps/web/src/git/service.tsmodified
apps/web/src/index.cssmodified
apps/web/src/lib/utils.tsmodified
apps/web/src/routeTree.gen.tsmodified
apps/web/src/routes/$owner/$repo/_layout/_viewer/blob.tsxadded
apps/web/src/routes/$owner/$repo/_layout/_viewer/raw.tsadded
apps/web/src/routes/$owner/$repo/_layout/_viewer/tree.tsxadded
apps/web/src/routes/$owner/$repo/_layout/_viewer.tsxadded
apps/web/src/routes/$owner/$repo/_layout/commits.tsxmodified
apps/web/src/routes/$owner/$repo/_layout/index.tsxmodified
apps/web/src/routes/$owner/$repo/_layout/pulls.tsxmodified
apps/web/src/routes/$owner/$repo/_layout.tsxmodified
apps/web/src/routes/$owner/$repo/git-receive-pack.tsmodified
apps/web/src/routes/$owner/$repo/git-upload-pack.tsmodified
apps/web/src/routes/$owner/$repo/info/refs.tsmodified
apps/web/src/routes/__root.tsxmodified
packages/backend/convex/pulls.tsmodified
packages/backend/convex/repositories.tsmodified
pnpm-lock.yamlmodified