(READ ONLY) Margin is an open annotation layer for the internet. Powered by the AT Protocol. margin.at
extension web atproto comments
98
fork

Configure Feed

Select the types of activity you want to include in your feed.

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

scanash00 973feb67 568ad386

+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 {