Write on the margins of the internet. Powered by the AT Protocol. margin.at
extension web atproto comments

sign in fixes and remove margin pds from sign up modal temporarily

+16 -24
+1 -1
backend/internal/oauth/handler.go
··· 467 467 } 468 468 }() 469 469 470 - http.Redirect(w, r, "/?logged_in=true", http.StatusFound) 470 + http.Redirect(w, r, "/home?logged_in=true", http.StatusFound) 471 471 } 472 472 473 473 func (h *Handler) cleanupOrphanedReplies(did, accessToken, dpopKeyPEM, pds string) {
+13 -23
web/src/components/SignUpModal.jsx
··· 2 2 import { X, ChevronRight, Loader2, AlertCircle } from "lucide-react"; 3 3 import { BlackskyIcon, NorthskyIcon, BlueskyIcon, TopphieIcon } from "./Icons"; 4 4 import { startSignup } from "../api/client"; 5 - import logo from "../assets/logo.svg"; 6 5 7 6 const RECOMMENDED_PROVIDER = { 8 - id: "margin", 9 - name: "Margin", 10 - service: "https://pds.margin.at", 11 - Icon: null, 12 - description: "Hosted by Margin, the easiest way to get started", 13 - isMargin: true, 7 + id: "bluesky", 8 + name: "Bluesky", 9 + service: "https://bsky.social", 10 + Icon: BlueskyIcon, 11 + description: "The most popular option, recommended for most people", 14 12 }; 15 13 16 14 const OTHER_PROVIDERS = [ 17 - { 18 - id: "bluesky", 19 - name: "Bluesky", 20 - service: "https://bsky.social", 21 - Icon: BlueskyIcon, 22 - description: "The main network", 23 - }, 24 15 { 25 16 id: "blacksky", 26 17 name: "Blacksky", ··· 137 128 <h2>Custom Provider</h2> 138 129 <form onSubmit={handleCustomSubmit}> 139 130 <div className="form-group"> 140 - <label>PDS address (e.g. pds.example.com)</label> 131 + <label className="form-label"> 132 + PDS address (e.g. pds.example.com) 133 + </label> 141 134 <input 142 135 type="text" 136 + className="form-input" 143 137 value={customService} 144 138 onChange={(e) => setCustomService(e.target.value)} 145 139 placeholder="pds.example.com" ··· 157 151 <div className="modal-actions"> 158 152 <button 159 153 type="button" 160 - className="btn-secondary" 154 + className="btn btn-secondary" 161 155 onClick={() => { 162 156 setShowCustomInput(false); 163 157 setError(null); ··· 167 161 </button> 168 162 <button 169 163 type="submit" 170 - className="btn-primary" 164 + className="btn btn-primary" 171 165 disabled={!customService.trim()} 172 166 > 173 167 Continue ··· 179 173 <div className="signup-step"> 180 174 <h2>Create your account</h2> 181 175 <p className="signup-subtitle"> 182 - Margin uses the AT Protocol — the same decentralized network that 176 + Margin uses the AT Protocol, the same decentralized network that 183 177 powers Bluesky. Your account will be hosted on a server of your 184 178 choice. 185 179 </p> ··· 198 192 onClick={() => handleProviderSelect(RECOMMENDED_PROVIDER)} 199 193 > 200 194 <div className="provider-icon"> 201 - <img 202 - src={logo} 203 - alt="Margin" 204 - style={{ width: 24, height: 24 }} 205 - /> 195 + <RECOMMENDED_PROVIDER.Icon size={24} /> 206 196 </div> 207 197 <div className="provider-info"> 208 198 <h3>{RECOMMENDED_PROVIDER.name}</h3>
+2
web/src/css/login.css
··· 6 6 min-height: 80vh; 7 7 padding: 40px 20px; 8 8 width: 100%; 9 + max-width: 440px; 10 + margin: 0 auto; 9 11 } 10 12 11 13 .login-header-group {