Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 4e003182

Přidáno uživatelem Martin Sebela před asi 4 roky(ů)

Re #8079 - finishing frontend
- new date label next to timeline
- changed intro images to images with real data
- locations box has maximum height with scrollbar
- new texts on intro pages (map points)
- CSS changes and repairs

Zobrazit rozdíly:

modules/crawler/DatasetConfigs/JIS.yaml
1 1
# jmeno datasetu, pod kterym bude zobrazen v aplikaci
2
display-name: Snímače JIS
2
display-name: Snímače JIS karet
3 3
# jednoslovný název datasetu, pod kterym bude reprezentovana v architektuře
4 4
dataset-name: JIS
5 5
# root slozka, ktera obsahuje odkazy na dataset
......
193 193
  - Parkoviste-vyjezd:
194 194
      x: 49.7231533
195 195
      y: 13.3518328
196
      
196
      
website/public/css/style.css
296 296
}
297 297

  
298 298
.swiper-slide {
299
  z-index: -1000;
300 299
  display: flex;
301 300
  justify-content: center;
302 301
  align-items: center;
303 302
}
304 303

  
305 304
.swiper-slide.slide-bg-1 {
306
  background: url("../img/bg-1.jpg") no-repeat bottom center;
305
  background: url("../img/bg-1.jpg") no-repeat top center;
307 306
  background-size: cover;
308 307
}
309 308

  
......
317 316
  background-size: cover;
318 317
}
319 318

  
319
.swiper-slide.slide-bg-3 .slide-text {
320
  width: 100%;
321
}
322

  
320 323
@media (max-width: 767.98px) {
321
  .swiper-slide.slide-bg-3 .container {
324
  .swiper-slide .container {
322 325
    max-width: 100%;
323 326
    height: 100%;
324 327
    overflow-y: scroll;
325 328
  }
326 329
}
327 330

  
328
.swiper-slide.slide-bg-3 .slide-text {
329
  width: 100%;
330
}
331

  
332 331
.slide-text {
333 332
  width: 600px;
334 333
  padding-bottom: 160px;
......
573 572
  border: 2px solid #fff;
574 573
}
575 574

  
576
@media (max-width: 767.98px) {
575
@media not all and (min-width: 1900px) and (max-width: 2100px) {
577 576
  .map-point {
578 577
    display: none;
579 578
  }
......
598 597

  
599 598
.map-point:hover .desc {
600 599
  display: block;
601
  width: 210px;
600
  width: 220px;
602 601
  padding: 10px 20px;
603 602
  z-index: 0;
604 603
  opacity: 0.75;
......
637 636
}
638 637

  
639 638
.map-point.point-1 {
640
  bottom: 12%;
641
  right: -75%;
639
  top: 455px;
640
  right: 32.5%;
642 641
}
643 642

  
644 643
.map-point.point-2 {
645
  top: 21%;
646
  right: -92%;
644
  top: 235px;
645
  right: 18%;
647 646
}
648 647

  
649 648
.map-point.point-3 {
650
  top: 22%;
651
  right: -92%;
649
  bottom: 430px;
650
  right: 20.8%;
652 651
}
653 652

  
654 653
#heatmap {
......
684 683
@media (max-width: 575.98px) {
685 684
  .map-locations {
686 685
    max-width: 240px;
686
    max-height: 70%;
687 687
    top: 80px;
688 688
    right: 10px;
689 689
  }
......
736 736

  
737 737
@media (max-width: 575.98px) {
738 738
  .map-locations .locations ul {
739
    max-height: 244px;
740
    overflow-y: scroll;
739 741
    font-size: 13.5px;
740 742
  }
741 743
}
......
833 835
  }
834 836
}
835 837

  
838
@media (max-width: 575.98px) {
839
  .player .next {
840
    margin-right: 0;
841
  }
842
}
843

  
836 844
.player .next:after {
837 845
  background: url("../img/btn-next.svg") no-repeat;
838 846
}
......
847 855
  background: url("../img/btn-prev.svg") no-repeat;
848 856
}
849 857

  
858
.player .datetime {
859
  display: flex;
860
}
861

  
862
@media (max-width: 390px) {
863
  .player .datetime {
864
    display: block;
865
    text-align: center;
866
    margin-right: 10px;
867
  }
868
}
869

  
870
.player .date {
871
  font-size: 15px;
872
  padding: 3px 12px 4px 12px;
873
  margin-right: 10px;
874
  text-align: center;
875
  border-radius: 15px;
876
  cursor: pointer;
877
  background: #0B155A;
878
}
879

  
880
@media (max-width: 390px) {
881
  .player .date {
882
    margin-right: 0;
883
  }
884
}
885

  
886
.player .date:hover {
887
  opacity: .7;
888
}
889

  
850 890
.player .timeline {
851 891
  display: flex;
852 892
  height: 30px;
......
865 905
  }
866 906
}
867 907

  
908
@media (max-width: 390px) {
909
  .player .timeline {
910
    display: inline-block;
911
    margin: 4px 0 0 0;
912
  }
913
}
914

  
868 915
@media (max-width: 991.98px) {
869 916
  .player .timeline .hour {
870 917
    display: none;
website/public/css/style.scss
274 274
}
275 275

  
276 276
.swiper-slide {
277
  z-index: -1000;
278 277
  display: flex;
279 278
  justify-content: center;
280 279
  align-items: center;
281 280

  
282 281
  &.slide-bg-1 {
283
    background: url($images-dir + 'bg-1.jpg') no-repeat bottom center;
282
    background: url($images-dir + 'bg-1.jpg') no-repeat top center;
284 283
    background-size: cover;
285 284
  }
286 285

  
......
293 292
    background: url($images-dir + 'bg-3.jpg') no-repeat bottom center;
294 293
    background-size: cover;
295 294

  
296
    @include media-breakpoint-down(sm) {
297
      .container {
298
        max-width: 100%;
299
        height: 100%;
300
        overflow-y: scroll;
301
      }
302
    }
303

  
304 295
    .slide-text {
305 296
      width: 100%;
306 297
    }
307 298
  }
299

  
300
  @include media-breakpoint-down(sm) {
301
    .container {
302
      max-width: 100%;
303
      height: 100%;
304
      overflow-y: scroll;
305
    }
306
  }
308 307
}
309 308

  
310 309
// TEXT VE SLIDU
......
534 533
  cursor: pointer;
535 534
  border: 2px solid #fff;
536 535

  
537
  @include media-breakpoint-down(sm) {
536
  @media not all and (min-width: 1900px) and (max-width: 2100px) {
538 537
    display: none;
539 538
  }
540 539

  
......
558 557

  
559 558
    .desc {
560 559
      display: block;
561
      width: 210px;
560
      width: 220px;
562 561
      padding: 10px 20px;
563 562
      z-index: 0;
564 563
      opacity: 0.75;
......
598 597
  }
599 598

  
600 599
  &.point-1 {
601
    bottom: 12%;
602
    right: -75%;
600
    top: 455px;
601
    right: 32.5%;
603 602
  }
604 603

  
605 604
  &.point-2 {
606
    top: 21%;
607
    right: -92%;
605
    top: 235px;
606
    right: 18%;
608 607
  }
609 608

  
610 609
  &.point-3 {
611
    top: 22%;
612
    right: -92%;
610
    bottom: 430px;
611
    right: 20.8%;
613 612
  }
614 613
}
615 614

  
......
646 645

  
647 646
  @include media-breakpoint-down(xs) {
648 647
    max-width: 240px;
648
    max-height: 70%;
649 649
    top: 80px;
650 650
    right: 10px;
651 651
  }
......
694 694
      list-style-image: url($images-dir + 'li-bullet.svg');
695 695

  
696 696
      @include media-breakpoint-down(xs) {
697
        max-height: 244px;
698
        overflow-y: scroll;
697 699
        font-size: 13.5px;
698 700
      }
699 701
    }
......
789 791
      order: 3;
790 792
    }
791 793

  
794
    @include media-breakpoint-down(xs) {
795
      margin-right: 0;
796
    }
797

  
792 798
    &:after {
793 799
      background: url($images-dir + 'btn-next.svg') no-repeat;
794 800
    }
......
804 810
    }
805 811
  }
806 812

  
813
  .datetime {
814
    display: flex;
815
    
816
    @media (max-width: 390px) {
817
      display: block;
818
      text-align: center;
819
      margin-right: 10px;
820
    }
821
  }
822

  
823
  .date {
824
    font-size: 15px;
825
    padding: 3px 12px 4px 12px;
826
    margin-right: 10px;
827
    text-align: center;
828
    border-radius: 15px;
829
    cursor: pointer;
830
    background: #0B155A;
831

  
832
    @media (max-width: 390px) {
833
      margin-right: 0;
834
    }
835

  
836
    &:hover {
837
      opacity: .7;
838
    }
839
  }
840

  
807 841
  .timeline {
808 842
    display: flex;
809 843
    height: 30px;
......
819 853
      margin-right: 20px;
820 854
    }
821 855

  
856
    @media (max-width: 390px) {
857
      display: inline-block;
858
      margin: 4px 0 0 0;
859
    }
860

  
822 861
    .hour {
823 862
      @include media-breakpoint-down(md) {
824 863
        display: none;
website/public/js/zcu-heatmap.js
377 377
  else {
378 378
    $(locationsWrapper).addClass(locationsDisplayClass);
379 379
  }
380
}
381

  
382
function openDatepicker() {
383
  if ($(window).width() <= 990) {
384
    $('.navbar-collapse').collapse();
385
  }
386

  
387
  $('#date').datepicker('show')
380 388
}
website/templates/heatmap.html.twig
116 116
    <div class="play" id="play-pause" onclick="changeAnimationState()"></div>
117 117
    <div class="next" onclick="next()"></div>
118 118

  
119
    <div class="datetime">
120
    <div class="date" onclick="openDatepicker()">{{ app.request.get('data_set')['date']|date('j. n. Y') }}</div>
121

  
119 122
    <div class="timeline">
120 123
      <div class="time hour-0" id="timeline">0:00</div>
121 124

  
......
145 148
      <div class="hour"></div>
146 149
      <div class="end-dot"></div>
147 150
    </div>
151
    </div>
148 152
  </div>
149 153

  
150 154
  <div id="heatmap"></div>
website/templates/index.html.twig
18 18
    </div>
19 19

  
20 20
    <nav class="navbar navbar-expand-lg">
21
      <a href="{{ path('heatmap') }}" class="navbar-brand shifted">
21
      <a href="/heatmap/?data_set[date]=2019-04-11&amp;data_set[time]=9&amp;data_set[type]=JIS" class="navbar-brand shifted">
22 22
        <h1>Heatmap.ZČU</h1>
23 23
      </a>
24 24

  
......
63 63
            <hr>
64 64
            <p>Zobrazte si heatmapu života univerzity hodinu po hodině během jednoho dne. Od ranního probouzení, kdy studenti a&nbsp;zaměstnanci přicházejí do laboratoří, přes polední špičku v&nbsp;menze až do samotného večera, kdy končí poslední z&nbsp;přednášek a&nbsp;cvičení.</p>
65 65
            <a href="/heatmap/?data_set[date]=2019-04-11&amp;data_set[time]=9&amp;data_set[type]=JIS" class="btn btn-primary" role="button">Vyzkoušet heatmapu</a>
66
          </div>
67
        </div>
66 68

  
67
            <div class="map-point point-1">
68
              <div class="desc">
69
                <div class="circle"></div>
70
                <strong>Menza</strong>
71
                <p>Polední špička v menze.</p>
72
              </div>
73
            </div>
69
        <div class="map-point point-1">
70
          <div class="desc">
71
            <div class="circle"></div>
72
            <strong>Bufet</strong>
73
            <p>Dopolední špička v&nbsp;bufetu před otevřením menzy.</p>
74
          </div>
75
        </div>
74 76

  
75
            <div class="map-point point-2">
76
              <div class="desc">
77
                <div class="circle"></div>
78
                <strong>Knihovna</strong>
79
                <p>Množství lidí v knihovně ukazuje, že se jedná o&nbsp;jedno z nejpopulárnějších míst na univerzitě.</p>
80
              </div>
81
            </div>
77
        <div class="map-point point-2">
78
          <div class="desc">
79
            <div class="circle"></div>
80
            <strong>Příjezdy</strong>
81
            <p>Využití parkoviště u&nbsp;FAV v&nbsp;dopoledních hodinách.</p>
82 82
          </div>
83 83
        </div>
84 84

  
......
93 93
            <hr>
94 94
            <p>Heatmapa vám také dává možnost prozkoumávat data vlastním způsobem &ndash; stačí jen zvolit konkrétní datum a&nbsp;čas, pro které chcete data zobrazit. Můžete tak objevit i&nbsp;různé anomálie, například narazit na noční návštěvníky kampusu nebo odhalit návraty na studentské koleje v&nbsp;brzkých ranních hodinách&hellip;</p>
95 95
            <a href="/heatmap/?data_set[date]=2019-04-11&amp;data_set[time]=9&amp;data_set[type]=JIS" class="btn btn-primary" role="button">Vyzkoušet heatmapu</a>
96
          </div>
97
        </div>
96 98

  
97
            <div class="map-point point-3">
98
              <div class="desc">
99
                <div class="circle"></div>
100
                <strong>Podivný pohyb studentů</strong>
101
                <p>Po středečním večeru bylo zaznamenáno relativně hodně vstupů na kolej kolem 4:00 ráno.</p>
102
              </div>
103
            </div>
99
        <div class="map-point point-3">
100
          <div class="desc">
101
            <div class="circle"></div>
102
            <strong>Nezvyklá aktivita</strong>
103
            <p>Po středečním večeru bylo zaznamenáno větší množství vstupů na kolej kolem 3:00 ráno.</p>
104 104
          </div>
105 105
        </div>
106 106

  

Také k dispozici: Unified diff