From b94d768b5c50b0041ddd6f756ab10ae55199c7e9 Mon Sep 17 00:00:00 2001 From: Sky Johnson Date: Fri, 22 Aug 2025 15:56:50 -0500 Subject: [PATCH] start forum routes, fix db concurrency issue, add new font for headings --- assets/dk.css | 42 +++++++++++++++++++++++++--------- assets/fonts/seagram.ttf | Bin 0 -> 41344 bytes data/dk.db | Bin 73728 -> 73728 bytes go.mod | 2 +- go.sum | 4 ++-- internal/components/asides.go | 4 ++++ internal/components/town.go | 4 ++-- internal/database/wrapper.go | 2 +- internal/routes/forum.go | 18 +++++++++++++++ main.go | 1 + templates/forum/index.html | 5 ++++ templates/intro.html | 6 ++++- templates/leftside.html | 9 ++++---- templates/rightside.html | 5 ++-- templates/town/inn.html | 4 ++-- templates/town/maps.html | 2 +- templates/town/shop.html | 2 +- templates/town/town.html | 4 ++-- 18 files changed, 82 insertions(+), 32 deletions(-) create mode 100644 assets/fonts/seagram.ttf create mode 100644 internal/routes/forum.go create mode 100644 templates/forum/index.html diff --git a/assets/dk.css b/assets/dk.css index d8f2143..4fce2c3 100644 --- a/assets/dk.css +++ b/assets/dk.css @@ -4,12 +4,22 @@ for legibility and design, but keep the soul of the original project. */ +@font-face { + font-family: 'Seagram'; + src: url('/assets/fonts/seagram.ttf') format('truetype'); + font-display: swap; +} + :root { color: #222; font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif; font-size: 16px; } +.seagram { + font-family: 'Seagram', Cambria, Cochin, Georgia, Times, 'Times New Roman', serif; +} + * { margin: 0; padding: 0; @@ -26,10 +36,13 @@ body { i { font-style: italic; } b { font-weight: bold; } -h1 { font-size: 2rem; font-weight: bold; } -h2 { font-size: 1.7rem; font-weight: bold; } -h3 { font-size: 1.4rem; font-weight: bold; } -h4 { font-size: 1.1rem; font-weight: bold; } +h1, h2, h3, h4, h5 { + font-family: 'Seagram', Cambria, Cochin, Georgia, Times, 'Times New Roman', serif; +} +h1 { font-size: 2rem; } +h2 { font-size: 1.7rem; } +h3 { font-size: 1.4rem; } +h4 { font-size: 1.1rem; } div#container { max-width: 1024px; @@ -56,17 +69,20 @@ section#game { margin: 1rem 0; border-top: 2px solid #000; - & > aside { - padding: 0.5rem; - } - - & > aside > section:not(:last-child) { - margin-bottom: 1rem; + & > aside > section:not(:last-of-type) { + margin-bottom: 0.5rem; + padding-bottom: 1rem; + border-bottom: 2px solid black; } & > aside > section { display: flex; flex-direction: column; + padding: 0.5rem; + + h5 { + margin-bottom: 0.25rem; + } } & > aside#left { @@ -267,6 +283,10 @@ form.standard { margin-bottom: 0.5rem; } +.mb-025 { + margin-bottom: 0.25rem; +} + div.town { & > section:not(:last-child) { margin-bottom: 2rem; @@ -294,7 +314,7 @@ button.img-button { div#statbars { display: flex; justify-content: space-around; - margin: 1rem 0; + margin-top: 1rem; & > div.stat { display: flex; diff --git a/assets/fonts/seagram.ttf b/assets/fonts/seagram.ttf new file mode 100644 index 0000000000000000000000000000000000000000..765faa898a59a415653e89147e0e3fdb51f3a9b7 GIT binary patch literal 41344 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 Y(V&aleMJ6d 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 literal 0 HcmV?d00001 diff --git a/data/dk.db b/data/dk.db index 1616cbd5b21f479c18fb64ab02611c4ee1c8b540..46857de0a93bf8aa8a51a2591960691fa5630069 100644 GIT binary patch delta 17 ZcmZoTz|wGlWrOT~rc2v4%kO`f002jl2yp-a delta 17 ZcmZoTz|wGlWrOT~rlZ`O<@Y~K002WZ2e|+M diff --git a/go.mod b/go.mod index 18cfee9..2da4b7b 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module dk go 1.25.0 require ( - git.sharkk.net/Sharkk/Sashimi v1.0.1 + git.sharkk.net/Sharkk/Sashimi v1.1.1 git.sharkk.net/Sharkk/Sushi v1.2.0 github.com/valyala/fasthttp v1.65.0 ) diff --git a/go.sum b/go.sum index cd607f6..7407c92 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,5 @@ -git.sharkk.net/Sharkk/Sashimi v1.0.1 h1:5YMmxnCgcsyasg5J91AS5FVzzJoDZ17I3J4hlJyyMR4= -git.sharkk.net/Sharkk/Sashimi v1.0.1/go.mod h1:wTMnO6jo34LIjpDJ0qToq14RbwP6Uf4HtdWDmqxrdAM= +git.sharkk.net/Sharkk/Sashimi v1.1.1 h1:ST7YQjnQq3ydAKy/Kerx89cx+b/mXDOq7W/ll1aX1jA= +git.sharkk.net/Sharkk/Sashimi v1.1.1/go.mod h1:wTMnO6jo34LIjpDJ0qToq14RbwP6Uf4HtdWDmqxrdAM= git.sharkk.net/Sharkk/Sushi v1.2.0 h1:RwOCZmgaOqtkmuK2Z7/esdLbhSXJZphsOsWEHni4Sss= git.sharkk.net/Sharkk/Sushi v1.2.0/go.mod h1:S84ACGkuZ+BKzBO4lb5WQnm5aw9+l7VSO2T1bjzxL3o= github.com/andybalholm/brotli v1.2.0 h1:ukwgCxwYrmACq68yiUqwIWnGY0cTPox/M94sVwToPjQ= diff --git a/internal/components/asides.go b/internal/components/asides.go index e5cfd89..92e5a6c 100644 --- a/internal/components/asides.go +++ b/internal/components/asides.go @@ -21,6 +21,10 @@ func LeftAside(ctx sushi.Ctx) map[string]any { user := ctx.UserValue("user").(*users.User) + if user.Currently == "In Town" { + data["town"], _ = towns.ByCoords(user.X, user.Y) + } + // Build owned town maps list if user.Towns != "" { townMap := helpers.NewOrderedMap[int, *towns.Town]() diff --git a/internal/components/town.go b/internal/components/town.go index cc74ba0..5e023a5 100644 --- a/internal/components/town.go +++ b/internal/components/town.go @@ -9,7 +9,7 @@ import ( ) func GenerateTownNews() string { - title := `
Latest News
` + title := `

Latest News

` news, err := news.Recent(1) if err == nil && len(news) > 0 { @@ -22,7 +22,7 @@ func GenerateTownNews() string { } func GenerateTownWhosOnline() string { - title := `
Who's Online
` + title := `

Who's Online

` onlineUsers, err := users.Online(10 * time.Minute) if err == nil && len(onlineUsers) > 0 { diff --git a/internal/database/wrapper.go b/internal/database/wrapper.go index 79b0a41..20a612d 100644 --- a/internal/database/wrapper.go +++ b/internal/database/wrapper.go @@ -35,7 +35,7 @@ func Close() error { } // Wrapper functions for convenience -func Query(query string, args ...any) (*sashimi.Stmt, error) { +func Query(query string, args ...any) (*sashimi.PooledStmt, error) { return db.Query(query, args...) } diff --git a/internal/routes/forum.go b/internal/routes/forum.go new file mode 100644 index 0000000..3b35016 --- /dev/null +++ b/internal/routes/forum.go @@ -0,0 +1,18 @@ +package routes + +import ( + "dk/internal/components" + + sushi "git.sharkk.net/Sharkk/Sushi" + "git.sharkk.net/Sharkk/Sushi/auth" +) + +func RegisterForumRoutes(app *sushi.App) { + authed := app.Group("/forum") + authed.Use(auth.RequireAuth()) + authed.Get("/", index) +} + +func index(ctx sushi.Ctx) { + components.RenderPage(ctx, "Forum", "forum/index.html", map[string]any{}) +} diff --git a/main.go b/main.go index a03b600..df24a8b 100644 --- a/main.go +++ b/main.go @@ -177,6 +177,7 @@ func start(port string) error { routes.RegisterAuthRoutes(app) routes.RegisterTownRoutes(app) routes.RegisterFightRoutes(app) + routes.RegisterForumRoutes(app) app.Get("/assets/*path", sushi.Static(cwd)) diff --git a/templates/forum/index.html b/templates/forum/index.html new file mode 100644 index 0000000..21c8ea0 --- /dev/null +++ b/templates/forum/index.html @@ -0,0 +1,5 @@ +{include "layout.html"} + +{block "content"} +FORUM PAGE +{/block} diff --git a/templates/intro.html b/templates/intro.html index 2be2b98..48a4eb4 100644 --- a/templates/intro.html +++ b/templates/intro.html @@ -1,5 +1,9 @@ {include "layout.html"} {block "content"} -Hey there! +

Welcome to Dragon Knight

+ +

+ Hey there! +

{/block} diff --git a/templates/leftside.html b/templates/leftside.html index 4533b6c..1e85102 100644 --- a/templates/leftside.html +++ b/templates/leftside.html @@ -1,13 +1,13 @@
-
Location
+
Compass
-
+
{if user.Currently == "In Town" and town != nil} In {town.Name} {else} {user.Currently} {/if} -
+
{user.X}{if user.X < 0}W{else}E{/if}, {user.Y}{if user.Y < 0}S{else}N{/if}
{if user.Currently != "Fighting"} @@ -26,7 +26,7 @@
-
Towns
+
Town Maps
{if #_towns > 0} Teleport to: {for t in _towns} @@ -46,7 +46,6 @@
-
Functions
Home Forum Change Password diff --git a/templates/rightside.html b/templates/rightside.html index 4c6f242..c6a7271 100644 --- a/templates/rightside.html +++ b/templates/rightside.html @@ -1,5 +1,4 @@
-
Character
  • {user.Username}
  • Level {user.Level} {_class.Name}
  • @@ -30,7 +29,7 @@
-
Inventory
+
Equipment
Weapon @@ -69,7 +68,7 @@
-
Fast Spells
+
Spells
{if #_spells > 0} {for id,name in _spells} {name} diff --git a/templates/town/inn.html b/templates/town/inn.html index eefeeaf..d8211b0 100644 --- a/templates/town/inn.html +++ b/templates/town/inn.html @@ -2,7 +2,7 @@ {block "content"}
-

{town.Name} Inn

+

{town.Name} Inn

{if rested}

You wake up feeling refreshed and ready for action!

@@ -22,4 +22,4 @@ {/if} {/if}
-{/block} \ No newline at end of file +{/block} diff --git a/templates/town/maps.html b/templates/town/maps.html index 7099944..22f739d 100644 --- a/templates/town/maps.html +++ b/templates/town/maps.html @@ -2,7 +2,7 @@ {block "content"}
-

{town.Name} Maps

+

{town.Name} Maps

Buying maps will put the town in your Travel To box, and it won't cost you as many TP to get there.

Click a town name to purchase its map.

diff --git a/templates/town/shop.html b/templates/town/shop.html index 8bce181..0209281 100644 --- a/templates/town/shop.html +++ b/templates/town/shop.html @@ -2,7 +2,7 @@ {block "content"}
-

{town.Name} Shop

+

{town.Name} Shop

Buying weapons will increase your Attack. Buying armor and shields will increase your Defense.

Click an item name to purchase it.

diff --git a/templates/town/town.html b/templates/town/town.html index d134e32..e1b4818 100644 --- a/templates/town/town.html +++ b/templates/town/town.html @@ -3,7 +3,7 @@ {block "content"}
-
Welcome to {town.Name}
+

Welcome to {town.Name}

Town Options
-
Babblebox
+

Babblebox

@TODO