diff --git a/Server/conf/server.conf b/Server/conf/server.conf index 9adec8b..a25276d 100644 --- a/Server/conf/server.conf +++ b/Server/conf/server.conf @@ -42,6 +42,15 @@ location ^~ /api/v1/auth { } location ~ ^/api/v1/.*$ { + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header x-wiz-real-ip $remote_addr; + proxy_set_header Host $http_host; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Forwarded-Host $host; + proxy_set_header X-Forwarded-Port $server_port; proxy_pass http://local; } diff --git a/resources/webkit-transitions.css b/resources/webkit-transitions.css new file mode 100644 index 0000000..f87ca73 --- /dev/null +++ b/resources/webkit-transitions.css @@ -0,0 +1,324 @@ +/* +* jQuery Mobile Framework +* Copyright (c) jQuery Project +* Dual licensed under the MIT (MIT-LICENSE.txt) or GPL (GPL-LICENSE.txt) licenses. +*/ +.spin { + -webkit-transform: rotate(360deg); + -webkit-animation-name: spin; + -webkit-animation-duration: 1s; + -webkit-animation-iteration-count: infinite; +} +@-webkit-keyframes spin { + from {-webkit-transform: rotate(0deg);} + to {-webkit-transform: rotate(360deg);} +} + +/* + Transitions from jQtouch (with small modifications): http://www.jqtouch.com/ + Built by David Kaneda and maintained by Jonathan Stark. +*/ +.slide.in { + -webkit-transform: translate3d(0,0,0); + -webkit-animation-name: slideinfromright; + z-index: 10; +} + +.slide.out { + -webkit-transform: translate3d(-100%,0,0); + -webkit-animation-name: slideouttoleft; + z-index: 0; +} + +.slide.in.reverse { + -webkit-transform: translate3d(0,0,0); + -webkit-animation-name: slideinfromleft; + z-index: 0; +} + +.slide.out.reverse { + -webkit-transform: translate3d(100%,0,0); + -webkit-animation-name: slideouttoright; + z-index: 10; +} + +.slideup.in { + -webkit-transform: translate3d(0,0,0); + -webkit-animation-name: slideinfrombottom; + z-index: 10; +} + +.slideup.out { + -webkit-animation-name: dontmove; + z-index: 0; +} + +.slideup.out.reverse { + -webkit-transform: translate3d(0,100%,0); + -webkit-animation-name: slideouttobottom; + z-index: 10; +} + +.slideup.in.reverse { + -webkit-animation-name: dontmove; + z-index: 0; +} + +.slidedown.in { + -webkit-transform: translate3d(0,0,0); + -webkit-animation-name: slideinfromtop; + z-index: 10; +} + +.slidedown.out { + -webkit-animation-name: dontmove; + z-index: 0; +} + +.slidedown.out.reverse { + -webkit-transform: translate3d(0,-100%,0); + -webkit-animation-name: slideouttotop; + z-index: 10; +} + +.slidedown.in.reverse { + -webkit-animation-name: dontmove; + z-index: 0; +} + +@-webkit-keyframes slideinfromright { + from { -webkit-transform: translate3d(100%,0,0); } + to { -webkit-transform: translate3d(0,0,0); } +} + +@-webkit-keyframes slideinfromleft { + from { -webkit-transform: translate3d(-100%,0,0); } + to { -webkit-transform: translate3d(0,0,0); } +} + +@-webkit-keyframes slideouttoleft { + from { -webkit-transform: translate3d(0,0,0); } + to { -webkit-transform: translate3d(-100%,0,0); } +} + +@-webkit-keyframes slideouttoright { + from { -webkit-transform: translate3d(0,0,0); } + to { -webkit-transform: translate3d(100%,0,0); } +} + + +@-webkit-keyframes slideinfromtop { + from { -webkit-transform: translate3d(0,-100%,0); } + to { -webkit-transform: translate3d(0,0,0); } +} + +@-webkit-keyframes slideinfrombottom { + from { -webkit-transform: translate3d(0,100%,0); } + to { -webkit-transform: translate3d(0,0,0); } +} + +@-webkit-keyframes slideouttobottom { + from { -webkit-transform: translate3d(0,0,0); } + to { -webkit-transform: translate3d(0,100%,0); } +} + +@-webkit-keyframes slideouttotop { + from { -webkit-transform: translate3d(0,0,0); } + to { -webkit-transform: translate3d(0,-100%,0); } +} +@-webkit-keyframes fadein { + from { opacity: 0; } + to { opacity: 1; } +} + +@-webkit-keyframes fadeout { + from { opacity: 1; } + to { opacity: 0; } +} + +@keyframes halffadein { + from { opacity: 0; } + to { opacity: 0.5; } +} + +@keyframes halffadeout { + from { opacity: 0.5; } + to { opacity: 0; } +} + +@keyframes bootstrap2fadein { + from { opacity: 0; } + to { opacity: 0.8; } +} + +@keyframes bootstrap2fadeout { + from { opacity: 0.8; } + to { opacity: 0; } +} + +.fade.in { + opacity: 1; + -webkit-animation-name: fadein; +} + +.fade.out { + -webkit-animation-name: fadeout; +} + +.Wt-dialogcover.fade.in, +.modal-backdrop.fade.in { + opacity: 0.5; + animation-name: halffadein; +} + +.Wt-dialogcover.fade.out, +.modal-backdrop.fade.out { + animation-name: halffadeout; +} + +.modal-backdrop.Wt-bootstrap2.fade.in { + opacity: 0.8; + animation-name: bootstrap2fadein; +} + +.modal-backdrop.Wt-bootstrap2.fade.out { + animation-name: bootstrap2fadeout; +} + +/* The properties in this body rule are only necessary for the 'flip' transition. + * We need specify the perspective to create a projection matrix. This will add + * some depth as the element flips. The depth number represents the distance of + * the viewer from the z-plane. According to the CSS3 spec, 1000 is a moderate + * value. + */ +.ui-mobile-viewport-perspective { + -webkit-perspective: 1000; + position: absolute; +} + +.ui-mobile-viewport-transitioning, +.ui-mobile-viewport-transitioning .ui-page { + width: 100%; + height: 100%; + overflow: hidden; +} + +.flip { + -webkit-animation-duration: .65s; + -webkit-backface-visibility:hidden; + -webkit-transform:translate3d(0,0,0); /* Needed to work around an iOS 3.1 bug that causes listview thumbs to disappear when -webkit-visibility:hidden is used. */ +} + +.flip.in { + -webkit-transform: rotateY(0) scale(1); + -webkit-animation-name: flipinfromleft; + z-index: 10; +} + +.flip.out { + -webkit-transform: rotateY(-180deg) scale(.8); + -webkit-animation-name: flipouttoleft; + z-index: 0; +} + +/* Shake it all about */ + +.flip.in.reverse { + -webkit-transform: rotateY(0) scale(1); + -webkit-animation-name: flipinfromright; + z-index: 0; +} + +.flip.out.reverse { + -webkit-transform: rotateY(180deg) scale(.8); + -webkit-animation-name: flipouttoright; + z-index: 10; +} + +@-webkit-keyframes flipinfromright { + from { -webkit-transform: rotateY(-180deg) scale(.8); } + to { -webkit-transform: rotateY(0) scale(1); } +} + +@-webkit-keyframes flipinfromleft { + from { -webkit-transform: rotateY(180deg) scale(.8); } + to { -webkit-transform: rotateY(0) scale(1); } +} + +@-webkit-keyframes flipouttoleft { + from { -webkit-transform: rotateY(0) scale(1); } + to { -webkit-transform: rotateY(-180deg) scale(.8); } +} + +@-webkit-keyframes flipouttoright { + from { -webkit-transform: rotateY(0) scale(1); } + to { -webkit-transform: rotateY(180deg) scale(.8); } +} + + +/* Hackish, but reliable. */ + +@-webkit-keyframes dontmove { + from { opacity: 1; } + to { opacity: 1; } +} + +.pop { + -webkit-transform-origin: 50% 50%; +} + +.pop.in { + -webkit-transform: scale(1); + -webkit-animation-name: popin; + z-index: 10; +} + +.pop.out.reverse { + -webkit-transform: scale(.2); + -webkit-animation-name: popout; + z-index: 10; +} + +.pop.in.reverse { + -webkit-animation-name: dontmove; + z-index: 0; +} + +@-webkit-keyframes popin { + from { + -webkit-transform: scale(.2); + } + to { + -webkit-transform: scale(1); + } +} + +@-webkit-keyframes popout { + from { + -webkit-transform: scale(1); + } + to { + -webkit-transform: scale(.2); + } +} + + +.slide.in.fade { + -webkit-animation-name: slideinfromright, fadein; + z-index: 10; +} + +.slide.out.fade { + -webkit-animation-name: slideinfromright, fadeout; + z-index: 0; +} + +.pop.fade.in { + -webkit-animation-name: popin, fadein; + z-index: 10; +} + +.pop.fade.out { + -webkit-animation-name: popout, fadeout; + z-index: 0; +}