footer.vue 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420
  1. <template>
  2. <footer>
  3. <div class="footer--wrap" v-if="!isIndexPage">
  4. <div class="footer--btn--wrap" :class="{ active: isScrolled80 }">
  5. <div
  6. class="quick--wrap"
  7. :class="{ active: isQuickMenuActive, lincoln: isLincolnPage }"
  8. >
  9. <ul class="inner--wrap">
  10. <li v-if="!isLincolnPage">
  11. <NuxtLink :to="linkName + '/vehicle/explorer'">explorer</NuxtLink>
  12. </li>
  13. <li v-if="!isLincolnPage">
  14. <NuxtLink :to="linkName + '/vehicle/expedition'">expedition</NuxtLink>
  15. </li>
  16. <li v-if="!isLincolnPage">
  17. <NuxtLink :to="linkName + '/vehicle/bronco'">bronco</NuxtLink>
  18. </li>
  19. <li v-if="!isLincolnPage">
  20. <NuxtLink :to="linkName + '/vehicle/mustang'">mustang</NuxtLink>
  21. </li>
  22. <li v-if="!isLincolnPage">
  23. <NuxtLink :to="linkName + '/vehicle/ranger'">RANGER</NuxtLink>
  24. </li>
  25. <li v-if="isLincolnPage">
  26. <NuxtLink to="/lincoln/vehicle/nautilus">NAUTILUS</NuxtLink>
  27. </li>
  28. <li v-if="isLincolnPage">
  29. <NuxtLink to="/lincoln/vehicle/navigator">NAVIGATOR</NuxtLink>
  30. </li>
  31. <li v-if="isLincolnPage">
  32. <NuxtLink to="/lincoln/vehicle/aviator">AVIATOR</NuxtLink>
  33. </li>
  34. <li><NuxtLink :to="linkName + '/network'">전시장</NuxtLink></li>
  35. <li><NuxtLink :to="linkName + '/network'">서비스 센터</NuxtLink></li>
  36. </ul>
  37. </div>
  38. <button
  39. class="quick--menu"
  40. :class="{ lincoln: isLincolnPage, active: isQuickMenuActive }"
  41. @click.stop="toggleQuickMenu"
  42. >
  43. <i class="ico"></i>
  44. QUICK
  45. </button>
  46. <button class="scroll--to--top" @click="scrollToTop" aria-label="맨 위로">
  47. <i class="ico"></i>
  48. TOP
  49. </button>
  50. </div>
  51. <div class="footer--site--map">
  52. <ul :class="{ lincoln: isLincolnPage }">
  53. <li v-if="isLincolnPage == false">
  54. <h2 @click="toggleMenu(0)">VEHICLE</h2>
  55. <ul :class="{ active: activeMenu === 0 }">
  56. <li><NuxtLink to="/ford/vehicle/explorer">explorer</NuxtLink></li>
  57. <li><NuxtLink to="/ford/vehicle/expedition">expedition</NuxtLink></li>
  58. <li><NuxtLink to="/ford/vehicle/bronco">bronco</NuxtLink></li>
  59. <li><NuxtLink to="/ford/vehicle/mustang">mustang</NuxtLink></li>
  60. <li><NuxtLink to="/ford/vehicle/ranger">RANGER</NuxtLink></li>
  61. </ul>
  62. </li>
  63. <li v-else>
  64. <h2 @click="toggleMenu(0)">VEHICLE</h2>
  65. <ul :class="{ active: activeMenu === 0 }">
  66. <li><NuxtLink to='/lincoln/vehicle/nautilus'>NAUTILUS</NuxtLink></li>
  67. <li><NuxtLink to="/lincoln/vehicle/navigator">NAVIGATOR</NuxtLink></li>
  68. <li><NuxtLink to="/lincoln/vehicle/aviator">AVIATOR</NuxtLink></li>
  69. </ul>
  70. </li>
  71. <li>
  72. <h2 @click="toggleMenu(1)">NETWORK</h2>
  73. <ul :class="{ active: activeMenu === 1 }">
  74. <li>
  75. <NuxtLink :to="linkName + '/network'">전시장 및 서비스센터</NuxtLink>
  76. </li>
  77. <!-- <li>
  78. <NuxtLink :to="linkName + '/network'"
  79. >서비스 센터 찾기</NuxtLink
  80. >
  81. </li> -->
  82. <li>
  83. <NuxtLink :to="linkName + '/owner/contact'"
  84. >{{ isLincolnPage == true ? "링컨" : "포드" }} 고객 센터</NuxtLink
  85. >
  86. </li>
  87. </ul>
  88. </li>
  89. <li>
  90. <h2 @click="toggleMenu(2)">SHOPPING</h2>
  91. <ul :class="{ active: activeMenu === 2 }">
  92. <li>
  93. <NuxtLink :to="linkName + '/shopping/brochure'"
  94. >브로슈어 다운로드</NuxtLink
  95. >
  96. </li>
  97. <li>
  98. <NuxtLink :to="linkName + '/shopping/tire'"
  99. >타이어 에너지 소비 효율</NuxtLink
  100. >
  101. </li>
  102. <!-- <li><NuxtLink :to="linkName + '/shopping/apply'">신청하기</NuxtLink></li> -->
  103. </ul>
  104. </li>
  105. <li>
  106. <h2 @click="toggleMenu(3)">OWNER</h2>
  107. <ul :class="{ active: activeMenu === 3 }">
  108. <h3>서비스</h3>
  109. <li class="inner--style">
  110. <NuxtLink :to="linkName + '/owner'">공인 서비스</NuxtLink>
  111. </li>
  112. <li class="inner--style" v-if="isLincolnPage == true">
  113. <NuxtLink :to="linkName + '/owner/pickup'"
  114. >픽업 & 딜리버리 서비스</NuxtLink
  115. >
  116. </li>
  117. <li class="inner--style">
  118. <NuxtLink :to="linkName + '/owner/consumableParts'"
  119. >소모성 부품 무상 교환 서비스</NuxtLink
  120. >
  121. </li>
  122. <li class="inner--style">
  123. <NuxtLink :to="linkName + '/owner/tfService'"
  124. >24시간 긴급 출동 서비스</NuxtLink
  125. >
  126. </li>
  127. <li class="inner--style">
  128. <NuxtLink :to="linkName + '/owner/genuine'">순정 부품</NuxtLink>
  129. </li>
  130. <li class="inner--style">
  131. <NuxtLink :to="linkName + '/owner/recall'">리콜 안내</NuxtLink>
  132. </li>
  133. <li class="inner--style">
  134. <NuxtLink :to="linkName + '/owner/navigation'">내비게이션</NuxtLink>
  135. </li>
  136. <!-- <li class="inner--style" v-if="isLincolnPage == true">
  137. <NuxtLink :to="linkName + '/owner/warranty'">보증 및 서비스</NuxtLink>
  138. </li> -->
  139. <!-- <li class="inner--style" v-if="isLincolnPage == false">
  140. <NuxtLink :to="linkName + '/owner/accident'"
  141. >사고 수리를 위한 포드 서비스 부품</NuxtLink
  142. >
  143. </li> -->
  144. </ul>
  145. <ul :class="{ active: activeMenu === 3 }">
  146. <h3 class="mb--40">
  147. <NuxtLink :to="linkName + '/owner/event'"
  148. >프로모션</NuxtLink>
  149. </h3>
  150. </ul>
  151. <!-- <ul :class="{ active: activeMenu === 3 }" v-if="isLincolnPage == false">
  152. <h3>보증 및 서비스</h3>
  153. <li class="inner--style"><NuxtLink to="/">온라인 서비스 예약</NuxtLink></li>
  154. <li class="inner--style">
  155. <NuxtLink :to="linkName + '/owner/warranty'">보증 및 서비스</NuxtLink>
  156. </li>
  157. </ul> -->
  158. <!-- <ul :class="{ active: activeMenu === 3 }" v-if="isLincolnPage == true">
  159. <h3>부품 및 차량 관리</h3>
  160. <li class="inner--style">
  161. <NuxtLink :to="linkName + '/owner/genuine'">순정 부품</NuxtLink>
  162. </li>
  163. <li class="inner--style">
  164. <NuxtLink :to="linkName + '/owner/navigation'">내비게이션</NuxtLink>
  165. </li>
  166. </ul> -->
  167. <!-- <ul :class="{ active: activeMenu === 3 }">
  168. <h3>Contact Us</h3>
  169. <li class="inner--style">
  170. <NuxtLink :to="linkName + '/owner/contact'">포드 고객 센터</NuxtLink>
  171. </li>
  172. </ul> -->
  173. </li>
  174. <li v-if="isLincolnPage == false">
  175. <h2 @click="toggleMenu(4)">ABOUT FORD</h2>
  176. <!-- <ul :class="{ active: activeMenu === 4 }">
  177. <h3>About Ford</h3>
  178. </ul> -->
  179. <ul :class="{ active: activeMenu === 4 }">
  180. <h3>Global Sites</h3>
  181. <li class="inner--style">
  182. <NuxtLink :to="linkName + '/about/company'">Company</NuxtLink>
  183. </li>
  184. <li class="inner--style">
  185. <NuxtLink :to="linkName + '/about/ourPurpose'">Our Purpose</NuxtLink>
  186. </li>
  187. <li class="inner--style">
  188. <NuxtLink
  189. to="https://corporate.ford.com/careers/inclusive-hiring/diversity/?intcmp=corporate-seconNav-diversity"
  190. target="_blank"
  191. >Corporate</NuxtLink
  192. >
  193. </li>
  194. <li class="inner--style">
  195. <NuxtLink to="https://corporate.ford.com/about/history/" target="_blank"
  196. >Heritage</NuxtLink
  197. >
  198. </li>
  199. <li class="inner--style">
  200. <NuxtLink
  201. to="https://corporate.ford.com//social-impact/sustainability/"
  202. target="_blank"
  203. >Sustanability</NuxtLink
  204. >
  205. </li>
  206. </ul>
  207. </li>
  208. <li v-if="isLincolnPage">
  209. <h2 @click="toggleMenu(4)">ABOUT LINCOLN</h2>
  210. <!-- <ul :class="{ active: activeMenu === 4 }">
  211. <h3>About Ford</h3>
  212. </ul> -->
  213. <ul :class="{ active: activeMenu === 4 }">
  214. <NuxtLink to="https://www.lincoln.com" target="_blank"
  215. ><h3 class="">Global Sites</h3></NuxtLink
  216. >
  217. </ul>
  218. </li>
  219. <li>
  220. <h2
  221. v-if="linkName == '/ford'"
  222. @click="navigateTo('/lincoln')"
  223. style="cursor: pointer"
  224. >
  225. LINCOLN
  226. </h2>
  227. <h2 v-else @click="navigateTo('/ford')" style="cursor: pointer">FORD</h2>
  228. </li>
  229. </ul>
  230. </div>
  231. </div>
  232. <div class="footer--info--wrapper">
  233. <div class="footer--info--wrap">
  234. <div class="copy--wrap">
  235. <!-- <ul class="link--list">
  236. <li><NuxtLink to="/">사이트 맵</NuxtLink></li>
  237. <li><NuxtLink to="/">개인정보처리방침</NuxtLink></li>
  238. <li><NuxtLink to="/" target="_blank">글로벌 사이트</NuxtLink></li>
  239. </ul> -->
  240. <div>
  241. 회사명 : 에프엘오토코리아 유한회사&nbsp;&nbsp;&nbsp;사업소재지 : 서울특별시 성동구 자동차시장1길 104-13&nbsp;&nbsp;&nbsp;대표이사 : 이윤동<br/>
  242. 이메일 : customercenter@flak.co.kr&nbsp;&nbsp;&nbsp;대표전화번호 : 1600-6003<br/>
  243. 통신판매업신고번호 : 2026-서울성동-0319<br />
  244. 등록번호 : 211-86-57145
  245. </div>
  246. <br/>
  247. <p>Copyright © 2025 FL Auto Korea Company. All Rights Reserved.</p>
  248. <div class="sns--wrap">
  249. <NuxtLink
  250. v-if="isLincolnPage == false"
  251. to="https://www.facebook.com/fordkorea"
  252. target="_blank"
  253. >
  254. <svg
  255. xmlns="http://www.w3.org/2000/svg"
  256. width="8"
  257. height="15"
  258. viewBox="0 0 8 15"
  259. fill="none"
  260. >
  261. <path
  262. d="M5.33333 5V3.51172C5.33333 2.83984 5.49167 2.5 6.60417 2.5H8V0H5.67083C2.81667 0 1.875 1.22656 1.875 3.33203V5H0V7.5H1.875V15H5.33333V7.5H7.68333L8 5H5.33333Z"
  263. fill="black"
  264. />
  265. </svg>
  266. </NuxtLink>
  267. <NuxtLink v-else to="https://www.facebook.com/lincolnkorea" target="_blank">
  268. <svg
  269. xmlns="http://www.w3.org/2000/svg"
  270. width="8"
  271. height="15"
  272. viewBox="0 0 8 15"
  273. fill="none"
  274. >
  275. <path
  276. d="M5.33333 5V3.51172C5.33333 2.83984 5.49167 2.5 6.60417 2.5H8V0H5.67083C2.81667 0 1.875 1.22656 1.875 3.33203V5H0V7.5H1.875V15H5.33333V7.5H7.68333L8 5H5.33333Z"
  277. fill="black"
  278. />
  279. </svg>
  280. </NuxtLink>
  281. <NuxtLink
  282. v-if="isLincolnPage == false"
  283. to="https://www.instagram.com/fordkorea"
  284. target="_blank"
  285. >
  286. <img src="/img/ico--insta.png" />
  287. </NuxtLink>
  288. <NuxtLink
  289. v-else
  290. to="https://www.instagram.com/lincolnmotorcompanykr"
  291. target="_blank"
  292. >
  293. <img src="/img/ico--insta.png" />
  294. </NuxtLink>
  295. <NuxtLink
  296. v-if="isLincolnPage == false"
  297. to="https://www.youtube.com/@fordkorea1/featured"
  298. target="_blank"
  299. >
  300. <!-- <img src="/img/ico--youtube.png" /> -->
  301. </NuxtLink>
  302. <NuxtLink v-else to="https://www.youtube.com/@LincolnKorea" target="_blank">
  303. <!-- <img src="/img/ico--youtube.png" /> -->
  304. </NuxtLink>
  305. <NuxtLink
  306. v-if="isLincolnPage == false"
  307. to="https://pf.kakao.com/_PGPWz"
  308. target="_blank"
  309. >
  310. <svg
  311. xmlns="http://www.w3.org/2000/svg"
  312. width="24"
  313. height="24"
  314. viewBox="0 0 24 24"
  315. fill="none"
  316. >
  317. <path
  318. d="M12.0043 2C6.48085 2 2 5.91412 2 10.7454C2 15.5767 3.58298 16.0152 5.74468 17.568H5.75319V21.7597C5.75319 21.9568 5.99149 22.0694 6.15745 21.9528L9.94894 19.2897L10.0298 19.3219C10.6638 19.4345 11.3234 19.4908 11.9957 19.4908C17.5191 19.4908 22 15.5727 22 10.7414C22 5.9101 17.5277 2 12.0043 2ZM8.48511 13.0102C9.51489 13.0102 10.3957 12.4269 10.6596 11.5299H12.183C11.8128 13.2637 10.383 14.3981 8.48511 14.3981C6.58723 14.3981 4.52766 12.8413 4.52766 10.677C4.52766 8.51281 6.2766 6.95601 8.48511 6.95601C10.6936 6.95601 11.8383 8.11455 12.1957 9.87651H10.6766C10.4468 8.9191 9.53617 8.31971 8.48511 8.31971C7 8.31971 6.01277 9.32137 6.01277 10.677C6.01277 12.0327 7.13617 13.0142 8.48511 13.0142V13.0102ZM18.5191 14.2532H17.1234V11.2764C17.1234 10.5926 16.7021 10.2225 16.0511 10.2225C15.4 10.2225 14.8596 10.6408 14.8596 11.4896V14.2492H13.4638V6.9721H14.8596V9.71158C15.1957 9.23287 15.7362 8.99553 16.4723 8.99553C17.2085 8.99553 17.5532 9.18058 17.9319 9.55872C18.3234 9.93685 18.5149 10.4477 18.5149 11.1115V14.2532H18.5191Z"
  319. fill="#161616"
  320. />
  321. </svg>
  322. </NuxtLink>
  323. <NuxtLink v-else to="https://pf.kakao.com/_xoybzG" target="_blank">
  324. <svg
  325. xmlns="http://www.w3.org/2000/svg"
  326. width="24"
  327. height="24"
  328. viewBox="0 0 24 24"
  329. fill="none"
  330. >
  331. <path
  332. d="M12.0043 2C6.48085 2 2 5.91412 2 10.7454C2 15.5767 3.58298 16.0152 5.74468 17.568H5.75319V21.7597C5.75319 21.9568 5.99149 22.0694 6.15745 21.9528L9.94894 19.2897L10.0298 19.3219C10.6638 19.4345 11.3234 19.4908 11.9957 19.4908C17.5191 19.4908 22 15.5727 22 10.7414C22 5.9101 17.5277 2 12.0043 2ZM8.48511 13.0102C9.51489 13.0102 10.3957 12.4269 10.6596 11.5299H12.183C11.8128 13.2637 10.383 14.3981 8.48511 14.3981C6.58723 14.3981 4.52766 12.8413 4.52766 10.677C4.52766 8.51281 6.2766 6.95601 8.48511 6.95601C10.6936 6.95601 11.8383 8.11455 12.1957 9.87651H10.6766C10.4468 8.9191 9.53617 8.31971 8.48511 8.31971C7 8.31971 6.01277 9.32137 6.01277 10.677C6.01277 12.0327 7.13617 13.0142 8.48511 13.0142V13.0102ZM18.5191 14.2532H17.1234V11.2764C17.1234 10.5926 16.7021 10.2225 16.0511 10.2225C15.4 10.2225 14.8596 10.6408 14.8596 11.4896V14.2492H13.4638V6.9721H14.8596V9.71158C15.1957 9.23287 15.7362 8.99553 16.4723 8.99553C17.2085 8.99553 17.5532 9.18058 17.9319 9.55872C18.3234 9.93685 18.5149 10.4477 18.5149 11.1115V14.2532H18.5191Z"
  333. fill="#161616"
  334. />
  335. </svg>
  336. </NuxtLink>
  337. </div>
  338. </div>
  339. </div>
  340. </div>
  341. </footer>
  342. </template>
  343. <script setup>
  344. import { ref, onMounted, onUnmounted, computed } from "vue";
  345. import { useRoute } from "vue-router";
  346. const config = useRuntimeConfig();
  347. const route = useRoute();
  348. const activeMenu = ref(null);
  349. const isScrolled80 = ref(false);
  350. const isQuickMenuActive = ref(false);
  351. // URL에 'lincoln'이 포함되어 있는지 확인
  352. const isLincolnPage = computed(() => {
  353. return route.path.includes("lincoln");
  354. });
  355. // 인덱스 페이지인지 확인
  356. const isIndexPage = computed(() => {
  357. return route.path === "/";
  358. });
  359. // 브랜드명을 동적으로 반환
  360. const linkName = computed(() => {
  361. return route.path.includes("lincoln") ? "/lincoln" : "/ford";
  362. });
  363. const toggleMenu = (index) => {
  364. if (activeMenu.value === index) {
  365. activeMenu.value = null;
  366. } else {
  367. activeMenu.value = index;
  368. }
  369. };
  370. const toggleQuickMenu = () => {
  371. isQuickMenuActive.value = !isQuickMenuActive.value;
  372. };
  373. const closeQuickMenu = () => {
  374. isQuickMenuActive.value = false;
  375. };
  376. const scrollToTop = () => {
  377. window.scrollTo({
  378. top: 0,
  379. behavior: "smooth",
  380. });
  381. };
  382. const handleScroll = () => {
  383. const scrollTop = window.scrollY || document.documentElement.scrollTop;
  384. const scrollHeight =
  385. document.documentElement.scrollHeight - document.documentElement.clientHeight;
  386. const scrollPercent = (scrollTop / scrollHeight) * 100;
  387. isScrolled80.value = scrollPercent !== 0;
  388. };
  389. onMounted(() => {
  390. window.addEventListener("scroll", handleScroll);
  391. document.addEventListener("click", closeQuickMenu);
  392. });
  393. onUnmounted(() => {
  394. window.removeEventListener("scroll", handleScroll);
  395. document.removeEventListener("click", closeQuickMenu);
  396. });
  397. </script>