diff --git a/frontend/src/components/Buttons/button.jsx b/frontend/src/components/Buttons/button.jsx new file mode 100644 index 0000000..f5fc7e1 --- /dev/null +++ b/frontend/src/components/Buttons/button.jsx @@ -0,0 +1,18 @@ +import styles from './button.module.css' + +function Button({ children, onClick, className, variant = 'primary', ...rest}) { + // Construct dynamic class names using CSS Modules + const buttonClasses = `${styles.button} ${styles[variant] || ''} ${className || ''}` + + return ( + + ) +} + +export default Button; \ No newline at end of file diff --git a/frontend/src/components/Buttons/button.module.css b/frontend/src/components/Buttons/button.module.css new file mode 100644 index 0000000..78a6d40 --- /dev/null +++ b/frontend/src/components/Buttons/button.module.css @@ -0,0 +1,37 @@ +.button { + + padding: .05em .1em; + + border: 3em; + border-radius: 3px; +} + +.primary { + background-color: #353be5; + border-color: #4e53dc; +} + +.primary:hover { + background-color: #353be5; + border-color: #6b70f7; +} + +.secondary { + background-color: #1a1a1a; + border-color: #2a2a2a; +} + +.secondary:hover { + background-color: #2a2a2a; + border-color: #3a3a3a; +} + +.tertiary { + background-color: #eaeaea00; + border-color: #eaeaea; +} + +.tertiary:hover { + background-color: #eaeaea16; + border-color: #eaeaea; +} \ No newline at end of file diff --git a/frontend/src/main.jsx b/frontend/src/main.jsx index 008c962..16d686b 100644 --- a/frontend/src/main.jsx +++ b/frontend/src/main.jsx @@ -1,5 +1,5 @@ import { render } from 'preact' import './styles/index.css' -import { App } from './app.jsx' +import { App } from './template-app.jsx' render(, document.getElementById('app')) diff --git a/frontend/src/styles/app.css b/frontend/src/styles/template-app.css similarity index 100% rename from frontend/src/styles/app.css rename to frontend/src/styles/template-app.css diff --git a/frontend/src/app.jsx b/frontend/src/template-app.jsx similarity index 97% rename from frontend/src/app.jsx rename to frontend/src/template-app.jsx index 9efff17..8e8038e 100644 --- a/frontend/src/app.jsx +++ b/frontend/src/template-app.jsx @@ -1,7 +1,7 @@ import { useState } from 'preact/hooks' import preactLogo from './assets/preact.svg' import viteLogo from '/vite.svg' -import './styles/app.css' +import './styles/template-app.css' export function App() { const [count, setCount] = useState(0)