Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

ItemDetailsHeaderCard.styled.js 4.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. import { Box, Typography } from "@mui/material";
  2. import styled from "styled-components";
  3. import selectedTheme from "../../../themes";
  4. import { IconButton } from "../../Buttons/IconButton/IconButton";
  5. import { PrimaryButton } from "../../Buttons/PrimaryButton/PrimaryButton";
  6. import { ReactComponent as User } from "../../../assets/images/svg/user.svg";
  7. export const ItemDetailsHeaderContainer = styled(Box)`
  8. display: flex;
  9. flex-direction: column;
  10. width: ${(props) => (!props.halfwidth ? "100%" : "49%")};
  11. box-sizing: border-box;
  12. margin: 10px 0;
  13. background-color: ${(props) =>
  14. props.isMyProfile ? selectedTheme.colors.primaryPurple : "white"};
  15. border-radius: 4px;
  16. border: 1px solid
  17. ${(props) =>
  18. props.isMyProfile
  19. ? selectedTheme.colors.primaryPurple
  20. : selectedTheme.colors.borderNormal};
  21. max-width: 2000px;
  22. position: relative;
  23. @media screen and (max-width: 600px) {
  24. width: calc(100vw - 36px);
  25. }
  26. `;
  27. export const HeaderTop = styled(Box)`
  28. display: flex;
  29. flex-direction: row;
  30. padding: 18px;
  31. gap: 18px;
  32. `;
  33. export const OfferImage = styled.img`
  34. border-radius: 50%;
  35. width: 144px;
  36. height: 144px;
  37. @media (max-width: 600px) {
  38. width: 90px;
  39. height: 90px;
  40. }
  41. `;
  42. export const OfferInfo = styled(Box)`
  43. display: flex;
  44. flex: 2;
  45. flex-direction: column;
  46. justify-content: space-between;
  47. margin-left: 18px;
  48. `;
  49. export const OfferTitle = styled(Typography)`
  50. margin-bottom: 12px;
  51. font-family: ${selectedTheme.fonts.textFont};
  52. color: ${(props) =>
  53. props.isMyProfile
  54. ? selectedTheme.colors.primaryYellow
  55. : selectedTheme.colors.primaryPurple};
  56. font-weight: 700;
  57. font-size: 24px;
  58. cursor: pointer;
  59. @media (max-width: 600px) {
  60. font-size: 18px;
  61. }
  62. `;
  63. export const OfferAuthor = styled(Box)`
  64. display: flex;
  65. flex: 1;
  66. flex-direction: column;
  67. `;
  68. export const OfferAuthorName = styled(Typography)`
  69. font-family: ${selectedTheme.fonts.textFont};
  70. line-height: 22px;
  71. font-size: 16px;
  72. color: ${selectedTheme.colors.primaryDarkText};
  73. `;
  74. export const OfferLocation = styled(Box)`
  75. font-family: ${selectedTheme.fonts.textFont};
  76. color: ${selectedTheme.colors.primaryText};
  77. line-height: 16px;
  78. font-size: 12px;
  79. `;
  80. export const OfferPIB = styled(Box)`
  81. font-family: ${selectedTheme.fonts.textFont};
  82. color: ${(props) =>
  83. props.isMyProfile
  84. ? selectedTheme.colors.primaryDarkTextThird
  85. : selectedTheme.colors.primaryText};
  86. line-height: 16px;
  87. font-size: 12px;
  88. `;
  89. export const OfferDetails = styled(Box)`
  90. display: flex;
  91. flex-direction: column;
  92. flex-wrap: ${(props) => (!props.halfwidth ? "no-wrap" : "wrap")};
  93. justify-content: start;
  94. `;
  95. export const OfferCategory = styled(Box)`
  96. font-family: ${selectedTheme.fonts.textFont};
  97. color: ${selectedTheme.colors.primaryText};
  98. line-height: 16px;
  99. font-size: 12px;
  100. width: 33%;
  101. `;
  102. export const OfferPackage = styled(Box)`
  103. font-family: ${selectedTheme.fonts.textFont};
  104. color: ${selectedTheme.colors.primaryText};
  105. line-height: 16px;
  106. font-size: 12px;
  107. width: 34%;
  108. `;
  109. export const OfferViews = styled(Box)`
  110. font-family: ${selectedTheme.fonts.textFont};
  111. color: ${selectedTheme.colors.primaryText};
  112. line-height: 16px;
  113. font-size: 12px;
  114. width: 34%;
  115. `;
  116. export const OfferDescriptionTitle = styled(Box)`
  117. font-family: ${selectedTheme.fonts.textFont};
  118. font-size: 12px;
  119. color: ${selectedTheme.colors.primaryDarkText};
  120. line-height: 16px;
  121. `;
  122. export const OfferDescriptionText = styled(Box)`
  123. font-family: ${selectedTheme.fonts.textFont};
  124. font-size: 16px;
  125. color: ${selectedTheme.colors.primaryDarkText};
  126. line-height: 22px;
  127. max-width: calc(100% - 230px);
  128. max-height: 120px;
  129. overflow: hidden;
  130. display: -webkit-box;
  131. -webkit-line-clamp: 5;
  132. -webkit-box-orient: vertical;
  133. `;
  134. export const OfferDescription = styled(Box)`
  135. flex: 3;
  136. margin: auto 0;
  137. padding-left: 35px;
  138. `;
  139. export const Line = styled(Box)`
  140. border-left: 1px solid rgba(0, 0, 0, 0.15);
  141. height: 100px;
  142. width: 0;
  143. margin: auto 0;
  144. `;
  145. export const CheckButton = styled(PrimaryButton)`
  146. width: 180px;
  147. height: 48px;
  148. position: absolute;
  149. bottom: 9px;
  150. right: 9px;
  151. &:hover button {
  152. background-color: ${selectedTheme.colors.primaryPurple} !important;
  153. color: white !important;
  154. }
  155. `;
  156. export const MessageIcon = styled(IconButton)`
  157. width: 40px;
  158. height: 40px;
  159. background-color: ${selectedTheme.colors.primaryPurple};
  160. border-radius: 100%;
  161. padding-top: 2px;
  162. text-align: center;
  163. @media (max-width: 600px) {
  164. width: 32px;
  165. height: 32px;
  166. & button svg {
  167. width: 16px;
  168. height: 16px;
  169. position: relative;
  170. top: -4px;
  171. left: -2px;
  172. }
  173. }
  174. `;
  175. export const UserIconContainer = styled(MessageIcon)`
  176. background-color: ${selectedTheme.colors.primaryIconBackgroundColor};
  177. `;
  178. export const UserIcon = styled(User)``;
  179. export const TooltipInnerContainer = styled(Box)`
  180. width: 40px;
  181. height: 40px;
  182. position: absolute;
  183. top: 10px;
  184. right: 10px;
  185. @media (max-width: 600px) {
  186. width: 32px;
  187. height: 32px;
  188. }
  189. `;