|
4 | 4 | <div |
5 | 5 | class="z-10 max-w-screen-lg xl:max-w-screen-xl block sm:flex sm:justify-between sm:items-center my-6" |
6 | 6 | > |
7 | | - <!-- Header menu links and small screen hamburger menu start --> |
| 7 | + <!-- Header menu links and small screen hamburger menu --> |
8 | 8 | <div class="flex justify-between items-center px-4 sm:px-0"> |
9 | | - <!-- Header logos start --> |
| 9 | + <!-- Header logos --> |
10 | 10 | <div> |
11 | 11 | <router-link to="/" |
12 | 12 | ><img |
|
23 | 23 | /> |
24 | 24 | </router-link> |
25 | 25 | </div> |
26 | | - <!-- Header logos end --> |
27 | 26 |
|
28 | | - <!-- Theme switcher small screen start --> |
| 27 | + <!-- Theme switcher small screen --> |
29 | 28 | <theme-switcher |
30 | 29 | :theme="theme" |
31 | 30 | @themeChanged="updateTheme" |
32 | 31 | class="block sm:hidden bg-ternary-light dark:bg-ternary-dark hover:bg-hover-light dark:hover:bg-hover-dark hover:shadow-sm px-2.5 py-2 rounded-lg" |
33 | 32 | /> |
34 | | - <!-- Theme switcher small screen end --> |
35 | 33 |
|
36 | | - <!-- Small screen hamburger menu start --> |
| 34 | + <!-- Small screen hamburger menu --> |
37 | 35 | <div class="sm:hidden"> |
38 | 36 | <button |
39 | 37 | @click="isOpen = !isOpen" |
|
60 | 58 | </svg> |
61 | 59 | </button> |
62 | 60 | </div> |
63 | | - <!-- Small screen hamburger menu end --> |
64 | 61 | </div> |
65 | | - <!-- Header menu links and small screen hamburger menu end --> |
66 | 62 |
|
67 | | - <!-- Header links start --> |
68 | | - <div |
69 | | - :class="isOpen ? 'block' : 'hidden'" |
70 | | - class="m-0 sm:ml-4 mt-5 sm:mt-3 sm:flex p-5 sm:p-0 justify-center items-center shadow-lg sm:shadow-none" |
71 | | - > |
72 | | - <router-link |
73 | | - to="/projects" |
74 | | - class="block text-left text-lg font-medium text-primary-dark dark:text-ternary-light hover:text-secondary-dark dark:hover:text-secondary-light sm:mx-4 mb-2 sm:py-2" |
75 | | - aria-label="Projects" |
76 | | - >Projects</router-link |
77 | | - > |
78 | | - <router-link |
79 | | - to="/about" |
80 | | - class="block text-left text-lg font-medium text-primary-dark dark:text-ternary-light hover:text-secondary-dark dark:hover:text-secondary-light sm:mx-4 mb-2 sm:py-2 border-t-2 pt-3 sm:pt-2 sm:border-t-0 border-primary-light dark:border-secondary-dark" |
81 | | - aria-label="About Me" |
82 | | - >About Me</router-link |
83 | | - > |
84 | | - <router-link |
85 | | - to="/contact" |
86 | | - class="block text-left text-lg font-medium text-primary-dark dark:text-ternary-light hover:text-secondary-dark dark:hover:text-secondary-light sm:mx-4 mb-2 sm:py-2 border-t-2 pt-3 sm:pt-2 sm:border-t-0 border-primary-light dark:border-secondary-dark" |
87 | | - aria-label="Contact" |
88 | | - >Contact</router-link |
89 | | - > |
90 | | - <div |
91 | | - class="border-t-2 pt-3 sm:pt-0 sm:border-t-0 border-primary-light dark:border-secondary-dark" |
92 | | - > |
93 | | - <button |
94 | | - class="sm:hidden block text-left text-md font-medium bg-indigo-500 hover:bg-indigo-600 text-white shadow-sm rounded-sm px-4 py-2 mt-2" |
95 | | - @click="showModal()" |
96 | | - aria-label="Hire Me Button" |
97 | | - > |
98 | | - Hire Me |
99 | | - </button> |
100 | | - </div> |
101 | | - </div> |
102 | | - <!-- Header links end --> |
| 63 | + <!-- Header links --> |
| 64 | + <AppHeaderLinks :showModal="showModal" :isOpen="isOpen" /> |
103 | 65 |
|
104 | | - <!-- Header right section buttons start --> |
| 66 | + <!-- Header right section buttons --> |
105 | 67 | <div |
106 | 68 | class="hidden sm:flex justify-between items-center flex-col md:flex-row" |
107 | 69 | > |
108 | | - <!-- Hire me button start --> |
| 70 | + <!-- Hire me button --> |
109 | 71 | <div> |
110 | 72 | <button |
111 | 73 | class="text-md font-medium bg-indigo-500 hover:bg-indigo-600 text-white shadow-sm rounded-md px-5 py-2.5" |
|
115 | 77 | Hire Me |
116 | 78 | </button> |
117 | 79 | </div> |
118 | | - <!-- Hire me button end --> |
119 | 80 |
|
120 | | - <!-- Theme switcher large screen start --> |
| 81 | + <!-- Theme switcher large screen --> |
121 | 82 | <theme-switcher |
122 | 83 | :theme="theme" |
123 | 84 | @themeChanged="updateTheme" |
124 | 85 | class="ml-8 bg-primary-light dark:bg-ternary-dark px-3 py-2 shadow-sm rounded-xl cursor-pointer" |
125 | 86 | /> |
126 | | - <!-- Theme switcher large screen end --> |
127 | 87 | </div> |
128 | | - <!-- Header right section buttons end --> |
129 | 88 | </div> |
130 | | - <!-- Header end --> |
131 | 89 |
|
132 | | - <!-- Hire me modal start --> |
| 90 | + <!-- Hire me modal --> |
133 | 91 | <HireMeModal |
134 | 92 | :showModal="showModal" |
135 | 93 | :modal="modal" |
136 | 94 | :categories="categories" |
137 | 95 | aria-modal="Hire Me Modal" |
138 | 96 | /> |
139 | | - <!-- Hire me modal end --> |
140 | 97 | </nav> |
141 | 98 | </template> |
142 | 99 |
|
143 | 100 | <script> |
144 | 101 | import ThemeSwitcher from './ThemeSwitcher'; |
145 | 102 | import HireMeModal from './HireMeModal.vue'; |
146 | 103 | import feather from 'feather-icons'; |
| 104 | +import AppHeaderLinks from './AppHeaderLinks.vue'; |
147 | 105 |
|
148 | 106 | export default { |
149 | 107 | components: { |
150 | 108 | ThemeSwitcher, |
151 | 109 | HireMeModal, |
| 110 | + AppHeaderLinks, |
152 | 111 | }, |
153 | 112 | data() { |
154 | 113 | return { |
|
0 commit comments