@@ -12,64 +12,76 @@ import Spacer from './Spacer.astro';
12
12
// Props for sections
13
13
let { sections } = Astro .props ;
14
14
15
- // Mapping for dynamic rendering
16
- const componentMap : any = {
17
- ' Skills' : Skills ,
18
- ' Companies' : Companies ,
19
- ' RecentProjects' : RecentProjects ,
20
- ' Projects' : Projects ,
21
- ' Education' : Education ,
22
- ' Certificate' : Certificate
23
- };
24
15
---
25
16
26
17
<div class =" flex justify-center gap-6 mt-6 mb-4" >
27
- { sections .map ((section : any , index : any ) => (
28
-
29
- <a href = " javascript:void(0)"
30
- class = { ` ${section .key }-toggle toggle ${index === 0 ? ' active' : ' ' } float-right prose dark:text-gray-300 font-bold hover:text-blue-500 ` }
31
- data-key = { section .key }
32
- data-id = { section .id }
33
- > <i class = { ` fa-solid ${section .icon } ` } ></i >
34
- { section .title }
35
- </a >
36
- ))}
18
+ {
19
+ sections .map ((section : any , index : any ) => (
20
+ <a
21
+ href = " javascript:void(0)"
22
+ class = { ` ${section .key }-toggle toggle ${
23
+ index === 0 ? ' active' : ' '
24
+ } float-right prose dark:text-gray-300 font-bold hover:text-blue-500 ` }
25
+ data-key = { section .key }
26
+ data-id = { section .id }
27
+ >
28
+ { ' ' }
29
+ <i class = { ` fa-solid ${section .icon } ` } />
30
+ { section .title }
31
+ </a >
32
+ ))
33
+ }
37
34
</div >
38
35
<hr class =" short" />
39
36
40
- { sections .map ((section : any , index : any ) => (
41
- <div id = { section .key } class = { ` ${index !== 0 ? ' hidden' : ' ' } toggle-elems ` } data-key = { section .key } data-id = { section .id } >
42
- { componentMap [section .component ] ? < componentMap [section .component ] / > : <div >Component not found</div >}
43
- </div >
44
- ))}
37
+ {
38
+ sections .map ((section : any , index : any ) => {
39
+
40
+ return (
41
+ <div
42
+ id = { section .key }
43
+ class = { ` ${index !== 0 ? ' hidden' : ' ' } toggle-elems ` }
44
+ data-key = { section .key }
45
+ data-id = { section .id }
46
+ >
47
+ { section .component === ' Skills' && <Skills />}
48
+ { section .component === ' Companies' && <Companies />}
49
+ { section .component === ' RecentProjects' && <RecentProjects />}
50
+ { section .component === ' Projects' && <Projects />}
51
+ { section .component === ' Education' && <Education />}
52
+ { section .component === ' Certificate' && <Certificate />}
53
+ </div >
54
+ );
55
+ })
56
+ }
45
57
46
58
<script lang =" js" is:inline >
47
- document.querySelectorAll('.toggle').forEach(toggle => {
48
- toggle.addEventListener('click', function () {
49
- const key = this.getAttribute('data-key');
50
- const id = this.getAttribute('data-id');
51
- const elem = document.getElementById(key);
52
- const sections = document.querySelectorAll('.toggle-elems');
53
- const toggles = document.querySelectorAll('.toggle');
54
- // remove active class from all.
55
- toggles.forEach(tgl => {
56
- let dataID = tgl.getAttribute('data-id');
57
- if (id === dataID) {
58
- tgl.classList.remove('active');
59
- }
60
- });
59
+ document.querySelectorAll('.toggle').forEach(( toggle) => {
60
+ toggle.addEventListener('click', function () {
61
+ const key = this.getAttribute('data-key');
62
+ const id = this.getAttribute('data-id');
63
+ const elem = document.getElementById(key);
64
+ const sections = document.querySelectorAll('.toggle-elems');
65
+ const toggles = document.querySelectorAll('.toggle');
66
+ // remove active class from all.
67
+ toggles.forEach(( tgl) => {
68
+ let dataID = tgl.getAttribute('data-id');
69
+ if (id === dataID) {
70
+ tgl.classList.remove('active');
71
+ }
72
+ });
61
73
62
- toggle.classList.add('active');
63
- // hide all.
64
- sections.forEach(section => {
65
- const dataID = section.getAttribute('data-id');
66
- console.log (" keys" , id, dataID, dataID === id);
67
- if (id == dataID) {
68
- section.classList.add('hidden');
69
- }
70
- });
71
- // toggle class of elem hidden.
72
- elem.classList.toggle('hidden');
73
- });
74
- });
74
+ toggle.classList.add('active');
75
+ // hide all.
76
+ sections.forEach(( section) => {
77
+ const dataID = section.getAttribute('data-id');
78
+ console.log(' keys' , id, dataID, dataID === id);
79
+ if (id == dataID) {
80
+ section.classList.add('hidden');
81
+ }
82
+ });
83
+ // toggle class of elem hidden.
84
+ elem.classList.toggle('hidden');
85
+ });
86
+ });
75
87
</script >
0 commit comments