diff --git a/README.md b/README.md index 84a51fcc..887d9e25 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Basecamp Basecamp CLI +# Basecamp Basecamp CLI `basecamp` is the official command-line interface for Basecamp. Manage projects, todos, messages, and more from your terminal or through AI agents. diff --git a/assets/basecamp-badge.svg b/assets/basecamp-badge.svg deleted file mode 100644 index 79709871..00000000 --- a/assets/basecamp-badge.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/assets/bc5-snowglobe.png b/assets/bc5-snowglobe.png new file mode 100644 index 00000000..6eb51b1a Binary files /dev/null and b/assets/bc5-snowglobe.png differ diff --git a/internal/auth/basecamp_logo.html b/internal/auth/basecamp_logo.html new file mode 100644 index 00000000..d788ce96 --- /dev/null +++ b/internal/auth/basecamp_logo.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/internal/auth/callback.go b/internal/auth/callback.go index 5879db02..7f342c7b 100644 --- a/internal/auth/callback.go +++ b/internal/auth/callback.go @@ -13,7 +13,7 @@ import ( "time" ) -//go:embed callback.html callback_success.html callback_error.html callback_denied.html callback_invalid.html callback_exchange_failed.html +//go:embed callback.html basecamp_logo.html callback_success.html callback_error.html callback_denied.html callback_invalid.html callback_exchange_failed.html var callbackFS embed.FS var callbackTmpl = template.Must(template.ParseFS(callbackFS, "callback.html")) @@ -21,9 +21,15 @@ var callbackTmpl = template.Must(template.ParseFS(callbackFS, "callback.html")) type callbackData struct{ Content string } func renderCallback(filename string) string { - content, _ := callbackFS.ReadFile(filename) + // Parse the content page alongside the shared logo partial so its + // {{template "basecamp_logo.html"}} reference resolves, then wrap the + // result in the outer shell. + contentTmpl := template.Must(template.ParseFS(callbackFS, filename, "basecamp_logo.html")) + var content bytes.Buffer + _ = contentTmpl.ExecuteTemplate(&content, filename, nil) + var buf bytes.Buffer - _ = callbackTmpl.Execute(&buf, callbackData{Content: string(content)}) + _ = callbackTmpl.Execute(&buf, callbackData{Content: content.String()}) return buf.String() } diff --git a/internal/auth/callback.html b/internal/auth/callback.html index cc4808f4..e329881b 100644 --- a/internal/auth/callback.html +++ b/internal/auth/callback.html @@ -13,7 +13,7 @@ body { align-items: center; - background: #f6f2ef; + background: #f5faf6; color: #333; display: flex; font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; diff --git a/internal/auth/callback_denied.html b/internal/auth/callback_denied.html index cb24956c..18c03119 100644 --- a/internal/auth/callback_denied.html +++ b/internal/auth/callback_denied.html @@ -1,8 +1,5 @@