RegexTester tries a pattern with its flags against a sample, washes each match and lists it with its groups, zero-width ones too; a pattern that does not compile says why. Encoder turns text into Base64, URL or hex and back, says why a decode fails (Base64 pads end the text, twice at most) and copies the result, drawn through typography::literal so no ligature hides a character. ColorContrastChecker measures text on a background, translucent text as it blends, and names the WCAG levels met. ContainerList starts, stops, restarts and opens containers, each button shown when the owner handles it. PodList sorts pods by any column, ages by length through tables' new Cell::Duration, and narrows them by namespace. ResourceMonitor shows each reading's latest value beside its sparkline and, with a limit, how full it is.
38 lines
993 B
Rust
38 lines
993 B
Rust
use gpui::{AnyElement, App, Window, div, prelude::*};
|
|
|
|
mod apis;
|
|
mod data;
|
|
mod db;
|
|
mod formats;
|
|
mod tools;
|
|
|
|
use super::Page;
|
|
use crate::script::Step;
|
|
|
|
pub const PAGE: Page = Page {
|
|
number: 33,
|
|
slug: "devtools",
|
|
title: "DB & Dev Tools",
|
|
summary: "Connections, schemas and queries, data to read, requests to send, and the machines that run them.",
|
|
render,
|
|
script: SCRIPT,
|
|
};
|
|
|
|
const SCRIPT: &[Step] = &[];
|
|
|
|
fn render(window: &mut Window, cx: &mut App) -> AnyElement {
|
|
div()
|
|
.child(db::connections(window, cx))
|
|
.child(db::schema(window, cx))
|
|
.child(data::queries(window, cx))
|
|
.child(db::structure(window, cx))
|
|
.child(data::redis(window, cx))
|
|
.child(formats::documents(window, cx))
|
|
.child(apis::requests(window, cx))
|
|
.child(apis::socket(window, cx))
|
|
.child(apis::graphql(window, cx))
|
|
.child(tools::text(window, cx))
|
|
.child(tools::machines(window, cx))
|
|
.into_any_element()
|
|
}
|