Skip to content

Commit cea196d

Browse files
authored
Merge pull request #148 from kaytu-io/fix-pages
fix: Fixes pages
2 parents 497f8e6 + 3dd8cdc commit cea196d

File tree

7 files changed

+60
-100
lines changed

7 files changed

+60
-100
lines changed

Diff for: cmd/root.go

+1-3
Original file line numberDiff line numberDiff line change
@@ -218,11 +218,10 @@ func Execute() {
218218
return err
219219
} else {
220220
helpController := controller.NewHelp()
221-
helpPage := view.NewHelpPage(helpController)
222221

223222
jobsController := controller.NewJobs()
224223
statusBar := view.NewStatusBarView(jobsController, helpController)
225-
jobsPage := view.NewJobsPage(jobsController)
224+
jobsPage := view.NewJobsPage(jobsController, helpController, statusBar)
226225

227226
optimizationsController := controller.NewOptimizations()
228227
optimizationsPage := view.NewOptimizationsView(optimizationsController, helpController, statusBar)
@@ -235,7 +234,6 @@ func Execute() {
235234
optimizationsPage,
236235
optimizationsDetailsPage,
237236
preferencesPage,
238-
helpPage,
239237
jobsPage,
240238
), tea.WithFPS(10))
241239
if _, err := p.Run(); err != nil {

Diff for: view/app.go

+8-11
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,10 @@ import (
99
type PageEnum int
1010

1111
const (
12-
Page_Optimizations = 0
13-
Page_OptimizationDetails = 1
14-
Page_Preferences = 2
15-
Page_Help = 3
16-
Page_Jobs = 4
12+
Page_Overview = 0
13+
Page_ResourceDetails = 1
14+
Page_Preferences = 2
15+
Page_Jobs = 3
1716
)
1817

1918
type Page interface {
@@ -36,10 +35,9 @@ type App struct {
3635
}
3736

3837
func NewApp(
39-
optimizationsPage OptimizationsPage,
40-
optimizationDetailsPage OptimizationDetailsPage,
41-
preferencesPage PreferencesConfigurationPage,
42-
helpPage HelpPage,
38+
optimizationsPage OverviewPage,
39+
optimizationDetailsPage ResourceDetailsPage,
40+
preferencesPage PreferencesPage,
4341
jobsPage JobsPage,
4442
) *App {
4543
app := &App{}
@@ -49,7 +47,6 @@ func NewApp(
4947
optimizationsPage,
5048
optimizationDetailsPage,
5149
preferencesPage,
52-
helpPage,
5350
jobsPage,
5451
}
5552
return app
@@ -77,7 +74,7 @@ func (m *App) ChangePage(id PageEnum) tea.Cmd {
7774
}
7875

7976
func (m *App) Init() tea.Cmd {
80-
m.ChangePage(Page_Optimizations)
77+
m.ChangePage(Page_Overview)
8178
return tea.Batch(m.pages[m.activePageIdx].Init(), tea.EnterAltScreen, TickCmdWithDuration(100*time.Microsecond))
8279
}
8380

Diff for: view/page_help.go

-48
This file was deleted.

Diff for: view/page_jobs.go

+17-4
Original file line numberDiff line numberDiff line change
@@ -11,27 +11,39 @@ import (
1111
)
1212

1313
type JobsPage struct {
14-
jobController *controller.Jobs
14+
helpController *controller.Help
15+
jobController *controller.Jobs
16+
statusBar StatusBarView
1517

1618
responsive.ResponsiveView
1719
}
1820

19-
func NewJobsPage(jobController *controller.Jobs) JobsPage {
21+
func NewJobsPage(jobController *controller.Jobs, helpController *controller.Help, statusBar StatusBarView) JobsPage {
2022
return JobsPage{
21-
jobController: jobController,
23+
jobController: jobController,
24+
helpController: helpController,
25+
statusBar: statusBar,
2226
}
2327
}
2428

2529
func (m JobsPage) OnClose() Page {
2630
return m
2731
}
2832
func (m JobsPage) OnOpen() Page {
33+
m.helpController.SetKeyMap([]string{
34+
"esc: back to main menu",
35+
"q/ctrl+c: exit",
36+
})
37+
2938
return m
3039
}
3140

3241
func (m JobsPage) Init() tea.Cmd { return nil }
3342

3443
func (m JobsPage) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
44+
newStatusBar, _ := m.statusBar.Update(msg)
45+
m.statusBar = newStatusBar.(StatusBarView)
46+
3547
return m, nil
3648
}
3749

@@ -65,7 +77,8 @@ func (m JobsPage) View() string {
6577
lines = append(lines, " no running job")
6678
}
6779

68-
return "\n" + statusErr + strings.Join(lines, "\n")
80+
return "\n" + statusErr + strings.Join(lines, "\n") + "\n\n" +
81+
m.statusBar.View()
6982
}
7083
func (m JobsPage) SetResponsiveView(rv responsive.ResponsiveViewInterface) Page {
7184
m.ResponsiveView = rv.(responsive.ResponsiveView)

Diff for: view/page_optimization.go renamed to view/page_overview.go

+11-11
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import (
1010
"github.com/kaytu-io/kaytu/view/responsive"
1111
)
1212

13-
type OptimizationsPage struct {
13+
type OverviewPage struct {
1414
table table.Model
1515
clearScreen bool
1616

@@ -26,7 +26,7 @@ func NewOptimizationsView(
2626
optimizations *controller.Optimizations,
2727
helpController *controller.Help,
2828
statusBar StatusBarView,
29-
) OptimizationsPage {
29+
) OverviewPage {
3030
columns := []table.Column{
3131
table.NewColumn("0", "Resource Id", 23),
3232
table.NewColumn("1", "Resource Name", 23),
@@ -44,17 +44,17 @@ func NewOptimizationsView(
4444
BorderRounded().
4545
HighlightStyle(style.HighlightStyle)
4646

47-
return OptimizationsPage{
47+
return OverviewPage{
4848
optimizations: optimizations,
4949
helpController: helpController,
5050
table: t,
5151
statusBar: statusBar,
5252
}
5353
}
54-
func (m OptimizationsPage) OnClose() Page {
54+
func (m OverviewPage) OnClose() Page {
5555
return m
5656
}
57-
func (m OptimizationsPage) OnOpen() Page {
57+
func (m OverviewPage) OnOpen() Page {
5858
m.helpController.SetKeyMap([]string{
5959
"↑/↓: move",
6060
"pgdown/pgup: next/prev page",
@@ -69,11 +69,11 @@ func (m OptimizationsPage) OnOpen() Page {
6969
return m
7070
}
7171

72-
func (m OptimizationsPage) Init() tea.Cmd {
72+
func (m OverviewPage) Init() tea.Cmd {
7373
return nil
7474
}
7575

76-
func (m OptimizationsPage) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
76+
func (m OverviewPage) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
7777
var rows Rows
7878
for _, i := range m.optimizations.Items() {
7979
totalSaving := 0.0
@@ -168,7 +168,7 @@ func (m OptimizationsPage) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
168168
for _, i := range m.optimizations.Items() {
169169
if selectedInstanceID == i.Id && !i.Skipped && !i.Loading && !i.LazyLoadingEnabled {
170170
m.optimizations.SelectItem(i)
171-
changePageCmd = m.app.ChangePage(Page_OptimizationDetails)
171+
changePageCmd = m.app.ChangePage(Page_ResourceDetails)
172172
break
173173
} else if selectedInstanceID == i.Id && !i.Skipped && i.LazyLoadingEnabled {
174174
i.LazyLoadingEnabled = false
@@ -194,7 +194,7 @@ func (m OptimizationsPage) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
194194
return m, cmd
195195
}
196196

197-
func (m OptimizationsPage) View() string {
197+
func (m OverviewPage) View() string {
198198
//if m.clearScreen {
199199
// m.clearScreen = false
200200
// return ""
@@ -216,12 +216,12 @@ func (m OptimizationsPage) View() string {
216216
)
217217
}
218218

219-
func (m OptimizationsPage) SetApp(app *App) OptimizationsPage {
219+
func (m OverviewPage) SetApp(app *App) OverviewPage {
220220
m.app = app
221221
return m
222222
}
223223

224-
func (m OptimizationsPage) SetResponsiveView(rv responsive.ResponsiveViewInterface) Page {
224+
func (m OverviewPage) SetResponsiveView(rv responsive.ResponsiveViewInterface) Page {
225225
m.ResponsiveView = rv.(responsive.ResponsiveView)
226226
return m
227227
}

Diff for: view/page_preferences_configuration.go renamed to view/page_preferences.go

+13-13
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ type (
1717
errMsg error
1818
)
1919

20-
type PreferencesConfigurationPage struct {
20+
type PreferencesPage struct {
2121
focused int
2222
err error
2323

@@ -36,15 +36,15 @@ func NewPreferencesConfiguration(
3636
helpController *controller.Help,
3737
optimizations *controller.Optimizations,
3838
statusBar StatusBarView,
39-
) PreferencesConfigurationPage {
40-
return PreferencesConfigurationPage{
39+
) PreferencesPage {
40+
return PreferencesPage{
4141
helpController: helpController,
4242
optimizations: optimizations,
4343
statusBar: statusBar,
4444
}
4545
}
4646

47-
func (m PreferencesConfigurationPage) OnOpen() Page {
47+
func (m PreferencesPage) OnOpen() Page {
4848
m.visibleStartIdx = 0
4949
var preferences []*golang.PreferenceItem
5050
if selectedItem := m.optimizations.SelectedItem(); selectedItem != nil {
@@ -84,7 +84,7 @@ func (m PreferencesConfigurationPage) OnOpen() Page {
8484
return m
8585
}
8686

87-
func (m PreferencesConfigurationPage) OnClose() Page {
87+
func (m PreferencesPage) OnClose() Page {
8888
selectedItem := m.optimizations.SelectedItem()
8989
if selectedItem == nil {
9090
for _, selectedItem := range m.optimizations.Items() {
@@ -114,11 +114,11 @@ func (m PreferencesConfigurationPage) OnClose() Page {
114114
return m
115115
}
116116

117-
func (m PreferencesConfigurationPage) Init() tea.Cmd {
117+
func (m PreferencesPage) Init() tea.Cmd {
118118
return textinput.Blink
119119
}
120120

121-
func (m PreferencesConfigurationPage) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
121+
func (m PreferencesPage) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
122122
switch msg := msg.(type) {
123123
case tea.KeyMsg:
124124
switch msg.Type {
@@ -162,7 +162,7 @@ func (m PreferencesConfigurationPage) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
162162
return m, cmd
163163
}
164164

165-
func (m PreferencesConfigurationPage) View() string {
165+
func (m PreferencesPage) View() string {
166166
builder := strings.Builder{}
167167

168168
builder.WriteString(style.SvcDisable.Render("Configure your preferences:"))
@@ -204,7 +204,7 @@ func (m PreferencesConfigurationPage) View() string {
204204
return builder.String()
205205
}
206206

207-
func (m *PreferencesConfigurationPage) ChangeService(svc string) {
207+
func (m *PreferencesPage) ChangeService(svc string) {
208208
if svc == "All" {
209209
for _, i := range m.items {
210210
i.hidden = false
@@ -242,7 +242,7 @@ func numberValidator(s string) error {
242242
return nil
243243
}
244244

245-
func (m *PreferencesConfigurationPage) fixVisibleStartIdx() {
245+
func (m *PreferencesPage) fixVisibleStartIdx() {
246246
for m.focused < m.visibleStartIdx {
247247
m.visibleStartIdx--
248248
}
@@ -253,14 +253,14 @@ func (m *PreferencesConfigurationPage) fixVisibleStartIdx() {
253253
}
254254
}
255255

256-
func (m *PreferencesConfigurationPage) nextInput() {
256+
func (m *PreferencesPage) nextInput() {
257257
m.focused = (m.focused + 1) % len(m.items)
258258
if m.items[m.focused].hidden {
259259
m.nextInput()
260260
}
261261
}
262262

263-
func (m *PreferencesConfigurationPage) prevInput() {
263+
func (m *PreferencesPage) prevInput() {
264264
m.focused--
265265
// Wrap around
266266
if m.focused < 0 {
@@ -271,7 +271,7 @@ func (m *PreferencesConfigurationPage) prevInput() {
271271
}
272272
}
273273

274-
func (m PreferencesConfigurationPage) SetResponsiveView(rv responsive.ResponsiveViewInterface) Page {
274+
func (m PreferencesPage) SetResponsiveView(rv responsive.ResponsiveViewInterface) Page {
275275
m.ResponsiveView = rv.(responsive.ResponsiveView)
276276
return m
277277
}

0 commit comments

Comments
 (0)