Advertisement
shadiff

policy2

Sep 12th, 2023
27
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.95 KB | None | 0 0
  1. import React, { Component, useState } from 'react';
  2. import './Layout.css';
  3. import './pages.css';
  4. import Tabs from './Tabs';
  5. import Layout from './Layout';
  6. import { connect } from 'react-redux';
  7. import { setData } from '../actions/schemeActions';
  8. import Details from './PolicyTabs/Details';
  9.  
  10.  
  11. class Policy extends Component {
  12. constructor(props) {
  13. super(props);
  14. this.state = {
  15. selectedOption: '',
  16. userEmail: '',
  17. userPassword: '',
  18.  
  19. };
  20. }
  21.  
  22. // Event handler to handle select change
  23. handleSelectChange = (event) => {
  24. this.setState({ selectedOption: event.target.value });
  25. };
  26.  
  27. // Event handler to capture user details
  28. handleInputChange = (event) => {
  29. const { name, value } = event.target;
  30. this.setState({ [name]: value });
  31. };
  32.  
  33. componentDidMount() {
  34. const accessToken = localStorage.getItem('accessToken');
  35. const credentials = {
  36. email:this.state.userEmail,
  37. password: this.state.userPassword
  38. };
  39.  
  40.  
  41. fetch('http://192.0.1.23:5000/scheme?id=8280', {
  42. method: 'POST',
  43. headers: {
  44. 'Content-Type': 'application/json',
  45.  
  46. },
  47. body: JSON.stringify(credentials),
  48. })
  49. .then((loginResponse) => loginResponse.json())
  50. .then((loginData) => {
  51.  
  52. const token = loginData.token;
  53.  
  54. console.log('Token:', token);
  55.  
  56. fetch('http://192.0.1.23:5000/scheme?id=8280', {
  57. headers: {
  58. Authorization: `Bearer ${accessToken}`,
  59.  
  60. },
  61. })
  62. .then((response) => response.json())
  63. .then((data) => {
  64. this.props.setData(data);
  65. })
  66. .catch((error) => {
  67. console.error('Error fetching data from protected API:', error);
  68. });
  69. })
  70. .catch((loginError) => {
  71. console.error('Error during login:', loginError);
  72. });
  73. }
  74.  
  75.  
  76. render() {
  77. const { data } = this.props;
  78.  
  79. const tabNames = [
  80. 'Details',
  81. 'Rules',
  82. 'Providers',
  83. 'Insurers',
  84. 'Inclusions and Exclusions',
  85. 'Benefits',
  86. 'Family Structure',
  87. 'Self Fund Payment',
  88. 'SLAs'
  89. ];
  90.  
  91.  
  92.  
  93. return (
  94. <>
  95. <Layout >
  96.  
  97. <div className='main-header'>
  98. <div className='policy-section'>
  99.  
  100. <select id="mySelect">
  101. <option value="option1">Policy 1</option>
  102. <option value="option2">Policy 2</option>
  103. <option value="option3">Policy 3</option>
  104. <option value="option4">Policy 4</option>
  105. </select>
  106.  
  107. <div className='policy-number'>
  108. <span>Policy Number</span>
  109. </div>
  110. </div>
  111.  
  112.  
  113. <select id="mySelect">
  114. <option value="option1">Scheme 1</option>
  115. <option value="option2">Scheme 2</option>
  116. <option value="option3">Scheme 3</option>
  117. <option value="option4">Scheme 4</option>
  118. </select>
  119.  
  120.  
  121. <div className='scheme-section'>
  122.  
  123. <div className='scheme-name'>
  124. <span>Scheme Name</span>
  125. </div>
  126.  
  127. <div className='scheme-company-duration'>
  128. <span>Turnkey Africa Jan 2023 to Dec 2023</span>
  129. </div>
  130. </div>
  131. </div>
  132.  
  133.  
  134. <div className='main-content'>
  135. <Tabs tabNames={tabNames}/>
  136. {/* {tabNames[0] === 'Details' && <Details data={data} />} */}
  137. </div>
  138. </Layout>
  139. </>
  140.  
  141. );
  142. }
  143. }
  144.  
  145. const mapStateToProps = (state) => ({
  146. data: state.scheme.data,
  147. });
  148.  
  149. const mapDispatchToProps = {
  150. setData,
  151. };
  152.  
  153.  
  154. export default connect(mapStateToProps, { setData })(Policy);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement