diff options
| author | Samuel W <samuel.wilhelmsson@gmail.com> | 2025-01-10 16:46:54 +0100 |
|---|---|---|
| committer | Samuel W <samuel.wilhelmsson@gmail.com> | 2025-01-10 16:46:54 +0100 |
| commit | 706021a5e76c64cc18ded0a9d59d40e8421dc8c3 (patch) | |
| tree | 530c10521d088e7f8b6268b45960036cd2285914 | |
| parent | 191e2ddf095a5e57b33caf4a9235c686a462232c (diff) | |
| download | tinygram-706021a5e76c64cc18ded0a9d59d40e8421dc8c3.tar.gz tinygram-706021a5e76c64cc18ded0a9d59d40e8421dc8c3.zip | |
Update some looks and stuff
| -rw-r--r-- | .gitignore | 2 | ||||
| -rw-r--r-- | assets/style.css | 7 | ||||
| -rw-r--r-- | index.templ | 16 | ||||
| -rw-r--r-- | index_templ.go | 112 | ||||
| -rw-r--r-- | main.go | 1 |
5 files changed, 107 insertions, 31 deletions
@@ -1 +1,3 @@ *.db +*.db-shm +*.db-wal diff --git a/assets/style.css b/assets/style.css index 2994f18..bb4d653 100644 --- a/assets/style.css +++ b/assets/style.css @@ -8,6 +8,13 @@ body { justify-content:center; } +h1 { + font-family: "Jacquard 12"; + font-size: 50px; + margin-top: 20px; + margin-bottom: 20px; +} + .upload { display: flex; justify-content:center; diff --git a/index.templ b/index.templ index 23c389a..6df889f 100644 --- a/index.templ +++ b/index.templ @@ -14,11 +14,16 @@ templ index(ps []Post, tz *time.Location) { <script src="/static/htmx.min.js"></script> <link rel="preload" href="/static/style.css" as="style"/> <link rel="stylesheet" href="/static/style.css"/> + <link rel="preconnect" href="https://fonts.googleapis.com"/> + <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin/> + <link href="https://fonts.googleapis.com/css2?family=Jacquard+12&display=swap" rel="stylesheet"/> </head> <body> <div id="container"> <div id="header"> - <a id="uploadlink" href="/upload"><h2>Tinygram</h2></a> + <a id="uploadlink" href="/upload"> + <h1>Tinygram</h1> + </a> </div> <div id="posts"> @posts(ps, tz) @@ -40,11 +45,7 @@ templ loginPage(csrfToken string) { <link rel="stylesheet" href="/static/style.css"/> </head> <body> - <form - class="login" - hx-encoding="multipart/form-data" - hx-post="/login" - > + <form class="login" hx-encoding="multipart/form-data" hx-post="/login"> <input type="password" name="password"/> <input type="hidden" name="_csrf" value={ csrfToken }/> <button> @@ -103,7 +104,8 @@ templ posts(posts []Post, tz *time.Location) { if len(posts) > 0 { <div style="min-height:1px" - hx-get={ fmt.Sprintf("/posts?after=%v", url.QueryEscape(posts[len(posts)-1].CreatedAt.Format(time.RFC3339))) } + hx-get={ fmt.Sprintf("/posts?after=%v", + url.QueryEscape(posts[len(posts)-1].CreatedAt.Format(time.RFC3339))) } hx-target="#posts" hx-trigger="revealed" hx-swap="beforeend" diff --git a/index_templ.go b/index_templ.go index f4b3f93..45e2516 100644 --- a/index_templ.go +++ b/index_templ.go @@ -1,6 +1,6 @@ // Code generated by templ - DO NOT EDIT. -// templ: version: v0.2.543 +// templ: version: v0.2.513 package main //lint:file-ignore SA4006 This context is only used if a nested component is present. @@ -27,7 +27,25 @@ func index(ps []Post, tz *time.Location) templ.Component { templ_7745c5c3_Var1 = templ.NopComponent } ctx = templ.ClearChildren(ctx) - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<!doctype html><html><head><meta charset=\"utf-8\"><meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1, shrink-to-fit=no\"><script src=\"/static/htmx.min.js\"></script><link rel=\"preload\" href=\"/static/style.css\" as=\"style\"><link rel=\"stylesheet\" href=\"/static/style.css\"></head><body><div id=\"container\"><div id=\"header\"><a id=\"uploadlink\" href=\"/upload\"><h2>Tinygram</h2></a></div><div id=\"posts\">") + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<!doctype html><html><head><meta charset=\"utf-8\"><meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1, shrink-to-fit=no\"><script src=\"/static/htmx.min.js\">") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Var2 := `` + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var2) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</script><link rel=\"preload\" href=\"/static/style.css\" as=\"style\"><link rel=\"stylesheet\" href=\"/static/style.css\"><link rel=\"preconnect\" href=\"https://fonts.googleapis.com\"><link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin><link href=\"https://fonts.googleapis.com/css2?family=Jacquard+12&display=swap\" rel=\"stylesheet\"></head><body><div id=\"container\"><div id=\"header\"><a id=\"uploadlink\" href=\"/upload\"><h1>") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Var3 := `Tinygram` + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var3) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</h1></a></div><div id=\"posts\">") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } @@ -54,12 +72,21 @@ func loginPage(csrfToken string) templ.Component { defer templ.ReleaseBuffer(templ_7745c5c3_Buffer) } ctx = templ.InitializeContext(ctx) - templ_7745c5c3_Var2 := templ.GetChildren(ctx) - if templ_7745c5c3_Var2 == nil { - templ_7745c5c3_Var2 = templ.NopComponent + templ_7745c5c3_Var4 := templ.GetChildren(ctx) + if templ_7745c5c3_Var4 == nil { + templ_7745c5c3_Var4 = templ.NopComponent } ctx = templ.ClearChildren(ctx) - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<!doctype html><html><head><meta charset=\"utf-8\"><meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1, shrink-to-fit=no\"><script src=\"/static/htmx.min.js\"></script><link rel=\"preload\" href=\"/static/style.css\" as=\"style\"><link rel=\"stylesheet\" href=\"/static/style.css\"></head><body><form class=\"login\" hx-encoding=\"multipart/form-data\" hx-post=\"/login\"><input type=\"password\" name=\"password\"> <input type=\"hidden\" name=\"_csrf\" value=\"") + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<!doctype html><html><head><meta charset=\"utf-8\"><meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1, shrink-to-fit=no\"><script src=\"/static/htmx.min.js\">") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Var5 := `` + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var5) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</script><link rel=\"preload\" href=\"/static/style.css\" as=\"style\"><link rel=\"stylesheet\" href=\"/static/style.css\"></head><body><form class=\"login\" hx-encoding=\"multipart/form-data\" hx-post=\"/login\"><input type=\"password\" name=\"password\"> <input type=\"hidden\" name=\"_csrf\" value=\"") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } @@ -67,7 +94,16 @@ func loginPage(csrfToken string) templ.Component { if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\"> <button>Login</button></form></body></html>") + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\"> <button>") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Var6 := `Login` + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var6) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</button></form></body></html>") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } @@ -86,12 +122,21 @@ func uploadPage(csrfToken string) templ.Component { defer templ.ReleaseBuffer(templ_7745c5c3_Buffer) } ctx = templ.InitializeContext(ctx) - templ_7745c5c3_Var3 := templ.GetChildren(ctx) - if templ_7745c5c3_Var3 == nil { - templ_7745c5c3_Var3 = templ.NopComponent + templ_7745c5c3_Var7 := templ.GetChildren(ctx) + if templ_7745c5c3_Var7 == nil { + templ_7745c5c3_Var7 = templ.NopComponent } ctx = templ.ClearChildren(ctx) - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<!doctype html><html><head><meta charset=\"utf-8\"><meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1, shrink-to-fit=no\"><script src=\"/static/htmx.min.js\"></script><link rel=\"preload\" href=\"/static/style.css\" as=\"style\"><link rel=\"stylesheet\" href=\"/static/style.css\"></head><body><form class=\"upload\" hx-encoding=\"multipart/form-data\" hx-post=\"/upload\" _=\"on htmx:xhr:progress(loaded, total) set #progress.value to (loaded/total)*100\"><input type=\"file\" name=\"file\"> <input type=\"hidden\" name=\"_csrf\" value=\"") + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<!doctype html><html><head><meta charset=\"utf-8\"><meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1, shrink-to-fit=no\"><script src=\"/static/htmx.min.js\">") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Var8 := `` + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var8) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</script><link rel=\"preload\" href=\"/static/style.css\" as=\"style\"><link rel=\"stylesheet\" href=\"/static/style.css\"></head><body><form class=\"upload\" hx-encoding=\"multipart/form-data\" hx-post=\"/upload\" _=\"on htmx:xhr:progress(loaded, total) set #progress.value to (loaded/total)*100\"><input type=\"file\" name=\"file\"> <input type=\"hidden\" name=\"_csrf\" value=\"") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } @@ -99,7 +144,25 @@ func uploadPage(csrfToken string) templ.Component { if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\"><div><span>Description:</span> <input type=\"text\" name=\"description\"></div><button>Upload</button> <progress id=\"progress\" value=\"0\" max=\"100\"></progress></form></body></html>") + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\"><div><span>") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Var9 := `Description:` + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var9) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</span> <input type=\"text\" name=\"description\"></div><button>") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Var10 := `Upload` + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var10) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</button> <progress id=\"progress\" value=\"0\" max=\"100\"></progress></form></body></html>") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } @@ -118,9 +181,9 @@ func posts(posts []Post, tz *time.Location) templ.Component { defer templ.ReleaseBuffer(templ_7745c5c3_Buffer) } ctx = templ.InitializeContext(ctx) - templ_7745c5c3_Var4 := templ.GetChildren(ctx) - if templ_7745c5c3_Var4 == nil { - templ_7745c5c3_Var4 = templ.NopComponent + templ_7745c5c3_Var11 := templ.GetChildren(ctx) + if templ_7745c5c3_Var11 == nil { + templ_7745c5c3_Var11 = templ.NopComponent } ctx = templ.ClearChildren(ctx) for _, post := range posts { @@ -144,12 +207,12 @@ func posts(posts []Post, tz *time.Location) templ.Component { if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - var templ_7745c5c3_Var5 string - templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(post.Description) + var templ_7745c5c3_Var12 string + templ_7745c5c3_Var12, templ_7745c5c3_Err = templ.JoinStringErrs(post.Description) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 97, Col: 45} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 98, Col: 45} } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5)) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var12)) if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } @@ -157,12 +220,12 @@ func posts(posts []Post, tz *time.Location) templ.Component { if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - var templ_7745c5c3_Var6 string - templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs(post.CreatedAt.In(tz).Format("2006-01-02 - 15:04")) + var templ_7745c5c3_Var13 string + templ_7745c5c3_Var13, templ_7745c5c3_Err = templ.JoinStringErrs(post.CreatedAt.In(tz).Format("2006-01-02 - 15:04")) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 98, Col: 72} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 99, Col: 72} } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6)) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var13)) if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } @@ -176,7 +239,8 @@ func posts(posts []Post, tz *time.Location) templ.Component { if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(fmt.Sprintf("/posts?after=%v", url.QueryEscape(posts[len(posts)-1].CreatedAt.Format(time.RFC3339))))) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(fmt.Sprintf("/posts?after=%v", + url.QueryEscape(posts[len(posts)-1].CreatedAt.Format(time.RFC3339))))) if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } @@ -61,6 +61,7 @@ func main() { e.Use(session.Middleware(sessions.NewCookieStore([]byte(sessionSecret)))) db, err := gorm.Open(sqlite.Open(dbPath), &gorm.Config{}) + db.Exec("PRAGMA journal_mode=WAL; PRAGMA busy_timeout = 5000;") db.AutoMigrate(Post{}) |
