TimeTracker times a task: a field names it, Start or Enter starts the clock and Stop ends it, the running time counting up by the executor's clock; the entries sit under it in hours and minutes with their total. The owner keeps what runs and what was spent, and a blank name starts nothing. PomodoroTimer runs focus, a short break, and after the last round a long one. A ring counts each phase down around the time left, dots count the rounds, Pause banks the time gone, and a phase that runs out moves on, waits for Start, and reaches the owner through window.defer. motion::ProgressRing gains a size and content inside, its stroke kept at the theme ring's weight, the content outside the per-turn glide. DatabaseView shows tasks five ways, switched from a strip that scrolls when narrow: a table, a board by status whose moves hand on the new status, a gallery of issue cards, a month calendar by due day, and a timeline from start to due, which counts the records without dates. Task gains a start day. Along the way: table rows, groups and details fill with min_w_full, so they stretch in the table's column and fill a virtual list alike; before, a table in a measured column drew rows at their words' width. The gallery script logs each probe it aims at. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
25 lines
541 B
Rust
25 lines
541 B
Rust
use gpui::Rems;
|
|
|
|
use super::{Theme, tokens::px_to_rems};
|
|
|
|
/// Project's measures.
|
|
#[derive(Clone, Copy, Debug, PartialEq)]
|
|
pub struct ProjectSizes {
|
|
/// A board's column, wide.
|
|
pub column: Rems,
|
|
/// A roadmap's month at least, wide.
|
|
pub month: Rems,
|
|
/// A pomodoro's ring, wide.
|
|
pub pomodoro: Rems,
|
|
}
|
|
|
|
impl Theme {
|
|
pub fn project(&self) -> ProjectSizes {
|
|
ProjectSizes {
|
|
column: px_to_rems(272.0),
|
|
month: px_to_rems(72.0),
|
|
pomodoro: px_to_rems(176.0),
|
|
}
|
|
}
|
|
}
|