.dialog-wrapper { position: absolute; top: 0; left: 0; right: 0; bottom: 0; display: flex; flex-direction: column; background-color: #ffffff; z-index: 1; &.record-ing { overflow: hidden; } .vue-recycle-scroller.direction-vertical:not(.page-mode) { overflow-y: overlay; } .dialog-nav { width: 100%; .nav-wrapper { display: flex; align-items: center; padding: 0 22px; height: 68px; position: relative; &:before { content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 1px; background-color: #f4f5f5; } &.completed { &:after { content: "\f373"; font-family: Ionicons, serif; pointer-events: none; position: absolute; top: 50%; right: 22px; transform: translateY(-50%); font-size: 40px; color: #19be6b; opacity: .2; z-index: 1; } .dialog-title { padding-right: 52px; } } .dialog-block { flex: 1; width: 0; display: flex; align-items: center; .dialog-avatar { flex-shrink: 0; margin-right: 12px; .user-avatar, .icon-avatar { width: 42px; height: 42px; margin: 2px; flex-grow: 0; flex-shrink: 0; } .icon-avatar { display: flex; align-items: center; justify-content: center; border-radius: 50%; font-size: 26px; background-color: #61B2F9; color: #ffffff; &.project { background-color: #6E99EB; } &.task { background-color: #9B96DF; font-size: 24px; } } } .dialog-title { flex: 1; width: 0; display: flex; flex-direction: column; justify-content: center; .main-title { display: flex; align-items: center; line-height: 22px; max-width: 100%; .ivu-tag { flex-shrink: 0; margin: 0 6px 0 0; padding: 0 5px; &.ivu-tag-success { padding: 0 6px; } } .ivu-icon { font-size: 18px; margin-right: 6px; &.completed { color: $primary-color; } } > h2 { font-size: 17px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } > em { flex-shrink: 0; font-style: normal; font-size: 17px; font-weight: 500; padding-left: 6px; } .top-text { flex-shrink: 0; height: 24px; line-height: 24px; padding: 0 6px; border-radius: 4px; margin-left: 10px; background-color: $primary-color; color: #FFFFFF; text-align: center; white-space: nowrap; } } .sub-title { flex-shrink: 0; font-size: 12px; line-height: 20px; padding-top: 2px; color: #aaaaaa; white-space: normal; &.pointer { cursor: pointer; &:hover { color: #888888; } } &.online { color: $primary-color; } } } } .dialog-back, .dialog-create { cursor: pointer; margin-left: 24px; font-size: 22px; color: $primary-text-color; } .dialog-back { display: none; } } } .dialog-scroller { flex: 1; position: relative; padding: 16px 32px 0; .dialog-item { display: flex; flex-direction: row; align-items: flex-start; list-style: none; padding-bottom: 16px; .dialog-avatar { position: relative; margin-bottom: 20px; flex-shrink: 0; width: 30px; height: 30px; } .dialog-view { display: flex; flex-direction: column; align-items: flex-start; margin: 0 0 0 8px; position: relative; &.text { max-width: 70%; } &.operate-action { .dialog-head { box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); } } .dialog-username { max-width: 100%; height: 22px; margin-bottom: 6px; opacity: 0.8; } .dialog-head { display: flex; flex-direction: column; background-color: #F4F5F7; padding: 8px; min-width: 32px; border-radius: 2px 8px 8px 8px; transition: box-shadow 0.3s ease; &.transparent { background-color: transparent !important; } .dialog-content { display: flex; align-items: flex-start; position: relative; &.an-emoji { .content-text { > pre { font-size: 72px; line-height: 1; } } } &.two-emoji { .content-text { > pre { font-size: 52px; line-height: 1; letter-spacing: 4px; } } } &.three-emoji { .content-text { > pre { font-size: 32px; line-height: 1; letter-spacing: 4px; } } } .content-text { color: $primary-title-color; padding: 2px; > pre { display: block; margin: 0; padding: 0; line-height: 1.5; white-space: pre-wrap; word-wrap: break-word; word-break: break-word; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; font-size: 14px; a { color: #436FF6; } ol, ul { li { list-style-type: none; &::before { display: inline-block; white-space: nowrap; width: 1.2em; color: #0088ff; text-align: left; margin-right: 0.2em; } } } ul { li { &::before { content: '\2022'; font-weight: 900; } } } ol { li { counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9; counter-increment: list-0; &:before { content: counter(list-0, decimal) '. '; } } } blockquote { border-left: 4px solid #ccc; margin-bottom: 5px; margin-top: 5px; padding-left: 16px; } pre { white-space: pre-wrap; margin: 5px 0; padding: 5px 10px; border-radius: 3px; background-color: #23241f; color: #f8f8f2; overflow: visible; } img { cursor: pointer; max-width: 220px; max-height: 220px; vertical-align: bottom; &.emoticon { max-width: 150px; max-height: 150px; } } .mention { color: $flow-status-end-color; background-color: transparent; user-select: auto; padding: 0; margin: 0; > span { margin: 0; } &.task { cursor: pointer; } &.me { font-size: 13px; font-weight: 600; padding: 3px 4px; color: #ffffff; background-color: $primary-color; } } } } .content-file { &.file { display: inline-block; .file-box { background-color: #ffffff; display: flex; align-items: center; padding: 10px 14px; border-radius: 3px; width: 220px; .file-thumb { width: 36px; } .file-info { margin-left: 12px; display: flex; flex-direction: column; justify-content: center; .file-name { color: $primary-title-color; font-size: 14px; line-height: 18px; word-break: break-all; text-overflow: ellipsis; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; } .file-size { padding-top: 4px; color: $primary-text-color; font-size: 14px; } } } } &.img { padding: 0; display: flex; max-width: 220px; max-height: 220px; border-radius: 6px; overflow: hidden; .file-img { display: flex; cursor: pointer; } } } .content-record { display: flex; color: $primary-title-color; .dialog-record { display: flex; flex-direction: row-reverse; justify-content: flex-end; align-content: center; line-height: 22px; cursor: pointer; .record-time { padding: 0 0 0 4px; } .record-icon { transform: rotate(180deg) scale(0.9); &:before { content: "\E793"; } } &.playing { .record-icon { &:before { animation: record-playing 1s infinite; } } } @keyframes record-playing { 0% { content: "\E793"; } 33% { content: "\E791"; } 66% { content: "\E792"; } 100% { content: "\E793"; } } } } .content-meeting { padding: 4px 6px; color: $primary-title-color; .dialog-meeting { min-width: 220px; > li { list-style: none; display: flex; flex-direction: column; align-items: flex-start; margin-bottom: 16px; &.meeting-operation { margin-bottom: 0; padding: 12px 0 0; display: flex; flex-direction: row; align-items: center; font-size: 12px; position: relative; cursor: pointer; &:hover { .taskfont { padding-left: 4px; } } &:before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px; background-color: rgba(204, 204, 204, 0.8); transform: scaleY(0.5); } .taskfont { font-size: 12px; padding-left: 2px; transform: scale(0.8); transition: all 0.2s; } } > em { font-style: normal; font-weight: bold; padding-bottom: 2px; } } } } .content-loading { display: flex; .common-loading { width: 20px; height: 20px; margin: 4px; } } .content-unknown { text-decoration: underline; } } .dialog-emoji { display: flex; flex-wrap: wrap; align-items: center; > li { list-style: none; display: flex; align-items: center; padding: 2px 7px; margin-top: 6px; margin-right: 8px; border-radius: 14px; line-height: 22px; cursor: pointer; background-color: rgba(#e1e1e1, 0.5); &.hasme { background-color: #e1e1e1; } .emoji-symbol { font-size: 16px; } .emoji-num { font-size: 12px; padding-left: 4px; color: #818181; } } } } .dialog-foot { display: flex; align-items: center; padding-top: 4px; height: 21px; line-height: 1; .common-loading { margin: 0 2px; width: 10px; height: 10px; } .time { color: #bbbbbb; font-size: 12px; } .done { display: none; margin-left: 4px; transform: scale(0.9); font-size: 12px; color: $primary-color; } .percent { display: none; margin-left: 4px; align-items: center; cursor: pointer; } } } .dialog-action { align-self: flex-start; display: flex; align-items: flex-start; height: 100%; > * { margin: 0 5px; } } &.history { cursor: pointer; justify-content: center; font-size: 13px; padding: 3px 0; margin: 12px 0; opacity: 0.6; transition: opacity 0.2s; &:hover { opacity: 1; } } &.history-tip { position: relative; padding-top: 60px; .history-text { font-style: normal; position: absolute; top: 10px; left: 50%; height: 22px; line-height: 22px; padding: 0 48px; text-align: center; font-size: 12px; border-radius: 2px; background: #f5f5f5; transform: translateX(-50%); } } &.loading { padding: 12px 0; justify-content: center; .common-loading { margin: 0; width: 18px; height: 18px; } } &.nothing { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); color: $primary-desc-color; } &.bottom { height: 0; margin: 0; padding: 0; } &.self { flex-direction: row-reverse; .dialog-view { align-items: flex-end; margin: 0 8px 0 0; .dialog-head { background-color: $primary-color; border-radius: 8px 2px 8px 8px; .dialog-content { .content-text { color: #ffffff; > pre { .mention { color: $primary-title-color; &.me { font-size: 14px; font-weight: normal; padding: 3px 0; background-color: transparent; } } } } .content-record { color: #ffffff; .dialog-record { flex-direction: row; .record-time { padding: 0 4px 0 0; } .record-icon { transform: rotate(0) scale(0.9); } } } .content-meeting { color: #ffffff; .dialog-meeting { > li { &.meeting-operation { &:before { background-color: rgba(255, 255, 255, 0.8); } } } } } } .dialog-emoji { > li { background-color: rgba(#5ba93c, 0.5); &.hasme { background-color: #5ba93c; } .emoji-num { color: #ffffff; } } } } .dialog-foot { .done { display: inline-block; } .percent { display: flex; } } } } } } .dialog-footer { position: relative; padding: 0 24px; margin-bottom: 16px; .dialog-newmsg { display: none; position: absolute; top: -38px; height: 30px; line-height: 30px; color: #ffffff; font-size: 12px; background-color: rgba(0, 0, 0, 0.6); padding: 0 12px; margin-bottom: 20px; margin-right: 10px; border-radius: 16px; cursor: pointer; z-index: 2; } .chat-upload { display: none; width: 0; height: 0; overflow: hidden; } .chat-input-box { .chat-input-wrapper { background-color: #F4F5F7; padding: 8px 2px; border-radius: 10px; .ql-container { .ql-editor { margin: 4px 12px; &.ql-blank { &::before { left: 12px; right: 12px; } } } } } } &.newmsg { .dialog-newmsg { display: block; } } } .drag-over { position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 3; background-color: rgba(255, 255, 255, 0.78); display: flex; align-items: center; justify-content: center; &:before { content: ""; position: absolute; top: 16px; left: 16px; right: 16px; bottom: 16px; border: 2px dashed #7b7b7b; border-radius: 12px; } .drag-text { padding: 12px; font-size: 18px; color: $primary-text-color; } } .operate-position { position: absolute; top: 0; left: 0; width: 1px; opacity: 0; visibility: hidden; pointer-events: none; } } .dialog-wrapper-read-poptip { width: 360px; max-width: 72%; .read-poptip-content { display: flex; position: relative; .read, .unread { flex: 1; max-height: 300px; > li { min-height: 26px; list-style: none; margin-bottom: 12px; .common-avatar { width: 100%; .avatar-name { padding-right: 6px; } } &:last-child { margin-bottom: 6px; } &.read-title { min-height: auto; > em { font-size: 18px; font-weight: 600; font-style: normal; padding-right: 6px; } } } } .unread { > li { padding-left: 16px; } } &:before { content: ""; position: absolute; left: 50%; top: 0; bottom: 0; width: 1px; background-color: #F4F4F5; } } } .dialog-wrapper-paste { display: flex; flex-direction: column; align-items: center; justify-content: center; &.multiple { display: block; } > li { list-style: none; img { max-width: 100%; max-height: 500px; } > div, > img { display: flex; flex-direction: column; padding: 0; } + li { margin-top: 20px; } } } .dialog-wrapper-operate { .ivu-dropdown-item { padding: 0; &:hover { background-color: transparent; } } .dropdown-emoji { position: relative; &:before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px; background-color: #f4f5f5; } } .operate-action { width: 316px; padding: 8px; margin-bottom: -8px; display: grid; justify-content: space-between; grid-template-columns: repeat(auto-fill, 50px); > li { list-style: none; width: 50px; height: 48px; margin-bottom: 12px; display: flex; flex-direction: column; align-items: center; justify-content: space-between; .taskfont { font-size: 20px; } > span { font-size: 12px; } } } .operate-emoji { width: 316px; padding: 8px 4px 2px; display: flex; align-items: center; overflow: auto; > li { list-style: none; width: 44px; box-sizing: content-box; display: flex; flex-shrink: 0; font-size: 24px; justify-content: center; align-items: center; } } } @media (max-width: 768px) { .dialog-wrapper { background-color: #f8f8f8; .dialog-nav { .nav-wrapper { height: 52px; padding: 0; justify-content: center; &.completed { &:after { right: 14px; } .dialog-title { padding-right: 0; } } .dialog-back, .dialog-create { position: absolute; top: 0; bottom: 0; right: 0; margin: 0; width: 52px; display: flex; align-items: center; justify-content: center; } .dialog-back { padding-right: 6px; right: auto; left: 0; > i { font-size: 26px; } .back-num { font-family: "Source Sans Pro", "Helvetica Neue", Arial, sans-serif; position: absolute; top: 50%; left: 32px; background: #e6ebf1; color: $primary-title-color; transform: translate(0, -50%); font-weight: 500; font-size: 14px; border-radius: 12px; min-width: 24px; height: 24px; line-height: 24px; text-align: center; padding: 0 6px; } } .dialog-block { margin: 0 80px; justify-content: center; .dialog-avatar { display: none; } .dialog-title { flex: unset; width: unset; overflow: hidden; text-align: center; .main-title { justify-content: center; } .sub-title { line-height: 18px; } } } } } .dialog-scroller { padding-right: 14px; padding-left: 14px; overscroll-behavior: none; user-select: none; background-color: #ffffff; .dialog-item { .dialog-view { .dialog-head { .dialog-content { a, img { -webkit-touch-callout: none; } } } &.operate-enter { .dialog-head { .dialog-content { a, img { -webkit-touch-callout: default; } user-select: text; } } } } } } .dialog-footer { background-color: #f8f8f8; padding: 8px 10px; margin-bottom: 0; .chat-input-box { .chat-input-wrapper { background-color: #ffffff; .chat-toolbar { > li { &.chat-record-recwave { margin-left: -10px; width: calc(100% + 20px); background-color: #f8f8f8; } } } } .chat-emoji-wrapper { margin-left: -10px; margin-bottom: -8px; width: calc(100% + 20px); } } } } }