From bc39038983b0297e85e619ee530078cbb381fb76 Mon Sep 17 00:00:00 2001 From: "o.drapeza" Date: Mon, 11 Sep 2023 14:19:38 +0300 Subject: [PATCH] feat: add tramvai template --- packages/common/src/templates/icons.ts | 4 ++++ packages/common/src/templates/index.ts | 7 ++++++- packages/common/src/templates/tramvai.ts | 17 +++++++++++++++++ packages/template-icons/src/TramvaiIcon.tsx | 17 +++++++++++++++++ 4 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 packages/common/src/templates/tramvai.ts create mode 100644 packages/template-icons/src/TramvaiIcon.tsx diff --git a/packages/common/src/templates/icons.ts b/packages/common/src/templates/icons.ts index cd2fde96ee6..0aa9dbc0a4a 100644 --- a/packages/common/src/templates/icons.ts +++ b/packages/common/src/templates/icons.ts @@ -28,6 +28,7 @@ import { UnibitIcon, DocusaurusIcon, SolidIcon, + TramvaiIcon, } from '@codesandbox/template-icons'; import { @@ -62,6 +63,7 @@ import { TemplateType, remix, solid, + tramvai, } from '.'; export default function getIcon(theme: TemplateType) { @@ -126,6 +128,8 @@ export default function getIcon(theme: TemplateType) { return RemixIcon; case solid.name: return SolidIcon; + case tramvai.name: + return TramvaiIcon; default: return ReactIcon; diff --git a/packages/common/src/templates/index.ts b/packages/common/src/templates/index.ts index c329544e23d..8897229e9b8 100644 --- a/packages/common/src/templates/index.ts +++ b/packages/common/src/templates/index.ts @@ -31,6 +31,7 @@ import docusaurus from './docusaurus'; import esmReact from './esmodule-react'; import remix from './remix'; import solid from './solid'; +import tramvai from './tramvai'; export { adonis, @@ -66,6 +67,7 @@ export { unibit, remix, solid, + tramvai, }; export type TemplateType = @@ -101,7 +103,8 @@ export type TemplateType = | 'babel-repl' | 'esm-react' | 'remix-starter' - | 'solid'; + | 'solid' + | 'tramvai'; export default function getDefinition(theme?: TemplateType | null) { switch (theme) { @@ -171,6 +174,8 @@ export default function getDefinition(theme?: TemplateType | null) { return remix; case solid.name: return solid; + case tramvai.name: + return tramvai; default: return react; } diff --git a/packages/common/src/templates/tramvai.ts b/packages/common/src/templates/tramvai.ts new file mode 100644 index 00000000000..61344f92e68 --- /dev/null +++ b/packages/common/src/templates/tramvai.ts @@ -0,0 +1,17 @@ +import Template from './template'; +import { decorateSelector } from '../utils/decorate-selector'; + +export default new Template( + 'tramvai', + 'Tramvai', + 'https://tramvai.dev/', + 'github.com/tramvaijs/tramvai-sandbox', + decorateSelector(() => '#ffdd2d'), + { + distDir: 'dist', + showOnHomePage: true, + main: true, + popular: true, + showCube: false, + } +); diff --git a/packages/template-icons/src/TramvaiIcon.tsx b/packages/template-icons/src/TramvaiIcon.tsx new file mode 100644 index 00000000000..53e08bc52e1 --- /dev/null +++ b/packages/template-icons/src/TramvaiIcon.tsx @@ -0,0 +1,17 @@ +import React from 'react'; +import { SVGIcon, ISVGIconProps } from './SVGIcon'; + +export const TramvaiIcon: React.FC = ({ ...props }) => ( + + + + + +);