diff options
author | Joop Kiefte <ikojba@gmail.com> | 2023-10-05 22:59:11 +0100 |
---|---|---|
committer | Joop Kiefte <ikojba@gmail.com> | 2023-10-05 22:59:11 +0100 |
commit | 6f0a2d521ea68c468fff304b93e6ee7b0613b366 (patch) | |
tree | 8d2225672ac35160c964a48cd5f261c0eac25c2f /src/components/WelcomeItem.vue |
Initialize web application via create-cloudflare CLI
Details:
C3 = create-cloudflare@2.4.0
project name = bahaiprayers-json
framework = vue
framework cli = create-vue@3.7.5
package manager = bun@1.0.4
wrangler = wrangler@3.11.0
git = 2.42.0
Diffstat (limited to 'src/components/WelcomeItem.vue')
-rw-r--r-- | src/components/WelcomeItem.vue | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/src/components/WelcomeItem.vue b/src/components/WelcomeItem.vue new file mode 100644 index 0000000..ac366d0 --- /dev/null +++ b/src/components/WelcomeItem.vue @@ -0,0 +1,86 @@ +<template> + <div class="item"> + <i> + <slot name="icon"></slot> + </i> + <div class="details"> + <h3> + <slot name="heading"></slot> + </h3> + <slot></slot> + </div> + </div> +</template> + +<style scoped> +.item { + margin-top: 2rem; + display: flex; + position: relative; +} + +.details { + flex: 1; + margin-left: 1rem; +} + +i { + display: flex; + place-items: center; + place-content: center; + width: 32px; + height: 32px; + color: var(--color-text); +} + +h3 { + font-size: 1.2rem; + font-weight: 500; + margin-bottom: 0.4rem; + color: var(--color-heading); +} + +@media (min-width: 1024px) { + .item { + margin-top: 0; + padding: 0.4rem 0 1rem calc(var(--section-gap) / 2); + } + + i { + top: calc(50% - 25px); + left: -26px; + position: absolute; + border: 1px solid var(--color-border); + background: var(--color-background); + border-radius: 8px; + width: 50px; + height: 50px; + } + + .item:before { + content: ' '; + border-left: 1px solid var(--color-border); + position: absolute; + left: 0; + bottom: calc(50% + 25px); + height: calc(50% - 25px); + } + + .item:after { + content: ' '; + border-left: 1px solid var(--color-border); + position: absolute; + left: 0; + top: calc(50% + 25px); + height: calc(50% - 25px); + } + + .item:first-of-type:before { + display: none; + } + + .item:last-of-type:after { + display: none; + } +} +</style> |