dashboard.css 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628
  1. /*
  2. General page styling
  3. */
  4. html{
  5. height: 100%;
  6. max-width: 100%;
  7. }
  8. body{
  9. display: flex;
  10. flex-direction: row;
  11. height: 100%;
  12. max-width: 100%;
  13. }
  14. .contentBlock{
  15. width: 100%;
  16. height: 100vh;
  17. flex: 1;
  18. box-sizing: border-box;
  19. position: relative;
  20. padding-bottom: 25px;
  21. }
  22. /*
  23. Multi-strand use classes
  24. */
  25. .strand{
  26. flex-direction: column;
  27. height: 100vh;
  28. width: 100%;
  29. padding-bottom: 25px;
  30. box-sizing: border-box;
  31. }
  32. .strandHead{
  33. display: flex;
  34. justify-content: space-between;
  35. width: 100%;
  36. padding: 10px 50px 0 50px;
  37. align-items: center;
  38. box-sizing: border-box;
  39. height: 10%;
  40. }
  41. .strandTitle{
  42. text-align: left;
  43. margin: 15px;
  44. padding: 0;
  45. }
  46. #sidebarCloser{
  47. width: 30px;
  48. background: rgb(0, 27, 45);
  49. color: white;
  50. margin-right: auto;
  51. border: none;
  52. position: fixed;
  53. top: 15px;
  54. left: 15px;
  55. }
  56. .buttonBox{
  57. display: flex;
  58. justify-content: space-around;
  59. margin-top: 50px;
  60. }
  61. .buttonBox > *{
  62. margin-right: 10px;
  63. }
  64. .choosable{
  65. display: flex;
  66. justify-content: space-around;
  67. align-items: center;
  68. background: rgb(0, 27, 45);
  69. color: white;
  70. border-radius: 5px;
  71. margin: 2px;
  72. padding: 5px;
  73. text-align: center;
  74. cursor: pointer;
  75. width: 99%;
  76. box-sizing: border-box;
  77. border: none;
  78. font-size: 16px;
  79. }
  80. .choosable.tall{
  81. padding: 15px;
  82. }
  83. .choosable:hover{
  84. background: rgb(201, 201, 201);
  85. color: black;
  86. }
  87. .choosable.active{
  88. background: rgb(179, 191, 209);
  89. color: white;
  90. }
  91. .searchBar{
  92. display: flex;
  93. align-items: center;
  94. margin-bottom: 10px;
  95. }
  96. .searchButton{
  97. padding: 6px;
  98. background: rgb(0, 27, 45);
  99. cursor: pointer;
  100. color: white;
  101. border-top-left-radius: 10px;
  102. border-bottom-left-radius: 10px;
  103. }
  104. .searchButton:hover{
  105. background: rgb(201, 201, 201);
  106. color: black;
  107. }
  108. .searchButton:active{
  109. background: rgb(179, 191, 209);
  110. color: white;
  111. }
  112. .searchInput{
  113. border: 4px solid rgb(0, 27, 45);
  114. font-size: 20px;
  115. border-top-right-radius: 10px;
  116. border-bottom-right-radius: 10px;
  117. padding: 1px 0 1px 4px;
  118. }
  119. /*
  120. Home Strand
  121. */
  122. #homeStrand{
  123. display: flex;
  124. }
  125. .card{
  126. margin: 0 15px;
  127. border: 1px solid rgba(183, 183, 183, 0.9);
  128. border-radius: 7px;
  129. box-shadow: 1px 2px gray;
  130. flex-grow: 1;
  131. height: 100%;
  132. }
  133. .card > *{
  134. margin: 10px;
  135. }
  136. .card p:first-of-type{
  137. font-size: 14px;
  138. font-weight: bold;
  139. text-align: center;
  140. }
  141. .flexRow{
  142. display: flex;
  143. justify-content: space-around;
  144. width: 100%;
  145. flex-basis: 100px;
  146. flex-grow: 1;
  147. margin: 15px 0;
  148. }
  149. #revenueCard{
  150. display: flex;
  151. flex-direction: column;
  152. justify-content: center;
  153. align-items: center;
  154. }
  155. #revenue{
  156. text-align: center;
  157. font-size: 30px;
  158. font-weight: bold;
  159. }
  160. #revenueChange{
  161. display: flex;
  162. }
  163. #revenueChange > p{
  164. font-weight: 100;
  165. }
  166. #revenueChange img{
  167. height: 15px;
  168. width: 15px;
  169. margin-right: 10px;
  170. }
  171. #graphCard{
  172. flex-grow: 5;
  173. display: flex;
  174. justify-content: center;
  175. }
  176. #inventoryCheckCard{
  177. display: flex;
  178. flex-direction: column;;
  179. justify-content: space-between;
  180. flex-basis: 100px;
  181. flex-grow: 1;
  182. }
  183. #inventoryCheckCard ul{
  184. list-style: none;
  185. }
  186. #inventoryCheckCard button{
  187. margin-left: auto;
  188. }
  189. .ingredientCheck{
  190. display: flex;
  191. align-items: center;
  192. margin: 5px 0;
  193. }
  194. .ingredientCheck p:first-of-type{
  195. width: 40%;
  196. font-weight: 300;
  197. font-size: 15px;
  198. margin-right: 25px;
  199. }
  200. .ingredientCheck p:last-of-type{
  201. width: 20%
  202. }
  203. .numberInput{
  204. display: flex;
  205. justify-content: center;
  206. width: 40%;
  207. margin-right: 25px;
  208. }
  209. .numberInput button{
  210. width: 30%;
  211. font-size: 23px;
  212. background: rgb(0, 27, 45);
  213. border: none;
  214. color: white;
  215. font-weight: bold;
  216. cursor: pointer;
  217. }
  218. .numberInput button:first-of-type{
  219. border-bottom-left-radius: 5px;
  220. border-top-left-radius: 5px;
  221. }
  222. .numberInput button:last-of-type{
  223. border-bottom-right-radius: 5px;
  224. border-top-right-radius: 5px;
  225. }
  226. .numberInput input{
  227. width: 55%;
  228. font-size: 15px;
  229. text-align: center;
  230. }
  231. .numberInput input::-webkit-outer-spin-button,
  232. .numberInput input::-webkit-inner-spin-button {
  233. -webkit-appearance: none;
  234. margin: 0;
  235. }
  236. .numberInput input[type=number] {
  237. -moz-appearance: textfield;
  238. }
  239. #popularIngredientsCard{
  240. display: flex;
  241. flex-direction: column;
  242. align-items: center;
  243. flex-basis: 100px;
  244. flex-grow: 2.5;
  245. padding: 5px;
  246. box-sizing: border-box;
  247. }
  248. #popularCanvas{
  249. margin: 0 35px;
  250. }
  251. .notice{
  252. color: red;
  253. font-size: 35px;
  254. font-weight: bold;
  255. }
  256. /*
  257. Ingredients Strand
  258. */
  259. #ingredientsStrand{
  260. display: none;
  261. align-items: center;
  262. height: 100%;
  263. box-sizing: border-box;
  264. }
  265. #categoryList{
  266. align-items:center;
  267. overflow-y: auto;
  268. width: 80%;
  269. }
  270. .categoryDiv{
  271. display: flex;
  272. flex-direction: column;
  273. align-items: center;
  274. }
  275. .categoryDiv > div:first-of-type{
  276. display: flex;
  277. cursor: pointer;
  278. width: 100%;
  279. }
  280. .categoryDiv > div:first-of-type p{
  281. display: flex;
  282. align-items: center;
  283. padding: 20px 0 20px 100px;
  284. background: rgb(240, 252, 255);
  285. border: 1px solid gray;
  286. border-radius: 5px;
  287. margin-right: 25px;
  288. flex-grow: 1;
  289. }
  290. .categoryDiv > div:first-of-type button{
  291. padding: 10px;
  292. background: rgb(240, 252, 255);
  293. border: 1px solid black;
  294. border-radius: 5px;
  295. width: 75px;
  296. height: 75px;
  297. cursor: pointer;
  298. }
  299. .ingredientsDiv{
  300. flex-direction: column;
  301. width: 50%;
  302. }
  303. .ingredientSpacer{
  304. border: none;
  305. border-top: 1px dashed black;
  306. margin: auto;
  307. }
  308. /*
  309. Recipe Book Strand
  310. */
  311. #recipeBookStrand{
  312. display: none;
  313. align-items: center;
  314. }
  315. #recipeList{
  316. display: flex;
  317. flex-direction: column;
  318. align-items: center;
  319. width: 50%;
  320. overflow-y: auto;
  321. }
  322. /*
  323. Analytics Strand
  324. */
  325. .switch{
  326. position: relative;
  327. display: inline-block;
  328. width: 239px;
  329. height: 34px;
  330. border: 3px solid rgb(0, 27, 45);
  331. color: white;
  332. }
  333. .switch input{
  334. opacity: 0;
  335. width: 0;
  336. height: 0;
  337. }
  338. .switch input:focus + .slider{
  339. box-shadow: 0 0 1px #2196F3;
  340. }
  341. .switch input:checked + .slider:before {
  342. -webkit-transform: translateX(105px);
  343. -ms-transform: translateX(92px);
  344. transform: translateX(125px);
  345. }
  346. .slider{
  347. display: flex;
  348. justify-content: space-between;
  349. align-items: center;
  350. position: absolute;
  351. cursor: pointer;
  352. top: 0;
  353. left: 0;
  354. right: 0;
  355. bottom: 0;
  356. padding: 0 24px 0 5px;
  357. background: rgb(255, 99, 107);
  358. transition: 0.2s;
  359. }
  360. .slider:before{
  361. position: absolute;
  362. content: "";
  363. height: 30px;
  364. width: 110px;
  365. left: 1px;
  366. bottom: 1px;
  367. background: rgba(255, 255, 255, 0.6);
  368. border: 1px solid rgb(0, 27, 45);
  369. transition: 0.2s;
  370. }
  371. .analContent{
  372. display: flex;
  373. justify-content: space-around;
  374. align-items:center;
  375. padding: 15px;
  376. box-sizing: border-box;
  377. height: 90%;
  378. }
  379. .itemsList{
  380. list-style-type: none;
  381. width: 15%;
  382. max-height: 95%;
  383. overflow-y: auto;
  384. }
  385. .analData{
  386. display: flex;
  387. flex-direction: column;
  388. justify-content: space-around;
  389. width: 100%;
  390. height: 100%;
  391. }
  392. #itemUseGraph{
  393. padding: 10px;
  394. height: 60%;
  395. flex-basis: 100px;
  396. flex-grow: 5;
  397. }
  398. .dataRow{
  399. display: flex;
  400. justify-content: space-between;
  401. flex-basis: 150px;
  402. flex-grow: 0;
  403. }
  404. .analCard{
  405. display: flex;
  406. flex-direction: column;
  407. justify-content: space-around;
  408. margin: 5px;
  409. height: inherit;
  410. }
  411. .analCard > *{
  412. margin: 0;
  413. }
  414. #analRecipeContent{
  415. display: flex;
  416. justify-content: space-around;
  417. align-items: center;
  418. padding: 15px;
  419. box-sizing: border-box;
  420. height: 90%;
  421. }
  422. /*
  423. Orders Strand
  424. */
  425. #ordersStrand{
  426. display: none;
  427. align-items: center;
  428. }
  429. #orderList{
  430. width: 50%;
  431. margin-top: 50px;
  432. overflow-y: auto;
  433. }
  434. /*
  435. Transactions Strand
  436. */
  437. .transactions{
  438. display: none;
  439. align-items: center;
  440. }
  441. .transactionsList{
  442. width: 50%;
  443. overflow-y: auto;
  444. margin-top: 50px;
  445. }
  446. @media screen and (max-width: 1000px){
  447. body{
  448. flex-direction: column;
  449. background: rgb(0, 27, 45);
  450. color: white;
  451. }
  452. .contentBlock{
  453. padding: 0;
  454. }
  455. .banner{
  456. display: none;
  457. }
  458. .strandHead{
  459. padding: 0;
  460. }
  461. .strandTitle{
  462. margin-top: 35px;
  463. }
  464. .mobileHide{
  465. display: none;
  466. }
  467. /*
  468. Home
  469. */
  470. .card{
  471. margin: 5px 10px;
  472. background: white;
  473. color: black;
  474. }
  475. #inventoryCheckCard{
  476. display: none;
  477. }
  478. #popularIngredientsCard{
  479. padding-bottom: 10px;
  480. }
  481. .flexRow{
  482. flex-direction: column;
  483. margin: 0;
  484. }
  485. /*
  486. Ingredients
  487. */
  488. #categoryList{
  489. width: 95%;
  490. color: black;
  491. }
  492. .categoryDiv > div:first-of-type p{
  493. padding: 5px 0 5px 5px;
  494. }
  495. .categoryDiv div:first-of-type button{
  496. height: 50px;
  497. width: 50px;
  498. }
  499. .ingredient{
  500. color: white;
  501. width: 75%;
  502. border: 2px solid rgb(201, 201, 201);
  503. padding: 5px;
  504. margin-top: 5px;
  505. margin-bottom: 5px;
  506. box-shadow: 1px 1px gray;
  507. }
  508. .ingredient > *{
  509. width: 50%;
  510. }
  511. /*
  512. Recipe Book
  513. */
  514. .searchBar{
  515. padding: 0;
  516. }
  517. #recipeSearch{
  518. border-radius: 5px;
  519. width: 100%;
  520. }
  521. #recipeList{
  522. width: 95%;
  523. }
  524. /*
  525. Orders
  526. */
  527. #orderList{
  528. width: 95%;
  529. }
  530. /*
  531. Transactions
  532. */
  533. .transactionsList{
  534. width: 100%;
  535. }
  536. }