|
130 | 130 | <!-- Header end -->
|
131 | 131 |
|
132 | 132 | <!-- Hire me modal start -->
|
133 |
| - <transition name="fade"> |
134 |
| - <div v-show="modal" class="fixed inset-0 z-30"> |
135 |
| - <!-- background --> |
136 |
| - <div |
137 |
| - v-show="modal" |
138 |
| - @click="showModal()" |
139 |
| - class="bg-filter bg-black bg-opacity-50 fixed inset-0 w-full h-full z-20" |
140 |
| - ></div> |
141 |
| - <!-- --> |
142 |
| - <main |
143 |
| - class="flex flex-col items-center justify-center h-full w-full" |
144 |
| - > |
145 |
| - <transition name="fade-up-down"> |
146 |
| - <div |
147 |
| - v-show="modal" |
148 |
| - class="modal-wrapper flex items-center z-30" |
149 |
| - > |
150 |
| - <div |
151 |
| - class="modal max-w-md mx-5 xl:max-w-xl lg:max-w-xl md:max-w-xl bg-secondary-light dark:bg-primary-dark max-h-screen shadow-lg flex-row rounded-xl relative" |
152 |
| - > |
153 |
| - <div |
154 |
| - class="modal-header flex justify-between gap-10 p-5 border-b border-ternary-light dark:border-ternary-dark" |
155 |
| - > |
156 |
| - <h5 |
157 |
| - class=" text-primary-dark dark:text-primary-light text-2xl" |
158 |
| - > |
159 |
| - What project are you looking for? |
160 |
| - </h5> |
161 |
| - <button |
162 |
| - class="px-4 font-bold text-primary-dark dark:text-primary-light" |
163 |
| - @click="showModal()" |
164 |
| - > |
165 |
| - X |
166 |
| - </button> |
167 |
| - </div> |
168 |
| - <div |
169 |
| - class="modal-body p-5 w-full h-full overflow-y-auto " |
170 |
| - > |
171 |
| - <form class="max-w-xl m-4 text-left"> |
172 |
| - <div class=""> |
173 |
| - <input |
174 |
| - class="w-full px-5 py-2 border-1 border-gray-200 dark:border-secondary-dark rounded-lg text-md dark:font-medium bg-secondary-light dark:bg-ternary-dark text-primary-dark dark:text-ternary-light" |
175 |
| - id="name" |
176 |
| - name="name" |
177 |
| - type="text" |
178 |
| - required="" |
179 |
| - placeholder="Name" |
180 |
| - aria-label="Name" |
181 |
| - /> |
182 |
| - </div> |
183 |
| - <div class="mt-6"> |
184 |
| - <input |
185 |
| - class="w-full px-5 py-2 border-1 border-gray-200 dark:border-secondary-dark rounded-lg text-md dark:font-medium bg-secondary-light dark:bg-ternary-dark text-primary-dark dark:text-ternary-light" |
186 |
| - id="email" |
187 |
| - name="email" |
188 |
| - type="text" |
189 |
| - required="" |
190 |
| - placeholder="Email" |
191 |
| - aria-label="Email" |
192 |
| - /> |
193 |
| - </div> |
194 |
| - <div class="mt-6"> |
195 |
| - <select |
196 |
| - class="w-full px-5 py-2 border-1 border-gray-200 dark:border-secondary-dark rounded-lg text-md dark:font-medium bg-secondary-light dark:bg-ternary-dark text-primary-dark dark:text-ternary-light" |
197 |
| - id="subject" |
198 |
| - name="subject" |
199 |
| - type="text" |
200 |
| - required="" |
201 |
| - aria-label="Project Category" |
202 |
| - > |
203 |
| - <option |
204 |
| - v-for="category in categories" |
205 |
| - :key="category.id" |
206 |
| - :value="category.value" |
207 |
| - >{{ category.name }}</option |
208 |
| - > |
209 |
| - </select> |
210 |
| - </div> |
211 |
| - |
212 |
| - <div class="mt-6"> |
213 |
| - <textarea |
214 |
| - class="w-full px-5 py-2 border-1 border-gray-200 dark:border-secondary-dark rounded-lg text-md dark:font-medium bg-secondary-light dark:bg-ternary-dark text-primary-dark dark:text-ternary-light" |
215 |
| - id="message" |
216 |
| - name="message" |
217 |
| - cols="14" |
218 |
| - rows="6" |
219 |
| - aria-label="Details" |
220 |
| - placeholder="Project description" |
221 |
| - ></textarea> |
222 |
| - </div> |
223 |
| - |
224 |
| - <div class="mt-6"> |
225 |
| - <button |
226 |
| - class="px-6 py-2.5 text-white font-medium tracking-wider bg-indigo-500 hover:bg-indigo-600 rounded-lg focus:ring-1 focus:ring-indigo-900" |
227 |
| - type="submit" |
228 |
| - aria-label="Submit Request" |
229 |
| - > |
230 |
| - Send Request |
231 |
| - </button> |
232 |
| - </div> |
233 |
| - </form> |
234 |
| - </div> |
235 |
| - <div |
236 |
| - class="modal-footer py-3 px-5 border0-t text-right" |
237 |
| - > |
238 |
| - <button |
239 |
| - class="px-6 py-2 bg-indigo-400 hover:bg-indigo-500 rounded-lg font-bold text-primary-light focus:ring-1 focus:ring-indigo-900" |
240 |
| - @click="showModal()" |
241 |
| - aria-label="Close Modal" |
242 |
| - > |
243 |
| - Close |
244 |
| - </button> |
245 |
| - </div> |
246 |
| - </div> |
247 |
| - </div> |
248 |
| - </transition> |
249 |
| - </main> |
250 |
| - </div> |
251 |
| - </transition> |
| 133 | + <HireMeModal |
| 134 | + :showModal="showModal" |
| 135 | + :modal="modal" |
| 136 | + :categories="categories" |
| 137 | + aria-modal="Hire Me Modal" |
| 138 | + /> |
252 | 139 | <!-- Hire me modal end -->
|
253 | 140 | </nav>
|
254 | 141 | </template>
|
255 | 142 |
|
256 | 143 | <script>
|
257 |
| -import ThemeSwitcher from '@/components/ThemeSwitcher'; |
| 144 | +import ThemeSwitcher from './ThemeSwitcher'; |
| 145 | +import HireMeModal from './HireMeModal.vue'; |
258 | 146 | import feather from 'feather-icons';
|
259 | 147 |
|
260 | 148 | export default {
|
261 | 149 | components: {
|
262 | 150 | ThemeSwitcher,
|
| 151 | + HireMeModal, |
263 | 152 | },
|
264 | 153 | data() {
|
265 | 154 | return {
|
@@ -329,43 +218,4 @@ export default {
|
329 | 218 | @apply dark:text-indigo-400;
|
330 | 219 | @apply font-medium;
|
331 | 220 | }
|
332 |
| -
|
333 |
| -.modal-body { |
334 |
| - max-height: 500px; |
335 |
| -} |
336 |
| -.bg-gray-800-opacity { |
337 |
| - background-color: #2d374850; |
338 |
| -} |
339 |
| -@media screen and (max-width: 768px) { |
340 |
| - .modal-body { |
341 |
| - max-height: 400px; |
342 |
| - } |
343 |
| -} |
344 |
| -.fade-up-down-enter-active { |
345 |
| - transition: all 0.3s ease; |
346 |
| -} |
347 |
| -.fade-up-down-leave-active { |
348 |
| - transition: all 0.3s ease; |
349 |
| -} |
350 |
| -.fade-up-down-enter { |
351 |
| - transform: translateY(10%); |
352 |
| - opacity: 0; |
353 |
| -} |
354 |
| -.fade-up-down-leave-to { |
355 |
| - transform: translateY(10%); |
356 |
| - opacity: 0; |
357 |
| -} |
358 |
| -
|
359 |
| -.fade-enter-active { |
360 |
| - -webkit-transition: opacity 2s; |
361 |
| - transition: opacity 0.3s; |
362 |
| -} |
363 |
| -.fade-leave-active { |
364 |
| - transition: opacity 0.3s; |
365 |
| -} |
366 |
| -
|
367 |
| -.fade-enter, |
368 |
| -.fade-leave-to { |
369 |
| - opacity: 0; |
370 |
| -} |
371 | 221 | </style>
|
0 commit comments