a95b518ef3
ci / docs-site (push) Successful in 51s
ci / web (push) Successful in 57s
docker / build-push (--build-arg FEDORA_VERSION=44, ci, ci/fedora-rpm.Dockerfile, punktfunk-fedora44-rpm) (push) Successful in 9s
decky / build-publish (push) Successful in 19s
docker / build-push (ci, ci/fedora-rpm.Dockerfile, punktfunk-fedora-rpm) (push) Successful in 7s
docker / build-push (ci, ci/rust-ci.Dockerfile, punktfunk-rust-ci) (push) Successful in 7s
docker / build-push (docs-site, docs-site/Dockerfile, punktfunk-docs) (push) Successful in 7s
docker / build-push (., web/Dockerfile, punktfunk-web) (push) Successful in 38s
windows-msix / package (arm64, C:\Users\Public\ffmpeg-arm64, --no-default-features, aarch64-pc-windows-msvc, C:\t-a64) (push) Successful in 2m1s
windows-msix / package (x64, C:\Users\Public\ffmpeg, , x86_64-pc-windows-msvc, C:\t) (push) Successful in 2m3s
apple / swift (push) Successful in 5m1s
windows / build (aarch64-pc-windows-msvc) (push) Successful in 1m4s
windows / build (x86_64-pc-windows-msvc) (push) Successful in 1m25s
ci / bench (push) Successful in 8m10s
docker / deploy-docs (push) Successful in 20s
arch / build-publish (push) Successful in 11m11s
rpm / build-publish (44, fedora-44, punktfunk-fedora44-rpm) (push) Successful in 12m47s
android / android (push) Successful in 16m10s
deb / build-publish (push) Successful in 16m57s
rpm / build-publish (43, bazzite, punktfunk-fedora-rpm) (push) Successful in 17m47s
ci / rust (push) Successful in 23m26s
apple / screenshots (push) Successful in 19m57s
The About settings card had no version at all — add an identity block (app name + "Version <CARGO_PKG_VERSION>", the workspace version) at the top, the WinUI Settings convention and matching the Apple client's "Version X" wording. Also capitalize the brand name on the licenses screen (was lowercase "punktfunk"). Verified against the pinned windows-reactor source + cargo fmt --check; full Windows link left to CI (Windows-only crate). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
75 lines
2.5 KiB
Rust
75 lines
2.5 KiB
Rust
//! Static screen: the app's own license + the third-party software notices (reached from
|
|
//! Settings).
|
|
|
|
use super::style::*;
|
|
use super::Screen;
|
|
use windows_reactor::*;
|
|
|
|
/// punktfunk's own license (MIT OR Apache-2.0).
|
|
const APP_LICENSE: &str = concat!(
|
|
include_str!("../../../../LICENSE-MIT"),
|
|
"\n\n================================ Apache-2.0 ================================\n\n",
|
|
include_str!("../../../../LICENSE-APACHE"),
|
|
);
|
|
/// Third-party software notices for the linked Rust crates (generated by
|
|
/// scripts/gen-third-party-notices.sh; the MSIX also ships this under licenses/).
|
|
const THIRD_PARTY_NOTICES: &str = include_str!("../../../../THIRD-PARTY-NOTICES.txt");
|
|
|
|
pub(crate) fn licenses_page(set_screen: &AsyncSetState<Screen>) -> Element {
|
|
let back_btn = button("Back").accent().icon(Symbol::Back).on_click({
|
|
let ss = set_screen.clone();
|
|
move || ss.call(Screen::Settings)
|
|
});
|
|
|
|
let app_card = card(
|
|
vstack((
|
|
text_block("Punktfunk").font_size(15.0).semibold(),
|
|
text_block("Licensed under MIT OR Apache-2.0, at your option.")
|
|
.font_size(12.0)
|
|
.wrap()
|
|
.foreground(ThemeRef::SecondaryText),
|
|
text_block(APP_LICENSE)
|
|
.font_size(11.0)
|
|
.wrap()
|
|
.foreground(ThemeRef::SecondaryText),
|
|
))
|
|
.spacing(8.0),
|
|
);
|
|
|
|
let natives_card = card(
|
|
vstack((
|
|
text_block("Bundled components").font_size(15.0).semibold(),
|
|
text_block(
|
|
"FFmpeg is bundled under the LGPL v2.1+ (dynamically linked, replaceable DLLs); its \
|
|
license and notice ship in the installed licenses\\ folder. SDL 3 (Zlib) and the \
|
|
Windows App SDK (Microsoft) are also linked.",
|
|
)
|
|
.font_size(12.0)
|
|
.wrap()
|
|
.foreground(ThemeRef::SecondaryText),
|
|
))
|
|
.spacing(8.0),
|
|
);
|
|
|
|
let notices_card = card(
|
|
vstack((
|
|
text_block("Rust crates").font_size(15.0).semibold(),
|
|
text_block(THIRD_PARTY_NOTICES)
|
|
.font_size(11.0)
|
|
.wrap()
|
|
.foreground(ThemeRef::SecondaryText),
|
|
))
|
|
.spacing(8.0),
|
|
);
|
|
|
|
page(vec![
|
|
page_header("Third-party licenses", back_btn),
|
|
section("PUNKTFUNK"),
|
|
app_card.into(),
|
|
section("BUNDLED"),
|
|
natives_card.into(),
|
|
section("OPEN SOURCE"),
|
|
notices_card.into(),
|
|
])
|
|
}
|