much better
This commit is contained in:
+20
-20
@@ -14,7 +14,7 @@ import (
|
||||
|
||||
const (
|
||||
fieldInputDir = iota
|
||||
fieldOutputFile
|
||||
fieldOutputDir
|
||||
fieldAppend
|
||||
fieldForce
|
||||
fieldVerticalSlices
|
||||
@@ -35,7 +35,7 @@ const (
|
||||
type FormModel struct {
|
||||
focusIndex int
|
||||
inputDir textinput.Model
|
||||
outputFile textinput.Model
|
||||
outputDir textinput.Model
|
||||
drivePath textinput.Model
|
||||
maxDepth textinput.Model
|
||||
maxSize textinput.Model
|
||||
@@ -60,10 +60,10 @@ func NewForm() FormModel {
|
||||
inputDir.SetValue(".")
|
||||
inputDir.SetWidth(60)
|
||||
|
||||
outputFile := textinput.New()
|
||||
outputFile.Placeholder = "./output_dirmd/index.md"
|
||||
outputFile.SetValue("./output_dirmd/index.md")
|
||||
outputFile.SetWidth(60)
|
||||
outputDir := textinput.New()
|
||||
outputDir.Placeholder = "./output_dirmd"
|
||||
outputDir.SetValue("./output_dirmd")
|
||||
outputDir.SetWidth(60)
|
||||
|
||||
drivePath := textinput.New()
|
||||
drivePath.Placeholder = "/my-files/md/"
|
||||
@@ -85,7 +85,7 @@ func NewForm() FormModel {
|
||||
|
||||
m := FormModel{
|
||||
inputDir: inputDir,
|
||||
outputFile: outputFile,
|
||||
outputDir: outputDir,
|
||||
drivePath: drivePath,
|
||||
maxDepth: maxDepth,
|
||||
maxSize: maxSize,
|
||||
@@ -118,7 +118,7 @@ func (m *FormModel) SetDark(isDark bool) {
|
||||
func (m *FormModel) applyStyles() {
|
||||
tiStyles := getDefaultInputStyles(m.isDark)
|
||||
m.inputDir.SetStyles(tiStyles)
|
||||
m.outputFile.SetStyles(tiStyles)
|
||||
m.outputDir.SetStyles(tiStyles)
|
||||
m.drivePath.SetStyles(tiStyles)
|
||||
m.maxDepth.SetStyles(tiStyles)
|
||||
m.maxSize.SetStyles(tiStyles)
|
||||
@@ -133,7 +133,7 @@ func (m *FormModel) shouldSkipField(idx int) bool {
|
||||
|
||||
func isTextInputField(idx int) bool {
|
||||
switch idx {
|
||||
case fieldInputDir, fieldOutputFile, fieldDrivePath, fieldMaxDepth, fieldMaxSize, fieldIgnorePatterns:
|
||||
case fieldInputDir, fieldOutputDir, fieldDrivePath, fieldMaxDepth, fieldMaxSize, fieldIgnorePatterns:
|
||||
return true
|
||||
}
|
||||
return false
|
||||
@@ -141,7 +141,7 @@ func isTextInputField(idx int) bool {
|
||||
|
||||
func (m *FormModel) focusActiveField() tea.Cmd {
|
||||
m.inputDir.Blur()
|
||||
m.outputFile.Blur()
|
||||
m.outputDir.Blur()
|
||||
m.drivePath.Blur()
|
||||
m.maxDepth.Blur()
|
||||
m.maxSize.Blur()
|
||||
@@ -152,8 +152,8 @@ func (m *FormModel) focusActiveField() tea.Cmd {
|
||||
switch m.focusIndex {
|
||||
case fieldInputDir:
|
||||
cmd = m.inputDir.Focus()
|
||||
case fieldOutputFile:
|
||||
cmd = m.outputFile.Focus()
|
||||
case fieldOutputDir:
|
||||
cmd = m.outputDir.Focus()
|
||||
case fieldDrivePath:
|
||||
cmd = m.drivePath.Focus()
|
||||
case fieldMaxDepth:
|
||||
@@ -269,9 +269,9 @@ func (m FormModel) Update(msg tea.Msg) (FormModel, tea.Cmd) {
|
||||
var cmd tea.Cmd
|
||||
m.inputDir, cmd = m.inputDir.Update(msg)
|
||||
cmds = append(cmds, cmd)
|
||||
case fieldOutputFile:
|
||||
case fieldOutputDir:
|
||||
var cmd tea.Cmd
|
||||
m.outputFile, cmd = m.outputFile.Update(msg)
|
||||
m.outputDir, cmd = m.outputDir.Update(msg)
|
||||
cmds = append(cmds, cmd)
|
||||
case fieldDrivePath:
|
||||
var cmd tea.Cmd
|
||||
@@ -303,7 +303,7 @@ func (m FormModel) View() string {
|
||||
usableWidth = 80
|
||||
}
|
||||
m.inputDir.SetWidth(usableWidth)
|
||||
m.outputFile.SetWidth(usableWidth)
|
||||
m.outputDir.SetWidth(usableWidth)
|
||||
m.drivePath.SetWidth(usableWidth)
|
||||
m.ignoreArea.SetWidth(usableWidth)
|
||||
|
||||
@@ -314,7 +314,7 @@ func (m FormModel) View() string {
|
||||
|
||||
b.WriteString(m.renderTextField("Input directory", m.inputDir, m.focusIndex == fieldInputDir))
|
||||
b.WriteString("\n")
|
||||
b.WriteString(m.renderTextField("Output file", m.outputFile, m.focusIndex == fieldOutputFile))
|
||||
b.WriteString(m.renderTextField("Output directory", m.outputDir, m.focusIndex == fieldOutputDir))
|
||||
b.WriteString("\n\n")
|
||||
|
||||
b.WriteString(m.appendMode.Render(m.focusIndex == fieldAppend))
|
||||
@@ -398,9 +398,9 @@ func (m FormModel) ToConfig() (*config.Config, error) {
|
||||
inputDir = "."
|
||||
}
|
||||
|
||||
outputFile := m.outputFile.Value()
|
||||
if outputFile == "" {
|
||||
return nil, fmt.Errorf("output file required")
|
||||
outputDir := m.outputDir.Value()
|
||||
if outputDir == "" {
|
||||
return nil, fmt.Errorf("output directory required")
|
||||
}
|
||||
|
||||
maxDepth, err := parseIntDefault(m.maxDepth.Value(), 20)
|
||||
@@ -442,7 +442,7 @@ func (m FormModel) ToConfig() (*config.Config, error) {
|
||||
|
||||
cfg := &config.Config{
|
||||
InputPath: inputDir,
|
||||
OutputPath: outputFile,
|
||||
OutputPath: outputDir,
|
||||
AppendMode: m.appendMode.Checked,
|
||||
Force: m.force.Checked,
|
||||
MaxSize: int64(maxSizeKB) * 1024,
|
||||
|
||||
Reference in New Issue
Block a user