Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

navBar.vue 15KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430
  1. <template>
  2. <div>
  3. <!-- <button type="button" id="mobile-nav-toggle">
  4. <i class="fa fa-bars"></i>
  5. </button> -->
  6. <div>
  7. <header id="header" style="width: 100%; position: fixed; top:0px; z-index: 50;">
  8. <div class="container">
  9. <div class="row">
  10. <div id="logo" class="col-md-3 col-xs-4 pull-left">
  11. <a href="/">
  12. <img
  13. class="img-fluid"
  14. src="/img/logos/UVProp.png"
  15. alt="UVProp logo"
  16. style="height:100px;"
  17. /></a>
  18. </div>
  19. <div id="topbar" class="col-md-9">
  20. <div class="container clearFix">
  21. <div class="social-links ">
  22. <a href="mailto:info@univateproperties.co.za">
  23. <i class="fa fa-envelope"></i>
  24. </a>
  25. <a href="https://www.facebook.com/univateproperties/" target="_blank">
  26. <i class="fa fa-facebook"></i>
  27. </a>
  28. <a href="#">
  29. <i class="fa fa-youtube"></i>
  30. </a>
  31. <a href="tel:0123456789">
  32. <i class="fa fa-phone"></i>
  33. <span class="phoneIconDetail">+27 (0) 12 492 1238</span>
  34. </a>
  35. <a href="#" data-toggle="modal" data-target="#bondcal">
  36. <i class="fa fa-calculator" aria-hidden="true"></i>
  37. <span class="bondCalculatorDetail">Bond Calculator</span>
  38. </a>
  39. </div>
  40. </div>
  41. <nav id="nav-menu-container">
  42. <ul class="nav-menu sf-js-enabled sf-arrows">
  43. <li class="menu-has-children" style="margin-left:-20px">
  44. <div
  45. @mouseover="commercialClass = 'ts-display'"
  46. @mouseleave="commercialClass = 'no-display'"
  47. ></div>
  48. <a href="#" class="sf-with-ul">
  49. Commercial
  50. </a>
  51. <ul style="margin-top:-10px; text-align:left" :class="commercialClass">
  52. <li>
  53. <router-link to="/property/commercial">To Buy / To Rent</router-link>
  54. </li>
  55. <hr />
  56. <li>
  57. <a href="#" @click="routerGoTo('/property/commercial/new/Sale')">To Sell</a>
  58. </li>
  59. <li>
  60. <a href="#" @click="routerGoTo('/property/commercial/new/Rental')"
  61. >To Rent</a
  62. >
  63. </li>
  64. </ul>
  65. </li>
  66. <li class="menu-has-children mx-1">
  67. <div
  68. @mouseover="residentialClass = 'ts-display'"
  69. @mouseleave="residentialClass = 'no-display'"
  70. ></div>
  71. <a href="#" class="sf-with-ul">
  72. Residential
  73. </a>
  74. <ul style="margin-top:-10px; text-align:left" :class="residentialClass">
  75. <li>
  76. <router-link to="/property/residential">To Buy / To Rent</router-link>
  77. </li>
  78. <hr />
  79. <li>
  80. <a href="#" @click="routerGoTo('/property/residential/new/Sale')"
  81. >To Sell</a
  82. >
  83. </li>
  84. <li>
  85. <a href="#" @click="routerGoTo('/property/residential/new/Rental')"
  86. >To Rent</a
  87. >
  88. </li>
  89. </ul>
  90. </li>
  91. <li class="menu-has-children mx-1">
  92. <div
  93. @mouseover="timeShareClass = 'ts-display'"
  94. @mouseleave="timeShareClass = 'no-display'"
  95. ></div>
  96. <a href="#" class="sf-with-ul">
  97. Timeshare
  98. </a>
  99. <ul style="margin-top:-10px;text-align:left" :class="timeShareClass">
  100. <li>
  101. <router-link to="/timeshare/buy">To Buy</router-link>
  102. </li>
  103. <li>
  104. <router-link to="/timeshare/sell">To Sell</router-link>
  105. </li>
  106. <li>
  107. <router-link to="/timeshare/faq">FAQ</router-link>
  108. </li>
  109. <li v-if="isLoggedIn">
  110. <hr />
  111. <router-link to="/timeshare/myWeeks">My Timeshare Weeks</router-link>
  112. </li>
  113. </ul>
  114. </li>
  115. <!-- <li class="menu-has-children">
  116. <div
  117. @mouseover="propertiesClass = 'ts-display'"
  118. @mouseleave="propertiesClass = 'no-display'"
  119. ></div>
  120. <a href="#" class="sf-with-ul">
  121. Properties
  122. </a>
  123. <ul style="margin-top:-10px;text-align:left" :class="propertiesClass">
  124. <li>
  125. <router-link to="/property/Search">Search</router-link>
  126. </li>
  127. <li>
  128. <router-link to="/property/new/Sale">To Sell</router-link>
  129. </li>
  130. <li>
  131. <router-link to="/property/new/Rental">To Rent</router-link>
  132. </li>
  133. <li v-if="isLoggedIn">
  134. <hr />
  135. <router-link to="/properties">My Properties</router-link>
  136. </li>
  137. </ul>
  138. </li> -->
  139. <li class="menu-has-children mx-1">
  140. <div
  141. @mouseover="propManClass = 'ts-display'"
  142. @mouseleave="propManClass = 'no-display'"
  143. ></div>
  144. <a href="#" class="sf-with-ul">
  145. Property Management
  146. </a>
  147. <ul style="margin-top:-10px; text-align:left" :class="propManClass">
  148. <li>
  149. <router-link to="/propertyManagement"
  150. >Sectional Title and HOA Management</router-link
  151. >
  152. </li>
  153. <li>
  154. <router-link to="/rentalPropertyManagement"
  155. >Rental Property Portfolio Management</router-link
  156. >
  157. </li>
  158. </ul>
  159. </li>
  160. <li class="menu-has-children mx-1">
  161. <div
  162. @mouseover="aboutClass = 'ts-display'"
  163. @mouseleave="aboutClass = 'no-display'"
  164. ></div>
  165. <a href="#" class="sf-with-ul">
  166. About
  167. </a>
  168. <ul style="margin-top:-10px; text-align:left" :class="aboutClass">
  169. <li>
  170. <router-link to="/about/us">About Us</router-link>
  171. </li>
  172. <li>
  173. <router-link to="/about/timeshare">About Timeshare Resales</router-link>
  174. </li>
  175. </ul>
  176. </li>
  177. <li class="mx-1">
  178. <router-link to="/share/contact">Contact Us</router-link>
  179. </li>
  180. <li v-if="isLoggedIn" class="menu-has-children mx-1">
  181. <div
  182. @mouseover="userClass = 'ts-display'"
  183. @mouseleave="userClass = 'no-display'"
  184. ></div>
  185. <a href="#" class="sf-with-ul">
  186. {{ NAME }}
  187. </a>
  188. <ul style="margin-top:-10px;text-align:left" :class="userClass">
  189. <li>
  190. <router-link to="/property/list">List Property</router-link>
  191. </li>
  192. <li>
  193. <router-link to="/status/list">Status</router-link>
  194. </li>
  195. <li>
  196. <router-link to="/status/timeshareAdmin">Timeshare Week Admin</router-link>
  197. </li>
  198. <li>
  199. <router-link to="/status/tenderWeekAdmin"
  200. >Tender Week Management</router-link
  201. >
  202. </li>
  203. <li>
  204. <router-link to="/unitConfiguration/list">Unit Configuration</router-link>
  205. </li>
  206. <li>
  207. <router-link to="/communication/template">Templates</router-link>
  208. </li>
  209. <hr />
  210. <li>
  211. <router-link to="/status/userManagementPage"
  212. >User Management & Access</router-link
  213. >
  214. </li>
  215. <li>
  216. <router-link to="/status/changeLogPage">Changes Logs</router-link>
  217. </li>
  218. <li>
  219. <router-link to="/userDefinedGroups/list"
  220. >Property User Defined Groups</router-link
  221. >
  222. </li>
  223. <li>
  224. <router-link to="/propertyTypes/list">Property Types</router-link>
  225. </li>
  226. <hr />
  227. <li>
  228. <router-link to="/searchLog">Search Logs</router-link>
  229. </li>
  230. <li>
  231. <router-link to="/Offers">Offers</router-link>
  232. </li>
  233. <li>
  234. <router-link to="/Carousel">Carousel</router-link>
  235. </li>
  236. <li>
  237. <router-link to="/user/updateProfileInfo">Update Info</router-link>
  238. </li>
  239. <li>
  240. <router-link to="/payments">Payments</router-link>
  241. </li>
  242. <li>
  243. <router-link to="/landingPages">Landing Pages / Campaignes</router-link>
  244. </li>
  245. <li>
  246. <router-link class="btn-white-border p-2" to="/user/login"
  247. >Logout</router-link
  248. >
  249. </li>
  250. </ul>
  251. </li>
  252. <li v-if="!isLoggedIn">
  253. <router-link class="btn-white-border p-2 ml-1 mr-1" to="/user/login"
  254. >Login</router-link
  255. >
  256. </li>
  257. <li v-if="!isLoggedIn">
  258. <router-link class=" btn-solid-blue pt-2 pb-2" to="/user/register"
  259. >Register</router-link
  260. >
  261. </li>
  262. <!-- <li v-if="!isLoggedIn" class="menu-has-children">
  263. <div
  264. @mouseover="registerClass = 'ts-display'"
  265. @mouseleave="registerClass = 'no-display'"
  266. ></div>
  267. <a href="#" class="sf-with-ul btn-solid-blue pt-2 pb-1" style="height:39px;">
  268. Register
  269. </a>
  270. <ul style="margin-top:-10px;" :class="registerClass">
  271. <li>
  272. <router-link to="/user/register">Register</router-link>
  273. </li>
  274. <li>
  275. <router-link to="/user/registeragency">Agency Registration</router-link>
  276. </li>
  277. </ul>
  278. </li> -->
  279. </ul>
  280. </nav>
  281. </div>
  282. </div>
  283. </div>
  284. </header>
  285. </div>
  286. <div
  287. class="modal fade"
  288. id="bondcal"
  289. tabindex="-1"
  290. role="dialog"
  291. aria-labelledby="modal-bondcal"
  292. >
  293. <div class="modal-dialog" role="document">
  294. <div class="modal-content pt-4">
  295. <div class="modal-header">
  296. <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  297. <span aria-hidden="true">&times;</span>
  298. </button>
  299. </div>
  300. <div class="modal-body pt-3">
  301. <bondCalculator />
  302. </div>
  303. </div>
  304. <!-- modal-content -->
  305. </div>
  306. <!-- modal-dialog -->
  307. </div>
  308. <!-- modal -->
  309. </div>
  310. </template>
  311. <script>
  312. /* eslint-disable */
  313. import { mapState, mapActions } from "vuex";
  314. import Log from "../../assets/Log";
  315. import bondCalculator from "../misc/bondCaclculator";
  316. export default {
  317. components: {
  318. bondCalculator
  319. },
  320. data() {
  321. return {
  322. hover: false,
  323. timeShareClass: "no-display",
  324. propertiesClass: "no-display",
  325. aboutClass: "no-display",
  326. userClass: "no-display",
  327. registerClass: "no-display",
  328. commercialClass: "no-display",
  329. residentialClass: "no-display",
  330. propManClass: "no-display"
  331. };
  332. },
  333. methods: {
  334. ...mapActions("authentication", ["logout"]),
  335. showDropDown() {
  336. if (!this.hover) {
  337. this.timeShareClass = "ts-display";
  338. }
  339. },
  340. routerGoTo(goTo) {
  341. this.$emit("routerGoTo", goTo);
  342. }
  343. },
  344. computed: {
  345. ...mapState("authentication", ["user", "flag", "status", "person", "token"]),
  346. isLoggedIn() {
  347. console.log(Log.isLoggedIn());
  348. console.log(this.user);
  349. return Log.isLoggedIn();
  350. },
  351. NAME() {
  352. return Log.getPerson().name;
  353. },
  354. // eslint-disable-next-line vue/return-in-computed-property
  355. Logout() {
  356. this.logout().then(res => {
  357. console.log("something");
  358. });
  359. //return this.logout();
  360. }
  361. }
  362. };
  363. </script>
  364. <style lang="scss" scoped>
  365. .no-display {
  366. display: none;
  367. }
  368. .ts-display {
  369. display: block;
  370. }
  371. .phoneIconDetail {
  372. margin-left: 3px;
  373. }
  374. .bondCalculatorDetail {
  375. margin-left: 3px;
  376. }
  377. /* Extra small devices (phones, 600px and down) */
  378. @media only screen and (max-width: 600px) {
  379. .phoneIconDetail {
  380. display: none;
  381. }
  382. .bondCalculatorDetail {
  383. display: none;
  384. }
  385. #header {
  386. min-height: 120px;
  387. }
  388. }
  389. /* Small devices (portrait tablets and large phones, 600px and up) */
  390. @media only screen and (min-width: 600px) {
  391. #header {
  392. min-height: 145px;
  393. }
  394. }
  395. /* Medium devices (landscape tablets, 768px and up) */
  396. @media only screen and (min-width: 768px) {
  397. #header {
  398. height: 170px;
  399. }
  400. }
  401. /* Large devices (laptops/desktops, 992px and up) */
  402. @media only screen and (min-width: 992px) {
  403. #header {
  404. height: 165px;
  405. }
  406. }
  407. /* Extra large devices (large laptops and desktops, 1200px and up) */
  408. @media only screen and (min-width: 1200px) {
  409. #header {
  410. height: 120px;
  411. }
  412. }
  413. </style>