143 lines
3.4 KiB
Go
143 lines
3.4 KiB
Go
package config
|
|
|
|
// Various hard-coded enums such as choice of gender, sexuality, relationship status etc.
|
|
var (
|
|
MaritalStatus = []string{
|
|
"Single",
|
|
"Married",
|
|
"In a relationship",
|
|
"It's complicated",
|
|
"Divorced",
|
|
"Widowed",
|
|
"Widower",
|
|
}
|
|
|
|
RelationshipType = []string{
|
|
"Monogamous",
|
|
"Open",
|
|
}
|
|
|
|
Gender = []string{
|
|
"Man",
|
|
"Woman",
|
|
"Non-binary",
|
|
"Trans",
|
|
"Trans (FTM)",
|
|
"Trans (MTF)",
|
|
"Other",
|
|
}
|
|
|
|
Orientation = []string{
|
|
"Straight",
|
|
"Gay",
|
|
"Bisexual",
|
|
"Bicurious",
|
|
}
|
|
|
|
HereFor = []string{
|
|
"Dating", "Relationship", "Platonic friends",
|
|
"Networking", "Casual acquaintances", "Hookups",
|
|
"Chat room", "Forums", "Galleries",
|
|
"Exhibitionism", "Voyeurism", "Couch surfing",
|
|
}
|
|
|
|
// Enums all wrapped up for template use.
|
|
ProfileEnums = map[string][]string{
|
|
"MaritalStatus": MaritalStatus,
|
|
"RelationshipType": RelationshipType,
|
|
"Gender": Gender,
|
|
"Orientation": Orientation,
|
|
"HereFor": HereFor,
|
|
}
|
|
|
|
// Input field names for profile fields.
|
|
ProfileFields = []string{
|
|
"gender",
|
|
"pronouns",
|
|
"city",
|
|
"job",
|
|
"orientation",
|
|
"marital_status",
|
|
"relationship_type",
|
|
"about_me",
|
|
"interests",
|
|
"music_movies",
|
|
"hide_age",
|
|
}
|
|
|
|
// Site preference names (stored in ProfileField table)
|
|
SitePreferenceFields = []string{
|
|
"dm_privacy",
|
|
"blur_explicit",
|
|
"site_gallery_default", // default view on site gallery (friends-only or all certified?)
|
|
}
|
|
|
|
// Choices for the Contact Us subject
|
|
ContactUsChoices = []ContactUs{
|
|
{
|
|
Header: "Website Feedback",
|
|
Options: []Option{
|
|
{"feedback", "Website feedback"},
|
|
{"feature", "Make a feature request"},
|
|
{"bug", "Report a bug or broken feature"},
|
|
{"other", "General/miscellaneous/other"},
|
|
},
|
|
},
|
|
{
|
|
Header: "Report a Problem",
|
|
Options: []Option{
|
|
{"report.user", "Report a problematic user"},
|
|
{"report.photo", "Report a problematic photo"},
|
|
{"report.message", "Report a direct message conversation"},
|
|
{"report.comment", "Report a forum post or comment"},
|
|
},
|
|
},
|
|
}
|
|
|
|
// Default forum categories for forum landing page.
|
|
ForumCategories = []string{
|
|
"Rules and Announcements",
|
|
"The Inner Circle",
|
|
"Nudists",
|
|
"Exhibitionists",
|
|
"Photo Boards",
|
|
"Anything Goes",
|
|
}
|
|
)
|
|
|
|
// ContactUs choices for the subject drop-down.
|
|
type ContactUs struct {
|
|
Header string
|
|
Options []Option
|
|
}
|
|
|
|
// Option for select boxes.
|
|
type Option struct {
|
|
Value string
|
|
Label string
|
|
}
|
|
|
|
// NotificationOptout field values (stored in user ProfileField table)
|
|
const (
|
|
NotificationOptOutFriendPhotos = "notif_optout_friends_photos"
|
|
NotificationOptOutPrivatePhotos = "notif_optout_private_photos"
|
|
NotificationOptOutExplicitPhotos = "notif_optout_explicit_photos"
|
|
NotificationOptOutLikes = "notif_optout_likes"
|
|
NotificationOptOutComments = "notif_optout_comments"
|
|
NotificationOptOutSubscriptions = "notif_optout_subscriptions"
|
|
NotificationOptOutFriendRequestAccepted = "notif_optout_friend_request_accepted"
|
|
NotificationOptOutPrivateGrant = "notif_optout_private_grant"
|
|
)
|
|
|
|
// Notification opt-outs (stored in ProfileField table)
|
|
var NotificationOptOutFields = []string{
|
|
NotificationOptOutFriendPhotos,
|
|
NotificationOptOutPrivatePhotos,
|
|
NotificationOptOutExplicitPhotos,
|
|
NotificationOptOutLikes,
|
|
NotificationOptOutComments,
|
|
NotificationOptOutSubscriptions,
|
|
NotificationOptOutFriendRequestAccepted,
|
|
NotificationOptOutPrivateGrant,
|
|
}
|