_id.vue 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366
  1. <template>
  2. <main>
  3. <!-- Breadcrumbs -->
  4. <div class="a-spacing-top-medium"></div>
  5. <div class="container-fluid">
  6. <div class="wayfinding-breadcrumbs-container">
  7. <ul class="a-unordered-list a-horizontal a-size-small">
  8. <li>
  9. <span class="a-list-item">
  10. <a class="a-link-normal a-color-tertiary" href="#">{{ product.category.title }}</a>
  11. </span>
  12. </li>
  13. <li>
  14. <span class="a-list-item">></span>
  15. </li>
  16. <li>
  17. <span class="a-list-item">
  18. <a class="a-link-normal a-color-tertiary" href="#">{{ product.title }}</a>
  19. </span>
  20. </li>
  21. </ul>
  22. </div>
  23. </div>
  24. <div class="container-fluid">
  25. <div class="dp-container">
  26. <div class="row">
  27. <!-- First 3 grid - Product Image and Author's section -->
  28. <div class="col-lg-3 col-md-3 col-sm-4">
  29. <div class="leftCol">
  30. <!-- Image -->
  31. <div clas="imgBlock">
  32. <div class="eBooksimg">
  33. <img :src="product.photo" class="img-fluid" />
  34. </div>
  35. </div>
  36. <!-- Follow Author -->
  37. <div class="authorFollow">
  38. <hr class="a-divider-normal" />
  39. <h1 class="authorFollowHeading">Follow The Author</h1>
  40. <div class="a-spacing-top-small">
  41. <div class="row">
  42. <!-- Author's image -->
  43. <div class="col-xl-3 col-lg-3 col-md-3 col-sm-3 col-3">
  44. <div class="smallAuthorImageContainer">
  45. <a href="#">
  46. <img :src="product.owner.photo" class="img-fluid" />
  47. </a>
  48. </div>
  49. </div>
  50. <!-- Author's Name -->
  51. <div class="col-xl-4 col-lg-3 col-md-3 col-sm-3 col-3">
  52. <div class="authorNameCol">
  53. <a href="#">{{ product.owner.name }}</a>
  54. </div>
  55. </div>
  56. <!-- Author's Follow Button -->
  57. <div class="col-xl-5 col-lg-6 col-md-6 col-sm-6 col-6">
  58. <div class="authorBtn mt-2">
  59. <a href="#">
  60. <span class="btnFollow">
  61. <span class="a-btn-inner">
  62. <button class="a-btn-text">+ Follow</button>
  63. </span>
  64. </span>
  65. </a>
  66. </div>
  67. </div>
  68. </div>
  69. </div>
  70. </div>
  71. </div>
  72. </div>
  73. <!-- Middle 6 grid Description -->
  74. <div class="col-lg-6 col-md-6 col-sm-8">
  75. <div class="centerCol">
  76. <!-- Product Title -->
  77. <div class="titleDiv">
  78. <h1 class="productTitle">
  79. <span class="largeTitle">{{ product.title }}</span>
  80. <span class="smallTitle">Paperback</span>
  81. </h1>
  82. </div>
  83. <!-- Author's name -->
  84. <div class="bylineinfo">
  85. by
  86. <a href="#" class="authorName">
  87. {{ product.owner.name }}
  88. <i
  89. class="fas fa-chevron-down"
  90. style="font-size: 8px !important; color: #555 !important;"
  91. ></i>
  92. </a> (Author)
  93. </div>
  94. <div class="reviewGroup"></div>
  95. <hr style="margin-top: 10px;" />
  96. <!-- A tags Dummy Data -->
  97. <div class="mediaMatrix">
  98. <div class="formats">
  99. <a href="#" class="link-expander">
  100. >
  101. <span class="tmmShowPrompt">See all 18 formats and editions</span>
  102. </a>
  103. <ul>
  104. <!-- Kindle -->
  105. <li class="swatchElement" style="width: 117px;">
  106. <span class="a-list-item">
  107. <span class="a-button-toggle">
  108. <span class="a-button-inner">
  109. <a href="#" class="a-button-text">
  110. <span>Kindle</span>
  111. <br />
  112. <span class="a-color-secondary">-</span>
  113. </a>
  114. </span>
  115. </span>
  116. <span class="tmm-olp-links"></span>
  117. <span class="tmm-olp-links">
  118. <a href="#" class="a-size-mini">
  119. <span class="kcpAppBox">
  120. <span class="a-declarative">
  121. Read with Our
  122. <span class="a-text-bold">Free App</span>
  123. </span>
  124. </span>
  125. </a>
  126. </span>
  127. </span>
  128. </li>
  129. <!-- Audible -->
  130. <li class="swatchElement" style="width: 117px;">
  131. <span class="a-list-item">
  132. <span class="a-button-toggle">
  133. <span class="a-button-inner">
  134. <a href="#" class="a-button-text">
  135. <span>
  136. <img
  137. src="/img/audibleLogo.png"
  138. class="img-fluid"
  139. style="width: 20px;"
  140. />Audible
  141. </span>
  142. <br />
  143. <span class="a-color-secondary">-</span>
  144. </a>
  145. </span>
  146. </span>
  147. <span class="tmm-olp-links"></span>
  148. <span class="tmm-olp-links">
  149. <a href="#" class="a-size-mini">
  150. <span class="kcpAppBox">
  151. <span class="a-declarative">
  152. <span class="a-text-bold">Free App</span> with your Audible Trial
  153. </span>
  154. </span>
  155. </a>
  156. </span>
  157. </span>
  158. </li>
  159. <!-- Paperback -->
  160. <li class="swatchElement" style="width: 117px;">
  161. <span class="a-list-item">
  162. <span class="a-button-toggle">
  163. <span class="a-button-inner">
  164. <a href="#" class="a-button-text">
  165. <span>Paperback</span>
  166. <br />
  167. <span class="a-color-secondary">-</span>
  168. </a>
  169. </span>
  170. </span>
  171. </span>
  172. </li>
  173. </ul>
  174. </div>
  175. </div>
  176. <!-- Description -->
  177. <div class="bookDescription">
  178. <div class="bookDescriptionInner">{{ product.description }}</div>
  179. </div>
  180. <!-- Product specification -->
  181. <div class="aboutEbooksFeature">
  182. <hr />
  183. <div class="row">
  184. <div class="col-sm-4 mb-1">
  185. <div class="a-declarative">
  186. Length:
  187. <span>
  188. <a href="#">
  189. 386 pages
  190. <i class="a-icon a-icon-popover"></i>
  191. </a>
  192. </span>
  193. </div>
  194. </div>
  195. </div>
  196. </div>
  197. </div>
  198. </div>
  199. <!-- Last 3 grid Buying section -->
  200. <div class="col-lg-3 col-md-3 col-sm-6">
  201. <div class="combinedBuyBox">
  202. <div class="buyBox">
  203. <div class="a-section">
  204. <div class="clearfix">
  205. <div class="float-left">
  206. <form>
  207. <input type="radio" id="test1" name="radio-group checked" />
  208. <label for="test1">Buy Now</label>
  209. </form>
  210. </div>
  211. <!-- Product Price -->
  212. <div class="float-right">
  213. <span class="a-size-medium a-color-price offer-price a-text-normal">{{ product.price }}</span>
  214. </div>
  215. </div>
  216. </div>
  217. <div class="a-section a-spacing-none">
  218. <div class="row">
  219. <div class="col-sm-5 col-5">
  220. <select>
  221. <option value="1">Qty: &nbsp; 1</option>
  222. <option value="2">Qty: &nbsp; 2</option>
  223. <option value="3">Qty: &nbsp; 3</option>
  224. <option value="4">Qty: &nbsp; 4</option>
  225. <option value="5">Qty: &nbsp; 5</option>
  226. </select>
  227. </div>
  228. </div>
  229. </div>
  230. <div class="a-section a-spacing-small a-spacing-top-micro">
  231. <div class="row">
  232. <span class="a-color-base buyboxShippingLabel"></span>
  233. </div>
  234. </div>
  235. <div class="a-section a-spacing-small">
  236. <div class="a-section a-spacing-none">
  237. <span class="a-size-medium a-color-success">In Stock</span>
  238. </div>
  239. <div class="a-section a-spacing-mini">Shipts from and sold by Amazon.com</div>
  240. </div>
  241. <div class="a-section">
  242. <div class="a-button-stack">
  243. <span class="a-spacing-small a-button-primary a-button-icon">
  244. <span class="a-button-inner">
  245. <i class="a-icon a-icon-cart"></i>
  246. <input type="submit" name="submit.add-to-cart" class="a-button-input" />
  247. <span class="a-button-text">Add to Cart</span>
  248. </span>
  249. </span>
  250. </div>
  251. <div class="a-button-stack">
  252. <span class="a-spacing-small a-button-primary a-button-icon">
  253. <span class="a-button-inner">
  254. <i class="a-icon a-icon-buynow"></i>
  255. <input type="submit" name="submit.add-to-cart" class="a-button-input" />
  256. <span class="a-button-text">Buy Now</span>
  257. </span>
  258. </span>
  259. </div>
  260. </div>
  261. <div class="a-row">
  262. <div class="a-spacing-top-small">
  263. <div class="a-section a-spacing-none">
  264. <div class="a-section a-spacing-none a-spacing-top-mini">
  265. This item shipts to
  266. <b>California</b>
  267. <b>Get it by Monday, Sept 23 - Monday, Sept. 30</b>
  268. Choose this date at checkout
  269. </div>
  270. </div>
  271. </div>
  272. </div>
  273. <hr />
  274. <span class="a-declarative">
  275. <a href="#" class="a-link-normal">
  276. <div class="a-row a-spacing-mini">
  277. <i class="fal fa-map-market-alt"></i>
  278. <span class="a-size-small">Deliver to California</span>
  279. </div>
  280. </a>
  281. </span>
  282. <br />
  283. <hr />
  284. <div class="a-section">
  285. <div class="clearfix">
  286. <div class="float-left">
  287. <form>
  288. <input type="radio" id="test2" name="radio-group" />
  289. <label for="test1">Buy Now</label>
  290. </form>
  291. </div>
  292. <div class="float-right">
  293. <span class="a-color-base offer-price a-text-normal">$39</span>
  294. </div>
  295. </div>
  296. </div>
  297. </div>
  298. </div>
  299. <div class="kcpAppBaseBox text-center">
  300. <img src="/img/readyondevice.png" class="img-fluid" />
  301. </div>
  302. </div>
  303. </div>
  304. <br />
  305. <hr />
  306. <div class="books-entity-teaser">
  307. <div class="bucket">
  308. <h2>More about the author</h2>
  309. <div class="content">
  310. <div class="row">
  311. <!-- Author's photo and Button -->
  312. <div class="col-md-2 col-sm-4 col-4">
  313. <div class="authorContent">
  314. <div class="authorImageSingle">
  315. <a href="#">
  316. <img :src="product.owner.photo" class="img-fluid" />
  317. </a>
  318. </div>
  319. <div class="authorFollow">
  320. <button class="followButton" type="button">
  321. <span class="pr-fb-icon"></span>
  322. <span class="pr-fb-text">Follow</span>
  323. </button>
  324. </div>
  325. </div>
  326. </div>
  327. <!-- Author's about -->
  328. <div class="col-md-10 col-sm-8 col-8 pl-0">
  329. <div class="mainContent">
  330. <h3>Biography</h3>
  331. <div id="authorBio">{{ product.owner.about }}</div>
  332. </div>
  333. </div>
  334. </div>
  335. </div>
  336. </div>
  337. </div>
  338. </div>
  339. </div>
  340. </main>
  341. </template>
  342. <script>
  343. export default {
  344. async asyncData({ $axios, params }) {
  345. try {
  346. let response = await $axios.$get(`/api/products/${params.id}`)
  347. console.log(response)
  348. return {
  349. product: response.product
  350. }
  351. } catch (err) {
  352. console.log(err)
  353. }
  354. }
  355. }
  356. </script>