change buttons layout (so it looks ok on mobile) and catch "broken pipe" in sc.DoWithRetry

This commit is contained in:
Laptop
2024-11-22 23:33:13 +02:00
parent a604174c12
commit 0e8244b3cc
4 changed files with 19 additions and 14 deletions

View File

@@ -62,6 +62,7 @@ input:focus {
cursor: pointer; cursor: pointer;
padding: 0.5rem 0.75rem; padding: 0.5rem 0.75rem;
display: block; display: block;
text-align: center;
} }
.btn:hover, .btn:hover,
@@ -135,7 +136,8 @@ details > summary:hover {
footer { footer {
margin-top: 5rem; margin-top: 5rem;
gap: 1rem; gap: 1rem;
display: flex; display: grid;
grid-template: auto / auto auto;
justify-content: center; justify-content: center;
} }
@@ -151,6 +153,7 @@ select:focus {
} }
.btns { .btns {
display: flex; display: grid;
grid-template: auto / auto auto auto;
gap: 1rem; gap: 1rem;
} }

View File

@@ -1,23 +1,25 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>soundcloak</title> <title>soundcloak</title>
<link rel="stylesheet" href="global.css"> <link rel="stylesheet" href="global.css">
</head> </head>
<body> <body>
<h1 id="sc">soundcloak</h1> <h1 id="sc">soundcloak</h1>
<form action="/search"> <form action="/search">
<div style="display: flex; gap: .5rem;"> <div style="display: flex; gap: .5rem;">
<input name="q" type="text" style="padding: .5rem .6rem; flex-grow: 1;"> <input name="q" type="text" style="padding: .5rem .6rem; flex-grow: 1;">
<select name="type"> <select name="type">
<option value="tracks">Tracks</option> <option value="tracks">Tracks</option>
<option value="users">Users</option> <option value="users">Users</option>
<option value="playlists">Playlists</option> <option value="playlists">Playlists</option>
</select> </select>
</div> </div>
<input type="submit" value="Search" class="btn" style="width: 100%; margin-top: .5rem;"> <input type="submit" value="Search" class="btn" style="width: 100%; margin-top: .5rem;">
</form> </form>
@@ -25,8 +27,6 @@
<a class="btn" href="/_/featured">Featured Tracks</a> <a class="btn" href="/_/featured">Featured Tracks</a>
<a class="btn" href="/_/preferences">Preferences</a> <a class="btn" href="/_/preferences">Preferences</a>
<br>
<a class="btn" href="https://github.com/maid-zone/soundcloak">Source code</a> <a class="btn" href="https://github.com/maid-zone/soundcloak">Source code</a>
<a class="btn" href="/notice.txt">Legal notice</a> <a class="btn" href="/notice.txt">Legal notice</a>
</footer> </footer>

View File

@@ -7,6 +7,7 @@ import (
"net/url" "net/url"
"os" "os"
"regexp" "regexp"
"syscall"
"time" "time"
"github.com/maid-zone/soundcloak/lib/cfg" "github.com/maid-zone/soundcloak/lib/cfg"
@@ -124,7 +125,7 @@ func DoWithRetry(httpc *fasthttp.HostClient, req *fasthttp.Request, resp *fastht
return nil return nil
} }
if !os.IsTimeout(err) && err != fasthttp.ErrTimeout && err != fasthttp.ErrConnectionClosed { if err != fasthttp.ErrTimeout && err != fasthttp.ErrConnectionClosed && !os.IsTimeout(err) && !errors.Is(err, syscall.EPIPE) { // EPIPE is "broken pipe" error
return return
} }
} }

View File

@@ -81,7 +81,8 @@ templ Track(prefs cfg.Preferences, t sc.Track, stream string, displayErr string)
<br/> <br/>
} }
@UserItem(&t.Author) @UserItem(&t.Author)
<div class="btns"> //<div class="btns">
<div style="display: flex;">
<a class="btn" href={ templ.URL("https://soundcloud.com/" + t.Author.Permalink + "/" + t.Permalink) }>view on soundcloud</a> <a class="btn" href={ templ.URL("https://soundcloud.com/" + t.Author.Permalink + "/" + t.Permalink) }>view on soundcloud</a>
</div> </div>
<br/> <br/>