dashboard.css 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729
  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. }
  40. .strandTitle{
  41. text-align: left;
  42. margin: 15px;
  43. padding: 0;
  44. }
  45. .itemDisplay{
  46. display: flex;
  47. justify-content: space-between;
  48. align-items: center;
  49. padding: 20px;
  50. width: 100%;
  51. background: rgb(240, 252, 255);
  52. border-radius: 5px;
  53. border: 1px solid gray;
  54. cursor: pointer;
  55. box-sizing: border-box;
  56. }
  57. .itemDisplay:hover{
  58. background: rgb(0, 27, 45);
  59. color: white;
  60. }
  61. .itemDisplay > *:first-of-type{
  62. font-size: 20px;
  63. font-weight: bold;
  64. }
  65. .smallItemDisplay{
  66. display: flex;
  67. justify-content: space-between;
  68. align-items: center;
  69. padding: 10px;
  70. margin: 5px 0;
  71. width: 100%;
  72. background: rgb(240, 252, 255);
  73. border-radius: 5px;
  74. border: 1px solid gray;
  75. box-sizing: border-box;
  76. }
  77. .searchBar{
  78. display: flex;
  79. justify-content: space-between;
  80. align-items: center;
  81. margin-bottom: 3px;
  82. width: 80%;
  83. padding: 10px 25px;
  84. box-sizing: border-box;
  85. background: rgb(0, 27,45);
  86. border-radius: 5px;
  87. }
  88. .searchAndIcon{
  89. display: flex;
  90. width: 25%;
  91. }
  92. .searchAndIcon svg{
  93. background: rgb(201, 201, 201);
  94. border-bottom-left-radius: 5px;
  95. border-top-left-radius: 5px;
  96. color: gray;
  97. padding: 5px 0 5px 5px;
  98. width: 30px;
  99. z-index: 10;
  100. }
  101. .searchAndIcon input{
  102. background: rgb(201, 201, 201);
  103. border: none;
  104. height: 30px;
  105. border-bottom-right-radius: 5px;
  106. border-top-right-radius: 5px;
  107. font-size: 20px;
  108. padding: 5px 0 5px 10px;
  109. max-width: 200px;
  110. }
  111. .clearButton{
  112. background: none;
  113. border: none;
  114. color: rgb(255, 99, 107);
  115. cursor: pointer;
  116. }
  117. .clearButton:hover{
  118. background: rgb(0, 27, 45);
  119. }
  120. .searchBar select{
  121. background: rgb(201, 201, 201);
  122. font-size: 20px;
  123. border-radius: 5px;
  124. border: none;
  125. height: 30px;
  126. padding: 5px 0;
  127. box-sizing: content-box;
  128. -webkit-appearance: none;
  129. -moz-appearance: none;
  130. background-image: url("data:image/svg+xml;utf8,<svg fill='black' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>");
  131. background-repeat: no-repeat;
  132. background-position-x: 100%;
  133. background-position-y: 50%;
  134. cursor: pointer;
  135. }
  136. .button2Link{
  137. background: none;
  138. border: none;
  139. color: blue;
  140. text-decoration: underline;
  141. font-size: 15px;
  142. margin-top: auto;
  143. cursor: pointer;
  144. }
  145. #sidebarCloser{
  146. width: 30px;
  147. background: rgb(0, 27, 45);
  148. color: white;
  149. margin-right: auto;
  150. border: none;
  151. position: fixed;
  152. top: 15px;
  153. left: 15px;
  154. }
  155. /*
  156. Home Strand
  157. */
  158. #homeStrand{
  159. display: flex;
  160. }
  161. .card{
  162. margin: 0 15px;
  163. border: 1px solid rgba(183, 183, 183, 0.9);
  164. border-radius: 7px;
  165. box-shadow: 1px 2px gray;
  166. flex-grow: 1;
  167. height: 100%;
  168. }
  169. .card > *{
  170. margin: 10px;
  171. }
  172. .card p:first-of-type{
  173. font-size: 14px;
  174. font-weight: bold;
  175. text-align: center;
  176. }
  177. .flexRow{
  178. display: flex;
  179. justify-content: space-around;
  180. width: 100%;
  181. flex-basis: 100px;
  182. flex-grow: 1;
  183. margin: 15px 0;
  184. }
  185. #revenueCard{
  186. display: flex;
  187. flex-direction: column;
  188. justify-content: center;
  189. align-items: center;
  190. }
  191. #revenue{
  192. text-align: center;
  193. font-size: 30px;
  194. font-weight: bold;
  195. }
  196. #revenueChange{
  197. display: flex;
  198. }
  199. #revenueChange > p{
  200. font-weight: 100;
  201. }
  202. #revenueChange img{
  203. height: 15px;
  204. width: 15px;
  205. margin-right: 10px;
  206. }
  207. #graphCard{
  208. flex-grow: 5;
  209. display: flex;
  210. justify-content: center;
  211. }
  212. #inventoryCheckCard{
  213. display: flex;
  214. flex-direction: column;;
  215. justify-content: space-between;
  216. flex-basis: 100px;
  217. flex-grow: 1;
  218. }
  219. #inventoryCheckCard ul{
  220. list-style: none;
  221. }
  222. #inventoryCheckCard button{
  223. margin-left: auto;
  224. }
  225. .ingredientCheck{
  226. display: flex;
  227. align-items: center;
  228. margin: 5px 0;
  229. }
  230. .ingredientCheck p:first-of-type{
  231. width: 40%;
  232. font-weight: 300;
  233. font-size: 15px;
  234. margin-right: 25px;
  235. }
  236. .ingredientCheck p:last-of-type{
  237. width: 15%
  238. }
  239. .numberInput{
  240. display: flex;
  241. justify-content: center;
  242. width: 45%;
  243. margin-right: 25px;
  244. }
  245. .numberInput button{
  246. width: 30%;
  247. font-size: 23px;
  248. background: rgb(0, 27, 45);
  249. border: none;
  250. color: white;
  251. font-weight: bold;
  252. cursor: pointer;
  253. }
  254. .numberInput button:first-of-type{
  255. border-bottom-left-radius: 5px;
  256. border-top-left-radius: 5px;
  257. }
  258. .numberInput button:last-of-type{
  259. border-bottom-right-radius: 5px;
  260. border-top-right-radius: 5px;
  261. }
  262. .numberInput input{
  263. width: 55%;
  264. font-size: 15px;
  265. text-align: center;
  266. }
  267. .numberInput input::-webkit-outer-spin-button,
  268. .numberInput input::-webkit-inner-spin-button {
  269. -webkit-appearance: none;
  270. margin: 0;
  271. }
  272. .numberInput input[type=number] {
  273. -moz-appearance: textfield;
  274. }
  275. #popularIngredientsCard{
  276. display: flex;
  277. flex-direction: column;
  278. align-items: center;
  279. flex-basis: 100px;
  280. flex-grow: 2.5;
  281. }
  282. #popularCanvas{
  283. margin: 0 35px;
  284. }
  285. .notice{
  286. color: red;
  287. font-size: 35px;
  288. font-weight: bold;
  289. }
  290. /*
  291. Ingredients Strand
  292. */
  293. #ingredientsStrand{
  294. display: none;
  295. align-items: center;
  296. height: 100%;
  297. box-sizing: border-box;
  298. }
  299. #categoryList{
  300. align-items:center;
  301. overflow-y: auto;
  302. width: 80%;
  303. }
  304. .categoryDiv > div:first-of-type{
  305. display: flex;
  306. }
  307. .categoryDiv > div:first-of-type p{
  308. display: flex;
  309. align-items: center;
  310. padding: 20px 0 20px 100px;
  311. background: rgb(240, 252, 255);
  312. border: 1px solid gray;
  313. border-radius: 5px;
  314. margin-right: 25px;
  315. flex-grow: 1;
  316. }
  317. .categoryDiv > div:first-of-type button{
  318. padding: 10px;
  319. background: rgb(240, 252, 255);
  320. border: 1px solid black;
  321. border-radius: 5px;
  322. width: 75px;
  323. height: 75px;
  324. cursor: pointer;
  325. }
  326. .ingredientsDiv{
  327. flex-direction: column;
  328. }
  329. .ingredient{
  330. display: flex;
  331. width: 50%;
  332. padding: 15px;
  333. margin: auto;
  334. cursor: pointer;
  335. border-radius: 5px;
  336. }
  337. .ingredient:hover{
  338. background: rgb(0, 27, 45);
  339. color: white;
  340. }
  341. .ingredient > *{
  342. width: 33%;
  343. margin-right: 15px;
  344. }
  345. .ingredient > p:last-of-type{
  346. text-align: right;
  347. }
  348. .ingredientSpacer{
  349. border: none;
  350. border-top: 1px dashed black;
  351. margin: auto;
  352. }
  353. /*
  354. Recipe Book Strand
  355. */
  356. #recipeBookStrand{
  357. display: none;
  358. align-items: center;
  359. }
  360. #recipeBookStrand .searchBar{
  361. width: 50%;
  362. }
  363. #recipeSearch{
  364. width: 50%;
  365. }
  366. #recipeSelect{
  367. width: 25%;
  368. }
  369. #recipeList{
  370. display: flex;
  371. flex-direction: column;
  372. align-items: center;
  373. width: 50%;
  374. overflow-y: auto;
  375. }
  376. /*
  377. Analytics Strand
  378. */
  379. .analContent{
  380. display: flex;
  381. justify-content: space-around;
  382. padding: 15px;
  383. }
  384. .itemsList{
  385. list-style-type: none;
  386. width: 15%;
  387. overflow-y: auto;
  388. }
  389. .itemButton{
  390. background: rgb(0, 27, 45);
  391. color: white;
  392. border-radius: 5px;
  393. padding: 5px;
  394. margin: 2px;
  395. width: 90%;
  396. text-align: center;
  397. cursor: pointer;
  398. }
  399. .itemButton:hover{
  400. background: rgb(201, 201, 201);
  401. color: black;
  402. }
  403. .analItemActive{
  404. background: rgb(179, 191, 209);
  405. }
  406. .analData{
  407. display: flex;
  408. flex-direction: column;
  409. justify-content: space-around;
  410. width: 85%;
  411. height: 100%;
  412. }
  413. #itemUseGraph{
  414. padding: 10px;
  415. height: 50%;
  416. }
  417. /*
  418. Orders Strand
  419. */
  420. #ordersStrand{
  421. display: none;
  422. align-items: center;
  423. }
  424. #orderList{
  425. width: 50%;
  426. margin-top: 50px;
  427. overflow-y: auto;
  428. }
  429. .filterForm{
  430. padding: 5px;
  431. margin: 0;
  432. align-items: center;
  433. max-height: 150px;
  434. }
  435. .filterForm > div{
  436. display: flex;
  437. justify-content: space-around;
  438. width: 100%;
  439. }
  440. .filterForm input[type=submit]{
  441. max-height: 30px;
  442. padding: 0;
  443. font-size: 15px;
  444. }
  445. /*
  446. Transactions Strand
  447. */
  448. .transactions{
  449. display: none;
  450. align-items: center;
  451. }
  452. .transactionsList{
  453. width: 50%;
  454. overflow-y: auto;
  455. margin-top: 50px;
  456. }
  457. #transactionFilter{
  458. padding: 5px;
  459. margin: 0;
  460. align-items: center;
  461. max-height: 150px;
  462. }
  463. #transactionFilter > div{
  464. display: flex;
  465. justify-content: space-around;
  466. width: 100%;
  467. }
  468. .dropdown{
  469. display: flex;
  470. flex-direction: column;
  471. align-items: center;
  472. position: relative;
  473. margin: 0;
  474. }
  475. .dropdown button{
  476. display: flex;
  477. align-items: center;
  478. justify-content: center;
  479. height: 25px;
  480. width: 25px;
  481. border-radius: 5px;
  482. border: 1px solid black;
  483. background: none;
  484. cursor: pointer;
  485. }
  486. .dropdownHead{
  487. display: flex;
  488. }
  489. .dropdown button:hover{
  490. background: rgb(0, 27, 45);
  491. color: white;
  492. }
  493. .dropdownContents{
  494. text-align: left;
  495. position: absolute;
  496. top: 25px;
  497. background: rgb(240, 252, 255);
  498. z-index: 1;
  499. padding: 2px;
  500. border: 1px solid black;
  501. border-radius: 5px;
  502. padding: 5px;
  503. white-space: nowrap;
  504. }
  505. .dropDownContents label{
  506. margin: 0;
  507. }
  508. @media screen and (max-width: 1000px){
  509. body{
  510. flex-direction: column;
  511. background: rgb(0, 27, 45);
  512. color: white;
  513. }
  514. .contentBlock{
  515. padding: 0;
  516. }
  517. .banner{
  518. display: none;
  519. }
  520. .strandHead{
  521. padding: 0;
  522. }
  523. .strandTitle{
  524. margin-top: 35px;
  525. }
  526. .mobileHide{
  527. display: none;
  528. }
  529. .itemDisplay{
  530. color: black;
  531. padding: 5px;
  532. margin-top: 2px;
  533. margin-bottom: 2px;
  534. }
  535. .itemDisplay:hover{
  536. background: rgb(240, 252, 255);
  537. color: black;
  538. }
  539. .smallItemDisplay{
  540. color: black;
  541. }
  542. .filterForm{
  543. display: none;
  544. }
  545. /*
  546. Home
  547. */
  548. .card{
  549. margin: 5px 10px;
  550. background: white;
  551. color: black;
  552. }
  553. #inventoryCheckCard{
  554. display: none;
  555. }
  556. #popularIngredientsCard{
  557. padding-bottom: 10px;
  558. }
  559. .flexRow{
  560. flex-direction: column;
  561. margin: 0;
  562. }
  563. /*
  564. Ingredients
  565. */
  566. #categoryList{
  567. width: 95%;
  568. color: black;
  569. }
  570. #ingredientSearch{
  571. border-radius: 5px;
  572. }
  573. .categoryDiv > div:first-of-type p{
  574. padding: 5px 0 5px 5px;
  575. }
  576. .categoryDiv div:first-of-type button{
  577. height: 50px;
  578. width: 50px;
  579. }
  580. .ingredient{
  581. color: white;
  582. width: 75%;
  583. border: 2px solid rgb(201, 201, 201);
  584. padding: 5px;
  585. margin-top: 5px;
  586. margin-bottom: 5px;
  587. box-shadow: 1px 1px gray;
  588. }
  589. .ingredient > *{
  590. width: 50%;
  591. }
  592. /*
  593. Recipe Book
  594. */
  595. .searchBar{
  596. padding: 0;
  597. }
  598. .searchAndIcon{
  599. width: 100%;
  600. }
  601. #recipeSearch{
  602. border-radius: 5px;
  603. width: 100%;
  604. }
  605. #recipeList{
  606. width: 95%;
  607. }
  608. /*
  609. Orders
  610. */
  611. #orderList{
  612. width: 95%;
  613. }
  614. /*
  615. Transactions
  616. */
  617. .transactionsList{
  618. width: 100%;
  619. }
  620. }