fix: Melt UI bug & autoscroll bug on the landing page (#220)

* fix: scroll function

* remove console logs

* code refactoring

* remove melt ui

* PR Fix

* PR Fix

* code refactoring
This commit is contained in:
Adeyemi Adetunji
2024-03-28 10:23:49 +01:00
committed by GitHub
parent 347a85abfa
commit d8af3a304c
4 changed files with 8879 additions and 3165 deletions
-2
View File
@@ -11,8 +11,6 @@
"prepare": "svelte-kit sync" "prepare": "svelte-kit sync"
}, },
"devDependencies": { "devDependencies": {
"@melt-ui/pp": "^0.1.2",
"@melt-ui/svelte": "^0.43.0",
"@sveltejs/adapter-auto": "^2.0.0", "@sveltejs/adapter-auto": "^2.0.0",
"@sveltejs/kit": "^1.20.4", "@sveltejs/kit": "^1.20.4",
"autoprefixer": "^10.4.15", "autoprefixer": "^10.4.15",
@@ -1,5 +1,4 @@
<script> <script>
import { createDropdownMenu, melt } from '@melt-ui/svelte';
import ChevronDown from 'carbon-icons-svelte/lib/ChevronDown.svelte'; import ChevronDown from 'carbon-icons-svelte/lib/ChevronDown.svelte';
import TextAlignJustify from 'carbon-icons-svelte/lib/TextAlignJustify.svelte'; import TextAlignJustify from 'carbon-icons-svelte/lib/TextAlignJustify.svelte';
import CloseLarge from 'carbon-icons-svelte/lib/CloseLarge.svelte'; import CloseLarge from 'carbon-icons-svelte/lib/CloseLarge.svelte';
@@ -8,20 +7,10 @@
import ForumIcon from 'carbon-icons-svelte/lib/Forum.svelte'; import ForumIcon from 'carbon-icons-svelte/lib/Forum.svelte';
import CourseIcon from '$lib/Icons/CourseIcon.svelte'; import CourseIcon from '$lib/Icons/CourseIcon.svelte';
import MapCenter from 'carbon-icons-svelte/lib/MapCenter.svelte'; import MapCenter from 'carbon-icons-svelte/lib/MapCenter.svelte';
import { goto } from '$app/navigation';
let showsubNav = false; let showsubNav = false;
let showNav = false; let showNav = false;
const {
elements: { menu, item, trigger, arrow }
} = createDropdownMenu({
positioning: {
placement: 'bottom-start',
fitViewport: true
}
});
function handleShow() { function handleShow() {
showsubNav = !showsubNav; showsubNav = !showsubNav;
} }
@@ -30,17 +19,6 @@
showNav = !showNav; showNav = !showNav;
} }
function scroll(key = '') {
const el = document.getElementById(key);
setTimeout(() => {
el?.scrollIntoView({
behavior: 'smooth',
block: 'start',
inline: 'nearest'
});
}, 50);
}
const superpowers = [ const superpowers = [
{ {
key: 'coursemanagement', key: 'coursemanagement',
@@ -85,22 +63,19 @@
<nav class="w-[40%] hidden md:hidden lg:block"> <nav class="w-[40%] hidden md:hidden lg:block">
<ul class="flex items-center justify-between w-full gap-2"> <ul class="flex items-center justify-between w-full gap-2">
<!-- --> <!-- -->
<li class="text-gray-800 font-semibold text-sm cursor-pointer"> <li class="text-gray-800 font-semibold text-sm cursor-pointer relative">
<button use:melt={$trigger} class="flex items-center" <button class="flex items-center" on:click={() => (showNav = !showNav)}
>Our Superpowers <ChevronDown class="ml-2" /></button >Our Superpowers <ChevronDown class="ml-2" /></button
> >
{#if showNav}
<div <div
use:melt={$menu} class="absolute w-[24rem] top-10 -left-10 border px-5 py-5 rounded-[30px] shadow-slate-700 z-[3001] bg-white"
class="w-[28%] border px-5 py-5 rounded-[30px] shadow-slate-700 mt-2 z-[3001] ml-[-30px] bg-white"
> >
{#each superpowers as superpower} {#each superpowers as superpower}
<button <a
use:melt={$item}
class="flex justify-between items-center w-full rounded-lg hover:bg-slate-100 p-5 mb-4" class="flex justify-between items-center w-full rounded-lg hover:bg-slate-100 p-5 mb-4"
on:m-click={() => { href="/#{superpower.key}"
goto('/'); on:click={() => (showNav = !showNav)}
setTimeout(() => scroll(superpower.key), 200);
}}
> >
{#if superpower.key === 'coursemanagement'} {#if superpower.key === 'coursemanagement'}
<CourseIcon /> <CourseIcon />
@@ -119,11 +94,10 @@
{superpower.subtitle} {superpower.subtitle}
</p> </p>
</div> </div>
</button> </a>
{/each} {/each}
<div use:melt={$arrow} />
</div> </div>
{/if}
</li> </li>
<!-- More Features --> <!-- More Features -->
<!-- <a href="/#morefeatures"> <!-- <a href="/#morefeatures">
+1 -2
View File
@@ -1,4 +1,3 @@
import { preprocessMeltUI } from '@melt-ui/pp';
import sequence from 'svelte-sequential-preprocessor'; import sequence from 'svelte-sequential-preprocessor';
import adapter from '@sveltejs/adapter-auto'; import adapter from '@sveltejs/adapter-auto';
import { vitePreprocess } from '@sveltejs/kit/vite'; import { vitePreprocess } from '@sveltejs/kit/vite';
@@ -37,6 +36,6 @@ const config = {
adapter: adapter() adapter: adapter()
}, },
extensions: ['.svelte', '.md'], extensions: ['.svelte', '.md'],
preprocess: sequence([vitePreprocess(), preprocessMeltUI(), mdsvex(mdsvexOptions)]) preprocess: sequence([vitePreprocess(), mdsvex(mdsvexOptions)])
}; };
export default config; export default config;
+7700 -1957
View File
File diff suppressed because it is too large Load Diff