27d65bc389
Two follow-ups to the new /communities/new page: 1. Stop rendering the founder as an 'anonymous' chip at the top of the Moderators section. The row was synthesized from just a pubkey (genUserName fallback, no avatar), which looked broken even though the founder is always implicitly the first moderator on the published kind 34550. Drop the row entirely; the founder remains pubkey #0 in the moderator list when we publish, just isn't visible as a chip. 2. Wire the page to handle ?edit=<naddr> the same way CreateCampaignPage handles its edit param: - Decode the naddr, reject anything that isn't a kind 34550 with an 'Invalid edit link' guard card. - Fetch the existing community (inline useQuery against ['community', pubkey, dTag] since there's no useCommunity hook yet). Show a 'Loading community…' card while it resolves. - Prefill name, description, image, and moderators when the data lands. Resolve each moderator's kind-0 profile via the same two-step cache-then-network pattern campaigns use for recipients, so chips render with proper avatars and names instead of fallback stubs. - Show a 'Community cannot be edited' guard if the viewer isn't the founder, mirroring the campaign edit author check. - On submit, fetchFreshEvent + publish kind 34550 with prev. Strip d/name/description/image/alt and any p-with-role-moderator tags from the previous tag set; rebuild them from form state, then re-append the preserved tags (badge a-tag, relay hints, …) and a fresh alt. The implicit member badge is left alone in edit mode (matches CreateCommunityDialog's edit branch). CommunityDetailPage's 'Edit community' dropdown item now navigates to /communities/new?edit=<naddr> instead of opening CreateCommunityDialog. The dialog mount and its editCommunityOpen state are removed. The dialog file is left in the tree even though nothing imports it anymore — keeping it makes a revert cleaner if the user changes their mind.