diff --git a/libs/shared/ui/src/cuHacking/components/terminal-text/index.ts b/libs/shared/ui/src/cuHacking/components/terminal-text/index.ts new file mode 100644 index 000000000..8adfb2d89 --- /dev/null +++ b/libs/shared/ui/src/cuHacking/components/terminal-text/index.ts @@ -0,0 +1 @@ +export { TerminalText } from './terminal-text' diff --git a/libs/shared/ui/src/cuHacking/components/terminal-text/terminal-text.tsx b/libs/shared/ui/src/cuHacking/components/terminal-text/terminal-text.tsx new file mode 100644 index 000000000..37d630565 --- /dev/null +++ b/libs/shared/ui/src/cuHacking/components/terminal-text/terminal-text.tsx @@ -0,0 +1,46 @@ +import type Media from '@cuhacking/types/media' +import type { ReactNode } from 'react' +import { cn } from '@shadcn/lib/utils' +import { cva } from 'class-variance-authority' +import React from 'react' +import { Icon } from '../icon/icon' + +interface TerminalTextProps { + children: ReactNode + icon?: Media + className?: string + callToAction?: boolean +} + +const callToActionVariation = cva( + '', + { + variants: { + callToAction: { + true: 'bg-greendiant bg-clip-text text-transparent', + false: '', + }, + }, + }, +) + +const terminalTextVariation = cva( + 'flex flex-row gap-x-3 font-sans items-center', +) + +export function TerminalText({ icon, children, className = '', callToAction }: TerminalTextProps) { + return ( +
+ { !icon + ? ( +
+ ~ +
+ ) + : } +
+ {children} +
+
+ ) +}