···22032203 text-align: right;
22042204}
2205220522062206+/* "View public profile" link rendered below the form once the profile
22072207+ * is live in the registry. Wraps the secondary button so we can centre
22082208+ * it without affecting the form layout above. */
22092209+.manage-view-public {
22102210+ display: flex;
22112211+ justify-content: center;
22122212+ margin-top: 1.75rem;
22132213+}
22142214+22152215+.manage-view-public-link {
22162216+ display: inline-flex;
22172217+ align-items: center;
22182218+ gap: 0.5rem;
22192219+ text-decoration: none;
22202220+}
22212221+22062222.profile-form {
22072223 padding: 1.75rem;
22082224 border-radius: 24px;
+1
i18n/messages/en.tsx
···407407 "Publish to add this profile to Explore. Nothing is shared until you do.",
408408 signOut: "Sign out",
409409 signedInAs: "Signed in as",
410410+ viewPublicProfile: "View public profile",
410411 },
411412 },
412413
+19
routes/explore/manage.tsx
···159159 initialPublished={initialPublished}
160160 />
161161 </div>
162162+163163+ {/*
164164+ Only render the "view public profile" link once the profile
165165+ actually exists in the registry — there's nothing to view
166166+ until the user has hit Publish at least once. We use the
167167+ handle from the registry row so it stays correct even if
168168+ the user later changes their PDS handle.
169169+ */}
170170+ {initialPublished && publicProfileHandle && (
171171+ <div class="manage-view-public">
172172+ <a
173173+ href={`/explore/${encodeURIComponent(publicProfileHandle)}`}
174174+ class="profile-form-button-secondary manage-view-public-link"
175175+ >
176176+ {explore.manage.viewPublicProfile}
177177+ <span aria-hidden="true">→</span>
178178+ </a>
179179+ </div>
180180+ )}
162181 </div>
163182 </section>
164183 <Footer variant="compact" />