選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

ExpandedCard.jsx 3.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. import React from 'react'
  2. import PropTypes from 'prop-types'
  3. import TriangleButton from './shared/TriangleButton';
  4. import { useNavigate } from 'react-router-dom';
  5. import net from './../assets/icons/net.svg';
  6. import { m } from 'framer-motion';
  7. import useClickOutside from '../hooks/useClickOutside';
  8. const _data = {
  9. requirements: [
  10. 'Good software development fundamentals and knowledge of .NET architecture concepts & patterns',
  11. 'Good knowledge of software design patterns',
  12. 'Good knowledge of databases and database design',
  13. 'Experience in working with microservices is a big plus',
  14. 'The ability to work in a big team but also to work independently',
  15. 'Excellent communication skills'
  16. ],
  17. key: [
  18. 'Working as a full-stack developer on various project and products',
  19. 'Working with 3rd-party APIs',
  20. 'Working on different integration scenarios',
  21. 'Setting up project structure and architecture',
  22. 'Being involved in full project development, from writing a specification to deploying a finished product'
  23. ],
  24. offer: [
  25. 'Full Remote position',
  26. 'A fast-growth company with stable projects and strong international clients',
  27. 'Opportunity to work in teams with experienced engineers',
  28. 'Competitive employment conditions',
  29. 'An environment that will make you feel good about your job',
  30. 'Challenging and diverse projects',
  31. 'Support in your personal and professional growth',
  32. 'Flexible working hours',
  33. 'Private health insurance'
  34. ],
  35. }
  36. const _card = {
  37. role: '.Net Developer',
  38. shortDetails: 'Team Diligent is constantly growing! We are looking for a team player that will work with experienced engineers. If technology is your passion and you are ready to move the boundaries of your knowledge every day, then, Diligent is the right place for you. If you are not from Niš, we are offering a full remote position.',
  39. }
  40. const ExpandedCard = ({card, setExpanded, setExpandedCard}) => {
  41. const linkTo = useNavigate();
  42. return (
  43. <div
  44. className={
  45. 'dark:text-white card-no-hover w-full h-fit shadow-md rounded-md px-12 lg:px-32 py-12 lg:py-16'
  46. }
  47. >
  48. <div className="flex flex-col items-start justify-center text-left">
  49. <div className="flex flex-row items-center justify-start">
  50. <div className='mr-4 lg:hidden'>
  51. <TriangleButton onClick={() => {setExpanded(false); setExpandedCard({})}} direction={'left'}/>
  52. </div>
  53. <div className='hidden lg:block absolute top-20 left-12'>
  54. <TriangleButton onClick={() => {setExpanded(false); setExpandedCard({})}} direction={'left'}/>
  55. </div>
  56. <img
  57. src={net}
  58. className="ml-auto mr-auto block w-[70px] bg-baby-blue text-dark-gray"
  59. />
  60. <h3 className="ml-6 w-full font-semibold text-2xl">{card.role}</h3>
  61. </div>
  62. <p className="mt-6 text-sm">{_card.shortDetails}</p>
  63. <h4 className="mt-6 font-semibold text-lg">Key Responsibilities:</h4>
  64. <ul>
  65. {_data.key.map((item, index) => (
  66. <li className='list-disc ml-6' key={index}>{item}</li>
  67. ))}
  68. </ul>
  69. <br />
  70. <h4 className="mt-6 font-semibold text-lg">Requirements:</h4>
  71. <ul>
  72. {_data.requirements.map((item, index) => (
  73. <li className='list-disc ml-6' key={index}>{item}</li>
  74. ))}
  75. </ul>
  76. <br />
  77. <h4 className="mt-6 font-semibold text-lg">What We Offer:</h4>
  78. <ul>
  79. {_data.offer.map((item, index) => (
  80. <li className='list-disc ml-6' key={index}>{item}</li>
  81. ))}
  82. </ul>
  83. <br />
  84. <div className="flex flex-row w-full items-center justify-end">
  85. <a
  86. href="/contact"
  87. className="btn btn_primary mt-8 transition-all hover:transition-all"
  88. >
  89. Apply
  90. </a>
  91. </div>
  92. </div>
  93. </div>
  94. )
  95. }
  96. ExpandedCard.propTypes = {}
  97. export default ExpandedCard