0
0
Fork 1
mirror of https://mau.dev/maunium/synapse.git synced 2024-12-15 08:33:52 +01:00
synapse/webclient/app.css

757 lines
11 KiB
CSS
Executable file

/** Common layout **/
html {
height: 100%;
}
body {
height: 100%;
font-family: "Myriad Pro", "Myriad", Helvetica, Arial, sans-serif;
font-size: 12pt;
margin: 0px;
}
h1 {
font-size: 20pt;
}
a:link { color: #666; }
a:visited { color: #666; }
a:hover { color: #000; }
a:active { color: #000; }
textarea, input {
font-family: inherit;
font-size: inherit;
}
.page {
min-height: 100%;
margin-bottom: -32px; /* to make room for the footer */
}
#wrapper {
margin: auto;
max-width: 1280px;
padding-top: 40px;
padding-bottom: 40px;
padding-left: 20px;
padding-right: 20px;
}
#unsupportedBrowser {
padding-top: 240px;
text-align: center;
}
#header
{
position: absolute;
z-index: 2;
top: 0px;
width: 100%;
background-color: #333;
height: 32px;
}
#callBar {
float: left;
height: 32px;
margin: auto;
text-align: right;
line-height: 16px;
}
.callIcon {
margin-left: 4px;
margin-right: 4px;
margin-top: 8px;
}
#callEndedIcon {
transition:all linear 0.5s;
}
#callEndedIcon {
transform: rotateZ(45deg);
}
#callEndedIcon.ng-hide {
transform: rotateZ(0deg);
}
#callPeerImage {
width: 32px;
height: 32px;
border: none;
float: left;
}
#callPeerNameAndState {
float: left;
margin-left: 4px;
}
#callState {
font-size: 60%;
}
#callPeerName {
font-size: 80%;
}
#videoBackground {
position: absolute;
height: 100%;
width: 100%;
top: 0px;
left: 0px;
z-index: 1;
background-color: rgba(0,0,0,0.0);
pointer-events: none;
transition: background-color linear 500ms;
}
#videoBackground.large {
background-color: rgba(0,0,0,0.85);
pointer-events: auto;
}
#videoContainer {
position: relative;
top: 32px;
max-width: 1280px;
margin: auto;
}
#videoContainerPadding {
width: 1280px;
}
#localVideo {
position: absolute;
width: 128px;
height: 72px;
z-index: 1;
transition: left linear 500ms, top linear 500ms, width linear 500ms, height linear 500ms;
}
#localVideo.mini {
top: 0px;
left: 130px;
}
#localVideo.large {
top: 70px;
left: 20px;
}
#localVideo.ended {
-webkit-filter: grayscale(1);
filter: grayscale(1);
}
#remoteVideo {
position: relative;
height: auto;
transition: left linear 500ms, top linear 500ms, width linear 500ms, height linear 500ms;
}
#remoteVideo.mini {
left: 260px;
top: 0px;
width: 128px;
}
#remoteVideo.large {
left: 0px;
top: 50px;
width: 100%;
}
#remoteVideo.ended {
-webkit-filter: grayscale(1);
filter: grayscale(1);
}
#headerContent {
color: #ccc;
max-width: 1280px;
margin: auto;
text-align: right;
height: 32px;
line-height: 32px;
position: relative;
}
#headerContent a:link,
#headerContent a:visited,
#headerContent a:hover,
#headerContent a:active {
color: #fff;
}
#footer
{
width: 100%;
border-top: #666 1px solid;
background-color: #aaa;
height: 32px;
}
#footerContent
{
font-size: 8pt;
color: #fff;
max-width: 1280px;
margin: auto;
text-align: center;
height: 32px;
line-height: 32px;
}
#genericHeading
{
margin-top: 13px;
}
#feedback {
color: #800;
}
.mouse-pointer {
cursor: pointer;
}
.invited {
opacity: 0.2;
}
/*** Login Pages ***/
.loginWrapper {
text-align: center;
}
#recaptcha_area {
margin: auto
}
#loginForm {
text-align: left;
padding: 1em;
margin-bottom: 40px;
display: inline-block;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border-radius: 10px;
-webkit-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.15);
-moz-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.15);
box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.15);
background-color: #f8f8f8;
border: 1px #ccc solid;
}
#loginForm input[type='radio'] {
margin-right: 1em;
}
#serverConfig {
text-align: center;
}
#serverConfig,
#serverConfig input,
#serverConfig button
{
font-size: 10pt ! important;
}
.smallPrint {
color: #888;
font-size: 9pt ! important;
font-style: italic ! important;
}
#serverConfig label {
display: inline-block;
text-align: right;
margin-right: 0.5em;
width: 7em;
}
#loginForm,
#loginForm input,
#loginForm button,
#loginForm select {
font-size: 18px;
}
/*** Room page ***/
#roomPage {
position: absolute;
top: 120px;
bottom: 120px;
left: 20px;
right: 20px;
}
#roomWrapper {
margin: auto;
max-width: 1280px;
height: 100%;
}
#roomHeader {
margin: auto;
padding-left: 20px;
padding-right: 20px;
padding-top: 53px;
max-width: 1280px;
}
#controlPanel {
position: absolute;
bottom: 0px;
width: 100%;
height: 100px;
background-color: #f8f8f8;
border-top: #aaa 1px solid;
}
#controls {
max-width: 1280px;
padding: 12px;
margin: auto;
}
#buttonsCell {
width: 150px;
}
#inputBarTable {
width: 100%;
}
#inputBarTable tr td {
padding: 1px 4px;
}
#mainInput {
width: 100%;
resize: none;
}
.blink {
background-color: #faa;
}
.roomHighlight {
font-weight: bold;
}
.publicTable {
max-width: 480px;
width: 100%;
border-collapse: collapse;
}
.publicTable tr {
width: 100%;
}
.publicTable td {
vertical-align: text-top;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.publicRoomEntry {
max-width: 430px;
}
.publicRoomJoinedUsers {
width: 5em;
text-align: right;
font-size: 12px;
color: #888;
}
.publicRoomTopic {
color: #888;
font-size: 12px;
overflow: hidden;
padding-bottom: 5px;
border-bottom: 1px #ddd solid;
}
#roomName {
font-size: 16px;
text-align: right;
}
#roomTopic {
font-size: 13px;
text-align: right;
}
.roomNameInput, .roomTopicInput {
width: 100%;
}
.roomNameSection, .roomTopicSection {
float: right;
width: 100%;
}
.roomNameSetNew, .roomTopicSetNew {
float: right;
}
.roomHeaderInfo {
float: right;
margin-top: 15px;
width: 50%;
}
/*** Participant list ***/
#usersTableWrapper {
float: right;
width: 120px;
height: 100%;
overflow-y: auto;
}
#usersTable {
width: 100%;
border-collapse: collapse;
}
#usersTable td {
padding: 0px;
}
.userAvatar {
width: 80px;
height: 100px;
position: relative;
background-color: #000;
}
.userAvatar .userAvatarImage {
position: absolute;
top: 0px;
object-fit: cover;
width: 100%;
}
.userAvatar .userAvatarGradient {
position: absolute;
bottom: 20px;
width: 100%;
}
.userAvatar .userName {
position: absolute;
color: #fff;
margin: 2px;
bottom: 0px;
font-size: 12px;
word-break: break-all;
}
.userAvatar .userPowerLevel {
position: absolute;
bottom: 0px;
height: 2px;
background-color: #f00;
}
.userPresence {
text-align: center;
font-size: 12px;
color: #fff;
background-color: #aaa;
border-bottom: 1px #ddd solid;
}
.online {
background-color: #38AF00;
}
.unavailable {
background-color: #FFCC00;
}
/*** Message table ***/
#messageTableWrapper {
height: 100%;
margin-right: 140px;
overflow-y: auto;
width: auto;
}
#messageTable {
margin: auto;
max-width: 1280px;
width: 100%;
border-collapse: collapse;
table-layout: fixed;
}
#messageTable td {
padding: 0px;
}
.leftBlock {
width: 14em;
word-wrap: break-word;
vertical-align: top;
background-color: #fff;
color: #888;
font-weight: medium;
font-size: 12px;
text-align: right;
border-top: 1px #ddd solid;
}
.rightBlock {
width: 32px;
color: #888;
line-height: 0;
vertical-align: top;
}
.sender, .timestamp {
padding-right: 1em;
padding-left: 1em;
padding-top: 3px;
}
.sender {
margin-bottom: -3px;
}
.avatar {
width: 48px;
text-align: right;
vertical-align: top;
line-height: 0;
}
.avatarImage {
object-fit: cover;
}
.emote {
background-color: transparent ! important;
border: 0px ! important;
}
.membership {
background-color: transparent ! important;
border: 0px ! important;
}
.image {
display: block;
max-width:320px;
max-height:320px;
width: auto;
height: auto;
}
.text {
vertical-align: top;
}
.bubble {
background-color: #eee;
border: 1px solid #d8d8d8;
display: inline-block;
margin-bottom: -1px;
max-width: 90%;
font-size: 14px;
word-wrap: break-word;
padding-top: 7px;
padding-bottom: 5px;
padding-left: 1em;
padding-right: 1em;
vertical-align: middle;
-webkit-text-size-adjust:100%
}
.bubble img {
max-width: 100%;
max-height: auto;
}
.differentUser td {
padding-bottom: 5px ! important;
}
.mine {
text-align: right;
}
.text.emote .bubble,
.text.membership .bubble,
.mine .text.emote .bubble,
.mine .text.membership .bubble
{
background-color: transparent ! important;
border: 0px ! important;
}
.mine .text .bubble {
background-color: #f8f8ff ! important;
text-align: left ! important;
}
.bubble .message {
/* Wrap words and break lines on CR+LF */
white-space: pre-wrap;
}
.bubble .messagePending {
opacity: 0.3
}
.messageUnSent {
color: #F00;
}
.messageBing {
color: #00F;
}
#room-fullscreen-image {
position: absolute;
top: 0px;
height: 0px;
width: 100%;
height: 100%;
}
#room-fullscreen-image img {
max-width: 90%;
max-height: 90%;
bottom: 0;
left: 0;
margin: auto;
overflow: auto;
position: fixed;
right: 0;
top: 0;
-webkit-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.75);
-moz-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.75);
box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.75);
}
/*** Recents ***/
.recentsTable {
max-width: 480px;
width: 100%;
border-collapse: collapse;
table-layout: fixed;
}
.recentsTable tr {
width: 100%;
}
.recentsTable td {
vertical-align: text-top;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.recentsRoom {
cursor: pointer;
}
.recentsRoom:hover {
background-color: #f8f8ff;
}
.recentsRoomSelected {
background-color: #eee;
}
.recentsRoomName {
font-size: 16px;
padding-top: 7px;
width: auto;
}
.recentsPublicRoom {
font-weight: bold;
}
.recentsRoomSummaryUsersCount, .recentsRoomSummaryTS {
color: #888;
font-size: 12px;
width: 7em;
text-align: right;
}
.recentsRoomSummary {
color: #888;
font-size: 12px;
padding-bottom: 5px;
}
/* Do not show users count in the recents fragment displayed on the room page */
#roomPage .recentsRoomSummaryUsersCount {
width: 0em;
}
/*** Recents in the room page ***/
#roomRecentsTableWrapper {
float: left;
max-width: 320px;
padding-right: 10px;
margin-right: 10px;
height: 100%;
border-right: 1px solid #ddd;
overflow-y: auto;
}
/*** Profile ***/
.profile-avatar {
width: 160px;
height: 160px;
display: table-cell;
vertical-align: middle;
text-align: center;
}
.profile-avatar img {
width: 100%;
height: 100%;
object-fit: cover;
}
/*** User profile page ***/
#user-displayname {
font-size: 24px;
}
#user-displayname-input {
width: 160px;
max-width: 155px;
}
#user-save-button {
width: 160px;
font-size: 14px;
}