website/app/src/lib/card_link.svelte

70 lines
1.2 KiB
Svelte
Raw Normal View History

2023-08-21 08:23:11 +03:00
<script>
export let title
export let url
let audio
let current = ""
let i = 0
while (title.length > i) {
let c = title[i]
setTimeout(()=>{
current += c
}, 100*(i+1))
i += 1
}
function epicSound() {
audio.play()
}
</script>
<a on:click={epicSound} data-sveltekit-preload-data href={url}>
<audio bind:this={audio} preload="auto">
<source src="/click.wav" type="audio/mpeg" />
</audio>
<div class="title">
{current}
</div>
<div class="content">
<slot></slot>
</div>
</a>
<style>
a {
display: flex;
flex-direction: column;
width: 100%;
background: var(--dark-three);
2023-11-12 17:43:23 +03:00
box-shadow: var(--box-shadow);
2023-08-21 08:23:11 +03:00
border-radius: 7px;
cursor: pointer;
transition: .4s;
text-decoration: none;
}
2023-11-12 17:43:23 +03:00
a:hover > .title {
text-shadow: var(--text-shadow);
2023-08-21 08:23:11 +03:00
}
.title {
2023-11-12 17:43:23 +03:00
border: solid 1px var(--dark-two);
2023-08-21 08:23:11 +03:00
background: var(--dark-two);
padding: 30px;
border-radius: 7px 7px 0px 0px;
font-size: 20px;
font-family: Consolas,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New, monospace;
color: white;
}
.content {
background: var(--dark-three);
padding: 40px;
padding-top: 30px;
color: white;
border-radius: 5px;
font-size: 25px;
}
</style>