Winternacht Theme
Publisher: psykeroeThemes in package: 1
A dark color theme for those who love the night, inspired by the Aya Mirage, Halcyon, and Cobalt2 themes, as well as the cold, long winter nights of the north.
A dark color theme for those who love the night, inspired by the Aya Mirage, Halcyon, and Cobalt2 themes, as well as the cold, long winter nights of the north.
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 |
|---|---|---|
| entity, entity.name.type.class | #ede29b | — |
| entity.name.function.robot, entity.name.section.markdown | #ede29b | bold |
| entity.name.type.class.robot | #eda39c | — |
| meta entity.other.inherited-class.robot | #edca9c | — |
| entity.other.attribute-name.id.css | #e3a95f | — |
| meta.function-call, meta.function-call.arguments, meta.attribute.python | #ede29c | — |
| meta.method.declaration storage.type.ts, meta.method.declaration storage.type.tsx | #eda29b | — |
| constant | #eda29b | — |
| constant.numeric | #abed9c | — |
| variable, variable.other.readwrite, variable.parameter, entity.other.attribute-name.tsx, variable.other.constant.object.tsx | #f9f5dc | — |
| variable.parameter.robot | #f9f5dc | — |
| source.robot | #e3a95f | — |
| variable.other.constant, variable.other.property, variable.other.enummember, variable.other.object.property.java | #ede29b | — |
| entity.name.type, entity.name.tag, variable.language.this, variable.language.special.self.python, variable.other.readwrite.alias, variable.other.object.property, storage.type.annotation.java, variable.language.java | #edca9b | — |
| storage.type.function, storage.type.class, storage.type.function.arrow, storage.type.ts, storage.type.tsx, storage.modifier, storage.type.type, storage.type.enum, storage.type.interface, variable.other.object | #e3a95f | — |
| storage.type.setting.robot | #edca9c | |
| keyword.package, keyword.other.package.java, keyword.other.import.java, keyword.struct, keyword.control, keyword.operator.logical | #eda39c | — |
| keyword.type, keyword.function, keyword.var, keyword.operator | #e3a95f | — |
| support, support.function | #edca9b | — |
| support.type.property-name.json | #5fb7e3 | — |
| text.html.markdown | #f9f5dc | — |
| text.html | #e3a95f | — |
| invalid | #e36a5f | — |
| punctuation.definition.comment, comment | #6a8295 | italic |
| string, string.unquoted, string.quoted.double, string.quoted.single | #cff5c7 | — |
| string.quoted, punctuation.definition.string.begin, punctuation.definition.string.end | #bdf1b1cc | — |
| string.template | #bdf1b1 | — |
| markup.italic.markdown, markup.bold.markdown, markup.underline.markdown | #edca9b | — |
| markup.underline.link.image.markdown, markup.underline.link.markdown | #5fb7e3 | underline |
| markup.list, markup.inline.raw, markup.quote.markdown, fenced_code.block.language | #ede29b | — |
| markup.heading.setext.1.markdown, markup.heading.setext.2.markdown | #ede29b | bold |
| markup.inserted, meta.diff.header.to-file | #abed9c | — |
| markup.deleted, meta.diff.header.from-file | #eda29b | — |
| punctuation.definition.inserted | #abed9ccc | — |
| punctuation.definition.deleted | #eda29bcc | — |
| punctuation.definition.template-expression | #eda29b | — |
| punctuation.definition.heading.markdown, punctuation.definition.italic.markdown, punctuation.definition.tag.begin.tsx, punctuation.definition.tag.end.tsx | #e3a95f | bold |
| punctuation.separator, punctuation.definition.parameters, punctuation.definition.annotation.java | #ede29c | — |
| string.other.link.title.markdown, string.other.link.title.markdown, string.other.link.description.markdown, string.other.link.description.title.markdown | #abed9c | — |
| token.info-token | #5fb7e3 | — |
| token.warn-token | #e3d15f | — |
| token.error-token | #e36a5f | — |
| token.debug-token | #5fe3e3 | — |
| source.css support, source.stylus support, source.ini entity, source.ini punctuation.definition, source.ini punctuation.separator | #e3a95f | — |
| source.css entity, source.stylus entity, source.css constant, source.css support.constant, source.stylus constant, source.stylus support.constant, source.ini keyword | #ede29b | — |
| source.css string, source.css punctuation.definition.string, source.stylus string, source.stylus punctuation.definition.string | #9bedc2 | — |
| source.css variable, source.stylus variable, text.html.basic entity.name | #f9f5dc | — |
| meta.toc-list.id.html | #9bedc2 | — |
| text.html.basic entity.other | #ede29b | italic |
| meta.tag.metadata.script.html entity.name.tag.html | #edca9b | — |
| source.php entity | #ede29b | — |
| variable.other.php | #f9f5dc | — |
| storage.type.cs | #edca9b | — |
| entity.name.variable.property.cs | #e3a95f | — |
| storage.modifier.cs | #edca9b | — |
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}!`;
}