Neo Sploosh
Publisher: monoookiThemes in package: 2
Cool blues, soft grays, electric yellow pops for a crisp light-first theme.
Cool blues, soft grays, electric yellow pops for a crisp light-first theme.
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 | #666666 | italic |
| punctuation.definition.comment.php, punctuation.section.comment.haml | #4F4F4F | — |
| punctuation, meta.brace, keyword.operator.accessor | #7A7A7A | — |
| punctuation.separator.colon.python | #8B9CA3 | — |
| punctuation.definition.template-expression.begin.ts, punctuation.definition.template-expression.end.ts | #616161 | — |
| keyword.operator | #8B9CA3 | — |
| keyword.operator.assignment | #A0B0B6 | — |
| keyword.control, keyword.other.import, keyword.other.export, storage.type.function.arrow.js, storage.type.function.arrow.ts, punctuation.definition.arrow.php | #B8C0C4 | — |
| keyword, keyword.operator.type | #889AA1 | — |
| storage, storage.type, storage.modifier, keyword.declaration | #A1B1B8 | — |
| storage.type.modifier, storage.modifier.access, storage.modifier.visibility, keyword.other.access, keyword.other.access.visibility, keyword.other.access.visibility.java | #B0BABE | — |
| keyword.operator.new, constant.language.null.ts | #768991 | — |
| variable, variable.other.readwrite | #4EA5C8 | — |
| variable.other.object.js, variable.other.object.js.jsx, variable.other.readwrite.alias | #3799C0 | — |
| variable.parameter | #2E98C4 | — |
| variable.other.property, support.variable.property, variable.other.object.property | #00A8E6 | — |
| meta.object-literal.key.ts, meta.object-literal.key.js, meta.object.member, support.type.property-name, support.type.property-name.json | #00A8E6 | — |
| variable.other.constant, variable.language, variable.language.this, variable.language.super, meta.definition.variable | #48A9CE | — |
| constant.numeric, constant.language, constant.character, keyword.other.unit | #48A9CE | — |
| string, string.quoted | #A2B53F | — |
| string.regexp | #48A9CE | — |
| punctuation.definition.string, punctuation.definition.string.begin, punctuation.definition.string.end, support.type.property-name.json, punctuation.support.type.property-name.begin.json, punctuation.support.type.property-name.end.json | #6C7478 | — |
| entity.name.function, meta.function-call, variable.function, support.function | #00B8F6 | — |
| entity.name.function.member, meta.method-call, variable.function.js | #00A8E0 | — |
| entity.name.type, entity.name.class, support.type, support.class | #22B3DE | — |
| storage.type.annotation, meta.type.annotation | #2B9FC8 | — |
| entity.name.type.module, support.other.module, storage.type.namespace | #00ADE3 | — |
| entity.other.attribute-name, meta.annotation | #1DA8D6 | — |
| support.class.promise.js, support.class.promise.ts | #3CBCEB | — |
| text.html.derivative | #989898 | — |
| entity.name.tag, meta.tag.sgml, meta.tag.html, meta.tag.xml, meta.tag.other | #38ADD9 | — |
| entity.other.attribute-name, meta.tag.attribute, meta.tag.xml.attribute | #00A0D3 | — |
| string.quoted.double.html, string.quoted.single.html, string.unquoted.html | #A2B53F | — |
| punctuation.definition.tag.begin, punctuation.definition.tag.end, punctuation.definition.tag, punctuation.separator.key-value.html | #7A7A7A | — |
| meta.tag.sgml.doctype, comment.block.html | #111111 | italic |
| entity.name.tag.js, entity.name.tag.tsx, support.class.component | #38ADD9 | — |
| entity.other.attribute-name.js, entity.other.attribute-name.tsx | #00A0D3 | — |
| entity.other.attribute-name.class.css, entity.other.attribute-name.id.css | #38ADD9 | — |
| support.type.property-name.css, meta.property-name.css | #00A8E6 | — |
| support.constant.property-value.css, meta.property-value.css | #48A9CE | — |
| keyword.other.unit.css | #97A748 | — |
| entity.other.attribute-name.id.css | #A7B5BA | — |
| variable.css, custom-property.name.css | #A1B1B8 | — |
| punctuation.definition.document.begin.yaml | #222222 | — |
| text.html.markdown | #989898 | — |
| markup.heading, markup.heading.markdown, markup.heading.setext, entity.name.section.markdown | #A4A4A4 | bold |
| punctuation.definition.heading.markdown, punctuation.definition.heading.begin.markdown | #1F98C9 | — |
| markup.bold, markup.bold.markdown | #98A7AF | bold |
| punctuation.definition.bold.markdown | #7F939C | — |
| markup.italic.markdown | #98A7AF | italic |
| punctuation.definition.italic.markdown | #7F939C | — |
| string.other.link.title.markdown | #00A9E0 | underline |
| markup.underline.link, markup.underline.link.image.markdown, markup.link.url.markdown | #97A748 | — |
| markup.underline.link.markdown | #20A0CE | — |
| markup.table, markup.table.markdown | #A7B5BA | — |
| punctuation.definition.table.markdown | #5A8597 | — |
| punctuation.definition.fenced.markdown | #222222 | — |
| markup.fenced_code.block.markdown, markup.raw.block.markdown, fenced_code.block.markdown | #48A9CE | — |
| fenced_code.block.language, constant.other.language-name | #7C8A90 | — |
| markup.inline.raw.string.markdown, markup.raw.inline.markdown, markup.inline.raw.code.markdown, markup.inline.raw.code.mdx | #20A0CE | — |
| punctuation.definition.raw.markdown | #6C7478 | — |
| markup.inline.raw.string.markdown | #48A9CE | — |
| markup.quote, markup.quote.markdown | #48A9CE | italic |
| markup.list, markup.list.markdown, markup.list.numbered, markup.list.unnumbered, markup.list.numbered.markdown, markup.list.unnumbered.markdown | #989898 | — |
| punctuation.definition.list.begin.markdown, punctuation.definition.list.begin | #1F5A70 | — |
| meta.separator.markdown | #222222 | — |
| comment.block.html.markdown | #111111 | italic |
| meta.diff.header.from-file, punctuation.definition.from-file.diff | #8B9CA3 | bold |
| meta.diff.header.to-file, punctuation.definition.to-file.diff | #A2B53F | bold |
| meta.diff.range, meta.diff.index | #1D9FCB | — |
| markup.inserted.diff, punctuation.definition.inserted.diff | #A2B53F | — |
| markup.deleted.diff | #97A7AD | — |
| markup.changed.diff | #48A9CE | — |
| meta.diff.context, meta.diff | #889AA1 | — |
| punctuation.definition.range.diff | #1D9FCB | — |
| meta.diff.header, meta.separator.diff | #22B3DE | — |
| punctuation.definition.inserted.diff | #00ADE3 | — |
| invalid, invalid.deprecated, invalid.illegal | #BE0D22 | — |
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}!`;
}