ux: default visibility = Extended Friends (FoF) + clean visibility picker

#8 from the v0.7.0 device-test feedback round, confirmed by Scott.

Promotes FoF from a comment-policy option to a top-level visibility
choice, with FoF as the new default.

- visibility-select: new option order with `fof_closed` selected by
  default:
    - Extended Friends (FoF)  ← default
    - Friends
    - Public
    - Circle
- comment-perm-select: removed the old `fof_closed` option (its job
  is now done by the visibility picker). Kept `friends_of_friends`
  for the Mode 2 combo (public body + FoF-gated comments).
- updateVisibilityUI now hides comment-perm-select when visibility is
  `fof_closed` — the audience choice already implies the comment
  policy, no extra picker needed. Shown again on public/friends/circle.
- Compose dispatch logic re-rooted on visibility instead of comment
  policy:
    - fof_closed → create_post_fof_closed (Mode 1)
    - public + comment-perm=friends_of_friends → create_post_with_fof_comments (Mode 2)
    - everything else → existing create_post path
- After-post reset goes to `fof_closed` (not `public`) to preserve the
  privacy-by-default posture.

Tracker memory updated: #8 marked complete; #10 clarified (per-group
persona selection, scoped alongside the deferred Group UI work in #9).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Scott Reimers 2026-05-14 22:39:44 -06:00
parent 346d23d4d8
commit 83fd30753f
2 changed files with 27 additions and 25 deletions

View file

@ -96,8 +96,9 @@
<div id="visibility-row">
<select id="persona-select" title="Post as" class="hidden"></select>
<select id="visibility-select">
<option value="public">Public</option>
<option value="fof_closed" selected>Extended Friends (FoF)</option>
<option value="friends">Friends</option>
<option value="public">Public</option>
<option value="circle">Circle</option>
</select>
<select id="circle-select" class="hidden"></select>
@ -105,7 +106,6 @@
<option value="public">Comments: All</option>
<option value="followers_only">Comments: Followers</option>
<option value="friends_of_friends">Comments: Friends of Friends</option>
<option value="fof_closed">Body+Comments: FoF only (Mode 1)</option>
<option value="none">Comments: Off</option>
</select>
<select id="react-perm-select" title="React permission">