</div>
<!-- Used for the fixed menu -->
- <div class="col-md-2 col-sm-3 col-xs-3">
+ <div class="fake-menu col-md-2 col-sm-3 col-xs-3">
</div>
- <div [ngClass]="getMainColClasses()">
+ <div class="main-col" [ngClass]="getMainColClasses()">
<div class="main-row">
<router-outlet></router-outlet>
}
#peertube-title {
-
a {
color: inherit !important;
display: block;
}
toggleMenu () {
+ window.scrollTo(0, 0)
this.isMenuDisplayed = !this.isMenuDisplayed
}
Object.keys(colSizes).forEach(col => colSizes[col] = 12)
}
- const classes = [ 'main-col' ]
+ const classes = []
Object.keys(colSizes).forEach(col => classes.push(`col-${col}-${colSizes[col]}`))
return classes
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
+ z-index: 1000;
@media screen and (max-width: 550px) {
font-size: 90%;
<div class="input-group">
- <span class="input-group-addon icon-addon">
+ <span class="hidden-xs input-group-addon icon-addon">
<span class="glyphicon glyphicon-search"></span>
</span>
<div class="col-xs-2 col-md-3 video-small-block video-small-block-share">
<a class="option" (click)="showShareModal()" title="Share the video">
<span class="glyphicon glyphicon-share"></span>
- <span class="video-small-block-text">Share</span>
+ <span class="hidden-xs video-small-block-text">Share</span>
</a>
</div>
<div class="video-small-block-dropdown" dropdown dropup="true" placement="right">
<a class="option" title="Access to more options" dropdownToggle>
<span class="glyphicon glyphicon-option-horizontal"></span>
- <span class="video-small-block-text">More</span>
+ <span class="hidden-xs video-small-block-text">More</span>
</a>
<ul *dropdownMenu class="dropdown-menu" id="more-menu" role="menu" aria-labelledby="single-button">
}
}
- @media screen and (max-width: 400px) {
- .video-name-views {
- font-size: 16px !important;
- }
- }
-
@media screen and (max-width: 800px) {
.video-name-views {
.video-name {
.video-small-block-author {
padding-left: 10px;
+ padding-right: 10px;
}
}
}
}
}
+
+ @media screen and (max-width: 500px) {
+ .video-name-views {
+ font-size: 16px !important;
+ }
+
+ // Keep the same hierarchy than max-width: 800px
+ .video-small-blocks {
+ a, .video-small-block-text {
+ font-size: 10px !important;
+ }
+
+ .video-small-block-author {
+ padding-left: 5px;
+ padding-right: 5px;
+ }
+ }
+
+ .video-details {
+ .video-details-date-description {
+ margin-bottom: 30px;
+ width: 100%;
+
+ .video-details-date {
+ margin-bottom: 15px;
+ }
+ }
+
+ .video-details-attributes {
+ padding-left: 10px;
+ padding-right: 10px;
+ }
+ }
+ }
}
.video-miniature {
- margin-top: 30px;
+ margin: 15px 10px;
display: inline-block;
position: relative;
height: 190px;
- width: 220px;
vertical-align: top;
.video-miniature-thumbnail {
}
.main-col {
-
.content-padding {
padding: 15px 30px;
}
}
+// On small screen, menu is absolute and displayed over the page
+@media screen and (max-width: 500px) {
+ .title-menu-left {
+ width: 120px;
+ position: absolute !important;
+ z-index: 10000;
+ }
+
+ .main-col {
+ width: 100% !important;
+ }
+
+ .fake-menu {
+ display: none;
+ }
+}
+
// Thanks https://gist.github.com/alexandrevicenzi/680147013e902a4eaa5d
.glyphicon-refresh-animate {
-animation: spin .7s infinite linear;
makePutBodyRequest,
setAccessTokensToServers,
killallServers,
- getMyUserInformation,
makePostBodyRequest,
getVideoChannelsList,
createUser,
describe('Test videos API validator', function () {
const path = '/api/v1/videos/channels'
let server: ServerInfo
- let channelId: number
let accessTokenUser: string
// ---------------------------------------------------------------
await setAccessTokensToServers([ server ])
- const res = await getMyUserInformation(server.url, server.accessToken)
- channelId = res.body.videoChannels[0].id
-
const user = {
username: 'fake',
password: 'fake_password'