goharbor / goharbor/harbor-cli

[Tracker] Bubbletea Model Refactor (Loading + Init/Tick Integration)

Open
#821 12 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
163
Forks
211
Avg merge
1m
Merged PRs (30d)
1

Description

## Overview
Re-pickup and refactor of the Bubbletea model to better utilize built-in features like `tea.Init()` and `tea.Tick()` for improved loading states and UX consistency.

## Goals
- Introduce proper loading states using Bubbletea primitives
- Standardize async behavior across views
- Prepare for a unified table/list abstraction

## Tasks
- [ ] Utilize `tea.Init()` and `tea.Tick()` to implement loading states
- [ ] Identify and refactor commands/views that should display loading
- [ ] Convert existing components to use `loadingtablelist`
- [ ] Once migration is complete, rename `loadingtablelist` → `tablelist`

## Model Refactor Tracker
Track which models have been migrated to the new loading + init/tick pattern:

- [ ] tablelist
- [ ] selection
- [ ] multiselect
- [ ] tablegrid

> Mark each as complete once it fully adopts the new pattern (loading state + proper init/tick usage).

## Reference
- https://github.com/goharbor/harbor-cli/issues/756

## Notes
This is a tracker issue.

A more expansive issue will follow, covering the full scope of the problem and the complete refactor plan.
This issue acts as a prequel — setting up the groundwork and introducing initial structural changes.

## Ownership
This is being actively worked on by @NucleoFusion

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.