Fix Gallery checkbox always checking itself + small fixes

This commit is contained in:
Noah Petherbridge 2023-05-24 18:40:27 -07:00
parent e6388de589
commit 50d05f92f1
8 changed files with 156 additions and 113 deletions

View File

@ -22,9 +22,9 @@ type CertificationPhotoStatus string
const (
CertificationPhotoNeeded CertificationPhotoStatus = "needed"
CertificationPhotoPending = "pending"
CertificationPhotoApproved = "approved"
CertificationPhotoRejected = "rejected"
CertificationPhotoPending CertificationPhotoStatus = "pending"
CertificationPhotoApproved CertificationPhotoStatus = "approved"
CertificationPhotoRejected CertificationPhotoStatus = "rejected"
)
// GetCertificationPhoto retrieves the user's record from the DB or upserts their initial record.

View File

@ -86,7 +86,7 @@ func PaginateForums(user *User, categories []string, pager *Pagination) ([]*Foru
placeholders = []interface{}{}
)
if categories != nil && len(categories) > 0 {
if len(categories) > 0 {
wheres = append(wheres, "category IN ?")
placeholders = append(placeholders, categories)
}

View File

@ -28,7 +28,7 @@ func PaginateRecentPosts(user *User, categories []string, pager *Pagination) ([]
placeholders = []interface{}{}
)
if categories != nil && len(categories) > 0 {
if len(categories) > 0 {
wheres = append(wheres, "forums.category IN ?")
placeholders = append(placeholders, categories)
}

View File

@ -32,16 +32,16 @@ type NotificationType string
const (
NotificationLike NotificationType = "like"
NotificationFriendApproved = "friendship_approved"
NotificationComment = "comment"
NotificationAlsoCommented = "also_comment"
NotificationAlsoPosted = "also_posted" // forum replies
NotificationCertRejected = "cert_rejected"
NotificationCertApproved = "cert_approved"
NotificationPrivatePhoto = "private_photo"
NotificationNewPhoto = "new_photo"
NotificationInnerCircle = "inner_circle"
NotificationCustom = "custom" // custom message pushed
NotificationFriendApproved NotificationType = "friendship_approved"
NotificationComment NotificationType = "comment"
NotificationAlsoCommented NotificationType = "also_comment"
NotificationAlsoPosted NotificationType = "also_posted" // forum replies
NotificationCertRejected NotificationType = "cert_rejected"
NotificationCertApproved NotificationType = "cert_approved"
NotificationPrivatePhoto NotificationType = "private_photo"
NotificationNewPhoto NotificationType = "new_photo"
NotificationInnerCircle NotificationType = "inner_circle"
NotificationCustom NotificationType = "custom" // custom message pushed
)
// CreateNotification

View File

@ -30,9 +30,9 @@ type PhotoVisibility string
const (
PhotoPublic PhotoVisibility = "public" // on profile page and/or public gallery
PhotoFriends = "friends" // only friends can see it
PhotoPrivate = "private" // private
PhotoInnerCircle = "circle" // inner circle
PhotoFriends PhotoVisibility = "friends" // only friends can see it
PhotoPrivate PhotoVisibility = "private" // private
PhotoInnerCircle PhotoVisibility = "circle" // inner circle
)
// PhotoVisibility preset settings.

View File

@ -47,8 +47,8 @@ type UserVisibility string
const (
UserVisibilityPublic UserVisibility = "public"
UserVisibilityExternal = "external"
UserVisibilityPrivate = "private"
UserVisibilityExternal UserVisibility = "external"
UserVisibilityPrivate UserVisibility = "private"
)
// All visibility options.

View File

@ -15,110 +15,154 @@
<div class="block p-4">
<div class="content">
<p>
Congratulations! You have been added to the <strong>{{PrettyCircle}}</strong> because you
exemplify what it truly means to be a {{PrettyTitle}} nudist.
</p>
<div class="columns">
<div class="column is-one-quarter">
<!-- Quick Links -->
<div class="card block">
<header class="card-header has-background-link">
<p class="card-header-title has-text-light">
<span class="icon mr-1"><img src="/static/img/circle-16.png"></span>
<span>Quick Links</span>
</p>
</header>
<h2>What is the inner circle?</h2>
<div class="card-content">
<p class="block">
Some quick links to {{PrettyCircle}}-only views mentioned
in the description on this page:
</p>
<p>
The inner circle is for {{PrettyTitle}} members who <em>actually</em> share a lot of nude pictures,
<strong>with face</strong>, of themselves on their profile page. It is "the party inside the party"
designed only for members who truly embrace the spirit of the {{PrettyTitle}} website by boldly
sharing nude pics with face for other nonshy nudists to see.
</p>
<ul class="menu-list block">
<li>
<a href="/photo/gallery?visibility=circle">
<i class="fa fa-image mr-1"></i>
Gallery (circle-only photos)
</a>
</li>
<h2>What can I do for being in the inner circle?</h2>
<li>
<a href="/members?certified=circle">
<i class="fa fa-people-group mr-1"></i>
Inner circle members
</a>
</li>
<p>
As a part of the inner circle, you have access to the following new features:
</p>
<li>
<a href="/f/circle">
<i class="fa fa-comments mr-1"></i>
Forum (Circle Chat)
</a>
</li>
</ul>
</div>
</div>
</div>
<ul>
<li>
When
<a href="/photo/upload"><strong><i class="fa fa-upload mr-1"></i> Uploading a photo</strong></a> you
have a new Visibility option for "<strong>{{PrettyCircle}}</strong> <img src="/static/img/circle-16.png">"
so that only members of the inner circle can see those pictures.
</li>
<li>
On the
<a href="/photo/gallery"><strong><i class="fa fa-image mr-1"></i> Site Gallery</strong></a>
you can filter for <a href="/photo/gallery?visibility=circle">Inner Circle-only photos</a> shared
by other members of the circle.
</li>
<li>
On the
<a href="/members"><strong><i class="fa fa-people-group mr-1"></i> Member Directory</strong></a>
you can see who else is <a href="/members?certified=circle">in the inner circle.</a>
</li>
<li>
On the
<a href="/members"><strong><i class="fa fa-comments mr-1"></i> Forums</strong></a>
you can access exclusive inner circle-only boards.
</li>
<li>
On your <a href="/u/{{.CurrentUser.Username}}">profile page</a> you get an "Inner circle" badge near your
Certified status. This badge is <strong>only</strong> visible to members of the inner circle.
</li>
<li>
You may <strong>invite</strong> other members to join the inner circle.
</li>
</ul>
<div class="column content">
<p>
Congratulations! You have been added to the <strong>{{PrettyCircle}}</strong> because you
exemplify what it truly means to be a {{PrettyTitle}} nudist.
</p>
<h2>How do I invite others to join the inner circle?</h2>
<h2>What is the inner circle?</h2>
<p>
When you are viewing a <strong>member's photo gallery</strong> page, look for the prompt at the top of the
page.
</p>
<p>
The inner circle is for {{PrettyTitle}} members who <em>actually</em> share a lot of nude pictures,
<strong>with face</strong>, of themselves on their profile page. It is "the party inside the party"
designed only for members who truly embrace the spirit of the {{PrettyTitle}} website by boldly
sharing nude pics with face for other nonshy nudists to see.
</p>
<p>
If a member posts several <small>(e.g. {{.InnerCircleMinimumPublicPhotos}}+)</small> nude pics <strong>including face</strong> you should invite them to join
the inner circle. All members of the circle are allowed to invite new members to join. We trust your
judgment: please only invite like-minded nudists who <em>actually</em> share nudes <em>with face</em>
to join the inner circle.
</p>
<h2>What can I do for being in the inner circle?</h2>
<p>
<strong>Notice:</strong> the prompt to invite them to the circle will not be visible if they do not have
<em>at least</em> <strong>{{.InnerCircleMinimumPublicPhotos}}</strong> public photos on their page at all.
Those public photos aren't necessarily nudes, but hiding the prompt unless they have {{.InnerCircleMinimumPublicPhotos}}
photos can help reduce the risk of inviting somebody on accident.
</p>
<p>
As a part of the inner circle, you have access to the following new features:
</p>
<h2>Please keep the existence of the inner circle a secret</h2>
<ul>
<li>
When
<a href="/photo/upload"><strong><i class="fa fa-upload mr-1"></i> Uploading a photo</strong></a> you
have a new Visibility option for "<strong>{{PrettyCircle}}</strong> <img src="/static/img/circle-16.png">"
so that only members of the inner circle can see those pictures.
</li>
<li>
On the
<a href="/photo/gallery"><strong><i class="fa fa-image mr-1"></i> Site Gallery</strong></a>
you can filter for <a href="/photo/gallery?visibility=circle">Inner Circle-only photos</a> shared
by other members of the circle.
</li>
<li>
On the
<a href="/members"><strong><i class="fa fa-people-group mr-1"></i> Member Directory</strong></a>
you can see who else is <a href="/members?certified=circle">in the inner circle.</a>
</li>
<li>
On the
<a href="/members"><strong><i class="fa fa-comments mr-1"></i> Forums</strong></a>
you can access exclusive inner circle-only boards.
</li>
<li>
On your <a href="/u/{{.CurrentUser.Username}}">profile page</a> you get an "Inner circle" badge near your
Certified status. This badge is <strong>only</strong> visible to members of the inner circle.
</li>
<li>
You may <strong>invite</strong> other members to join the inner circle.
</li>
</ul>
<p>
The inner circle is not publicly advertised on the site. This is to help ensure that "bad actors" won't
try and game the system (e.g., by begging somebody to invite them into the circle, or uploading a bare
minimum of nude pics for somebody to invite them only for them to delete their nudes and try and stay
in the inner circle). Plus, it adds an air of exclusivity to keep the existence of the circle on the
down low.
</p>
<h2>How do I invite others to join the inner circle?</h2>
<h2>Still continue to share at least <em>some</em> nudes on "public"</h2>
<p>
When you are viewing a <strong>member's photo gallery</strong> page, look for the prompt at the top of the
page.
</p>
<p>
With the new Photo visibility option for "inner circle only" you may tag your best nudes for only members
of the inner circle to see. However, you should still continue to share at least <em>some</em> photos on
"Public" as you were doing previously. This is for a couple of reasons:
</p>
<p>
If a member posts several <small>(e.g. {{.InnerCircleMinimumPublicPhotos}}+)</small> nude pics <strong>including face</strong> you should invite them to join
the inner circle. All members of the circle are allowed to invite new members to join. We trust your
judgment: please only invite like-minded nudists who <em>actually</em> share nudes <em>with face</em>
to join the inner circle.
</p>
<ul>
<li>
Members who are <em>not</em> in the circle won't see your circle-only photos. If for example you
placed <em>all</em> of your nudes on circle-only you would appear to look the same as someone who
uploaded no nudes at all.
</li>
<li>
The "<a href="/faq#shy-faqs">Shy Account</a>" system of the main website still applies: if you have
not one public photo on your page you may be marked as a Shy Account and be limited from some site
features such as the Chat Room.
</li>
</ul>
<p>
<strong>Notice:</strong> the prompt to invite them to the circle will not be visible if they do not have
<em>at least</em> <strong>{{.InnerCircleMinimumPublicPhotos}}</strong> public photos on their page at all.
Those public photos aren't necessarily nudes, but hiding the prompt unless they have {{.InnerCircleMinimumPublicPhotos}}
photos can help reduce the risk of inviting somebody on accident.
</p>
<h2>Please keep the existence of the inner circle a secret</h2>
<p>
The inner circle is not publicly advertised on the site. This is to help ensure that "bad actors" won't
try and game the system (e.g., by begging somebody to invite them into the circle, or uploading a bare
minimum of nude pics for somebody to invite them only for them to delete their nudes and try and stay
in the inner circle). Plus, it adds an air of exclusivity to keep the existence of the circle on the
down low.
</p>
<h2>Still continue to share at least <em>some</em> nudes on "public"</h2>
<p>
With the new Photo visibility option for "inner circle only" you may tag your best nudes for only members
of the inner circle to see. However, you should still continue to share at least <em>some</em> photos on
"Public" as you were doing previously. This is for a couple of reasons:
</p>
<ul>
<li>
Members who are <em>not</em> in the circle won't see your circle-only photos. If for example you
placed <em>all</em> of your nudes on circle-only you would appear to look the same as someone who
uploaded no nudes at all.
</li>
<li>
The "<a href="/faq#shy-faqs">Shy Account</a>" system of the main website still applies: if you have
not one public photo on your page you may be marked as a Shy Account and be limited from some site
features such as the Chat Room.
</li>
</ul>
</div>
</div>
</div>

View File

@ -292,8 +292,7 @@
<input type="checkbox"
name="gallery"
value="true"
checked
{{if .EditPhoto.Gallery}}checked{{end}}>
{{if or .EditPhoto.Gallery (not .EditPhoto)}}checked{{end}}>
Show this photo in the site-wide Photo Gallery
</label>
<p class="help">