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 ( const (
CertificationPhotoNeeded CertificationPhotoStatus = "needed" CertificationPhotoNeeded CertificationPhotoStatus = "needed"
CertificationPhotoPending = "pending" CertificationPhotoPending CertificationPhotoStatus = "pending"
CertificationPhotoApproved = "approved" CertificationPhotoApproved CertificationPhotoStatus = "approved"
CertificationPhotoRejected = "rejected" CertificationPhotoRejected CertificationPhotoStatus = "rejected"
) )
// GetCertificationPhoto retrieves the user's record from the DB or upserts their initial record. // 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{}{} placeholders = []interface{}{}
) )
if categories != nil && len(categories) > 0 { if len(categories) > 0 {
wheres = append(wheres, "category IN ?") wheres = append(wheres, "category IN ?")
placeholders = append(placeholders, categories) placeholders = append(placeholders, categories)
} }

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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