···141141 // Email the invite code to the requester
142142 if h.emailSender != nil && h.emailSender.Enabled() {
143143 subject := "Your Arabica Invite Code"
144144- // TODO: this should probably use the env var rather than hard coded
145145- body := fmt.Sprintf("Welcome to Arabica!\n\nHere is your invite code to create an account on arabica.systems:\n\n %s\n\nVisit https://arabica.systems to sign up with this code.\n\nHappy brewing!\n", out.Code)
144144+ // TODO: this should probably use the env var rather than hard coded (for name/url)
145145+ // TODO: also this could be a template file
146146+ body := fmt.Sprintf("Welcome to Arabica!\n\nHere is your invite code to create an account on the arabica.systems PDS:\n\n %s\n\nVisit https://arabica.social/join to sign up with this code.\n\nHappy brewing!\n", out.Code)
146147 if err := h.emailSender.Send(reqEmail, subject, body); err != nil {
147148 log.Error().Err(err).Str("email", reqEmail).Msg("Failed to send invite email")
148149 http.Error(w, "Invite created but failed to send email. Code: "+out.Code, http.StatusInternalServerError)
+2-2
lexicons/social.arabica.alpha.roaster.json
···1313 "name": {
1414 "type": "string",
1515 "maxLength": 200,
1616- "description": "Name of the roaster (e.g., 'Blue Bottle', 'Stumptown')"
1616+ "description": "Name of the roaster (e.g., 'Black & White', 'Red Rooster')"
1717 },
1818 "location": {
1919 "type": "string",
2020 "maxLength": 200,
2121- "description": "Location of the roaster (e.g., 'Oakland, CA', 'Portland, OR')"
2121+ "description": "Location of the roaster (e.g., 'Raleigh, NC', 'Floyd, VA')"
2222 },
2323 "website": {
2424 "type": "string",