_conversation.scss 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317
  1. @font-face {
  2. font-family: 'Roboto';
  3. src: url('/fonts/Roboto-Regular.ttf') format('truetype');
  4. }
  5. body, input {
  6. font-family: $roboto;
  7. }
  8. body {
  9. margin: 0;
  10. }
  11. .title-bar {
  12. position: relative;
  13. z-index: 1;
  14. height: 36px;
  15. line-height: 24px;
  16. background: $blue;
  17. box-shadow: 0 -4px 3px 4px rgba(darken($blue, 30%), 0.8);
  18. button {
  19. height: 36px;
  20. line-height: 36px;
  21. float: right;
  22. margin-right: 8px;
  23. padding: 0;
  24. border: 0;
  25. outline: 0;
  26. font-size: 36px;
  27. color: white;
  28. background: transparent;
  29. }
  30. }
  31. .fab {
  32. z-index: 1;
  33. position: fixed;
  34. right: 16px;
  35. bottom: 22px;
  36. height: 60px;
  37. width: 60px;
  38. border: 0;
  39. border-radius: (60px / 2);
  40. outline: 0;
  41. font: 300 36px $roboto;
  42. color: white;
  43. background: $blue;
  44. box-shadow: 0 8px 8px -8px rgba(darken($blue, 50%), 0.8);
  45. transition: box-shadow 0.33s, transform 0.33s, background 0.33s;
  46. &:hover {
  47. background: darken($blue, 3%);
  48. box-shadow: 0 8px 18px -8px rgba(darken($blue, 50%), 0.9);
  49. transform: translate3d(0, -1px, 0);
  50. }
  51. }
  52. button {
  53. cursor: pointer;
  54. }
  55. .timestamp {
  56. font-size: 12px;
  57. }
  58. .message-list {
  59. margin-bottom: 36px + 16px;
  60. padding: 0;
  61. list-style: none;
  62. font-size: 16px;
  63. font-weight: 300;
  64. li {
  65. margin: 0 8px 16px;
  66. &::after {
  67. visibility: hidden;
  68. display: block;
  69. font-size: 0;
  70. content: " ";
  71. clear: both;
  72. height: 0;
  73. }
  74. }
  75. p {
  76. margin: 0;
  77. }
  78. .bubble {
  79. position: relative;
  80. left: -2px;
  81. display: inline-block;
  82. vertical-align: top;
  83. max-width: calc(100% - 2 * 54px - 2 * 12px - 8px);
  84. padding: 9px 12px;
  85. border-radius: 4px;
  86. box-shadow: 0 3px 3px -4px black;
  87. &::before, &::after {
  88. content: '';
  89. position: absolute;
  90. height: 0;
  91. width: 0;
  92. }
  93. &::before {
  94. top: (54px / 2) - 8px;
  95. border-top: 8px solid transparent;
  96. border-bottom: 8px solid transparent;
  97. }
  98. &::after {
  99. top: (54px / 2) - 6px;
  100. border-top: 6px solid transparent;
  101. border-bottom: 6px solid transparent;
  102. }
  103. }
  104. .incoming {
  105. .bubble {
  106. color: $grey_d;
  107. background: $grey_l;
  108. &::before {
  109. left: -10px;
  110. border-right: 10px solid white;
  111. }
  112. &::after {
  113. left: -8px;
  114. border-right: 8px solid $grey_l;
  115. }
  116. }
  117. }
  118. .outgoing {
  119. img, .bubble {
  120. float: right;
  121. }
  122. .bubble {
  123. clear: left;
  124. color: white;
  125. background: $blue;
  126. .timestamp {
  127. color: $blue_l;
  128. }
  129. &::before {
  130. right: -10px;
  131. border-left: 10px solid white;
  132. }
  133. &::after {
  134. right: -8px;
  135. border-left: 8px solid $blue;
  136. }
  137. }
  138. }
  139. img {
  140. height: 54px;
  141. width: 54px;
  142. // delete next 2 lines
  143. box-sizing: border-box;
  144. border: (54px / 2) $blue solid;
  145. border-radius: (54px / 2);
  146. }
  147. .timestamp {
  148. margin-top: 3px;
  149. float: right;
  150. }
  151. }
  152. .bottom-bar {
  153. position: fixed;
  154. bottom: 0;
  155. height: 36px;
  156. width: 100%;
  157. border-top: 1px solid $grey_l;
  158. background: white;
  159. button, input {
  160. color: $grey_d;
  161. }
  162. button {
  163. position: absolute;
  164. top: 0;
  165. height: 100%;
  166. width: 36px;
  167. padding: 0;
  168. border: 0;
  169. outline: 0;
  170. font-size: 24px;
  171. background: transparent;
  172. }
  173. .attachments-btn {
  174. left: 0;
  175. }
  176. .send-btn {
  177. right: 0;
  178. }
  179. form, input {
  180. height: 100%;
  181. width: 100%;
  182. }
  183. input {
  184. height: 100%;
  185. width: 100%;
  186. box-sizing: border-box;
  187. padding: 0 36px;
  188. border: 0;
  189. outline: 0;
  190. font-size: 16px;
  191. background: white;
  192. }
  193. }
  194. // conversation list part
  195. .index {
  196. color: $grey_d;
  197. background: #eee;
  198. .contact {
  199. position: relative;
  200. padding: 12px;
  201. background: white;
  202. cursor: pointer;
  203. transition: background 0.2s;
  204. &::after {
  205. content: '';
  206. position: absolute;
  207. right: 16px;
  208. bottom: 0;
  209. height: 1px;
  210. width: calc(100% - 12px - 54px - 2 * 8px - 16px);
  211. background: #eee;
  212. }
  213. &:hover {
  214. background: #f8f8f8;
  215. }
  216. &:last-child {
  217. box-shadow: 0 1px 3px rgba(#aaa, 0.8);
  218. &::after {
  219. display: none;
  220. }
  221. }
  222. }
  223. .contact-details {
  224. vertical-align: top;
  225. display: inline-block;
  226. width: calc(100% - 54px - 2 * 12px - 8px);
  227. margin: 4px 0 0 8px;
  228. }
  229. .contact-name {
  230. margin: 0;
  231. font-size: 16px;
  232. font-weight: 400;
  233. }
  234. .last-message {
  235. margin: 6px 0;
  236. font-size: 14px;
  237. font-weight: 300;
  238. }
  239. .timestamp {
  240. position: absolute;
  241. top: 14px;
  242. right: 12px;
  243. color: #888;
  244. }
  245. img {
  246. height: 54px;
  247. width: 54px;
  248. // delete next 2 lines
  249. box-sizing: border-box;
  250. border: (54px / 2) $grey_l solid;
  251. border-radius: (54px / 2);
  252. }
  253. // TODO: RJS
  254. // SHAAAAAAME!!!!
  255. .message-list {
  256. display: none;
  257. }
  258. }
  259. .settings {
  260. height: 100%;
  261. width: 100%;
  262. background: red;
  263. display: none;
  264. .settings-open & {
  265. display: block;
  266. }
  267. }