decentralized and customizable links page on top of atproto

add caption to login page

Changed files
+10 -5
src
static
templates
+2 -2
src/oauth.py
··· 23 23 @oauth.get("/start") 24 24 def oauth_start(): 25 25 # Identity 26 - username = request.args.get("username") 26 + username = request.args.get("username") or request.args.get("authserver") 27 27 if not username: 28 - return "missing ?username", 400 28 + return redirect(url_for("page_login"), 303) 29 29 30 30 if is_valid_handle(username) or is_valid_did(username): 31 31 login_hint = username
+2 -1
src/static/style.css
··· 138 138 color: var(--color-text); 139 139 font: inherit; 140 140 font-size: 14px; 141 - padding: 0.25em; 141 + padding: 0.5em; 142 142 width: 100%; 143 143 } 144 144 ··· 146 146 input[type="submit"] { 147 147 font-weight: 600; 148 148 cursor: pointer; 149 + padding: 0.25em; 149 150 } 150 151 151 152 input[type="submit"]:last-child {
+6 -2
src/templates/login.html
··· 15 15 </header> 16 16 <form action="{{ url_for('auth_login') }}" method="post"> 17 17 <label> 18 - <span>handle</span> 19 - <input type="text" name="username" required /> 18 + <span>Handle</span> 19 + <input type="text" name="username" placeholder="username.example.com" required /> 20 20 </label> 21 + <span class="caption"> 22 + Use your AT Protocol handle to log in. 23 + If you're unsure you can <a href="{{ url_for('oauth.oauth_start', authserver='https://bsky.social') }}">log in with Bluesky</a>. 24 + </span> 21 25 <input type="submit" value="log in" /> 22 26 </form> 23 27 <footer>