Guest User

Untitled

a guest
Jul 19th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.93 KB | None | 0 0
  1. import React, { Component } from 'react';
  2. import { connect } from 'react-redux';
  3. import Car from './car';
  4. import { CarsRef, timeRef } from '../admin/reference';
  5.  
  6. import { Table, Row, Col } from 'reactstrap';
  7.  
  8. import Icon from 'react-icons-kit';
  9. import { bin } from 'react-icons-kit/icomoon';
  10.  
  11. import { Link } from 'react-router-dom';
  12.  
  13.  
  14.  
  15. class CarsList extends Component {
  16.  
  17.  
  18.  
  19. state = {
  20.  
  21. Cars: [],
  22. Carsloading: true
  23.  
  24. };
  25.  
  26.  
  27. componentWillMount() {
  28.  
  29. CarsRef.on('value', snap => {
  30. const tasks = [];
  31. let Cars = []
  32. snap.forEach(shot => {
  33. Cars.push({ ...shot.val(), key: shot.key });
  34. });
  35. console.log(Cars);
  36. this.setState({ Cars: Cars, CarsLoading: false });
  37. });
  38. }
  39.  
  40.  
  41.  
  42.  
  43. render(){
  44. const { Cars, CarsLoading } = this.state;
  45. const orderedcars = Cars;
  46.  
  47. let carList;
  48. if (CarsLoading) {
  49. carList = <div className="TaskList-empty">Loading...</div>;
  50. }
  51.  
  52.  
  53. else if (Cars.length) {
  54. carList = (
  55. <ul className="TaskList">
  56. {Cars.map(car => (
  57. return (
  58. <div>
  59. <Row>
  60. <Col md="12">
  61. <div className="card border-secondary mb-3">
  62. <div className="card-header text-success">
  63. <h4>
  64. <Link to={`/cars/${car.id}`}>
  65. {car.year} {car.make} {car.model} {car.trim}
  66. </Link>
  67. </h4>
  68. </div>
  69. <div className="card-body">
  70. <Row>
  71. <Col md="5">
  72. <CardImg className="carlist-margin" top width="100%" src={car.link} alt={car.make} />
  73. </Col>
  74. <Col md="4">
  75. <Table className="striped">
  76. <tbody>
  77. <tr>
  78. <td>Engine:</td>
  79. <td>{car.engine}</td>
  80. </tr>
  81. <tr>
  82. <td>Drive Type:</td>
  83. <td>{car.drive_type}</td>
  84. </tr>
  85. <tr>
  86. <td>Body:</td>
  87. <td>{car.body_type}</td>
  88. </tr>
  89. <tr>
  90. <td>Exterior Color:</td>
  91. <td>{car.ext_color}</td>
  92. </tr>
  93. <tr>
  94. <td>Interior Color:</td>
  95. <td>{car.int_color}</td>
  96. </tr>
  97. <tr>
  98. <td>Transmission:</td>
  99. <td>{car.transmission}</td>
  100. </tr>
  101. <tr>
  102. <td>VIN:</td>
  103. <td>{car.vin}</td>
  104. </tr>
  105. </tbody>
  106. </Table>
  107. </Col>
  108. <Col md="3">
  109. <Table className="striped">
  110. <tbody>
  111. <tr>
  112. <td className="text-primary text-right">
  113. <strong>
  114. MSRP:
  115. </strong>
  116. </td>
  117. <td className="text-primary text-right">
  118. <strong>
  119. ${car.price}
  120. </strong>
  121. </td>
  122. </tr>
  123. <tr>
  124. <td className="text-danger text-right">Dealer Discount:</td>
  125. <td className="text-danger text-right">{car.sale}%</td>
  126. </tr>
  127. <tr>
  128. <td className="text-primary text-right">
  129. <strong>
  130. Total:
  131. </strong>
  132. </td>
  133. <td className="text-primary text-right">
  134. <strong>
  135. ${car.price-car.price*car.sale/100}
  136. </strong>
  137. </td>
  138. </tr>
  139. <tr>
  140. <td className="text-primary text-right">Est. Lease:</td>
  141. <td className="text-primary text-right">$230/m*</td>
  142. </tr>
  143. <tr>
  144. <td className="text-primary text-right">Est. Finance:</td>
  145. <td className="text-primary text-right">$330/m*</td>
  146. </tr>
  147. <tr>
  148. <td className="text-right"></td>
  149. <td className="text-right">
  150. <Link to={`/cars/${car.id}`}>
  151. <Button className="btn btn-success">More</Button>
  152. </Link>
  153. </td>
  154. </tr>
  155. </tbody>
  156. </Table>
  157. </Col>
  158. </Row>
  159. </div>
  160. </div>
  161. </Col>
  162. </Row>
  163. </div>
  164. </div>
  165. ))}
  166.  
  167. );
  168.  
  169.  
  170. };
  171. }
Add Comment
Please, Sign In to add comment