parent
c8853e4865
commit
bf36621b69
@ -0,0 +1,53 @@
|
|||||||
|
<script>
|
||||||
|
import { page } from '$app/stores';
|
||||||
|
|
||||||
|
export let text = "";
|
||||||
|
export let url = "";
|
||||||
|
export let type = "";
|
||||||
|
export let disabled = false;
|
||||||
|
|
||||||
|
let classes;
|
||||||
|
|
||||||
|
initButton($page.url.pathname);
|
||||||
|
|
||||||
|
function initButton(givenUrl) {
|
||||||
|
let current;
|
||||||
|
classes = "h-full py-2 px-10 flex justify-center items-center uppercase group";
|
||||||
|
|
||||||
|
switch (type) {
|
||||||
|
case "title":
|
||||||
|
classes +=
|
||||||
|
" text-xl font-bold bg-amber-500 duration-300";
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
classes +=
|
||||||
|
" hover:bg-white hover:bg-opacity-20 font-bold text-lg duration-300";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (disabled) {
|
||||||
|
url = null;
|
||||||
|
classes += " cursor-not-allowed opacity-50 select-none";
|
||||||
|
}
|
||||||
|
|
||||||
|
if(url == "/") current = givenUrl == "/";
|
||||||
|
if(url != "/") current = givenUrl.includes(url);
|
||||||
|
|
||||||
|
if(current == true) {
|
||||||
|
classes += " text-white bg-white bg-opacity-10";
|
||||||
|
} else {
|
||||||
|
classes += " text-gray-200";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
page.subscribe(value => {
|
||||||
|
initButton(value.url.pathname);
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<a href={url} class={classes} on:click>
|
||||||
|
<p class="transform duration-300 {!disabled ? "group-hover:scale-110" : ''}">
|
||||||
|
{text}
|
||||||
|
</p>
|
||||||
|
</a>
|
Loading…
Reference in new issue