Skip to content

Commit

Permalink
Fixed keymapping for screen sync
Browse files Browse the repository at this point in the history
  • Loading branch information
grrlopes committed Aug 26, 2023
1 parent 772b834 commit d5a5c6f
Show file tree
Hide file tree
Showing 4 changed files with 42 additions and 10 deletions.
1 change: 1 addition & 0 deletions entity/cmdmodel.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ type CmdModel struct {
Store []Commands
HomeKeys helper.Keymap
FinderKeys helper.Keymap
SyncKeys helper.Keymap
Help help.Model
Spinner spinner.Model
}
20 changes: 20 additions & 0 deletions helper/keymaps.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,20 +13,24 @@ type Keymap struct {
ResetFinder key.Binding
MoveUp key.Binding
MoveDown key.Binding
MoveLeft key.Binding
MoveRight key.Binding
}

func (k Keymap) ShortHelp() []key.Binding {
return []key.Binding{
k.Quit, k.Back, k.Enter, k.SyncScreen,
k.Finder, k.PagePrev, k.PageNext,
k.ResetFinder, k.MoveUp, k.MoveDown,
k.MoveLeft, k.MoveRight,
}
}

func (k Keymap) FullHelp() [][]key.Binding {
return [][]key.Binding{
{k.Back, k.Enter, k.Quit, k.ResetFinder, k.MoveUp},
{k.SyncScreen, k.Finder, k.PageNext, k.PagePrev, k.MoveDown},
{k.MoveLeft, k.MoveRight},
}
}

Expand Down Expand Up @@ -80,3 +84,19 @@ var HotKeysFinder = Keymap{
MoveUp: HotKeysHome.MoveUp,
MoveDown: HotKeysHome.MoveDown,
}

var HotKeysSync = Keymap{
Enter: HotKeysHome.Enter,
Quit: key.NewBinding(
key.WithKeys("ctrl+c"),
key.WithHelp("ctrl+c", "quit"),
),
MoveLeft: key.NewBinding(
key.WithKeys("left"),
key.WithHelp("left", ""),
),
MoveRight: key.NewBinding(
key.WithKeys("right"),
key.WithHelp("right", ""),
),
}
27 changes: 19 additions & 8 deletions ui/home.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,14 @@ import (
)

var (
repositoryGorm repositories.ISqliteRepository = sqlite.NewGormRepostory()
frepository repositories.IFileParsedRepository = fileparse.NewFparsedRepository()
usecasePager pager.InputBoundary = pager.NewPager(repositoryGorm)
usecaseCount count.InputBoundary = count.NewCount(repositoryGorm)
usecaseHistory fhistory.InputBoundary = fhistory.NewFHistory(frepository, repositoryGorm)
usecaseFinder finder.InputBoundary = finder.NewFinder(repositoryGorm)
usecaseFinderCount findercount.InputBoundary = findercount.NewFinderCount(repositoryGorm)
usecaseAll listall.InputBoundary = listall.NewListAll(repositoryGorm)
repositoryGorm repositories.ISqliteRepository = sqlite.NewGormRepostory()
frepository repositories.IFileParsedRepository = fileparse.NewFparsedRepository()
usecasePager pager.InputBoundary = pager.NewPager(repositoryGorm)
usecaseCount count.InputBoundary = count.NewCount(repositoryGorm)
usecaseHistory fhistory.InputBoundary = fhistory.NewFHistory(frepository, repositoryGorm)
usecaseFinder finder.InputBoundary = finder.NewFinder(repositoryGorm)
usecaseFinderCount findercount.InputBoundary = findercount.NewFinderCount(repositoryGorm)
usecaseAll listall.InputBoundary = listall.NewListAll(repositoryGorm)
)

type ModelHome struct {
Expand Down Expand Up @@ -68,6 +68,7 @@ func NewHome(m *entity.CmdModel) *ModelHome {
Finder: txt,
HomeKeys: helper.HotKeysHome,
FinderKeys: helper.HotKeysFinder,
SyncKeys: helper.HotKeysSync,
Help: h,
Spinner: spin,
},
Expand Down Expand Up @@ -215,6 +216,12 @@ func (m ModelHome) View() string {
m.paginationView() + "\n" +
HelperStyle.Render(m.finderKeysView())
}
if m.home.ActiveSyncScreen {
return view.Render(m.HeaderView()) + "\n" +
content.Render(m.home.Viewport.View()) + "\n" +
m.FooterView() + "\n" +
HelperStyle.Render(m.SyncKeysView())
}
return view.Render(m.HeaderView()) + "\n" +
content.Render(m.home.Viewport.View()) + "\n" +
m.FooterView() + "\n" +
Expand Down Expand Up @@ -275,3 +282,7 @@ func (m ModelHome) homeKeysView() string {
func (m ModelHome) finderKeysView() string {
return m.home.Help.View(m.home.FinderKeys)
}

func (m ModelHome) SyncKeysView() string {
return m.home.Help.View(m.home.SyncKeys)
}
4 changes: 2 additions & 2 deletions ui/sync.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ func syncUpdate(msg tea.Msg, m ModelHome) (*ModelHome, tea.Cmd) {
}
m.home.StatusSyncScreen = false
return &m, tea.Batch(cmds...)
case "q":
case "q", "ctrl+c":
if m.home.ActiveSyncScreen {
m.home.ActiveSyncScreen = false
m.home.Viewport.SetContent(m.GetDataView())
Expand Down Expand Up @@ -118,7 +118,7 @@ func syncProgressView(m *ModelHome) string {
case "synced":
return fmt.Sprintf("been synced %s .....", m.home.Spinner.View())
default:
return "Not syncing yet...."
return "Not syncing yet ....."
}
}

Expand Down

0 comments on commit d5a5c6f

Please sign in to comment.