#74 New Calendar UI
Merged 3 months ago by a2batic. Opened 4 months ago by thelittlewonder.
thelittlewonder/Fedora-app calendar-ui  into  master

add meeting detail page
Abhishek Sharma • 3 months ago  
rebase and fix conflicts
Abhishek Sharma • 3 months ago  
fix merge conflict and rebase
Abhishek Sharma • 3 months ago  
Add Empty States
Abhishek Sharma • 3 months ago  
fix relative path to icon
Abhishek Sharma • 3 months ago  
add toast on calendar subscribe
Abhishek Sharma • 3 months ago  
fix search icon
Abhishek Sharma • 3 months ago  
fix font
Abhishek Sharma • 3 months ago  
add notification page
Abhishek Sharma • 3 months ago  
fix type of meeting time
Abhishek Sharma • 3 months ago  
Update styles
Abhishek Sharma • 3 months ago  
Update styles
Abhishek Sharma • 3 months ago  
update fedocal ui
Abhishek Sharma • 3 months ago  
update fedo cal to fetch posts by date
Abhishek Sharma • 3 months ago  
add search modal
Abhishek Sharma • 3 months ago  
Add icons for the calendar page
Abhishek Sharma • 3 months ago  
file modified
+7 -3

@@ -15,7 +15,7 @@ 

  import { HomePage } from '../pages/home/home';

  import { MagazinePage } from '../pages/magazine/magazine';

  import { AskPage } from '../pages/ask/ask';

- import { CalendarPage } from '../pages/calendar/calendar';

+ import { CalendarPage, Search, meetingDetails } from '../pages/calendar/calendar';

  import { MorePage} from '../pages/more/more';

  import { NotificationsPage} from '../pages/notifications/notifications';

  import { WomenPage } from '../pages/women/women';

@@ -36,7 +36,9 @@ 

      NotificationsPage,

      WomenPage,

      PackageSearchPage,

-     ViewPackagePage

+     ViewPackagePage,

+     Search,

+     meetingDetails

    ],

    imports: [

      BrowserModule,

@@ -56,7 +58,9 @@ 

      NotificationsPage,

      WomenPage,

      PackageSearchPage,

-     ViewPackagePage

+     ViewPackagePage,

+     Search,

+     meetingDetails

    ],

    providers: [

      Browser,

file modified
+66 -1

@@ -21,7 +21,9 @@ 

  .iframeWrapper iframe {

      width: 100%;

      height: 100%;

- } //tab icons-active

+ } 

+ 

+ //tab icons-active

  ion-icon {

      &[class*="fedora-"] {

          mask-size: contain;

@@ -141,3 +143,66 @@ 

  .pkg-devel {

    color: #FFEB3B;

  }

+ 

+ //segment styles

+ ion-segment {

+     padding: 0px 24px 0 24px;

+     background-color: #fff;

+ }

+ 

+ .segment-button {

+     font-family: "Montserrat-Light";

+     font-size: 12px;

+     color: #9A9FA6;

+     text-transform: none;

+     padding: 0;

+ }

+ 

+ .segment-activated {

+     font-family: "Montserrat-SemiBold";

+     font-size: 12px;

+     color: #3C6EB4;

+     padding: 0;

+ }

+ 

+ //empty state styles

+ .emptystate {

+     display: flex;

+     flex-direction: column;

+     justify-content: center;

+     text-align: center;

+     align-items: center;

+     height: 100%;

+     img {

+         margin-bottom: 20px;

+     }

+     h1 {

+         font-family: "Montserrat-SemiBold";

+         font-size: 19px;

+         color: #79818B;

+         margin: 0;

+     }

+     h2 {

+         font-family: "OpenSans-Regular";

+         font-size: 14px;

+         color: #79818B;

+         line-height: 20px;

+         margin: 10px 0 20px 0;

+         img {

+             margin: 0 2px;

+             display: inline-block;

+             margin-bottom: 0px;

+         }

+     }

+     button {

+         padding: 12px;

+         width: auto;

+         background: transparent;

+         border: 1px solid #3C6EB4;

+         border-radius: 2px;

+         font-family: "Montserrat-SemiBold";

+         font-size: 14px;

+         color: #3C6EB4;

+         line-height: 14px;

+     }

+ } 

\ No newline at end of file

@@ -0,0 +1,14 @@ 

+ <?xml version="1.0" encoding="UTF-8"?>

+ <svg width="20px" height="12px" viewBox="0 0 20 12" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">

+     <!-- Generator: Sketch 50.1 (55044) - http://www.bohemiancoding.com/sketch -->

+     <title>arrow_back - material</title>

+     <desc>Created with Sketch.</desc>

+     <defs></defs>

+     <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">

+         <g id="Search" transform="translate(-24.000000, -19.000000)" fill="#9A9FA6">

+             <g id="Group" transform="translate(24.000000, 16.000000)">

+                 <path d="M20,9 L20,9 C20,9.42896675 19.6522537,9.77671301 19.223287,9.77671301 L2.99625468,9.77671301 L6.80831395,13.6496244 C7.11396708,13.9601567 7.11343342,14.4586378 6.8071161,14.7685149 L6.8071161,14.7685149 C6.50551993,15.073616 6.01369459,15.0764573 5.70859346,14.7748612 C5.70646584,14.772758 5.70435038,14.7706425 5.70224719,14.7685149 L0.694933968,9.70301003 C0.309840551,9.31344131 0.309840551,8.68655869 0.694933968,8.29698997 L5.70224719,3.23148511 C6.00384337,2.92638398 6.49566871,2.92354266 6.80076983,3.22513883 C6.80289746,3.22724202 6.80501292,3.22935748 6.8071161,3.23148511 L6.8071161,3.23148511 C7.11343342,3.54136224 7.11396708,4.03984333 6.80831395,4.35037562 L2.99625468,8.22328699 L19.223287,8.22328699 C19.6522537,8.22328699 20,8.57103325 20,9 Z" id="arrow_back---material"></path>

+             </g>

+         </g>

+     </g>

+ </svg> 

\ No newline at end of file

@@ -0,0 +1,16 @@ 

+ <?xml version="1.0" encoding="UTF-8"?>

+ <svg width="11px" height="12px" viewBox="0 0 11 12" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">

+     <!-- Generator: Sketch 50.1 (55044) - http://www.bohemiancoding.com/sketch -->

+     <title>calendar-plus-o - FontAwesome</title>

+     <desc>Created with Sketch.</desc>

+     <defs></defs>

+     <g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">

+         <g id="CalendarEntry" transform="translate(-92.000000, -63.000000)" fill="#396CB6">

+             <g id="Group-2">

+                 <g transform="translate(92.000000, 63.000000)">

+                     <path d="M10.1538462,1.71428571 C10.6165865,1.71428571 11,2.10267857 11,2.57142857 L11,11.1428571 C11,11.6116071 10.6165865,12 10.1538462,12 L0.846153846,12 C0.383413462,12 0,11.6116071 0,11.1428571 L0,2.57142857 C0,2.10267857 0.383413462,1.71428571 0.846153846,1.71428571 L1.69230769,1.71428571 L1.69230769,1.07142857 C1.69230769,0.482142857 2.16826923,0 2.75,0 L3.17307692,0 C3.75480769,0 4.23076923,0.482142857 4.23076923,1.07142857 L4.23076923,1.71428571 L6.76923077,1.71428571 L6.76923077,1.07142857 C6.76923077,0.482142857 7.24519231,0 7.82692308,0 L8.25,0 C8.83173077,0 9.30769231,0.482142857 9.30769231,1.07142857 L9.30769231,1.71428571 L10.1538462,1.71428571 Z M7.61538462,1.07142857 L7.61538462,3 C7.61538462,3.12053571 7.70793269,3.21428571 7.82692308,3.21428571 L8.25,3.21428571 C8.36899038,3.21428571 8.46153846,3.12053571 8.46153846,3 L8.46153846,1.07142857 C8.46153846,0.950892857 8.36899038,0.857142857 8.25,0.857142857 L7.82692308,0.857142857 C7.70793269,0.857142857 7.61538462,0.950892857 7.61538462,1.07142857 Z M2.53846154,1.07142857 L2.53846154,3 C2.53846154,3.12053571 2.63100962,3.21428571 2.75,3.21428571 L3.17307692,3.21428571 C3.29206731,3.21428571 3.38461538,3.12053571 3.38461538,3 L3.38461538,1.07142857 C3.38461538,0.950892857 3.29206731,0.857142857 3.17307692,0.857142857 L2.75,0.857142857 C2.63100962,0.857142857 2.53846154,0.950892857 2.53846154,1.07142857 Z M10.1538462,11.1428571 L10.1538462,4.28571429 L0.846153846,4.28571429 L0.846153846,11.1428571 L10.1538462,11.1428571 Z M5.92307692,7.28571429 L7.40384615,7.28571429 C7.52283654,7.28571429 7.61538462,7.37946429 7.61538462,7.5 L7.61538462,7.92857143 C7.61538462,8.04910714 7.52283654,8.14285714 7.40384615,8.14285714 L5.92307692,8.14285714 L5.92307692,9.64285714 C5.92307692,9.76339286 5.83052885,9.85714286 5.71153846,9.85714286 L5.28846154,9.85714286 C5.16947115,9.85714286 5.07692308,9.76339286 5.07692308,9.64285714 L5.07692308,8.14285714 L3.59615385,8.14285714 C3.47716346,8.14285714 3.38461538,8.04910714 3.38461538,7.92857143 L3.38461538,7.5 C3.38461538,7.37946429 3.47716346,7.28571429 3.59615385,7.28571429 L5.07692308,7.28571429 L5.07692308,5.78571429 C5.07692308,5.66517857 5.16947115,5.57142857 5.28846154,5.57142857 L5.71153846,5.57142857 C5.83052885,5.57142857 5.92307692,5.66517857 5.92307692,5.78571429 L5.92307692,7.28571429 Z" id="calendar-plus-o---FontAwesome"></path>

+                 </g>

+             </g>

+         </g>

+     </g>

+ </svg> 

\ No newline at end of file

@@ -0,0 +1,16 @@ 

+ <?xml version="1.0" encoding="UTF-8"?>

+ <svg width="14px" height="14px" viewBox="0 0 14 14" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">

+     <!-- Generator: Sketch 50.1 (55044) - http://www.bohemiancoding.com/sketch -->

+     <title>access_time - material</title>

+     <desc>Created with Sketch.</desc>

+     <defs></defs>

+     <g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">

+         <g id="CalendarEntry" transform="translate(-91.000000, -40.000000)" fill="#535961" stroke="#FFFFFF" stroke-width="0.3">

+             <g id="Group">

+                 <g transform="translate(92.000000, 41.000000)">

+                     <path d="M6.31730769,2.98557692 L6.31730769,6.14423077 L9.01442308,7.74519231 L8.56730769,8.50961538 L5.40865385,6.59134615 L5.40865385,2.98557692 L6.31730769,2.98557692 Z M6,10.8173077 C6.86538894,10.8173077 7.67307317,10.5961561 8.42307692,10.1538462 C9.15384981,9.73076712 9.73076712,9.15384981 10.1538462,8.42307692 C10.5961561,7.67307317 10.8173077,6.86538894 10.8173077,6 C10.8173077,5.13461106 10.5961561,4.32692683 10.1538462,3.57692308 C9.73076712,2.84615019 9.15384981,2.26923288 8.42307692,1.84615385 C7.67307317,1.40384394 6.86538894,1.18269231 6,1.18269231 C5.13461106,1.18269231 4.32692683,1.40384394 3.57692308,1.84615385 C2.84615019,2.26923288 2.26923288,2.84615019 1.84615385,3.57692308 C1.40384394,4.32692683 1.18269231,5.13461106 1.18269231,6 C1.18269231,6.86538894 1.40384394,7.67307317 1.84615385,8.42307692 C2.26923288,9.15384981 2.84615019,9.73076712 3.57692308,10.1538462 C4.32692683,10.5961561 5.13461106,10.8173077 6,10.8173077 Z M6,0 C7.09615933,0 8.11057226,0.274035721 9.04326923,0.822115385 C9.9471199,1.34134875 10.6586513,2.0528801 11.1778846,2.95673077 C11.7259643,3.88942774 12,4.90384067 12,6 C12,7.09615933 11.7259643,8.11057226 11.1778846,9.04326923 C10.6586513,9.9471199 9.9471199,10.6586513 9.04326923,11.1778846 C8.11057226,11.7259643 7.09615933,12 6,12 C4.90384067,12 3.88942774,11.7259643 2.95673077,11.1778846 C2.0528801,10.6490358 1.34134875,9.93269683 0.822115385,9.02884615 C0.274035721,8.09614918 0,7.08654389 0,6 C0,4.91345611 0.274035721,3.90385082 0.822115385,2.97115385 C1.35096418,2.06730317 2.06730317,1.35096418 2.97115385,0.822115385 C3.90385082,0.274035721 4.91345611,0 6,0 Z" id="access_time---material"></path>

+                 </g>

+             </g>

+         </g>

+     </g>

+ </svg> 

\ No newline at end of file

@@ -0,0 +1,18 @@ 

+ <?xml version="1.0" encoding="UTF-8"?>

+ <svg width="9px" height="6px" viewBox="0 0 9 6" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">

+     <!-- Generator: Sketch 50.1 (55044) - http://www.bohemiancoding.com/sketch -->

+     <title>Arrow-down - simple-line-icons</title>

+     <desc>Created with Sketch.</desc>

+     <defs></defs>

+     <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">

+         <g id="Calendar" transform="translate(-334.000000, -69.000000)" fill="#7096D0" stroke="#7096D0" stroke-width="0.5">

+             <g id="Dynamic-group" transform="translate(0.000000, 52.000000)">

+                 <g id="12:16" transform="translate(16.000000, 12.000000)">

+                     <g id="Group" transform="translate(214.000000, 0.000000)">

+                         <path d="M105,6.24309392 C105,6.21362785 105.005758,6.18293448 105.017275,6.15101289 C105.028792,6.11909131 105.046068,6.09085341 105.069102,6.06629834 C105.11517,6.02209923 105.17045,6 105.234946,6 C105.299441,6 105.354722,6.02209923 105.40079,6.06629834 L108.524186,9.39594843 L111.59921,6.11786372 C111.645278,6.06875359 111.700559,6.0441989 111.765054,6.0441989 C111.82955,6.0441989 111.88483,6.06875359 111.930898,6.11786372 C111.976966,6.16697385 112,6.22590512 112,6.2946593 C112,6.36341348 111.976966,6.42234475 111.930898,6.47145488 L108.69003,9.92633517 C108.643962,9.9754453 108.588681,10 108.524186,10 C108.45969,10 108.40441,9.9754453 108.358342,9.92633517 L105.069102,6.42725599 C105.046068,6.40270092 105.028792,6.37446302 105.017275,6.34254144 C105.005758,6.31061985 105,6.27747101 105,6.24309392 Z" id="Arrow-down---simple-line-icons"></path>

+                     </g>

+                 </g>

+             </g>

+         </g>

+     </g>

+ </svg> 

\ No newline at end of file

@@ -0,0 +1,27 @@ 

+ <?xml version="1.0" encoding="UTF-8"?>

+ <svg width="67px" height="56px" viewBox="0 0 67 56" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">

+     <!-- Generator: Sketch 50.2 (55047) - http://www.bohemiancoding.com/sketch -->

+     <title>event</title>

+     <desc>Created with Sketch.</desc>

+     <defs></defs>

+     <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" fill-opacity="0.632670969">

+         <g id="ES-5" transform="translate(-147.000000, -256.000000)" fill="#9499A1" fill-rule="nonzero">

+             <g id="Group-4" transform="translate(40.000000, 256.000000)">

+                 <g id="event" transform="translate(107.000000, 0.000000)">

+                     <path d="M24.1694648,21.7837407 C21.961998,21.7837407 20.166084,23.5627778 20.166084,25.7495 C20.166084,27.9362222 21.961998,29.7152593 24.1694648,29.7152593 C26.3769316,29.7152593 28.1728457,27.9362222 28.1728457,25.7495 C28.1728457,23.5627778 26.3769316,21.7837407 24.1694648,21.7837407 Z M24.1694648,27.7706852 C23.0443359,27.7706852 22.1291055,26.8640556 22.1291055,25.7495 C22.1291055,24.6349444 23.0443359,23.7283148 24.1694648,23.7283148 C25.2944629,23.7283148 26.2098242,24.6349444 26.2098242,25.7495 C26.2098242,26.8639259 25.2944629,27.7706852 24.1694648,27.7706852 Z" id="Shape"></path>

+                     <path d="M34.6066777,21.7837407 C32.3992109,21.7837407 30.603166,23.5627778 30.603166,25.7495 C30.603166,27.9362222 32.3992109,29.7152593 34.6066777,29.7152593 C36.8141445,29.7152593 38.6100586,27.9362222 38.6100586,25.7495 C38.6100586,23.5627778 36.8141445,21.7837407 34.6066777,21.7837407 Z M34.6066777,27.7706852 C33.481418,27.7706852 32.5661875,26.8640556 32.5661875,25.7495 C32.5661875,24.6349444 33.4815488,23.7283148 34.6066777,23.7283148 C35.7318066,23.7283148 36.6470371,24.6349444 36.6470371,25.7495 C36.6470371,26.8640556 35.7316758,27.7706852 34.6066777,27.7706852 Z" id="Shape"></path>

+                     <path d="M45.0438906,21.7837407 C42.8364238,21.7837407 41.0405098,23.5627778 41.0405098,25.7495 C41.0405098,27.9362222 42.8364238,29.7152593 45.0438906,29.7152593 C47.2513574,29.7152593 49.0472715,27.9362222 49.0472715,25.7495 C49.0472715,23.5627778 47.2512266,21.7837407 45.0438906,21.7837407 Z M45.0438906,27.7706852 C43.9187617,27.7706852 43.0035313,26.8640556 43.0035313,25.7495 C43.0035313,24.6349444 43.9188926,23.7283148 45.0438906,23.7283148 C46.1688887,23.7283148 47.08425,24.6349444 47.08425,25.7495 C47.08425,26.8640556 46.1688887,27.7706852 45.0438906,27.7706852 Z" id="Shape"></path>

+                     <path d="M24.1694648,31.4573519 C21.961998,31.4573519 20.166084,33.2363889 20.166084,35.4231111 C20.166084,37.6098333 21.961998,39.3888704 24.1694648,39.3888704 C26.3769316,39.3888704 28.1728457,37.6098333 28.1728457,35.4231111 C28.1728457,33.2363889 26.3769316,31.4573519 24.1694648,31.4573519 Z M24.1694648,37.4442963 C23.0443359,37.4442963 22.1291055,36.5376667 22.1291055,35.4231111 C22.1291055,34.3085556 23.0443359,33.4019259 24.1694648,33.4019259 C25.2944629,33.4019259 26.2098242,34.3085556 26.2098242,35.4231111 C26.2098242,36.5376667 25.2944629,37.4442963 24.1694648,37.4442963 Z" id="Shape"></path>

+                     <path d="M45.0438906,31.4573519 C42.8364238,31.4573519 41.0405098,33.2363889 41.0405098,35.4231111 C41.0405098,37.6098333 42.8364238,39.3888704 45.0438906,39.3888704 C47.2513574,39.3888704 49.0472715,37.6098333 49.0472715,35.4231111 C49.0471406,33.2363889 47.2512266,31.4573519 45.0438906,31.4573519 Z M45.0438906,37.4442963 C43.9187617,37.4442963 43.0035313,36.5376667 43.0035313,35.4231111 C43.0035313,34.3085556 43.9188926,33.4019259 45.0438906,33.4019259 C46.1688887,33.4019259 47.08425,34.3085556 47.08425,35.4231111 C47.0841191,36.5376667 46.1688887,37.4442963 45.0438906,37.4442963 Z" id="Shape"></path>

+                     <path d="M34.6066777,31.4573519 C32.3992109,31.4573519 30.603166,33.2363889 30.603166,35.4231111 C30.603166,37.6098333 32.3992109,39.3888704 34.6066777,39.3888704 C36.8141445,39.3888704 38.6100586,37.6098333 38.6100586,35.4231111 C38.6100586,33.2363889 36.8141445,31.4573519 34.6066777,31.4573519 Z M34.6066777,37.4442963 C33.481418,37.4442963 32.5661875,36.5376667 32.5661875,35.4231111 C32.5661875,34.3085556 33.4815488,33.4019259 34.6066777,33.4019259 C35.7318066,33.4019259 36.6470371,34.3085556 36.6470371,35.4231111 C36.6470371,36.5376667 35.7316758,37.4442963 34.6066777,37.4442963 Z" id="Shape"></path>

+                     <path d="M34.6066777,41.130963 C32.3992109,41.130963 30.6032969,42.9101296 30.6032969,45.0968519 C30.6032969,47.2835741 32.3992109,49.0626111 34.6066777,49.0626111 C36.8141445,49.0626111 38.6100586,47.2835741 38.6100586,45.0968519 C38.6100586,42.9101296 36.8141445,41.130963 34.6066777,41.130963 Z M34.6066777,47.1179074 C33.481418,47.1179074 32.5661875,46.2112778 32.5661875,45.0967222 C32.5663184,43.9822963 33.4815488,43.0754074 34.6066777,43.0754074 C35.7318066,43.0754074 36.6470371,43.982037 36.6470371,45.0967222 C36.6470371,46.2112778 35.7316758,47.1179074 34.6066777,47.1179074 Z" id="Shape"></path>

+                     <path d="M24.1694648,41.130963 C21.961998,41.130963 20.166084,42.9101296 20.166084,45.0968519 C20.166084,47.2835741 21.961998,49.0626111 24.1694648,49.0626111 C26.3769316,49.0626111 28.1728457,47.2835741 28.1728457,45.0968519 C28.1728457,42.9101296 26.3769316,41.130963 24.1694648,41.130963 Z M24.1694648,47.1179074 C23.0443359,47.1179074 22.1291055,46.2112778 22.1291055,45.0967222 C22.1291055,43.9821667 23.0443359,43.0754074 24.1694648,43.0754074 C25.2944629,43.0754074 26.2098242,43.982037 26.2098242,45.0967222 C26.2096934,46.2112778 25.2944629,47.1179074 24.1694648,47.1179074 Z" id="Shape"></path>

+                     <path d="M15.1205391,25.7496296 L16.5633945,24.3203333 C16.9466816,23.9406481 16.9466816,23.3251667 16.5632637,22.9453519 C16.1801074,22.5657963 15.5586563,22.5656667 15.1752383,22.9454815 L13.7325137,24.3746481 L12.2897891,22.9454815 C11.906502,22.5657963 11.2850508,22.5656667 10.9017637,22.9453519 C10.5183457,23.3251667 10.5183457,23.9406481 10.9016328,24.3203333 L12.3444883,25.7496296 L10.9016328,27.1789259 C10.518084,27.5584815 10.518084,28.173963 10.901502,28.5539074 C11.0930801,28.7436852 11.3443301,28.8385741 11.5954492,28.8385741 C11.8465684,28.8385741 12.0978184,28.7436852 12.2895273,28.5537778 L13.732252,27.1246111 L15.1749766,28.5537778 C15.3666855,28.7436852 15.6178047,28.8385741 15.8690547,28.8385741 C16.1201738,28.8385741 16.3714238,28.7436852 16.563002,28.5539074 C16.9464199,28.1740926 16.9464199,27.5586111 16.5631328,27.1789259 L15.1205391,25.7496296 Z" id="Shape"></path>

+                     <path d="M15.1205391,35.4232407 L16.5633945,33.9939444 C16.9466816,33.6142593 16.9466816,32.9987778 16.5632637,32.618963 C16.1801074,32.2394074 15.5586563,32.2392778 15.1752383,32.6190926 L13.7325137,34.0482593 L12.2897891,32.6190926 C11.906502,32.2392778 11.2850508,32.2394074 10.9017637,32.618963 C10.5183457,32.9987778 10.5183457,33.6142593 10.9016328,33.9939444 L12.3444883,35.4232407 L10.9016328,36.852537 C10.518084,37.2320926 10.518084,37.8475741 10.901502,38.2275185 C11.0930801,38.4172963 11.3443301,38.5121852 11.5954492,38.5121852 C11.8465684,38.5121852 12.0978184,38.4172963 12.2895273,38.2273889 L13.732252,36.7982222 L15.1749766,38.2273889 C15.3666855,38.4172963 15.6178047,38.5121852 15.8690547,38.5121852 C16.1201738,38.5121852 16.3714238,38.4172963 16.563002,38.2275185 C16.9464199,37.8477037 16.9464199,37.2322222 16.5631328,36.852537 L15.1205391,35.4232407 Z" id="Shape"></path>

+                     <path d="M16.5632637,46.5257593 L15.1205391,45.0965926 L16.5632637,43.6674259 C16.9462891,43.2877407 16.9462891,42.6722593 16.563002,42.2923148 C16.179584,41.9127593 15.5582637,41.9127593 15.1748457,42.2923148 L13.7321211,43.7214815 L12.2893965,42.2923148 C11.9059785,41.9127593 11.2846582,41.9127593 10.9012402,42.2923148 C10.5179531,42.6721296 10.5179531,43.2876111 10.9012402,43.6674259 L12.3439648,45.0965926 L10.9012402,46.5257593 C10.5179531,46.9055741 10.5179531,47.5210556 10.9012402,47.9008704 C11.0929492,48.0906481 11.3441992,48.185537 11.5953184,48.185537 C11.8464375,48.185537 12.0976875,48.0906481 12.2893965,47.9008704 L13.7321211,46.4717037 L15.1748457,47.9008704 C15.3665547,48.0906481 15.6178047,48.185537 15.8689238,48.185537 C16.120043,48.185537 16.371293,48.0906481 16.563002,47.9008704 C16.9465508,47.5209259 16.9465508,46.9054444 16.5632637,46.5257593 Z" id="Shape"></path>

+                     <path d="M66.9435996,49.4183148 L64.2668711,35.4643333 C64.1657168,34.9368704 63.6507852,34.5905 63.1192344,34.6907037 C62.5867676,34.7909074 62.2371113,35.2998333 62.3382656,35.8275556 L65.0149941,49.781537 C65.1646973,50.5625556 64.4990156,51.2997593 63.592291,51.2997593 L49.068209,51.2997593 L58.4887754,41.9678519 C58.6611172,41.7971296 58.7761426,41.5477222 58.7761426,41.2802963 L58.7761426,17.2579815 L61.4677891,31.2901296 C61.5689434,31.8175926 62.0832207,32.1640926 62.6152949,32.0637593 C63.1477617,31.9635556 63.497418,31.4546296 63.3962637,30.9269074 L58.7697305,6.80840741 C58.703123,5.37353704 57.5073301,4.2257963 56.0428828,4.2257963 L47.4414961,4.2257963 L47.4414961,1.09951852 C47.4414961,0.562462963 47.0022012,0.127296296 46.4600508,0.127296296 C45.9179004,0.127296296 45.4786055,0.562462963 45.4786055,1.09951852 L45.4786055,4.22566667 L38.9055391,4.22566667 L38.9055391,1.09951852 C38.9055391,0.562462963 38.4662441,0.127296296 37.9240937,0.127296296 C37.3819434,0.127296296 36.9426484,0.562462963 36.9426484,1.09951852 L36.9426484,4.22566667 L30.3694512,4.22566667 L30.3694512,1.09951852 C30.3694512,0.562462963 29.9301562,0.127296296 29.3880059,0.127296296 C28.8458555,0.127296296 28.4065605,0.562462963 28.4065605,1.09951852 L28.4065605,4.22566667 L21.8334941,4.22566667 L21.8334941,1.09951852 C21.8334941,0.562462963 21.3941992,0.127296296 20.8520488,0.127296296 C20.3098984,0.127296296 19.8706035,0.562462963 19.8706035,1.09951852 L19.8706035,4.22566667 L13.2975371,4.22566667 L13.2975371,1.09951852 C13.2975371,0.562462963 12.8582422,0.127296296 12.3160918,0.127296296 C11.7739414,0.127296296 11.3346465,0.562462963 11.3346465,1.09951852 L11.3346465,4.22566667 L2.73325977,4.22566667 C1.22615234,4.2257963 0,5.4402963 0,6.93337037 L0,53.1652593 C0,54.6582037 1.22615234,55.8727037 2.73325977,55.8727037 L27.0979668,55.8727037 C27.6401172,55.8727037 28.0794121,55.437537 28.0794121,54.9004815 C28.0794121,54.3634259 27.6401172,53.9282593 27.0979668,53.9282593 L2.73325977,53.9282593 C2.30862109,53.9282593 1.96302148,53.586037 1.96302148,53.1653889 L1.96302148,16.8493889 L56.813252,16.8493889 L56.813252,40.3076852 L45.7967246,40.3076852 C44.2896172,40.3076852 43.0635957,41.5223148 43.0635957,43.0152593 L43.0635957,53.9281296 L31.6781758,53.9281296 C31.1360254,53.9281296 30.6967305,54.3632963 30.6967305,54.9003519 C30.6967305,55.4374074 31.1360254,55.8725741 31.6781758,55.8725741 L44.045041,55.8725741 C44.2982539,55.8725741 44.5521211,55.7731481 44.7391191,55.5879074 L47.1050566,53.2442037 L63.5924219,53.2442037 C65.7241211,53.2442037 67.3249238,51.4057963 66.9435996,49.4183148 Z M1.96302148,14.9048148 L1.96302148,6.93337037 C1.96302148,6.51272222 2.30862109,6.17037037 2.73325977,6.17037037 L11.3346465,6.17037037 L11.3346465,10.5375926 C11.3346465,11.0746481 11.7739414,11.5098148 12.3160918,11.5098148 C12.8582422,11.5098148 13.2975371,11.0746481 13.2975371,10.5375926 L13.2975371,6.17037037 L19.8706035,6.17037037 L19.8706035,10.5375926 C19.8706035,11.0746481 20.3098984,11.5098148 20.8520488,11.5098148 C21.3941992,11.5098148 21.8334941,11.0746481 21.8334941,10.5375926 L21.8334941,6.17037037 L28.4065605,6.17037037 L28.4065605,10.5375926 C28.4065605,11.0746481 28.8458555,11.5098148 29.3880059,11.5098148 C29.9301562,11.5098148 30.3694512,11.0746481 30.3694512,10.5375926 L30.3694512,6.17037037 L36.9426484,6.17037037 L36.9426484,10.5375926 C36.9426484,11.0746481 37.3819434,11.5098148 37.9240937,11.5098148 C38.4662441,11.5098148 38.9055391,11.0746481 38.9055391,10.5375926 L38.9055391,6.17037037 L45.4786055,6.17037037 L45.4786055,10.5375926 C45.4786055,11.0746481 45.9179004,11.5098148 46.4600508,11.5098148 C47.0022012,11.5098148 47.4414961,11.0746481 47.4414961,10.5375926 L47.4414961,6.17037037 L56.0428828,6.17037037 C56.4675215,6.17037037 56.8131211,6.51272222 56.8131211,6.93337037 L56.8131211,14.9049444 L1.96302148,14.9049444 L1.96302148,14.9048148 Z M45.0264863,52.5531481 L45.0264863,43.0153889 C45.0264863,42.5947407 45.3719551,42.2523889 45.7965937,42.2523889 L55.4249648,42.2523889 C54.4428652,43.2253889 46.0106797,51.5782037 45.0264863,52.5531481 Z" id="Shape"></path>

+                 </g>

+             </g>

+         </g>

+     </g>

+ </svg> 

\ No newline at end of file

@@ -0,0 +1,21 @@ 

+ <?xml version="1.0" encoding="UTF-8"?>

+ <svg width="81px" height="80px" viewBox="0 0 81 80" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">

+     <!-- Generator: Sketch 50.2 (55047) - http://www.bohemiancoding.com/sketch -->

+     <title>search</title>

+     <desc>Created with Sketch.</desc>

+     <defs></defs>

+     <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" fill-opacity="0.632670969">

+         <g id="ES-4" transform="translate(-140.000000, -199.000000)" fill="#9499A1" fill-rule="nonzero">

+             <g id="Group-3" transform="translate(56.000000, 199.000000)">

+                 <g id="search" transform="translate(84.000000, 0.000000)">

+                     <path d="M67.7357754,24.4746457 L52.6226309,13.5508661 C52.0636992,13.1469291 51.2817012,13.2703937 50.8755937,13.8267717 C50.4696445,14.3831496 50.5939922,15.1617323 51.1529238,15.5658268 L66.2662266,26.4894488 C66.4881855,26.6497638 66.7451074,26.7270866 66.9999727,26.7270866 C67.3866211,26.7270866 67.768207,26.5489764 68.0131055,26.2135433 C68.4190547,25.6571654 68.2948652,24.8785827 67.7357754,24.4746457 Z" id="Shape"></path>

+                     <path d="M30.5105801,18.4993701 C30.4023691,17.820315 29.7614883,17.356378 29.0793164,17.4648819 L10.6331484,20.3787402 C9.95097656,20.4864567 9.48570117,21.1244094 9.59391211,21.8034646 C9.69168164,22.4165354 10.2232441,22.8535433 10.8275801,22.8535433 C10.8927598,22.8535433 10.9588887,22.8485039 11.0251758,22.8379528 L29.471502,19.9240945 C30.153832,19.816378 30.6191074,19.1785827 30.5105801,18.4993701 Z" id="Shape"></path>

+                     <path d="M80.4837832,20.5595276 L52.4161758,0.272598425 C52.1478633,0.0787401575 51.8134219,-0.00157480315 51.4853086,0.0505511811 C51.1578281,0.102362205 50.8642031,0.281417323 50.6691387,0.548503937 L38.4288047,17.3292913 L36.7434668,6.75779528 C36.6915762,6.43165354 36.511541,6.13952756 36.2430703,5.94535433 C35.9745996,5.7511811 35.6395254,5.67165354 35.3122031,5.72330709 L1.05489844,11.1348031 C0.372726562,11.2425197 -0.0925488281,11.8804724 0.0156621094,12.5593701 L6.70623047,54.5299213 C6.7582793,54.856063 6.93815625,55.148189 7.20646875,55.3423622 C7.4214668,55.4977953 7.67886328,55.5798425 7.94132227,55.5798425 C7.98477539,55.5798425 10.6740176,55.16021 16.0090488,54.3209449 L16.0090488,67.6793701 C16.0090488,68.3669291 16.5690879,68.9244094 17.2598027,68.9244094 L51.9459961,68.9244094 C52.6368691,68.9244094 53.19675,68.3669291 53.19675,67.6793701 L53.19675,64.1686614 C54.0548438,63.6781102 54.8653184,63.111811 55.6178906,62.4711811 L58.734334,65.5735433 L57.7321172,66.5711811 C57.2437441,67.0573228 57.2437441,67.8456693 57.7321172,68.3319685 L69.0521836,79.600315 C69.2964492,79.8434646 69.6164941,79.9650394 69.9366973,79.9650394 C70.2567422,79.9650394 70.5769453,79.8434646 70.8212109,79.600315 L74.5946719,75.8440945 C74.8291289,75.6107087 74.9609121,75.2940157 74.9609121,74.9637795 C74.9609121,74.6335433 74.8291289,74.3168504 74.5946719,74.0834646 L63.2744473,62.8151181 C63.039832,62.5815748 62.7216855,62.4503937 62.3899336,62.4503937 C62.0581816,62.4503937 61.7401934,62.5815748 61.5054199,62.8151181 L60.5032031,63.8127559 L57.3867598,60.7105512 C59.8548867,57.8425197 61.2011953,54.2322835 61.2011953,50.4154331 C61.2011953,50.0070866 61.1841094,49.5935433 61.1519941,49.1807874 L80.7611133,22.2982677 C81.1670625,21.7418898 81.042873,20.9633071 80.4837832,20.5595276 Z M62.3897754,65.456378 L71.9411309,74.9640945 L69.9365391,76.9595276 L60.3853418,67.451811 L62.3897754,65.456378 Z M16.009207,25.183622 L16.009207,30.2861417 L12.3058301,30.8711811 C11.6236582,30.9788976 11.1583828,31.6168504 11.2665938,32.2959055 C11.3643633,32.9089764 11.8959258,33.3459843 12.5002617,33.3459843 C12.5654414,33.3459843 12.6315703,33.3409449 12.6978574,33.3303937 L16.009207,32.8074016 L16.009207,41.0431496 L13.9783535,41.3637795 C13.2961816,41.4714961 12.8309063,42.1094488 12.9391172,42.7885039 C13.0368867,43.4015748 13.5684492,43.8385827 14.1727852,43.8385827 C14.2379648,43.8385827 14.3040938,43.8335433 14.3703809,43.8229921 L16.009207,43.564252 L16.009207,51.8 L8.98055859,52.9102362 L2.68217578,13.3988976 L34.4692969,8.37779528 L36.3504902,20.1785827 L33.6077227,23.9385827 L17.2598027,23.9385827 C16.5690879,23.9387402 16.009207,24.496063 16.009207,25.183622 Z M50.6955586,66.4344882 L18.5105566,66.4344882 L18.5105566,52.8629921 L18.5105566,42.1061417 L18.5105566,31.3494488 L18.5105566,26.4289764 L34.2430664,26.4289764 C34.2433828,26.4289764 34.2436992,26.4291339 34.2440156,26.4291339 C34.2444902,26.4291339 34.2449648,26.4289764 34.2452812,26.4289764 L38.41425,26.4289764 L48.4215469,26.4289764 C48.4218633,26.4289764 48.4221797,26.4291339 48.4224961,26.4291339 C48.4229707,26.4291339 48.4234453,26.4289764 48.4240781,26.4289764 L50.695084,26.4289764 L50.695084,27.7297638 L50.695084,35.5059843 C48.9663984,34.8801575 47.1510176,34.5629921 45.2753613,34.5629921 C44.9258906,34.5629921 44.578002,34.575748 44.2320117,34.5981102 C44.1386719,34.576063 44.0415352,34.5629921 43.9413926,34.5629921 L25.264248,34.5629921 C24.5735332,34.5629921 24.0134941,35.1204724 24.0134941,35.8080315 C24.0134941,36.4955906 24.5735332,37.0530709 25.264248,37.0530709 L36.7051816,37.0530709 C35.3538105,37.9130709 34.1250469,38.9811024 33.0679336,40.2362205 C31.8206602,41.7165354 30.872707,43.3787402 30.2402109,45.1869291 L25.2644063,45.1869291 C24.5736914,45.1869291 24.0136523,45.7444094 24.0136523,46.4319685 C24.0136523,47.1195276 24.5736914,47.6770079 25.2644063,47.6770079 L29.5890469,47.6770079 C29.4303691,48.5798425 29.3501602,49.4962205 29.3501602,50.416063 C29.3501602,52.2845669 29.6683066,54.0916535 30.2958984,55.8110236 L25.2645645,55.8110236 C24.5738496,55.8110236 24.0138105,56.3685039 24.0138105,57.056063 C24.0138105,57.743622 24.5738496,58.3011024 25.2645645,58.3011024 L31.459166,58.3011024 C34.2989121,63.2346457 39.5229375,66.2689764 45.2758359,66.2689764 C47.1527578,66.2689764 48.9681387,65.9522835 50.6955586,65.3275591 L50.6955586,66.4344882 Z M54.7680234,59.8645669 C54.7678652,59.8647244 54.767707,59.8648819 54.7675488,59.8650394 C53.7696035,60.8584252 52.6286426,61.6848819 51.3767813,62.3218898 C49.4775527,63.2883465 47.4248672,63.7784252 45.2756777,63.7784252 C40.2070078,63.7784252 35.6237051,60.9851969 33.3145723,56.4888189 C33.3144141,56.4885039 33.3142559,56.488189 33.3140977,56.487874 C32.3435215,54.5976378 31.8515098,52.5546457 31.8515098,50.4155906 C31.8515098,49.1817323 32.0222109,47.9552756 32.3591836,46.7707087 C32.8769824,44.9497638 33.7605469,43.2892913 34.9850391,41.835748 C37.5455566,38.796063 41.2963945,37.0527559 45.2758359,37.0527559 C47.4224941,37.0527559 49.4753379,37.5434646 51.3767813,38.5114961 C55.425832,40.5727559 58.1341113,44.4792126 58.6205859,48.9615748 C58.6207441,48.9623622 58.6209023,48.9633071 58.6209023,48.964252 C58.6732676,49.4483465 58.7000039,49.9365354 58.7000039,50.4155906 C58.6998457,53.9851969 57.3035449,57.3406299 54.7680234,59.8645669 Z M60.5191816,45.8103937 C59.3544902,41.9694488 56.7567949,38.6959055 53.19675,36.664252 L53.19675,30.1722835 L59.9956875,35.0862992 C60.2176465,35.2466142 60.4745684,35.323937 60.7294336,35.323937 C61.116082,35.323937 61.497668,35.1458268 61.7425664,34.8103937 C62.1485156,34.2540157 62.024168,33.4754331 61.4652363,33.0713386 L53.19675,27.0951181 L53.19675,25.183937 C53.19675,24.496378 52.6368691,23.9388976 51.9459961,23.9388976 L48.8300273,23.9388976 L46.3519336,22.1477165 C45.793002,21.7437795 45.0106875,21.8670866 44.6048965,22.423622 C44.2646016,22.8900787 44.2979824,23.511811 44.6465039,23.9388976 L38.4140918,23.9388976 L36.6986953,23.9388976 L38.6784492,21.2248819 C38.6786074,21.2247244 38.6787656,21.2245669 38.6789238,21.224252 L51.9584941,3.01905512 L78.0020508,21.8428346 L60.5191816,45.8103937 Z" id="Shape"></path>

+                     <path d="M45.2756777,39.8748031 C39.4367168,39.8748031 34.6863516,44.6034646 34.6863516,50.415748 C34.6863516,56.2280315 39.4367168,60.9566929 45.2756777,60.9566929 C51.1146387,60.9566929 55.8650039,56.2280315 55.8650039,50.415748 C55.8650039,44.6033071 51.1146387,39.8748031 45.2756777,39.8748031 Z M45.2756777,58.4666142 C40.8159316,58.4666142 37.1878594,54.8549606 37.1878594,50.415748 C37.1878594,45.976378 40.8160898,42.3648819 45.2756777,42.3648819 C49.7354238,42.3648819 53.3634961,45.9765354 53.3634961,50.415748 C53.3634961,54.8549606 49.7352656,58.4666142 45.2756777,58.4666142 Z" id="Shape"></path>

+                     <path d="M48.8282871,50.1993701 C48.3397559,49.7132283 47.5479492,49.7132283 47.0592598,50.1993701 L43.7240215,53.5193701 C43.2356484,54.0055118 43.2356484,54.7938583 43.7240215,55.28 C43.9682871,55.5229921 44.2884902,55.6447244 44.6085352,55.6447244 C44.9285801,55.6447244 45.2487832,55.5231496 45.4930488,55.28 L48.8282871,51.96 C49.3168184,51.4737008 49.3168184,50.6853543 48.8282871,50.1993701 Z" id="Shape"></path>

+                     <path d="M47.4941602,44.8874016 C47.0056289,44.4012598 46.2138223,44.4012598 45.725291,44.8874016 L42.0565605,48.5393701 C41.5681875,49.0255118 41.5681875,49.8138583 42.0565605,50.3 C42.3008262,50.5429921 42.6210293,50.6647244 42.9410742,50.6647244 C43.2611191,50.6647244 43.5813223,50.5431496 43.8255879,50.3 L47.4941602,46.6480315 C47.9826914,46.1617323 47.9826914,45.3733858 47.4941602,44.8874016 Z" id="Shape"></path>

+                 </g>

+             </g>

+         </g>

+     </g>

+ </svg> 

\ No newline at end of file

empty file added

@@ -0,0 +1,14 @@ 

+ <?xml version="1.0" encoding="UTF-8"?>

+ <svg width="12px" height="12px" viewBox="0 0 12 12" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">

+     <!-- Generator: Sketch 50.1 (55044) - http://www.bohemiancoding.com/sketch -->

+     <title>search - material</title>

+     <desc>Created with Sketch.</desc>

+     <defs></defs>

+     <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">

+         <g id="Search" transform="translate(-312.000000, -57.000000)" fill="#3B6FBB">

+             <g id="SearchBar" transform="translate(24.000000, 49.000000)">

+                 <path d="M292.593639,15.752109 C293.167847,15.752109 293.697011,15.6085529 294.181147,15.3214363 C294.665283,15.0343197 295.048082,14.6486885 295.329557,14.1645311 C295.611031,13.6803737 295.751766,13.1511864 295.751766,12.5769532 C295.751766,12.0027201 295.611031,11.4735327 295.329557,10.9893754 C295.048082,10.505218 294.665283,10.1224016 294.181147,9.84091477 C293.697011,9.55942793 293.167847,9.41868662 292.593639,9.41868662 C292.019432,9.41868662 291.490268,9.55942793 291.006132,9.84091477 C290.521996,10.1224016 290.136382,10.505218 289.849278,10.9893754 C289.562174,11.4735327 289.418624,12.0027201 289.418624,12.5769532 C289.418624,13.1511864 289.562174,13.6803737 289.849278,14.1645311 C290.136382,14.6486885 290.521996,15.0343197 291.006132,15.3214363 C291.490268,15.6085529 292.019432,15.752109 292.593639,15.752109 Z M297.11625,16.0526377 L299.779645,18.7161507 C300.073455,19.0099741 300.073455,19.4863422 299.779645,19.7801656 L299.779645,19.7801656 C299.486558,20.0732652 299.011361,20.0732757 298.718261,19.7801891 C298.717827,19.779755 298.717394,19.7793204 298.716961,19.7788853 L296.050517,17.0994419 C295.85918,16.9071723 295.751766,16.646958 295.751766,16.3757065 L295.751766,16.2418937 L295.549106,16.0561133 C295.155042,16.405157 294.701875,16.6725655 294.189591,16.8583468 C293.677308,17.0441281 293.145329,17.1370174 292.593639,17.1370174 C291.760475,17.1370174 290.992062,16.9343499 290.288375,16.5290088 C289.584689,16.1236678 289.030193,15.5775915 288.62487,14.8907636 C288.208288,14.1814167 288,13.4101543 288,12.5769532 C288,11.7437522 288.205473,10.9753046 288.616426,10.2715875 C289.027379,9.56787038 289.584689,9.01334961 290.288375,8.60800855 C290.992062,8.20266749 291.760475,8 292.593639,8 C293.426804,8 294.198032,8.20829714 294.907347,8.62489768 C295.594145,9.03023874 296.137382,9.58194468 296.537076,10.2800321 C296.93677,10.9781194 297.136614,11.7437522 297.136614,12.5769532 C297.136614,13.1399269 297.043728,13.6775588 296.857955,14.1898648 C296.672182,14.7021709 296.404786,15.1553579 296.055757,15.5494395 L296.241529,15.752109 L296.390732,15.752109 C296.662856,15.752109 296.923833,15.8602129 297.11625,16.0526377 Z" id="search---material"></path>

+             </g>

+         </g>

+     </g>

+ </svg> 

\ No newline at end of file

@@ -0,0 +1,12 @@ 

+ <?xml version="1.0" encoding="UTF-8"?>

+ <svg width="13px" height="12px" viewBox="0 0 13 12" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">

+     <!-- Generator: Sketch 50.1 (55044) - http://www.bohemiancoding.com/sketch -->

+     <title>star - FontAwesome</title>

+     <desc>Created with Sketch.</desc>

+     <defs></defs>

+     <g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">

+         <g id="star" fill="#3B6FBB">

+             <path d="M13,4.65028355 C13,4.78638941 12.8984375,4.91493384 12.796875,5.01323251 L9.9609375,7.6899811 L10.6328125,11.4706994 C10.640625,11.5236295 10.640625,11.5689981 10.640625,11.6219282 C10.640625,11.8185255 10.546875,12 10.3203125,12 C10.2109375,12 10.1015625,11.9621928 10.0078125,11.9092628 L6.5,10.1247637 L2.9921875,11.9092628 C2.890625,11.9621928 2.7890625,12 2.6796875,12 C2.453125,12 2.3515625,11.8185255 2.3515625,11.6219282 C2.3515625,11.5689981 2.359375,11.5236295 2.3671875,11.4706994 L3.0390625,7.6899811 L0.1953125,5.01323251 C0.1015625,4.91493384 0,4.78638941 0,4.65028355 C0,4.42344045 0.2421875,4.33270321 0.4375,4.30245747 L4.359375,3.75047259 L6.1171875,0.310018904 C6.1875,0.166351607 6.3203125,0 6.5,0 C6.6796875,0 6.8125,0.166351607 6.8828125,0.310018904 L8.640625,3.75047259 L12.5625,4.30245747 C12.75,4.33270321 13,4.42344045 13,4.65028355 Z" id="star---FontAwesome"></path>

+         </g>

+     </g>

+ </svg> 

\ No newline at end of file

@@ -0,0 +1,18 @@ 

+ <?xml version="1.0" encoding="UTF-8"?>

+ <svg width="13px" height="12px" viewBox="0 0 13 12" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">

+     <!-- Generator: Sketch 50.1 (55044) - http://www.bohemiancoding.com/sketch -->

+     <title>notstar</title>

+     <desc>Created with Sketch.</desc>

+     <defs></defs>

+     <g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">

+         <g id="SearchEntry" transform="translate(-16.000000, -15.000000)" fill="#C9C9C9">

+             <g id="Dynamic-group">

+                 <g id="12:24" transform="translate(16.000000, 12.000000)">

+                     <g id="notstar" transform="translate(0.000000, 3.000000)">

+                         <path d="M8.8828125,7.34971645 L11.2734375,5.10396975 L7.9765625,4.63516068 L6.5,1.74669187 L5.0234375,4.63516068 L1.7265625,5.10396975 L4.1171875,7.34971645 L3.546875,10.5330813 L6.5,9.02835539 L9.4453125,10.5330813 L8.8828125,7.34971645 Z M13,4.65028355 C13,4.78638941 12.8984375,4.91493384 12.796875,5.01323251 L9.9609375,7.6899811 L10.6328125,11.4706994 C10.640625,11.5236295 10.640625,11.5689981 10.640625,11.6219282 C10.640625,11.826087 10.546875,12 10.3203125,12 C10.2109375,12 10.1015625,11.9621928 10.0078125,11.9092628 L6.5,10.1247637 L2.9921875,11.9092628 C2.890625,11.9621928 2.7890625,12 2.6796875,12 C2.453125,12 2.3515625,11.8185255 2.3515625,11.6219282 C2.3515625,11.5689981 2.359375,11.5236295 2.3671875,11.4706994 L3.0390625,7.6899811 L0.1953125,5.01323251 C0.1015625,4.91493384 0,4.78638941 0,4.65028355 C0,4.42344045 0.2421875,4.33270321 0.4375,4.30245747 L4.359375,3.75047259 L6.1171875,0.310018904 C6.1875,0.166351607 6.3203125,0 6.5,0 C6.6796875,0 6.8125,0.166351607 6.8828125,0.310018904 L8.640625,3.75047259 L12.5625,4.30245747 C12.75,4.33270321 13,4.42344045 13,4.65028355 Z" id="star-o---FontAwesome"></path>

+                     </g>

+                 </g>

+             </g>

+         </g>

+     </g>

+ </svg> 

\ No newline at end of file

@@ -1,46 +1,61 @@ 

- <!--

-   Generated template for the CalendarPage page.

- 

-   See http://ionicframework.com/docs/v2/components/#navigation for more info on

-   Ionic pages and navigation.

- -->

- 

- <ion-content padding class="calendar">

+ <!--Calendar Page Template-->

+ <ion-header no-border>

    <ion-navbar>

-     <button ion-button menuToggle>

-       <ion-icon name="menu"></ion-icon>

-     </button>

+     <ion-title>

+       <img src="./assets/img/Fedora.svg" height="24px" alt="Fedora">

+     </ion-title>

+     <ion-buttons end>

+       <button tappable (click)="openNotificationPage()">

+         <img src="./assets/img/notification.svg">

+       </button>

+     </ion-buttons>

    </ion-navbar>

-   <img id="cal_icon" src="assets/img/cal_logo.svg" />

+ </ion-header>

+ <ion-content class="calendar">

+   <ion-label>

+     <span class="label">Select a calendar</span>

+     <div (click)="showSearch()">

+       <span> {{selectedCalendar.realName}} </span>

+       <img src="./assets/img/dropdown.svg">

+     </div>

+   </ion-label>

+   <ion-segment [(ngModel)]="showEventsBy" (ionChange)="onSegmentChange()">

+     <ion-segment-button value="upcoming">

+       Upcoming Events

+     </ion-segment-button>

+     <ion-segment-button value="past">

+       Past Events

+     </ion-segment-button>

+   </ion-segment>

    <ion-list>

-     <ion-item>

- 

-       <ion-select [(ngModel)]="selectedCalendar" [compareWith]="compareCalendar" (ngModelChange)="updateMeetings()">

-         <ion-option *ngFor="let calendar of calendars" [value]="calendar" [selected]="calendar.realName == selectedCalendar.realName">

-           {{ calendar.displayName }}

-         </ion-option>

-       </ion-select>

-     </ion-item>

      <div *ngIf="meetings.length !== 0">

        <ion-card *ngFor="let meeting of meetings">

-         <ion-card-header>

-           <strong>{{ meeting.name }}</strong>

-         </ion-card-header>

-         <ion-card-content>

-           {{ meeting.description }}

-         </ion-card-content>

-         <ion-row center>

-           <ion-col width-67 padding>

-             <p><ion-icon name="calendar"></ion-icon> {{ meeting.time.toLocaleDateString() }}</p>

-             <p><ion-icon name="time"></ion-icon> {{ meeting.time.toLocaleTimeString() }}</p>

+         <ion-row>

+           <ion-col col-3 class="date" text-center (click)="openMeetingDetails(meeting)">

+             <p class="month">{{meeting.time.toLocaleDateString([], { month: 'short' })}}</p>

+             <p class="day">{{meeting.time.toLocaleDateString([], { day: '2-digit' })}} </p>

            </ion-col>

-           <ion-col width-33 padding>

-             <button ion-button class="add-button" small tappable (click)="addToCalendar(meeting)">

-               <ion-icon name="add"></ion-icon>Add

-             </button>

+           <ion-col col-8 class="details">

+             <ion-card-header class="body-title" (click)="openMeetingDetails(meeting)">{{meeting.name}}</ion-card-header>

+             <ion-card-content>

+               <p class="time" (click)="openMeetingDetails(meeting)">

+                 <img src="./assets/img/clock.svg">

+                 <span [innerHTML]="meeting.time.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit'}) + ' - ' + meeting.timeEnd.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' })"></span>

+               </p>

+               <p class="add">

+                 <img src="./assets/img/calendar.svg">

+                 <button tappable (click)="addToCalendar(meeting)">Add to Calendar</button>

+               </p>

+             </ion-card-content>

            </ion-col>

          </ion-row>

        </ion-card>

      </div>

    </ion-list>

- </ion-content>

+   <div *ngIf="meetings.length === 0" class="emptystate">

+     <img src="./assets/img/es-cal.svg">

+     <h1>We couldn't find any events</h1>

+     <h2>Seems like the schedule is light.

+       <br> Relax and Enjoy the moment</h2>

+   </div>

+ </ion-content> 

\ No newline at end of file

file modified
+213 -23

@@ -1,25 +1,215 @@ 

  .calendar {

-   #cal_icon {

-       float: none;

-       z-index: 1;

-       display: block;

-       position: absolute;

-       left: 0;

-       right: 0;

-       top: 20px;

-       margin: auto;

-   }

-   ion-list {

-       margin-top: 40px !important;

-   }

-   .item {

-       background-color: transparent;

-   }

-   ion-select {

-       margin: 0 auto;

-   }

-   .add-button {

-       background-color: #79db32;

-       float: right;

-   }

+     background-color: #EFF0F1 !important;

+     .card {

+         padding: 16px 24px;

+         background-color: #FFFFFF !important;

+         box-shadow: none;

+         margin: 4px 0;

+         width: 100%;

+     }

+     .card-header {

+         padding: 0 !important;

+     }

+     .card-content {

+         margin-top: 8px;

+         padding: 0 !important;

+     }

+     ion-label {

+         background-color: #fff;

+         padding: 12px 16px;

+         margin: 0 !important;

+         div {

+             display: inline;

+             float: right;

+         }

+     }

+     .emptystate {

+         height: 50vh;

+     }

+     ion-row {

+         .date {

+             background-color: rgba(#E8EFF8, 0.5);

+             padding: 8px 14px;

+             .month {

+                 font-family: "OpenSans-Bold";

+                 font-size: 14px;

+                 color: #396CB6;

+                 text-transform: uppercase;

+                 line-height: 14px;

+             }

+             .day {

+                 /* 25: */

+                 font-family: "OpenSans-Bold";

+                 font-size: 26px;

+                 color: #396CB6;

+                 line-height: 26px;

+             }

+         }

+         .details {

+             margin-left: 16px;

+             padding: 0 !important;

+             .card-content {

+                 margin-top: 0 !important;

+             }

+             ion-card-content {

+                 img {

+                     width: auto;

+                     height: 12px;

+                     margin-right: 4px;

+                 }

+                 p {

+                     display: flex;

+                     flex-direction: row;

+                     align-items: center;

+                 }

+                 .time {

+                     margin: 3px 0 6px 0;

+                     span {

+                         font-family: "OpenSans-Regular";

+                         font-size: 12px;

+                         color: #535961;

+                     }

+                 }

+                 .add {

+                     img {

+                         margin-right: 6px;

+                     }

+                     button {

+                         font-family: "OpenSans-Semibold";

+                         font-size: 13px;

+                         color: #396CB6;

+                         background-color: transparent;

+                         padding: 0;

+                     }

+                 }

+             }

+         }

+     }

  }

+ 

+ searchpage {

+     position: absolute;

+     top: 0 !important;

+     left: 0 !important;

+     display: block;

+     width: 100% !important;

+     height: 100% !important;

+     background-image: none;

+     .header::after {

+         background-image: none;

+         box-shadow: 0 2px 4px 0 rgba(86, 86, 86, 0.05);

+     }

+     ion-content {

+         [col-1],

+         [col-11] {

+             padding: 0 !important;

+         }

+         background-color: #EFF0F1 !important;

+         ion-list {

+             margin: 0 !important;

+         }

+         .card {

+             padding: 12px 16px;

+             margin: 0 0 2px 0;

+             width: 100%;

+             background-color: #fff !important;

+             box-shadow: none;

+         }

+         .card-header {

+             font-family: "OpenSans-Semibold";

+             font-size: 14px;

+             color: #3B6FBB;

+             line-height: 20px;

+             padding: 0;

+         }

+         .card-content {

+             font-family: "OpenSans-Regular";

+             font-size: 12px;

+             color: #535961;

+             line-height: 20px;

+             padding: 0;

+         }

+     }

+ }

+ 

+ searchpage,

+ meetingdetails {

+     ion-header {

+         padding: 16px 24px;

+         background-color: #fff;

+         span {

+             font-family: "Montserrat-Regular";

+             font-size: 16px;

+             color: #9A9FA6;

+             letter-spacing: 0.57px;

+             margin: 0 0 16px 16px;

+             text-transform: uppercase;

+         }

+         .toolbar-title {

+             padding: 0 !important;

+         }

+         .searchbar {

+             padding: 16px 0 0 0;

+             .searchbar-search-icon {

+                 right: 90%;

+                 background-image: url(../assets/img/search.svg);

+             }

+             .searchbar-input {

+                 box-shadow: none;

+                 padding: 8px 12px 8px 48px;

+                 line-height: 2.5rem;

+                 border: 1px solid transparent;

+                 font-family: "OpenSans-Regular";

+                 background: rgba(239, 240, 241, 0.50);

+                 &:focus {

+                     background: #fff;

+                     border: 1px solid rgba(#3B6FBB, 0.5);

+                 }

+             }

+         }

+     }

+ }

+ 

+ meetingdetails {

+     .header-md::after {

+         background-color: #ECEDEE;

+         background-image: none;

+     }

+     .scroll-content {

+         padding: 24px !important;

+         h1 {

+             margin: 0 0 12px 0;

+             font-family: "OpenSans-Semibold";

+             font-size: 16px;

+             color: #3C6EB4;

+             line-height: 20px;

+         }

+         hr {

+             height: 0;

+             background-color: none;

+             border: 1px solid #EFF0F1;

+             margin: 0;

+         }

+         .info {

+             margin: 12px 0;

+             max-width: 100%;

+             ion-label {

+                 margin: 0 0 6px 0;

+                 font-size: 11px;

+             }

+             p {

+                 margin: 0;

+             }

+         }

+         button {

+             margin-top: 12px;

+             background-color: #3C6EB4;

+             width: 100%;

+             padding: 14px;

+             font-family: "OpenSans-Semibold";

+             font-size: 14px;

+             color: #FFFFFF;

+             text-align: center;

+         }

+     }

+ } 

\ No newline at end of file

file modified
+185 -9

@@ -1,13 +1,15 @@ 

  import { Component } from '@angular/core';

  import { Calendar } from '@ionic-native/calendar';

+ import { ModalController, ViewController, NavParams, NavController, ToastController } from 'ionic-angular';

  

+ import { NotificationsPage } from '../../pages/notifications/notifications';

  import { FedoCalService, Calendar as CalendarType, Meeting } from '../../providers/fedo-cal/fedo-cal';

  

  

  /**

   * We default to the QA calendar

   */

- const DEFAULT_CALENDAR = { realName:'QA', displayName: 'QA' };

+ const DEFAULT_CALENDAR = { realName: 'QA', displayName: 'QA' };

  

  /**

   * The FedoCal interface

@@ -22,9 +24,14 @@ 

  export class CalendarPage {

  

    /**

+    * Set the current active segment as Upcoming Events in the interface

+    */

+   showEventsBy: string = "upcoming";

+ 

+   /**

     * List of calendars in FedoCal

     */

-   private calendars: CalendarType[];

+   public calendars: CalendarType[];

  

    /**

     * List of meetings in the selected calendar

@@ -34,9 +41,9 @@ 

    /**

     * ID of the selected calendar

     */

-   private selectedCalendar: CalendarType;

+   public selectedCalendar: CalendarType;

  

-   constructor(private fedoCal: FedoCalService, private calendar: Calendar) {

+   constructor(private fedoCal: FedoCalService, private calendar: Calendar, public modalCtrl: ModalController, public navCtrl: NavController) {

      this.calendars = [];

      this.meetings = [];

  

@@ -45,7 +52,17 @@ 

  

    ngOnInit() {

      this.updateCalendars();

-     this.updateMeetings();

+     /**

+      * Fetch upcoming meetings

+      */

+     this.updateMeetings('start');

+   }

+ 

+   /**

+    * Change the meeting view according to active segment

+    */

+   onSegmentChange() {

+     this.showEventsBy == 'upcoming' ? this.updateMeetings('start') : this.updateMeetings('end');

    }

  

    /**

@@ -61,21 +78,45 @@ 

  

    /**

     * Update the list of meetings for the selected calendar

+    * @param type type of meetings to fetch, upcoming or past

     */

-   updateMeetings(): void {

+   updateMeetings(type: string): void {

      this.fedoCal

-       .getMeetings(this.selectedCalendar)

+       .getMeetings(this.selectedCalendar, type)

        .subscribe(meetings => {

          this.meetings = meetings;

        });

    }

  

    /**

+    * Opens up the search modal component

+    */

+   showSearch() {

+     let searchModal = this.modalCtrl.create(Search, { calendars: this.calendars }, {

+       cssClass: "search-modal",

+       showBackdrop: false,

+       enableBackdropDismiss: false

+     });

+     /**

+      * Update calendars when search modal closes

+      */

+     searchModal.onDidDismiss(data => {

+       //Update calendar only if choice is made

+       if (data !== undefined) {

+         let receivedCalendar = { realName: data.calendarChoice };

+         this.selectedCalendar = receivedCalendar as CalendarType;

+         this.showEventsBy == 'upcoming' ? this.updateMeetings('start') : this.updateMeetings('end');

+       }

+     });

+     searchModal.present();

+   }

+ 

+   /**

     * Add a FedoCal meeting to the system calendar

     *

     * @param meeting meeting to add to the calendar

     */

-   addToCalendar(meeting:Meeting): void {

+   addToCalendar(meeting: Meeting): void {

      this.calendar.createEventInteractively(

        meeting.name,

        meeting.location,

@@ -92,7 +133,142 @@ 

     * @param b Calendar

     * @returns boolean value indicating if both calendars are equal

     */

-   compareCalendar(a:CalendarType, b:CalendarType) {

+   compareCalendar(a: CalendarType, b: CalendarType) {

      return a.realName === b.realName;

    }

+ 

+ 

+   /**

+    * Open the notifications pane from the home page

+    */

+   openNotificationPage() {

+     this.navCtrl.push(NotificationsPage, { animate: true, direction: 'forward' });

+   }

+ 

+   /**

+    * Pushes the meeting details page for specific meeting

+    * @param meeting meeting page to open

+    */

+   openMeetingDetails(meeting: Meeting) {

+     this.navCtrl.push(meetingDetails, { meeting: meeting });

+   }

  }

+ 

+ /**

+  * Search Modal Component

+  */

+ 

+ @Component({

+   templateUrl: 'search.html',

+   selector: 'searchpage',

+   providers: [FedoCalService, Calendar]

+ })

+ export class Search {

+ 

+   public calendars: any;

+ 

+   //to store the calendars in one place when reseting the list during search query

+   public allCalendars: any;

+ 

+ 

+   //Initialize array for showing calendar icon

+   calendarIcon: string[] = [];

+   //set icon values

+   activeIcon: string = './assets/img/star-active.svg';

+   inactiveIcon: string = './assets/img/star-inactive.svg';

+ 

+   constructor(public viewCtrl: ViewController, navParams: NavParams, public toastCtrl: ToastController) {

+     //store all the calendars in one place

+     this.allCalendars = navParams.get('calendars');

+ 

+     //initialise active list

+     this.calendars = this.allCalendars;

+     for (let i = 0; i < this.calendars.length; i++) {

+       //update src of icon

+       this.calendarIcon[i] = this.inactiveIcon;

+     }

+   }

+ 

+   /**

+    * Listens to input on the search bar

+    * 

+    * Returns calendars matching the query

+    * 

+    * @param query search query entered in the input box

+    */

+   onInput(query: string): void {

+ 

+     //reset the value of list

+     this.calendars = this.allCalendars

+ 

+     // if the value is an empty string don't filter the items

+     if (!query) {

+       return;

+     }

+ 

+     this.calendars = this.calendars.filter((v) => {

+       console.log(v);

+       if (v.realName && query) {

+         if (v.realName.toLowerCase().indexOf(query.toLowerCase()) > -1) {

+           return true;

+         }

+         return false;

+       }

+     });

+   }

+   /**

+    * Function called when someone taps the star to subscribe to the calendar

+    */

+   subscribeToCal(calendar: CalendarType, i: number): void {

+     /**

+      * Declare toasts for showing events

+      */

+     const subscribedToast = this.toastCtrl.create({

+       message: 'Subscribed to calendar: ' + calendar.realName,

+       duration: 2000

+     });

+     const unsubscribedToast = this.toastCtrl.create({

+       message: 'Unsubscribed from calendar: ' + calendar.realName,

+       duration: 2000

+     });

+ 

+     /**

+      * Fire event on the basis of selected icon

+      */

+     if (this.calendarIcon[i] === this.inactiveIcon) {

+       this.calendarIcon[i] = this.activeIcon;

+       subscribedToast.present();

+     } else {

+       this.calendarIcon[i] = this.inactiveIcon;

+       unsubscribedToast.present();

+     }

+   }

+ }

+ 

+ @Component({

+   templateUrl: 'meeting-details.html',

+   selector: 'meetingdetails',

+   providers: [Calendar]

+ })

+ 

+ export class meetingDetails {

+   private meeting: Meeting;

+   constructor(public navCtrl: NavController, params: NavParams, private calendar: Calendar) {

+     this.meeting = params.data.meeting;

+   }

+ 

+   /**

+  * Add a FedoCal meeting to the system calendar

+  *

+  * @param meeting meeting to add to the calendar

+  */

+   addToCalendar(meeting: Meeting): void {

+     this.calendar.createEventInteractively(

+       meeting.name,

+       meeting.location,

+       meeting.description,

+       meeting.time,

+       meeting.timeEnd

+     );

+   }

+ } 

\ No newline at end of file

@@ -0,0 +1,43 @@ 

+ <!--

+ Template for the meeting detail

+ -->

+ 

+ <ion-header>

+     <ion-title>

+         <img src="./assets/img/back.svg" tappable navPop>

+         <span>Meeting Details</span>

+     </ion-title>

+ </ion-header>

+ <ion-content>

+     <h1>{{meeting.name}}</h1>

+     <hr>

+     <ion-row>

+         <div class="info">

+             <ion-label>Description</ion-label>

+             <p [innerHTML]="meeting.description"></p>

+         </div>

+     </ion-row>

+     <ion-row>

+         <ion-col>

+             <div class="info">

+                 <ion-label>Date</ion-label>

+                 <p>{{meeting.time.toLocaleDateString([], { month: 'long', year: 'numeric', day: '2-digit' })}}</p>

+             </div>

+         </ion-col>

+         <ion-col>

+             <div class="info">

+                 <ion-label>Time</ion-label>

+                 <p [innerHTML]="meeting.time.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit'}) + ' - ' + meeting.timeEnd.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' })"></p>

+             </div>

+         </ion-col>

+     </ion-row>

+     <ion-row>

+         <div class="info">

+             <ion-label>Location</ion-label>

+             <p>{{meeting.location}}</p>

+         </div>

+     </ion-row>

+     <button tappable (click)="addToCalendar(meeting)">

+         Add to Calendar

+     </button>

+ </ion-content> 

\ No newline at end of file

@@ -0,0 +1,38 @@ 

+ <!--

+ Template for the modal window for search

+ -->

+ 

+ <ion-header>

+     <ion-title>

+         <img src="./assets/img/back.svg" tappable navPop>

+         <span>Select a Calendar</span>

+     </ion-title>

+     <ion-searchbar [(ngModel)]="query" (ionInput)="onInput($event.target.value)" placeholder="Enter a team or calendar name...">

+     </ion-searchbar>

+ </ion-header>

+ 

+ <ion-content>

+     <ion-list>

+         <ion-card *ngFor="let calendar of calendars let i = index">

+             <ion-row style="margin-bottom: 6px">

+                 <ion-col col-1 style="padding-right: 4px!important" tappable (click)="subscribeToCal(calendar,i)">

+                     <img [src]=calendarIcon[i] height="18px">

+                 </ion-col>

+                 <ion-col col-11 tappable (click)="this.viewCtrl.dismiss({ 'calendarChoice' : calendar.realName});">

+                     <ion-card-header>{{calendar.displayName}}</ion-card-header>

+                 </ion-col>

+             </ion-row>

+             <ion-row>

+                 <ion-col col-1></ion-col>

+                 <ion-col col-11 tappable (click)="this.viewCtrl.dismiss({ 'calendarChoice' : calendar.realName});">

+                     <ion-card-content>{{calendar.description}}</ion-card-content>

+                 </ion-col>

+             </ion-row>

+         </ion-card>

+     </ion-list>

+     <div *ngIf="calendars.length===0" class="emptystate">

+         <img src="./assets/img/es-search.svg">

+         <h1>We couldn’t find anything</h1>

+         <h2>Maybe a little spelling mistake?</h2>

+     </div>

+ </ion-content> 

\ No newline at end of file

@@ -199,15 +199,21 @@ 

     * @param calendar FedoCal calendar name

     * @returns Observable which emits an array of meetings

     */

-   fetchMeetings(calendar: Calendar): Observable<Meeting[]> {

+   fetchMeetings(calendar: Calendar, type: string): Observable<Meeting[]> {

  

-     return this.http.get(`${ENDPOINT}/meetings/`, { params: { calendar: calendar.realName } })

+     /**

+      * set search parameters to current date in order to get past and upcoming events

+      */

+     let todaysDate: any = new Date();

+     todaysDate = todaysDate.toISOString().split('T')[0];

+ 

+     return this.http.get(`${ENDPOINT}/meetings/`, { params: { calendar: calendar.realName, [type]: todaysDate } })

        .pipe(

          map((data: any) => data.meetings.map(m => {

            // FedoCal splits an ISO8601 string and sends us the date and time,

            // combine them together

-           const mTime = new Date(`${m.meeting_date}T${m.meeting_time_start}Z`);

-           const mTimeEnd = new Date(`${m.meeting_date_end}T${m.meeting_time_end}Z`);

+           const mTime: Date = new Date(`${m.meeting_date}T${m.meeting_time_start}Z`);

+           const mTimeEnd: Date = new Date(`${m.meeting_date_end}T${m.meeting_time_stop}Z`);

  

            return {

              name: m.meeting_name,

@@ -227,10 +233,13 @@ 

     * request is persisted into the disk cache for further requests.

     *

     * @param calendar FedoCal calendar name

+    * @param type Type of Meetings to fetch:

+    * - start(starting after today i.e upcoming meetings)

+    * - end(ended today i.e past meetings)

     * @returns Observable which emits an array of meetings

     */

-   getMeetings(calendar: Calendar): Observable<Meeting[]> {

-     return merge(this.loadCachedMeetings(calendar), this.fetchMeetings(calendar).pipe(

+   getMeetings(calendar: Calendar, type: string): Observable<Meeting[]> {

+     return merge(this.loadCachedMeetings(calendar), this.fetchMeetings(calendar, type).pipe(

        tap(x => this.storage.set(getCalendarStorageKey(calendar), x))

      ));

    }

file modified
+8 -1

@@ -39,7 +39,14 @@ 

  

  @font-face {

      font-family: 'OpenSans-Semibold';

-     src: url($font-path+'/fonts/opensans-semibold-webfont.woff2') format('woff2'), url('../assets/fonts/opensans-semibold-webfont.woff') format('woff');

+     src: url($font-path+'/opensans-semibold-webfont.woff2') format('woff2'), url('../assets/fonts/opensans-semibold-webfont.woff') format('woff');

+     font-weight: normal;

+     font-style: normal;

+ }

+ 

+ @font-face {

+     font-family: 'OpenSans-Bold';

+     src: url($font-path+'/opensans-bold-webfont.woff2') format('woff2'), url('../assets/fonts/opensans-bold-webfont.woff') format('woff');

      font-weight: normal;

      font-style: normal;

  }

1 new commit added

  • fix type of meeting time
4 months ago

1 new commit added

  • add notification page
4 months ago

2 new commits added

  • fix search icon
  • fix font
4 months ago

1 new commit added

  • add toast on calendar subscribe
4 months ago

1 new commit added

  • fix relative path to icon
4 months ago

37 new commits added

  • fix relative path to icon
  • add toast on calendar subscribe
  • fix search icon
  • fix font
  • add notification page
  • fix type of meeting time
  • fix conflicts
  • Update styles
  • Update styles
  • update fedocal ui
  • update fedo cal to fetch posts by date
  • add search modal
  • Add icons for the calendar page
  • Fix Merge Conflicts
  • pass query parameters natively
  • fix type of date
  • Refactor auto generated pages
  • Remove Inline SVG images
  • Fix Back icon on the navbar
  • Refactored and added comments
  • Remove the pages not needed in the new design
  • Remove conflicting style
  • Add global fonts,colors and typographic styles
  • Add Tabs Stylesheet
  • Update the app to show tabs view
  • Add Icons for the homepage
  • Add Home Page View
  • Add Tabs View
  • Add More and Notifications Page
  • Add community blog proxy
  • fix conflicting interface name
  • Remove unused imports and add HTTPS
  • update mag provider to fetch images
  • Add Community Blog Provider
  • Update beautifyDate to incorporate blog posts and social posts
  • update magazine provider to fetch images for carousel
  • Add Dates to the social
4 months ago

rebased onto b1fe254

4 months ago

1 new commit added

  • Add Empty States - No Calendar No Search Results
4 months ago

rebased onto bdb9f53

4 months ago

13 new commits added

  • Add Empty States
  • fix relative path to icon
  • add toast on calendar subscribe
  • fix search icon
  • fix font
  • add notification page
  • fix type of meeting time
  • Update styles
  • Update styles
  • update fedocal ui
  • update fedo cal to fetch posts by date
  • add search modal
  • Add icons for the calendar page
4 months ago

rebased onto 9520d01

4 months ago

14 new commits added

  • Merge branch 'calendar-ui' of ssh://pagure.io/forks/thelittlewonder/Fedora-app into calendar-ui
  • Add Empty States
  • fix relative path to icon
  • add toast on calendar subscribe
  • fix search icon
  • fix font
  • add notification page
  • fix type of meeting time
  • Update styles
  • Update styles
  • update fedocal ui
  • update fedo cal to fetch posts by date
  • add search modal
  • Add icons for the calendar page
4 months ago

15 new commits added

  • Add Empty States
  • fix relative path to icon
  • add toast on calendar subscribe
  • fix search icon
  • fix font
  • add notification page
  • fix type of meeting time
  • Update styles
  • Update styles
  • update fedocal ui
  • update fedo cal to fetch posts by date
  • add search modal
  • Add icons for the calendar page
  • fix css
  • Add config for unit testing
4 months ago

rebased onto 91e56aa

4 months ago

15 new commits added

  • rebase and fix conflicts
  • fix merge conflict and rebase
  • Add Empty States
  • fix relative path to icon
  • add toast on calendar subscribe
  • fix search icon
  • fix font
  • add notification page
  • fix type of meeting time
  • Update styles
  • Update styles
  • update fedocal ui
  • update fedo cal to fetch posts by date
  • add search modal
  • Add icons for the calendar page
4 months ago

rebased onto d884c17

4 months ago

15 new commits added

  • rebase and fix conflicts
  • fix merge conflict and rebase
  • Add Empty States
  • fix relative path to icon
  • add toast on calendar subscribe
  • fix search icon
  • fix font
  • add notification page
  • fix type of meeting time
  • Update styles
  • Update styles
  • update fedocal ui
  • update fedo cal to fetch posts by date
  • add search modal
  • Add icons for the calendar page
4 months ago

1 new commit added

  • add meeting detail page
4 months ago

16 new commits added

  • add meeting detail page
  • rebase and fix conflicts
  • fix merge conflict and rebase
  • Add Empty States
  • fix relative path to icon
  • add toast on calendar subscribe
  • fix search icon
  • fix font
  • add notification page
  • fix type of meeting time
  • Update styles
  • Update styles
  • update fedocal ui
  • update fedo cal to fetch posts by date
  • add search modal
  • Add icons for the calendar page
4 months ago

2 new commits added

  • Add 'loader' into calendar-ui
  • add homepage loader
4 months ago

18 new commits added

  • Add 'loader' into calendar-ui
  • add homepage loader
  • add meeting detail page
  • rebase and fix conflicts
  • fix merge conflict and rebase
  • Add Empty States
  • fix relative path to icon
  • add toast on calendar subscribe
  • fix search icon
  • fix font
  • add notification page
  • fix type of meeting time
  • Update styles
  • Update styles
  • update fedocal ui
  • update fedo cal to fetch posts by date
  • add search modal
  • Add icons for the calendar page
4 months ago

16 new commits added

  • add meeting detail page
  • rebase and fix conflicts
  • fix merge conflict and rebase
  • Add Empty States
  • fix relative path to icon
  • add toast on calendar subscribe
  • fix search icon
  • fix font
  • add notification page
  • fix type of meeting time
  • Update styles
  • Update styles
  • update fedocal ui
  • update fedo cal to fetch posts by date
  • add search modal
  • Add icons for the calendar page
4 months ago

rebased onto 1a78b3e

3 months ago

rebased onto 1c040c9

3 months ago

1 new commit added

  • fix add to calendar button
3 months ago

Pull-Request has been merged by a2batic

3 months ago