diff --git a/src/components/Counter.sass b/src/components/Counter.sass
new file mode 100644
index 0000000..5906f01
--- /dev/null
+++ b/src/components/Counter.sass
@@ -0,0 +1,47 @@
+.counter
+ display: flex
+ flex-direction: column
+ align-items: center
+ gap: 1rem
+ margin: 2rem
+ color: white
+ border: 1px solid rgba(22, 34, 60, 0.5)
+ padding: 1rem 2rem
+ border-radius: 16px
+ background: rgba(134, 152, 217, 0.1)
+
+ &__display
+ font-size: 1.75rem
+ font-weight: bold
+
+ &__buttons
+ display: flex
+ justify-content: center
+ gap: 0.25rem
+
+ // &:hover
+ // background: color.adjust(vars.$primaryColor, $blackness: 20%)
+
+
+ &__decrement
+ width: 2rem
+ height: 2.25rem
+ padding: auto
+ font-size: 1rem
+ font-weight: bold
+ cursor: pointer
+ text-decoration: none
+ background-color: rgba(86, 14, 14, 0.915)
+ border-radius: 8px
+ color: white
+ border: 1px solid rgba(255,255,255,0.2)
+
+ &:active
+ transform: scale(0.95)
+
+ &__increment
+ @extend .counter__decrement
+ background-color: rgb(14, 42, 86, 0.915)
+
+ &:active
+ transform: scale(0.95)
diff --git a/src/components/Counter.tsx b/src/components/Counter.tsx
new file mode 100644
index 0000000..e45cf73
--- /dev/null
+++ b/src/components/Counter.tsx
@@ -0,0 +1,30 @@
+import './Counter.sass'
+import { createSignal } from 'solid-js'
+
+let [count, setCount] = createSignal(0)
+
+const increment = () => {
+ setCount(count() + 1)
+}
+
+const decrement = () => {
+ setCount(count() - 1)
+}
+
+export default () => {
+ return (
+ <>
+
+ {count()}
+
+
+
+
+
+ >
+ )
+}
diff --git a/src/pages/index.astro b/src/pages/index.astro
index 8c9daec..dcb6894 100644
--- a/src/pages/index.astro
+++ b/src/pages/index.astro
@@ -2,15 +2,18 @@
import Layout from '../layouts/Layout.astro'
import Button from '../builtin-components/Button/Button.tsx'
import Image from '../builtin-components/Image/Image'
+import Link from '../builtin-components/Link/Link'
+import Counter from '../components/Counter.tsx'
---
-
+
-
+
-
+
Fast WebApp Template
+
@@ -24,7 +27,5 @@ import Image from '../builtin-components/Image/Image'
align-content: center
margin: 2rem
height: 90vh
-
-