T44d Web · The gallery's start takes its defaults from one place

This commit is contained in:
ZacharyZhang-NY committed 2026-09-29 19:16:41 -04:00
1 parent 2cd2ca8bc1
commit edab58e91a
3 files changed
+10 -20

No files matched your search

+2 -7
View File
@@ -96,6 +96,7 @@ fn choose(window: WindowHandle<shell::Gallery>, choice: shell::Choice, cx: &mut
}
/// What the gallery opens on.
#[derive(Default)]
pub struct Start {
pub page: usize,
/// One section, by title or slug, drawn alone.
@@ -154,13 +155,7 @@ struct Args {
#[cfg(not(target_family = "wasm"))]
fn parse_args() -> Result<Args> {
let mut args = Args {
start: Start {
page: 0,
story: None,
choice: shell::Choice::Light,
narrow: None,
failure: None,
},
start: Start::default(),
page: None,
capture: None,
};
+2 -1
View File
@@ -13,8 +13,9 @@ use gpui::{
use crate::{Start, pages, ui::Story};
#[derive(Clone, Copy, PartialEq, Eq)]
#[derive(Clone, Copy, PartialEq, Eq, Default)]
pub enum Choice {
#[default]
Light,
Dark,
System,
+6 -12
View File
@@ -7,7 +7,10 @@ use gpui_web::{CanvasFontFallback, WebBackendPreference, WebPlatform};
use wasm_bindgen::prelude::*;
use web_sys::UrlSearchParams;
use crate::{Start, choose, launch, pages, shell::Choice, shell::Gallery};
use crate::{
Start, choose, launch, pages,
shell::{Choice, Gallery},
};
/// The i18n page's Hebrew: gpui_web asks the browser for emoji and CJK alone.
const HEBREW: &[u8] = include_bytes!("fonts/NotoSansHebrew-Regular.ttf");
@@ -36,13 +39,7 @@ fn read(search: &str) -> Result<Start> {
{
bail!("ELY_GALLERY_ASSETS is an address ending in /, not {assets}");
}
let mut start = Start {
page: 0,
story: None,
choice: Choice::Light,
narrow: None,
failure: None,
};
let mut start = Start::default();
let params = UrlSearchParams::new_with_str(search).map_err(js)?;
for key in js_sys::try_iter(&params.keys())
.map_err(js)?
@@ -80,11 +77,8 @@ pub fn start() {
let start = read(&search).unwrap_or_else(|error| {
log::error!("gallery: {search} -> {error:#}");
Start {
page: 0,
story: None,
choice: Choice::Light,
narrow: None,
failure: Some(SharedString::from(format!("{search}: {error:#}"))),
..Start::default()
}
});
// One thread: a static site sends no cross-origin isolation, so there is no shared memory.