website/pkg/config/enum.go
Noah ab33b8124d Forums: Basic Support WIP
Adds initial code for basically functional forums:

* Forums landing page shows hard-coded list of Categories along with any
  forums in the DB that use those categories.
* Admin: Create, Edit forums and view forums you own or have admin rights
  to modify.
* Landing page forums list shows the title/description and dynamic count of
  number of Topics and total number of Posts in each forum. TODO: distinct
  count of Users who posted in each forum.
* Board Index page shows list of Threads (posts) with a Replies count and
  Views count on each thread.
* Thread view is basically an array of Comments. Users can post, edit and
  delete (their own) comments. Deleting the first comment removes the
  entire Thread - the thread points to a first Comment to provide its body.
* Reply and Quote-Reply options working.
2022-08-23 22:55:19 -07:00

110 lines
2.0 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",
}
// 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",
}
// 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",
"Nudists",
"Exhibitionists",
"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
}