Baseline
Publisher: Dmytro UlianovThemes in package: 3
Monochrome dark theme designed for focus and clarity.
Monochrome dark theme designed for focus and clarity.
Full workbench mockup using this variant's colors and tokenColors.
Loading...
Workbench UI color keys from the theme JSON colors map.
TextMate scopes and font styles (syntax highlighting rules).
| scope | foreground | fontStyle |
|---|---|---|
| comment, punctuation.definition.comment | #575757 | italic |
| keyword, storage.type, storage.modifier | #9e9e9e | — |
| keyword.control | #9e9e9e | — |
| entity.name.function, variable.function, support.function, keyword.other.special-method | #fafafa | — |
| variable, string constant.other.placeholder | #e0e0e0 | — |
| variable.parameter | #e0e0e0 | italic |
| variable.language | #9e9e9e | — |
| string, constant.other.symbol, constant.other.key, meta.group.braces.curly constant.other.object.key.js string.unquoted.label.js | #b3b3b3 | — |
| meta.object-literal.key string.quoted.single.ts, meta.object-literal.key string.quoted.double.ts, meta.object-literal.key string.quoted.single.js, meta.object-literal.key string.quoted.double.js, meta.object-literal.key string.quoted.single.tsx, meta.object-literal.key string.quoted.double.tsx, meta.object.member string.quoted.single.ts, meta.object.member string.quoted.double.ts, meta.object.member string.quoted.single.js, meta.object.member string.quoted.double.js, meta.object.member string.quoted.single.tsx, meta.object.member string.quoted.double.tsx, meta.array.literal string.quoted.single.ts, meta.array.literal string.quoted.double.ts, meta.array.literal string.quoted.single.js, meta.array.literal string.quoted.double.js, meta.array.literal string.quoted.single.tsx, meta.array.literal string.quoted.double.tsx, meta.enum.declaration string.quoted.single.ts, meta.enum.declaration string.quoted.double.ts, meta.enum.declaration string.quoted.single.js, meta.enum.declaration string.quoted.double.js, meta.enum.declaration string.quoted.single.tsx, meta.enum.declaration string.quoted.double.tsx | #b3b3b3 | — |
| string.template.js, string.template.ts | #b3b3b3 | — |
| meta.tag string.quoted.single.ts, meta.tag string.quoted.double.ts, meta.tag string.quoted.single.js, meta.tag string.quoted.double.js, meta.tag string.quoted.single.tsx, meta.tag string.quoted.double.tsx, meta.attribute string.quoted.single.ts, meta.attribute string.quoted.double.ts, meta.attribute string.quoted.single.js, meta.attribute string.quoted.double.js, meta.attribute string.quoted.single.tsx, meta.attribute string.quoted.double.tsx | #b3b3b3 | — |
| meta.import string.quoted.single.ts, meta.import string.quoted.double.ts, meta.import string.quoted.single.js, meta.import string.quoted.double.js, meta.import string.quoted.single.tsx, meta.import string.quoted.double.tsx | #b3b3b3 | — |
| constant.numeric, support.constant, constant.character, constant.escape, keyword.other.unit, constant.language.boolean | #b3b3b3 | — |
| keyword.operator | #9e9e9e | — |
| keyword.operator.logical, keyword.operator.bitwise, keyword.operator.channel, keyword.operator.arithmetic, keyword.operator.comparison, keyword.operator.decrement, keyword.operator.increment, keyword.operator.relational, keyword.operator.assignment.compound.js, keyword.operator.assignment.compound.ts, keyword.operator.assignment, keyword.operator.spread, keyword.operator.rest, keyword.operator.optional, keyword.operator.expression.typeof, keyword.operator.expression.keyof, storage.type.function.arrow, keyword.operator.type, keyword.operator.as, keyword.control.as, punctuation.accessor.optional | #9e9e9e | — |
| entity.name.class | #e0e0e0 | — |
| entity.name.type, support.type, support.class, support.other.namespace.use.php, meta.use.php, support.other.namespace.php, markup.changed.git_gutter, support.type.sys-types | #e0e0e0 | — |
| entity.name.tag, support.class.component | #fafafa | — |
| punctuation.definition.tag, punctuation.definition.tag.html, punctuation.definition.tag.begin.html, punctuation.definition.tag.end.html | #9e9e9e | — |
| entity.other.attribute-name, text.html.basic entity.other.attribute-name.html, text.html.basic entity.other.attribute-name | #e0e0e0 | — |
| entity.other.attribute-name.js, entity.other.attribute-name.ts, entity.other.attribute-name.jsx, entity.other.attribute-name.tsx, entity.other.attribute-name.html, variable.language.super | #9e9e9e | italic |
| source.css support.type.property-name, source.sass support.type.property-name, source.scss support.type.property-name, source.less support.type.property-name, source.stylus support.type.property-name, source.postcss support.type.property-name | #e0e0e0 | — |
| entity.other.attribute-name.class, entity.other.attribute-name.class.css | #fafafa | — |
| entity.other.attribute-name.id | #fafafa | — |
| entity.other.attribute-name.pseudo-element, entity.other.attribute-name.pseudo-class | #9e9e9e | — |
| support.function | #9e9e9e | — |
| constant.other.symbol | #9e9e9e | — |
| support.type.object.dom | #9e9e9e | — |
| support.type.property-name.json | #e0e0e0 | — |
| constant.language.json, source.json meta.structure.dictionary.json constant.language.json, source.json meta.structure.array.json constant.language.json | #9e9e9e | — |
| markup.heading, markup.heading entity.name, markup.heading.markdown punctuation.definition.heading.markdown | #ffffff | — |
| markup.bold, markup.bold string | #e0e0e0 | bold |
| markup.italic | #e0e0e0 | italic |
| markup.bold markup.italic, markup.italic markup.bold, markup.quote markup.bold, markup.bold markup.italic string, markup.italic markup.bold string, markup.quote markup.bold string | #e0e0e0 | bold italic |
| markup.inline.raw.markdown | #b3b3b3 | — |
| markup.underline.link, string.other.link.title.markdown, string.other.link.description.title.markdown | #c2c2c2 | underline |
| meta.function string.quoted.double.ts, meta.function string.quoted.single.ts, meta.function string.quoted.double.js, meta.function string.quoted.single.js, meta.function string.quoted.double.tsx, meta.function string.quoted.single.tsx | #b3b3b3 | — |
| invalid, invalid.illegal | #df9f9f | — |
| string.regexp | #9e9e9e | — |
| constant.character.escape | #9e9e9e | — |
export interface User {
id: string;
name: string;
role: "admin" | "member";
tags: string[];
}
/**
* Fetch user data by ID
* @param id
* @returns User object or null if ID is invalid
*/
export async function fetchUser(id: string): Promise<User | null> {
if (!id) {
return null;
}
const response = await fetch(`/api/users/${id}`, {
method: "GET",
headers: { Accept: "application/json" },
});
if (!response.ok) {
throw new Error(`HTTP ${response.status}`);
}
return (await response.json()) as User;
}
function greet(user: User): string {
// Simple greeting function that uses the user's name
return `Hello, ${user.name}!`;
}