diff --git a/src/components/Assets.jsx b/src/components/Assets.jsx
index 994d304..05b006b 100644
--- a/src/components/Assets.jsx
+++ b/src/components/Assets.jsx
@@ -6,6 +6,7 @@ import { copyToClipboard } from '../utils';
import { Trans } from '@lingui/macro';
import { ProBadge } from './ProBadge';
import { LoaderWithText } from './Loader';
+import { Text } from './Text';
const Assets = () => {
const [files, setFiles] = useState([]);
@@ -174,12 +175,19 @@ const Assets = () => {
{isUploading ?
: null}
{isFetchingFiles && Fetching files...}
diff --git a/src/components/Loader.jsx b/src/components/Loader.jsx
new file mode 100644
index 0000000..05885f8
--- /dev/null
+++ b/src/components/Loader.jsx
@@ -0,0 +1,52 @@
+export function Loader({ height, noMargin, leftMargin }) {
+ return (
+
+ );
+}
+
+export function LoaderWithText({ children }) {
+ return (
+
+ {children}
+
+ );
+}
diff --git a/src/components/Text.jsx b/src/components/Text.jsx
new file mode 100644
index 0000000..dfe52c1
--- /dev/null
+++ b/src/components/Text.jsx
@@ -0,0 +1,56 @@
+import { forwardRef } from 'preact/compat';
+
+const appearanceStyles = {
+ normal: {
+ color: 'var(--color-text)'
+ },
+ primary: {
+ color: 'var(--color-heading)'
+ },
+ secondary: {
+ color: 'var(--color-text-light)'
+ },
+ tertiary: {
+ color: 'var(--color-text-lightest-final)'
+ },
+ brand: {
+ color: 'var(--color-brand)'
+ }
+};
+
+export const Text = forwardRef(
+ (
+ {
+ size = 0,
+ weight = 'normal',
+ tag,
+ style = 'normal',
+ appearance = 'normal',
+ letterSpacing = 0,
+ lineHeight = 1.4,
+ align = 'left',
+ classes = '',
+ children
+ },
+ ref
+ ) => {
+ const Tag = tag || 'span';
+
+ const styles = {
+ letterSpacing: letterSpacing,
+ fontSize: `var(--font-size-${size})`,
+
+ fontWeight: weight,
+ textAlign: align,
+ lineHeight: lineHeight,
+ fontStyle: style === 'italic' ? 'italic' : 'normal',
+ ...appearanceStyles[appearance]
+ };
+
+ return (
+
+ {children}
+
+ );
+ }
+);
diff --git a/src/style.css b/src/style.css
index 4d85710..a5463c8 100644
--- a/src/style.css
+++ b/src/style.css
@@ -10,6 +10,11 @@
--color-focus-outline: #d3a447;
--color-form-control-bg: #2c214b;
+ --color-heading: #efecf9;
+ --color-text-light: #b0a5d6;
+ --color-text-lightest-final: #787090;
+ --clr-brand: purple;
+
--footer-height: 37px;
--console-height: 32px;