|
1 | 1 | <template>
|
2 | 2 | <div class="container mx-auto sm:flex py-5 sm:py-10 mt-10 sm:mt-20">
|
3 | 3 | <!-- Contact form start -->
|
4 |
| - <div class="w-full sm:w-1/2"> |
5 |
| - <div class="leading-loose"> |
6 |
| - <form |
7 |
| - class="max-w-xl m-4 p-6 sm:p-10 bg-secondary-light dark:bg-secondary-dark rounded-xl shadow-xl text-left" |
8 |
| - > |
9 |
| - <p |
10 |
| - class="text-primary-dark dark:text-primary-light text-2xl font-semibold mb-8" |
11 |
| - > |
12 |
| - Contact Form |
13 |
| - </p> |
14 |
| - <div class=""> |
15 |
| - <label |
16 |
| - class="block text-lg text-primary-dark dark:text-primary-light mb-2" |
17 |
| - for="name" |
18 |
| - >Full Name</label |
19 |
| - > |
20 |
| - <input |
21 |
| - class="w-full px-5 py-2 border-0 text-primary-dark dark:text-secondary-light bg-ternary-light dark:bg-ternary-dark rounded-md shadow-sm text-md dark:font-medium" |
22 |
| - id="name" |
23 |
| - name="name" |
24 |
| - type="text" |
25 |
| - required="" |
26 |
| - placeholder="Your Name" |
27 |
| - aria-label="Name" |
28 |
| - /> |
29 |
| - </div> |
30 |
| - <div class="mt-6"> |
31 |
| - <label |
32 |
| - class="block text-lg text-primary-dark dark:text-primary-light mb-2" |
33 |
| - for="email" |
34 |
| - >Email</label |
35 |
| - > |
36 |
| - <input |
37 |
| - class="w-full px-5 py-2 border-0 text-primary-dark dark:text-secondary-light bg-ternary-light dark:bg-ternary-dark rounded-md shadow-sm text-md dark:font-medium" |
38 |
| - id="email" |
39 |
| - name="email" |
40 |
| - type="text" |
41 |
| - required="" |
42 |
| - placeholder="Your Email" |
43 |
| - aria-label="Email" |
44 |
| - /> |
45 |
| - </div> |
46 |
| - <div class="mt-6"> |
47 |
| - <label |
48 |
| - class="block text-lg text-primary-dark dark:text-primary-light mb-2" |
49 |
| - for="subject" |
50 |
| - >Subject</label |
51 |
| - > |
52 |
| - <input |
53 |
| - class="w-full px-5 py-2 border-0 text-primary-dark dark:text-secondary-light bg-ternary-light dark:bg-ternary-dark rounded-md shadow-sm text-md dark:font-medium" |
54 |
| - id="subject" |
55 |
| - name="subject" |
56 |
| - type="text" |
57 |
| - required="" |
58 |
| - placeholder="Subject" |
59 |
| - aria-label="Subject" |
60 |
| - /> |
61 |
| - </div> |
62 |
| - |
63 |
| - <div class="mt-6"> |
64 |
| - <label |
65 |
| - class="block text-lg text-primary-dark dark:text-primary-light mb-2" |
66 |
| - for="message" |
67 |
| - >Message</label |
68 |
| - > |
69 |
| - <textarea |
70 |
| - class="w-full px-5 py-2 border-0 text-primary-dark dark:text-secondary-light bg-ternary-light dark:bg-ternary-dark rounded-md shadow-sm text-md dark:font-medium" |
71 |
| - id="message" |
72 |
| - name="message" |
73 |
| - cols="14" |
74 |
| - rows="6" |
75 |
| - aria-label="Message" |
76 |
| - ></textarea> |
77 |
| - </div> |
78 |
| - |
79 |
| - <div class="mt-6"> |
80 |
| - <button |
81 |
| - class="px-4 py-2.5 text-white font-medium tracking-wider bg-indigo-500 hover:bg-indigo-600 focus:ring-1 focus:ring-indigo-900 rounded-lg" |
82 |
| - type="submit" |
83 |
| - aria-label="Send Message" |
84 |
| - > |
85 |
| - Send Message |
86 |
| - </button> |
87 |
| - </div> |
88 |
| - </form> |
89 |
| - </div> |
90 |
| - </div> |
| 4 | + <ContactForm /> |
91 | 5 | <!-- Contact form end -->
|
92 | 6 |
|
93 | 7 | <!-- Contact details start -->
|
94 |
| - <div class="w-full sm:w-1/2"> |
95 |
| - <div class="text-left max-w-xl px-6"> |
96 |
| - <h2 |
97 |
| - class="text-2xl text-primary-dark dark:text-primary-light font-semibold mt-12 mb-8" |
98 |
| - > |
99 |
| - Contact details |
100 |
| - </h2> |
101 |
| - <ul class=""> |
102 |
| - <li |
103 |
| - class="flex" |
104 |
| - v-for="contact in contacts" |
105 |
| - :key="contact.id" |
106 |
| - > |
107 |
| - <i |
108 |
| - :data-feather="contact.icon" |
109 |
| - class="w-5 text-gray-500 dark:text-gray-400 mr-4" |
110 |
| - ></i> |
111 |
| - <a |
112 |
| - href="#" |
113 |
| - class="text-lg mb-4 text-ternary-dark dark:text-ternary-light" |
114 |
| - :class=" |
115 |
| - contact.icon === 'mail' || |
116 |
| - contact.icon === 'phone' |
117 |
| - ? 'hover:underline cursor-pointer' |
118 |
| - : '' |
119 |
| - " |
120 |
| - aria-label="Website and Phone" |
121 |
| - > |
122 |
| - {{ contact.name }} |
123 |
| - </a> |
124 |
| - </li> |
125 |
| - </ul> |
126 |
| - </div> |
127 |
| - </div> |
| 8 | + <ContactDetails :contacts="contacts" /> |
128 | 9 | <!-- Contact details end -->
|
129 | 10 | </div>
|
130 | 11 | </template>
|
131 | 12 |
|
132 | 13 | <script>
|
133 | 14 | import feather from 'feather-icons';
|
| 15 | +import ContactForm from '@/components/ContactForm.vue'; |
| 16 | +import ContactDetails from '@/components/ContactDetails.vue'; |
134 | 17 |
|
135 | 18 | export default {
|
| 19 | + components: { |
| 20 | + ContactForm, |
| 21 | + ContactDetails, |
| 22 | + }, |
136 | 23 | data: () => {
|
137 | 24 | return {
|
138 | 25 | contacts: [
|
|
0 commit comments