Ya Theme
Publisher: Sagee ConwayThemes in package: 1
A clean, distraction-free dark theme
A clean, distraction-free dark 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 | #698F3F | — |
| punctuation.definition.comment | #698F3F | — |
| entity.other.attribute-name, variable.other.constant, keyword.control, keyword, meta.object-literal.key, entity.name.function, variable, string, meta.at-rule.media.scss, keyword.control, string, variable.scss, support.type.property-name, support.constant.property-value, support.function, constant.numeric, keyword.other.unit, entity.other.attribute-name.scss, constant.language, punctuation.separator.key-value.scss, meta.property-value.scss, support.class, storage.type, keyword.operator.new, variable.language, support.variable, storage.modifier, variable.other.constant.object.property.js, meta.function-call.js, meta.at-rule.include.scss, variable.parameter.js, support.type.property-name.css, text.html.vue-html entity.name.function.js, support.constant.color.w3c-standard-color-name.css, storage.type.js, meta.object.member.js meta.objectliteral.js meta.method.declaration.js meta.block.js meta.objectliteral.js meta.object.member.js variable.other.readwrite.js, meta.class.js meta.object.member.js new.expr.js variable.other.readwrite.js, meta.property-value.scss variable.scss, meta.block.js new.expr.js meta.object.member.js variable.other.readwrite.js, meta.block.js meta.var.expr.js meta.object.member.js variable.other.readwrite.js, meta.var.expr.js meta.block.js meta.object.member.js variable.other.readwrite.js, constant.other.color.rgb-value.hex.css, meta.definition.variable.scss | #F1EFEF | — |
| entity.name.tag, entity.other.attribute-name.class.css, meta.property-value.scss, keyword.control.at-rule.import.scss, punctuation.definition.keyword.scss, keyword.control.at-rule.include.scss, keyword.control.at-rule.media.scss, keyword.control.at-rule.keyframes.scss, meta.property-name.media-query.scss, meta.property-value.media-query.scss, entity.name.function.scss, meta.export.default.js meta.object-literal.key.js, support.constant.mathematical-symbols.scss, support.type.property-name.json.comments, keyword.control.import.js, keyword.control.from.js, keyword.control.export.js, keyword.control.conditional.js, keyword.control.default.js, storage.modifier.async.js, entity.name.type.class.js, meta.object-literal.key.js entity.name.function, entity.other.attribute-name.pseudo-element.css, meta.block.js meta.object.member.js variable.other.readwrite.js, entity.other.attribute-name.pseudo-class.css, entity.name.function.js, entity.other.inherited-class.js, source.js meta.objectliteral.js meta.object.member.js meta.object-literal.key.js, entity.name.tag.css, keyword.control.at-rule.extend.scss, meta.definition.variable.scss variable.scss, support.class.component.html, punctuation.separator.key-value.scss | #86BBD8 | — |
| entity.other.attribute-name.html, support.type.property-name.css, meta.property-list.scss variable.scss, keyword.control.conditional.js, storage.type.js, keyword.control.import.js, keyword.control.from.js, keyword.control.flow.js, storage.type.function.js, keyword.control.export.js, storage.modifier.js, storage.type.class.js, keyword.control.default.js, storage.modifier.async.js, keyword.control.switch.js, keyword.operator.new.js, entity.other.attribute-name.id.html | #E1AA74 | — |
| source.js meta.function-call.js entity.name.function.js, meta.definition.method.js entity.name.function.js, keyword.operator.expression.in.js, punctuation.definition.keyword.scss, keyword.control.at-rule.extend.scss, meta.at-rule.extend.scss entity.other.attribute-name.class.css, keyword.control.at-rule.keyframes.scss, meta.at-rule.keyframes.scss entity.name.function.scss, keyword.control.at-rule.import.scss, keyword.control.at-rule.include.scss, entity.name.function.scss, support.function.misc.scss | #E19898 | — |
| punctuation.section.property-list.begin.bracket.curly.scss, punctuation.section.property-list.end.bracket.curly.scss, punctuation.definition.string.begin.js, punctuation.definition.string.end.js, punctuation.definition.block.js, punctuation.separator.key-value.html, punctuation.definition.string.begin.html, punctuation.definition.string.end.html, punctuation.separator.key-value.scss, punctuation.terminator.rule.css, punctuation.definition.string.begin.scss, punctuation.definition.string.end.scss, punctuation.section.keyframes.begin.scss, punctuation.section.keyframes.end.scss, punctuation.definition.media-query.begin.bracket.round.scss, punctuation.definition.media-query.end.bracket.round.scss, punctuation.definition.parameters.begin.bracket.round.scss, punctuation.definition.parameters.end.bracket.round.scss, punctuation.separator.key-value.js, punctuation.separator.comma.js, meta.brace.round.js, punctuation.definition.parameters.begin.js, punctuation.definition.parameters.end.js, meta.function-call.js, punctuation.accessor, storage.type.function.arrow.js, meta.brace.square.js, punctuation.definition.template-expression.begin.js, punctuation.definition.template-expression.end.js, punctuation.definition.string.template.begin.js, punctuation.definition.string.template.end.js, punctuation.definition.tag.begin.html, punctuation.definition.tag.end.html, punctuation.section.function.scss, punctuation.definition.string.begin.json.comments, punctuation.definition.string.end.json.comments, punctuation.support.type.property-name.begin.json.comments, punctuation.support.type.property-name.end.json.comments, punctuation.definition.array.begin.json.comments, punctuation.definition.array.end.json.comments, punctuation.separator.array.json.comments, punctuation.separator.dictionary.key-value.json.comments, punctuation.definition.dictionary.begin.json.comments, punctuation.definition.dictionary.end.json.comments, punctuation.separator.dictionary.pair.json.comments, meta.tag.block.any.html, punctuation.definition.generic.begin.html, punctuation.definition.generic.end.html, punctuation.separator.parameter.js, punctuation.separator.delimiter.scss, punctuation.section.function.begin.bracket.round.css, punctuation.section.function.end.bracket.round.css, keyword.operator.assignment.js | #7D7C7C | — |
| keyword.operator.comparison.js, keyword.operator.logical.js, keyword.operator.relational.js, meta.var.expr.js keyword, keyword.operator.ternary.js, keyword.operator.arithmetic.js | #9888B3 | — |
| token.info-token | #6796E6 | — |
| token.warn-token | #CD9731 | — |
| token.error-token | #F44747 | — |
| token.debug-token | #B267E6 | — |
| comment | #698F3F | — |
| punctuation.definition.comment | #698F3F | — |
| entity.other.attribute-name, variable.other.constant, keyword.control, keyword, meta.object-literal.key, entity.name.function, variable, string, keyword.control, support.type.property-name, support.constant.property-value, support.function, constant.numeric, keyword.other.unit, string, constant.language, meta.at-rule.media.scss, variable.scss, entity.other.attribute-name.scss, punctuation.separator.key-value.scss, meta.property-value.scss, meta.at-rule.media.css, variable.css, entity.other.attribute-name.css, punctuation.separator.key-value.css, meta.property-value.css, support.class, storage.type, keyword.operator.new, variable.language, support.variable, storage.modifier, variable.other.constant.object.property.js, meta.function-call.js, meta.at-rule.include.scss, meta.at-rule.include.css, variable.parameter.js, support.type.property-name.css, text.html.vue-html entity.name.function.js, support.constant.color.w3c-standard-color-name.css, storage.type.js, meta.object.member.js meta.objectliteral.js meta.method.declaration.js meta.block.js meta.objectliteral.js meta.object.member.js variable.other.readwrite.js, meta.class.js meta.object.member.js new.expr.js variable.other.readwrite.js, meta.property-value.scss variable.scss, meta.property-value.css variable.css, meta.block.js new.expr.js meta.object.member.js variable.other.readwrite.js, meta.block.js meta.var.expr.js meta.object.member.js variable.other.readwrite.js, meta.var.expr.js meta.block.js meta.object.member.js variable.other.readwrite.js, constant.other.color.rgb-value.hex.css, meta.definition.variable.scss, meta.definition.variable.css | #F1EFEF | — |
| entity.name.tag, entity.other.attribute-name.class.css, meta.property-value.scss, keyword.control.at-rule.import.scss, punctuation.definition.keyword.scss, keyword.control.at-rule.include.scss, keyword.control.at-rule.media.scss, keyword.control.at-rule.keyframes.scss, meta.property-name.media-query.scss, meta.property-value.media-query.scss, entity.name.function.scss, support.constant.mathematical-symbols.scss, meta.property-value.css, keyword.control.at-rule.import.css, punctuation.definition.keyword.css, keyword.control.at-rule.include.css, keyword.control.at-rule.media.css, keyword.control.at-rule.keyframes.css, meta.property-name.media-query.css, meta.property-value.media-query.css, entity.name.function.css, support.constant.mathematical-symbols.css, meta.export.default.js meta.object-literal.key.js, support.type.property-name.json.comments, keyword.control.import.js, keyword.control.from.js, keyword.control.export.js, keyword.control.conditional.js, keyword.control.default.js, storage.modifier.async.js, entity.name.type.class.js, meta.object-literal.key.js entity.name.function, entity.other.attribute-name.pseudo-element.css, meta.block.js meta.object.member.js variable.other.readwrite.js, entity.other.attribute-name.pseudo-class.css, entity.name.function.js, entity.other.inherited-class.js, source.js meta.objectliteral.js meta.object.member.js meta.object-literal.key.js, entity.name.tag.css, keyword.control.at-rule.extend.scss, meta.definition.variable.scss variable.scss, support.class.component.html, punctuation.separator.key-value.scss, keyword.control.at-rule.extend.css, meta.definition.variable.css variable.css, support.class.component.html, punctuation.separator.key-value.css | #86BBD8 | — |
| entity.other.attribute-name.html, support.type.property-name.css, meta.property-list.scss variable.scss, meta.property-list.css variable.css, keyword.control.conditional.js, storage.type.js, keyword.control.import.js, keyword.control.from.js, keyword.control.flow.js, storage.type.function.js, keyword.control.export.js, storage.modifier.js, storage.type.class.js, keyword.control.default.js, storage.modifier.async.js, keyword.control.switch.js, keyword.operator.new.js, entity.other.attribute-name.id.html | #E1AA74 | — |
| source.js meta.function-call.js entity.name.function.js, meta.definition.method.js entity.name.function.js, keyword.operator.expression.in.js, punctuation.definition.keyword.scss, keyword.control.at-rule.extend.scss, meta.at-rule.extend.scss entity.other.attribute-name.class.css, keyword.control.at-rule.keyframes.scss, meta.at-rule.keyframes.scss entity.name.function.scss, keyword.control.at-rule.import.scss, keyword.control.at-rule.include.scss, entity.name.function.scss, support.function.misc.scss, punctuation.definition.keyword.css, keyword.control.at-rule.extend.css, meta.at-rule.extend.css entity.other.attribute-name.class.css, keyword.control.at-rule.keyframes.css, meta.at-rule.keyframes.css entity.name.function.css, keyword.control.at-rule.import.css, keyword.control.at-rule.include.css, entity.name.function.css, support.function.misc.css | #E19898 | — |
| punctuation.section.property-list.begin.bracket.curly.scss, punctuation.section.property-list.end.bracket.curly.scss, punctuation.section.property-list.begin.bracket.curly.css, punctuation.section.property-list.end.bracket.curly.css, punctuation.definition.string.begin.js, punctuation.definition.string.end.js, punctuation.definition.block.js, punctuation.separator.key-value.html, punctuation.definition.string.begin.html, punctuation.definition.string.end.html, punctuation.terminator.rule.css, punctuation.separator.key-value.scss, punctuation.definition.string.begin.scss, punctuation.definition.string.end.scss, punctuation.section.keyframes.begin.scss, punctuation.section.keyframes.end.scss, punctuation.separator.key-value.css, punctuation.definition.string.begin.css, punctuation.definition.string.end.css, punctuation.section.keyframes.begin.css, punctuation.section.keyframes.end.css, punctuation.definition.media-query.begin.bracket.round.scss, punctuation.definition.media-query.end.bracket.round.scss, punctuation.definition.parameters.begin.bracket.round.scss, punctuation.definition.parameters.end.bracket.round.scss, punctuation.definition.media-query.begin.bracket.round.css, punctuation.definition.media-query.end.bracket.round.css, punctuation.definition.parameters.begin.bracket.round.css, punctuation.definition.parameters.end.bracket.round.css, punctuation.separator.key-value.js, punctuation.separator.comma.js, meta.brace.round.js, punctuation.definition.parameters.begin.js, punctuation.definition.parameters.end.js, meta.function-call.js, punctuation.accessor, storage.type.function.arrow.js, meta.brace.square.js, punctuation.definition.template-expression.begin.js, punctuation.definition.template-expression.end.js, punctuation.definition.string.template.begin.js, punctuation.definition.string.template.end.js, punctuation.definition.tag.begin.html, punctuation.definition.tag.end.html, punctuation.section.function.scss, punctuation.section.function.css, punctuation.definition.string.begin.json.comments, punctuation.definition.string.end.json.comments, punctuation.support.type.property-name.begin.json.comments, punctuation.support.type.property-name.end.json.comments, punctuation.definition.array.begin.json.comments, punctuation.definition.array.end.json.comments, punctuation.separator.array.json.comments, punctuation.separator.dictionary.key-value.json.comments, punctuation.definition.dictionary.begin.json.comments, punctuation.definition.dictionary.end.json.comments, punctuation.separator.dictionary.pair.json.comments, meta.tag.block.any.html, punctuation.definition.generic.begin.html, punctuation.definition.generic.end.html, punctuation.separator.parameter.js, punctuation.separator.delimiter.scss, punctuation.separator.delimiter.css, punctuation.section.function.begin.bracket.round.css, punctuation.section.function.end.bracket.round.css, keyword.operator.assignment.js, meta.tag.any.html | #7D7C7C | — |
| keyword.operator.comparison.js, keyword.operator.logical.js, keyword.operator.relational.js, meta.var.expr.js keyword, keyword.operator.ternary.js, keyword.operator.arithmetic.js | #9888B3 | — |
| comment | #698F3F | — |
| punctuation.definition.comment | #698F3F | — |
| entity.other.attribute-name, variable.other.constant, keyword.control, keyword, meta.object-literal.key, entity.name.function, variable, string, keyword.control, support.type.property-name, support.constant.property-value, support.function, constant.numeric, keyword.other.unit, string, constant.language, meta.at-rule.media.scss, variable.scss, entity.other.attribute-name.scss, punctuation.separator.key-value.scss, meta.property-value.scss, meta.at-rule.media.css, variable.css, entity.other.attribute-name.css, punctuation.separator.key-value.css, meta.property-value.css, support.class, storage.type, keyword.operator.new, variable.language, support.variable, storage.modifier, variable.other.constant.object.property.js, meta.function-call.js, meta.at-rule.include.scss, meta.at-rule.include.css, variable.parameter.js, support.type.property-name.css, text.html.vue-html entity.name.function.js, support.constant.color.w3c-standard-color-name.css, storage.type.js, meta.object.member.js meta.objectliteral.js meta.method.declaration.js meta.block.js meta.objectliteral.js meta.object.member.js variable.other.readwrite.js, meta.class.js meta.object.member.js new.expr.js variable.other.readwrite.js, meta.property-value.scss variable.scss, meta.property-value.css variable.css, meta.block.js new.expr.js meta.object.member.js variable.other.readwrite.js, meta.block.js meta.var.expr.js meta.object.member.js variable.other.readwrite.js, meta.var.expr.js meta.block.js meta.object.member.js variable.other.readwrite.js, constant.other.color.rgb-value.hex.css, meta.definition.variable.scss, meta.definition.variable.css | #F1EFEF | — |
| entity.name.tag, entity.other.attribute-name.class.css, meta.property-value.scss, keyword.control.at-rule.import.scss, punctuation.definition.keyword.scss, keyword.control.at-rule.include.scss, keyword.control.at-rule.media.scss, keyword.control.at-rule.keyframes.scss, meta.property-name.media-query.scss, meta.property-value.media-query.scss, entity.name.function.scss, support.constant.mathematical-symbols.scss, meta.property-value.css, keyword.control.at-rule.import.css, punctuation.definition.keyword.css, keyword.control.at-rule.include.css, keyword.control.at-rule.media.css, keyword.control.at-rule.keyframes.css, meta.property-name.media-query.css, meta.property-value.media-query.css, entity.name.function.css, support.constant.mathematical-symbols.css, meta.export.default.js meta.object-literal.key.js, support.type.property-name.json.comments, keyword.control.import.js, keyword.control.from.js, keyword.control.export.js, keyword.control.conditional.js, keyword.control.default.js, storage.modifier.async.js, entity.name.type.class.js, meta.object-literal.key.js entity.name.function, entity.other.attribute-name.pseudo-element.css, meta.block.js meta.object.member.js variable.other.readwrite.js, entity.other.attribute-name.pseudo-class.css, entity.name.function.js, entity.other.inherited-class.js, source.js meta.objectliteral.js meta.object.member.js meta.object-literal.key.js, entity.name.tag.css, keyword.control.at-rule.extend.scss, meta.definition.variable.scss variable.scss, support.class.component.html, punctuation.separator.key-value.scss, keyword.control.at-rule.extend.css, meta.definition.variable.css variable.css, support.class.component.html, punctuation.separator.key-value.css | #86BBD8 | — |
| entity.other.attribute-name.html, support.type.property-name.css, meta.property-list.scss variable.scss, meta.property-list.css variable.css, keyword.control.conditional.js, storage.type.js, keyword.control.import.js, keyword.control.from.js, keyword.control.flow.js, storage.type.function.js, keyword.control.export.js, storage.modifier.js, storage.type.class.js, keyword.control.default.js, storage.modifier.async.js, keyword.control.switch.js, keyword.operator.new.js, entity.other.attribute-name.id.html, entity.name.tag.css | #E1AA74 | — |
| source.js meta.function-call.js entity.name.function.js, meta.definition.method.js entity.name.function.js, keyword.operator.expression.in.js, punctuation.definition.keyword.scss, keyword.control.at-rule.extend.scss, meta.at-rule.extend.scss entity.other.attribute-name.class.css, keyword.control.at-rule.keyframes.scss, meta.at-rule.keyframes.scss entity.name.function.scss, keyword.control.at-rule.import.scss, keyword.control.at-rule.include.scss, entity.name.function.scss, support.function.misc.scss, punctuation.definition.keyword.css, keyword.control.at-rule.extend.css, meta.at-rule.extend.css entity.other.attribute-name.class.css, keyword.control.at-rule.keyframes.css, meta.at-rule.keyframes.css entity.name.function.css, keyword.control.at-rule.import.css, keyword.control.at-rule.include.css, entity.name.function.css, support.function.misc.css, punctuation.definition.generic.begin.html, punctuation.definition.generic.end.html | #E19898 | — |
| punctuation.section.property-list.begin.bracket.curly.scss, punctuation.section.property-list.end.bracket.curly.scss, punctuation.section.property-list.begin.bracket.curly.css, punctuation.section.property-list.end.bracket.curly.css, punctuation.definition.string.begin.js, punctuation.definition.string.end.js, punctuation.definition.block.js, punctuation.separator.key-value.html, punctuation.definition.string.begin.html, punctuation.definition.string.end.html, punctuation.terminator.rule.css, punctuation.separator.key-value.scss, punctuation.definition.string.begin.scss, punctuation.definition.string.end.scss, punctuation.section.keyframes.begin.scss, punctuation.section.keyframes.end.scss, punctuation.separator.key-value.css, punctuation.definition.string.begin.css, punctuation.definition.string.end.css, punctuation.section.keyframes.begin.css, punctuation.section.keyframes.end.css, punctuation.definition.media-query.begin.bracket.round.scss, punctuation.definition.media-query.end.bracket.round.scss, punctuation.definition.parameters.begin.bracket.round.scss, punctuation.definition.parameters.end.bracket.round.scss, punctuation.definition.media-query.begin.bracket.round.css, punctuation.definition.media-query.end.bracket.round.css, punctuation.definition.parameters.begin.bracket.round.css, punctuation.definition.parameters.end.bracket.round.css, punctuation.separator.key-value.js, punctuation.separator.comma.js, meta.brace.round.js, punctuation.definition.parameters.begin.js, punctuation.definition.parameters.end.js, meta.function-call.js, punctuation.accessor, storage.type.function.arrow.js, meta.brace.square.js, punctuation.definition.template-expression.begin.js, punctuation.definition.template-expression.end.js, punctuation.definition.string.template.begin.js, punctuation.definition.string.template.end.js, punctuation.definition.tag.begin.html, punctuation.definition.tag.end.html, punctuation.section.function.scss, punctuation.section.function.css, punctuation.definition.string.begin.json.comments, punctuation.definition.string.end.json.comments, punctuation.support.type.property-name.begin.json.comments, punctuation.support.type.property-name.end.json.comments, punctuation.definition.array.begin.json.comments, punctuation.definition.array.end.json.comments, punctuation.separator.array.json.comments, punctuation.separator.dictionary.key-value.json.comments, punctuation.definition.dictionary.begin.json.comments, punctuation.definition.dictionary.end.json.comments, punctuation.separator.dictionary.pair.json.comments, meta.tag.block.any.html, punctuation.separator.parameter.js, punctuation.separator.delimiter.scss, punctuation.separator.delimiter.css, punctuation.section.function.begin.bracket.round.css, punctuation.section.function.end.bracket.round.css, keyword.operator.assignment.js, meta.tag.any.html, punctuation.terminator.rule.scss, punctuation.terminator.rule.css | #7D7C7C | — |
| keyword.operator.comparison.js, keyword.operator.logical.js, keyword.operator.relational.js, meta.var.expr.js keyword, keyword.operator.ternary.js, keyword.operator.arithmetic.js | #9888B3 | — |
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}!`;
}