fix: remove signatures in general (#1348)

Drew Smirnoff created

## What?

Removes the option to configure per-account settings in general

## Why?

This can already be achieved by going into the account settings. Doesn't
need another menu for it

Signed-off-by: drew <me@andrinoff.com>

Change summary

tui/settings_general.go | 59 ++++++++++--------------------------------
1 file changed, 15 insertions(+), 44 deletions(-)

Detailed changes

tui/settings_general.go 🔗

@@ -10,40 +10,22 @@ import (
 )
 
 type generalOption struct {
-	labelKey     string
-	value        string
-	tip          string
-	isAccountSig bool
-	accountID    string
+	labelKey string
+	value    string
+	tip      string
 }
 
 func (m *Settings) buildGeneralOptions() []generalOption {
-	opts := make([]generalOption, 0, 9+len(m.cfg.Accounts))
-	opts = append(opts, []generalOption{
-		{"settings_general.disable_images", onOff(m.cfg.DisableImages), "Prevent images from loading automatically in emails.", false, ""},
-		{"settings_general.hide_tips", onOff(m.cfg.HideTips), "Hide helpful hints displayed at the bottom of the screen.", false, ""},
-		{"settings_general.disable_notifications", onOff(m.cfg.DisableNotifications), "Turn off desktop notifications for new mail.", false, ""},
-		{"settings_general.enable_split_pane", onOff(m.cfg.EnableSplitPane), "View inbox and email side-by-side.", false, ""},
-		{"settings_general.enable_threaded", onOff(m.cfg.EnableThreaded), "Group emails into conversations by reply chain. Per-folder overrides are kept.", false, ""},
-		{"settings_general.enable_detailed_dates", onOff(m.cfg.EnableDetailedDates), "Show detailed inbox dates.", false, ""},
-		{"settings_general.date_format", getDateFormatLabel(m.cfg.DateFormat), "Change how dates and times are displayed.", false, ""},
-		{"settings_general.language", getLanguageLabel(m.cfg.GetLanguage()), "Change the interface language. Changes apply instantly.", false, ""},
-		{"settings_general.signature", getSignatureStatus(), "Configure the global signature appended to your outgoing emails.", false, ""},
-	}...)
-
-	for _, acc := range m.cfg.Accounts {
-		status := t("settings_general.signature_not_configured")
-		accCopy := acc // capture for pointer safety
-		if config.HasAccountSignature(&accCopy) {
-			status = t("settings_general.signature_configured")
-		}
-		opts = append(opts, generalOption{
-			labelKey:     fmt.Sprintf("Signature (%s)", acc.Email),
-			value:        status,
-			tip:          fmt.Sprintf("Configure the signature for %s", acc.Email),
-			isAccountSig: true,
-			accountID:    acc.ID,
-		})
+	opts := []generalOption{
+		{"settings_general.disable_images", onOff(m.cfg.DisableImages), "Prevent images from loading automatically in emails."},
+		{"settings_general.hide_tips", onOff(m.cfg.HideTips), "Hide helpful hints displayed at the bottom of the screen."},
+		{"settings_general.disable_notifications", onOff(m.cfg.DisableNotifications), "Turn off desktop notifications for new mail."},
+		{"settings_general.enable_split_pane", onOff(m.cfg.EnableSplitPane), "View inbox and email side-by-side."},
+		{"settings_general.enable_threaded", onOff(m.cfg.EnableThreaded), "Group emails into conversations by reply chain. Per-folder overrides are kept."},
+		{"settings_general.enable_detailed_dates", onOff(m.cfg.EnableDetailedDates), "Show detailed inbox dates."},
+		{"settings_general.date_format", getDateFormatLabel(m.cfg.DateFormat), "Change how dates and times are displayed."},
+		{"settings_general.language", getLanguageLabel(m.cfg.GetLanguage()), "Change the interface language. Changes apply instantly."},
+		{"settings_general.signature", getSignatureStatus(), "Configure the global signature appended to your outgoing emails."},
 	}
 
 	return opts
@@ -59,14 +41,6 @@ func (m *Settings) updateGeneral(msg tea.KeyPressMsg) (tea.Model, tea.Cmd) {
 		m.generalCursor = (m.generalCursor + 1) % len(opts)
 	case keyEnter, "space", keyRight, "l":
 		if m.generalCursor < len(opts) {
-			opt := opts[m.generalCursor]
-			if opt.isAccountSig {
-				if msg.String() == keyEnter || msg.String() == keyRight || msg.String() == "l" {
-					return m, func() tea.Msg { return GoToSignatureEditorMsg{AccountID: opt.accountID} }
-				}
-				return m, nil
-			}
-
 			saved := false
 			switch m.generalCursor {
 			case 0: // Image Display
@@ -153,12 +127,9 @@ func (m *Settings) viewGeneral() string {
 			style = selectedAccountItemStyle
 		}
 
-		label := opt.labelKey
-		if !opt.isAccountSig {
-			label = t(opt.labelKey)
-		}
+		label := t(opt.labelKey)
 		text := fmt.Sprintf("%s: %s", label, opt.value)
-		if opt.labelKey == "settings_general.signature" || opt.isAccountSig {
+		if opt.labelKey == "settings_general.signature" {
 			text = fmt.Sprintf("%s (%s)", label, opt.value)
 		}