Compare commits
No commits in common. "7d304f6e1ea9b1829eef0c98786f8a89af1dc60d" and "4003fc0ef21b6d86aedd5a68e4c45728deeaaafa" have entirely different histories.
7d304f6e1e
...
4003fc0ef2
12 changed files with 57 additions and 45 deletions
10
Cargo.lock
generated
10
Cargo.lock
generated
|
|
@ -189,7 +189,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "backbone-lib"
|
name = "backbone-lib"
|
||||||
version = "0.2.11"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes",
|
"bytes",
|
||||||
"ewebsock",
|
"ewebsock",
|
||||||
|
|
@ -2649,7 +2649,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "protocol"
|
name = "protocol"
|
||||||
version = "0.2.11"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"serde",
|
"serde",
|
||||||
]
|
]
|
||||||
|
|
@ -2883,7 +2883,7 @@ checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "relay-server"
|
name = "relay-server"
|
||||||
version = "0.2.11"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"argon2",
|
"argon2",
|
||||||
"axum",
|
"axum",
|
||||||
|
|
@ -3893,7 +3893,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "trictrac-store"
|
name = "trictrac-store"
|
||||||
version = "0.2.11"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"base64 0.21.7",
|
"base64 0.21.7",
|
||||||
|
|
@ -3906,7 +3906,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "trictrac-web"
|
name = "trictrac-web"
|
||||||
version = "0.2.11"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"backbone-lib",
|
"backbone-lib",
|
||||||
"futures",
|
"futures",
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,3 @@
|
||||||
[workspace.package]
|
|
||||||
version = "0.2.11"
|
|
||||||
|
|
||||||
[workspace]
|
[workspace]
|
||||||
resolver = "2"
|
resolver = "2"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "backbone-lib"
|
name = "backbone-lib"
|
||||||
version.workspace = true
|
version = "0.1.0"
|
||||||
edition = "2024"
|
edition = "2024"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "trictrac-web"
|
name = "trictrac-web"
|
||||||
version.workspace = true
|
version = "0.1.0"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[package.metadata.leptos-i18n]
|
[package.metadata.leptos-i18n]
|
||||||
|
|
|
||||||
|
|
@ -2076,19 +2076,3 @@ a:hover { text-decoration: underline; }
|
||||||
max-width: 200px;
|
max-width: 200px;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Push the version wrapper to the bottom of the sidebar flex column */
|
|
||||||
.game-sidebar > div:has(.site-nav-version) {
|
|
||||||
margin-top: auto;
|
|
||||||
padding: 0.75rem 1rem;
|
|
||||||
border-top: 1px solid rgba(200,164,72,0.12);
|
|
||||||
}
|
|
||||||
|
|
||||||
.site-nav-version {
|
|
||||||
display: block;
|
|
||||||
text-align: center;
|
|
||||||
font-family: var(--font-ui);
|
|
||||||
font-size: 0.7rem;
|
|
||||||
letter-spacing: 0.06em;
|
|
||||||
color: rgba(200,164,72,0.4);
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,6 @@ use std::collections::VecDeque;
|
||||||
const RELAY_URL: &str = "ws://localhost:8080/ws";
|
const RELAY_URL: &str = "ws://localhost:8080/ws";
|
||||||
const GAME_ID: &str = "trictrac";
|
const GAME_ID: &str = "trictrac";
|
||||||
const STORAGE_KEY: &str = "trictrac_session";
|
const STORAGE_KEY: &str = "trictrac_session";
|
||||||
const VERSION: &str = env!("CARGO_PKG_VERSION");
|
|
||||||
|
|
||||||
/// The state the UI needs to render the game screen.
|
/// The state the UI needs to render the game screen.
|
||||||
#[derive(Clone, PartialEq)]
|
#[derive(Clone, PartialEq)]
|
||||||
|
|
@ -622,9 +621,6 @@ fn SiteHamburger() -> impl IntoView {
|
||||||
sidebar_open.set(false);
|
sidebar_open.set(false);
|
||||||
}>{t!(i18n, replay_snapshot)}</button>
|
}>{t!(i18n, replay_snapshot)}</button>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
|
||||||
<span class="site-nav-version">"v" {VERSION}</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
// ── Replay snapshot modal ─────────────────────────────────────────────
|
// ── Replay snapshot modal ─────────────────────────────────────────────
|
||||||
|
|
|
||||||
46
clients/web/src/nav.rs
Normal file
46
clients/web/src/nav.rs
Normal file
|
|
@ -0,0 +1,46 @@
|
||||||
|
use leptos::prelude::*;
|
||||||
|
use leptos::task::spawn_local;
|
||||||
|
use leptos_router::components::A;
|
||||||
|
|
||||||
|
use crate::api;
|
||||||
|
use crate::i18n::*;
|
||||||
|
|
||||||
|
#[component]
|
||||||
|
pub fn SiteNav() -> impl IntoView {
|
||||||
|
let i18n = use_i18n();
|
||||||
|
let auth_username =
|
||||||
|
use_context::<RwSignal<Option<String>>>().expect("auth_username context not found");
|
||||||
|
|
||||||
|
let logout = move |_| {
|
||||||
|
spawn_local(async move {
|
||||||
|
let _ = api::post_logout().await;
|
||||||
|
auth_username.set(None);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
view! {
|
||||||
|
<nav class="site-nav">
|
||||||
|
<A href="/" attr:class="site-nav-brand">"Trictrac"</A>
|
||||||
|
<div class="site-nav-spacer" />
|
||||||
|
<div class="lang-switcher">
|
||||||
|
<button
|
||||||
|
class:lang-active=move || i18n.get_locale() == Locale::en
|
||||||
|
on:click=move |_| i18n.set_locale(Locale::en)
|
||||||
|
>"EN"</button>
|
||||||
|
<button
|
||||||
|
class:lang-active=move || i18n.get_locale() == Locale::fr
|
||||||
|
on:click=move |_| i18n.set_locale(Locale::fr)
|
||||||
|
>"FR"</button>
|
||||||
|
</div>
|
||||||
|
{move || match auth_username.get() {
|
||||||
|
Some(u) => view! {
|
||||||
|
<A href=format!("/profile/{u}")>{ u.clone() }</A>
|
||||||
|
<button class="site-nav-btn" on:click=logout>{t!(i18n, sign_out)}</button>
|
||||||
|
}.into_any(),
|
||||||
|
None => view! {
|
||||||
|
<A href="/account">{t!(i18n, sign_in)}</A>
|
||||||
|
}.into_any(),
|
||||||
|
}}
|
||||||
|
</nav>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -103,7 +103,7 @@
|
||||||
|
|
||||||
trictrac = with final; rustPlatform.buildRustPackage {
|
trictrac = with final; rustPlatform.buildRustPackage {
|
||||||
pname = "trictrac";
|
pname = "trictrac";
|
||||||
version = "0.2.11"; # trictrac-version
|
version = "0.2.1";
|
||||||
src = ./.;
|
src = ./.;
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config ];
|
nativeBuildInputs = [ pkg-config ];
|
||||||
|
|
|
||||||
11
justfile
11
justfile
|
|
@ -2,17 +2,6 @@
|
||||||
# ^ A shebang isn't required, but allows a justfile to be executed
|
# ^ A shebang isn't required, but allows a justfile to be executed
|
||||||
# like a script, with `./justfile test`, for example.
|
# like a script, with `./justfile test`, for example.
|
||||||
|
|
||||||
# Bump the project version and start a git-flow release.
|
|
||||||
# Usage: just bump 0.2.12
|
|
||||||
# After running, finish with: git flow release finish <version>
|
|
||||||
bump version:
|
|
||||||
sed -i '/^\[workspace\.package\]/,/^\[/{s/^version = ".*"/version = "{{version}}"/}' Cargo.toml
|
|
||||||
sed -i 's/version = "[0-9.]*"; # trictrac-version/version = "{{version}}"; # trictrac-version/' flake.nix
|
|
||||||
git flow release start {{version}}
|
|
||||||
git add Cargo.toml flake.nix
|
|
||||||
git commit -m "chore: bump version to {{version}}"
|
|
||||||
@echo "Done. Finish with: git flow release finish {{version}}"
|
|
||||||
|
|
||||||
doc:
|
doc:
|
||||||
cargo doc --no-deps
|
cargo doc --no-deps
|
||||||
shell:
|
shell:
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "protocol"
|
name = "protocol"
|
||||||
version.workspace = true
|
version = "0.1.0"
|
||||||
edition = "2024"
|
edition = "2024"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "relay-server"
|
name = "relay-server"
|
||||||
version.workspace = true
|
version = "0.1.0"
|
||||||
edition = "2024"
|
edition = "2024"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "trictrac-store"
|
name = "trictrac-store"
|
||||||
version.workspace = true
|
version = "0.1.0"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue