Replace Angular frontend with a-h/templ for modern Go-based UI #22161
+0
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR implements a complete migration from Angular to a-h/templ for Harbor's frontend, providing a modern, fast, and maintainable Go-based UI solution.
Overview
The new templ-based UI replaces the existing Angular frontend with server-side rendered HTML templates written in Go, offering significant benefits in performance, maintainability, and developer experience.
Screenshots
Dashboard View:

Login Page:

Projects Page:

What's New
✅ Complete UI Implementation
✅ Template Architecture
✅ Go Server Integration
cmd/templ-server/main.go
for development and testingsrc/server/handler/templ_ui.go
for production use✅ Build System
Key Benefits
go build
Architecture Advantages
Quick Start
Testing
The implementation includes:
Integration Path
This PR provides the foundation for gradual migration:
Files Added/Modified
templates/*.templ
- Type-safe HTML templatescmd/templ-server/main.go
- Development serversrc/server/handler/templ_ui.go
- Production integrationMakefile.templ
- Development workflowREADME-templ.md
- Comprehensive documentation.gitignore
- Exclude generated filesMigration Benefits
This implementation demonstrates that templ provides a viable, modern alternative to Angular for Harbor's UI, with significant advantages in performance, maintainability, and developer experience.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.