Merge branch 'develop' of git.pleroma.social:pleroma/pleroma-fe into develop
This commit is contained in:
		
						commit
						d44d8f1989
					
				
					 18 changed files with 114 additions and 34 deletions
				
			
		|  | @ -60,6 +60,7 @@ | |||
|       @click="openModal" | ||||
|     > | ||||
|       <StillImage | ||||
|         class="image" | ||||
|         :referrerpolicy="referrerpolicy" | ||||
|         :mimetype="attachment.mimetype" | ||||
|         :src="attachment.large_thumb_url || attachment.url" | ||||
|  | @ -281,8 +282,11 @@ | |||
|   } | ||||
| 
 | ||||
|   .image-attachment { | ||||
|     width: 100%; | ||||
|     height: 100%; | ||||
|     &, | ||||
|     & .image { | ||||
|       width: 100%; | ||||
|       height: 100%; | ||||
|     } | ||||
| 
 | ||||
|     &.hidden { | ||||
|       display: none; | ||||
|  |  | |||
|  | @ -72,7 +72,7 @@ | |||
|     } | ||||
|   } | ||||
| 
 | ||||
|   .avatar.still-image { | ||||
|   .Avatar { | ||||
|     border-radius: $fallback--avatarAltRadius; | ||||
|     border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius); | ||||
|   } | ||||
|  |  | |||
|  | @ -51,7 +51,7 @@ | |||
|     } | ||||
|   } | ||||
| 
 | ||||
|   .still-image.avatar { | ||||
|   .Avatar { | ||||
|     width: 23px; | ||||
|     height: 23px; | ||||
|     margin-right: 0.5em; | ||||
|  |  | |||
							
								
								
									
										52
									
								
								src/components/notification/notification.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								src/components/notification/notification.scss
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,52 @@ | |||
| // TODO Copypaste from Status, should unify it somehow | ||||
| .Notification { | ||||
|   &.-muted { | ||||
|     padding: 0.25em 0.6em; | ||||
|     height: 1.2em; | ||||
|     line-height: 1.2em; | ||||
|     text-overflow: ellipsis; | ||||
|     overflow: hidden; | ||||
|     display: flex; | ||||
|     flex-wrap: nowrap; | ||||
| 
 | ||||
|     & .status-username, | ||||
|     & .mute-thread, | ||||
|     & .mute-words { | ||||
|       word-wrap: normal; | ||||
|       word-break: normal; | ||||
|       white-space: nowrap; | ||||
|     } | ||||
| 
 | ||||
|     & .status-username, | ||||
|     & .mute-words { | ||||
|       text-overflow: ellipsis; | ||||
|       overflow: hidden; | ||||
|     } | ||||
| 
 | ||||
|     .status-username { | ||||
|       font-weight: normal; | ||||
|       flex: 0 1 auto; | ||||
|       margin-right: 0.2em; | ||||
|       font-size: smaller; | ||||
|     } | ||||
| 
 | ||||
|     .mute-thread { | ||||
|       flex: 0 0 auto; | ||||
|     } | ||||
| 
 | ||||
|     .mute-words { | ||||
|       flex: 1 0 5em; | ||||
|       margin-left: 0.2em; | ||||
| 
 | ||||
|       &::before { | ||||
|         content: ' '; | ||||
|       } | ||||
|     } | ||||
| 
 | ||||
|     .unmute { | ||||
|       flex: 0 0 auto; | ||||
|       margin-left: auto; | ||||
|       display: block; | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | @ -7,7 +7,7 @@ | |||
|   <div v-else> | ||||
|     <div | ||||
|       v-if="needMute && !unmuted" | ||||
|       class="container muted" | ||||
|       class="Notification container -muted" | ||||
|     > | ||||
|       <small> | ||||
|         <router-link :to="userProfileLink"> | ||||
|  | @ -168,3 +168,4 @@ | |||
| </template> | ||||
| 
 | ||||
| <script src="./notification.js"></script> | ||||
| <style src="./notification.scss" lang="scss"></style> | ||||
|  |  | |||
|  | @ -143,6 +143,7 @@ | |||
|             v-model="newStatus.status" | ||||
|             :placeholder="placeholder || $t('post_status.default')" | ||||
|             rows="1" | ||||
|             cols="1" | ||||
|             :disabled="posting" | ||||
|             class="form-post-body" | ||||
|             :class="{ 'scrollable-form': !!maxHeight }" | ||||
|  |  | |||
|  | @ -6,7 +6,7 @@ $status-margin: 0.75em; | |||
| .Status { | ||||
|   min-width: 0; | ||||
| 
 | ||||
|   &:hover .avatar { | ||||
|   &:hover { | ||||
|     --still-image-img: visible; | ||||
|     --still-image-canvas: hidden; | ||||
|   } | ||||
|  | @ -133,6 +133,13 @@ $status-margin: 0.75em; | |||
|     margin-right: 0.5em; | ||||
|     max-width: 100%; | ||||
| 
 | ||||
|     .reply-to-link { | ||||
|       white-space: nowrap; | ||||
|       word-break: break-word; | ||||
|       text-overflow: ellipsis; | ||||
|       overflow-x: hidden; | ||||
|     } | ||||
| 
 | ||||
|     .icon-reply { | ||||
|       // mirror the icon | ||||
|       transform: scaleX(-1); | ||||
|  | @ -143,11 +150,18 @@ $status-margin: 0.75em; | |||
|   & .reply-to-no-popover { | ||||
|     min-width: 0; | ||||
|     margin-right: 0.4em; | ||||
|     flex-shrink: 0; | ||||
|   } | ||||
| 
 | ||||
|   .reply-to-popover { | ||||
|     &:hover { | ||||
|     .reply-to:hover::before { | ||||
|       content: ''; | ||||
|       display: block; | ||||
|       position: absolute; | ||||
|       bottom: 0; | ||||
|       width: 100%; | ||||
|       border-bottom: 1px solid var(--faint); | ||||
|       pointer-events: none; | ||||
|     } | ||||
| 
 | ||||
|     .faint-link:hover { | ||||
|  | @ -156,21 +170,21 @@ $status-margin: 0.75em; | |||
|     } | ||||
| 
 | ||||
|     &.-strikethrough { | ||||
|       position: relative; | ||||
| 
 | ||||
|       &::after { | ||||
|       .reply-to::after { | ||||
|         content: ''; | ||||
|         display: block; | ||||
|         position: absolute; | ||||
|         top: 50%; | ||||
|         width: 100%; | ||||
|         border-bottom: 1px solid var(--faint); | ||||
|         pointer-events: none; | ||||
|       } | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   .reply-to { | ||||
|     display: flex; | ||||
|     position: relative; | ||||
|   } | ||||
| 
 | ||||
|   .reply-to-text { | ||||
|  |  | |||
|  | @ -234,6 +234,7 @@ | |||
|                   <span class="reply-to-text">{{ $t('status.reply_to') }}</span> | ||||
|                 </span> | ||||
|                 <router-link | ||||
|                   class="reply-to-link" | ||||
|                   :title="replyToName" | ||||
|                   :to="replyProfileLink" | ||||
|                 > | ||||
|  |  | |||
|  | @ -38,7 +38,8 @@ | |||
| <style lang="scss"> | ||||
| @import '../../_variables.scss'; | ||||
| 
 | ||||
| .status-popover { | ||||
| /* popover styles load on-demand, so we need to override */ | ||||
| .status-popover.popover { | ||||
|   font-size: 1rem; | ||||
|   min-width: 15em; | ||||
|   max-width: 95%; | ||||
|  |  | |||
|  | @ -30,8 +30,6 @@ | |||
|   position: relative; | ||||
|   line-height: 0; | ||||
|   overflow: hidden; | ||||
|   width: 100%; | ||||
|   height: 100%; | ||||
|   display: flex; | ||||
|   align-items: center; | ||||
| 
 | ||||
|  | @ -68,6 +66,7 @@ | |||
|       border-radius: $fallback--tooltipRadius; | ||||
|       border-radius: var(--tooltipRadius, $fallback--tooltipRadius); | ||||
|       z-index: 2; | ||||
|       visibility: var(--still-image-label-visibility, visible); | ||||
|     } | ||||
| 
 | ||||
|     &:hover canvas { | ||||
|  |  | |||
|  | @ -9,7 +9,8 @@ export const timelineNames = () => { | |||
|     'bookmarks': 'nav.bookmarks', | ||||
|     'dms': 'nav.dms', | ||||
|     'public-timeline': 'nav.public_tl', | ||||
|     'public-external-timeline': 'nav.twkn' | ||||
|     'public-external-timeline': 'nav.twkn', | ||||
|     'tag-timeline': 'tag' | ||||
|   } | ||||
| } | ||||
| 
 | ||||
|  | @ -40,6 +41,14 @@ const TimelineMenu = { | |||
|       setTimeout(() => { | ||||
|         this.isOpen = true | ||||
|       }, 25) | ||||
|     }, | ||||
|     timelineName () { | ||||
|       const route = this.$route.name | ||||
|       if (route === 'tag-timeline') { | ||||
|         return '#' + this.$route.params.tag | ||||
|       } | ||||
|       const i18nkey = timelineNames()[this.$route.name] | ||||
|       return i18nkey ? this.$t(i18nkey) : route | ||||
|     } | ||||
|   }, | ||||
|   computed: { | ||||
|  | @ -47,10 +56,7 @@ const TimelineMenu = { | |||
|       currentUser: state => state.users.currentUser, | ||||
|       privateMode: state => state.instance.private, | ||||
|       federating: state => state.instance.federating | ||||
|     }), | ||||
|     timelineNames () { | ||||
|       return timelineNames() | ||||
|     } | ||||
|     }) | ||||
|   } | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -45,7 +45,7 @@ | |||
|       slot="trigger" | ||||
|       class="title timeline-menu-title" | ||||
|     > | ||||
|       <span>{{ $t(timelineNames[$route.name]) }}</span> | ||||
|       <span>{{ timelineName() }}</span> | ||||
|       <i class="icon-down-open" /> | ||||
|     </div> | ||||
|   </Popover> | ||||
|  |  | |||
|  | @ -1,6 +1,6 @@ | |||
| <template> | ||||
|   <StillImage | ||||
|     class="avatar" | ||||
|     class="Avatar" | ||||
|     :alt="user.screen_name" | ||||
|     :title="user.screen_name" | ||||
|     :src="imgSrc(user.profile_image_url_original)" | ||||
|  | @ -13,7 +13,9 @@ | |||
| <style lang="scss"> | ||||
| @import '../../_variables.scss'; | ||||
| 
 | ||||
| .avatar.still-image { | ||||
| .Avatar { | ||||
|   --still-image-label-visibility: hidden; | ||||
| 
 | ||||
|   width: 48px; | ||||
|   height: 48px; | ||||
|   box-shadow: var(--avatarStatusShadow); | ||||
|  |  | |||
|  | @ -364,13 +364,9 @@ | |||
|     } | ||||
|   } | ||||
| 
 | ||||
|   &:hover .animated.avatar { | ||||
|     canvas { | ||||
|       display: none; | ||||
|     } | ||||
|     img { | ||||
|       visibility: visible; | ||||
|     } | ||||
|   &:hover .avatar { | ||||
|     --still-image-img: visible; | ||||
|     --still-image-canvas: hidden; | ||||
|   } | ||||
| 
 | ||||
|   &-avatar-link { | ||||
|  |  | |||
|  | @ -36,7 +36,8 @@ | |||
|     "who_to_follow": "Chi seguire", | ||||
|     "preferences": "Preferenze", | ||||
|     "bookmarks": "Segnalibri", | ||||
|     "chats": "Conversazioni" | ||||
|     "chats": "Conversazioni", | ||||
|     "timelines": "Sequenze" | ||||
|   }, | ||||
|   "notifications": { | ||||
|     "followed_you": "ti segue", | ||||
|  |  | |||
|  | @ -209,6 +209,7 @@ export const parseAttachment = (data) => { | |||
|   } | ||||
| 
 | ||||
|   output.url = data.url | ||||
|   output.large_thumb_url = data.preview_url | ||||
|   output.description = data.description | ||||
| 
 | ||||
|   return output | ||||
|  |  | |||
|  | @ -330,7 +330,7 @@ describe('Statuses module', () => { | |||
|       const deletion = makeMockStatus({ id: '4', type: 'deletion' }) | ||||
|       deletion.text = 'Dolus deleted notice {{tag:gs.smuglo.li,2016-11-18:noticeId=1038007:objectType=note}}.' | ||||
|       deletion.uri = 'xxx' | ||||
| 
 | ||||
|       const newNotificationSideEffects = () => {} | ||||
|       mutations.addNewStatuses(state, { statuses: [status, otherStatus], user }) | ||||
|       mutations.addNewNotifications( | ||||
|         state, | ||||
|  | @ -342,7 +342,8 @@ describe('Statuses module', () => { | |||
|             status: otherStatus, | ||||
|             action: otherStatus, | ||||
|             seen: false | ||||
|           }] | ||||
|           }], | ||||
|           newNotificationSideEffects | ||||
|         }) | ||||
| 
 | ||||
|       expect(state.notifications.data.length).to.eql(1) | ||||
|  | @ -356,7 +357,8 @@ describe('Statuses module', () => { | |||
|             status: mentionedStatus, | ||||
|             action: mentionedStatus, | ||||
|             seen: false | ||||
|           }] | ||||
|           }], | ||||
|           newNotificationSideEffects | ||||
|         }) | ||||
| 
 | ||||
|       mutations.addNewStatuses(state, { statuses: [mentionedStatus], user }) | ||||
|  |  | |||
|  | @ -17,8 +17,7 @@ const message3 = { | |||
|   created_at: (new Date('2020-07-22T18:45:59.000Z')) | ||||
| } | ||||
| 
 | ||||
| // TODO: only
 | ||||
| describe.only('chatService', () => { | ||||
| describe('chatService', () => { | ||||
|   describe('.add', () => { | ||||
|     it("Doesn't add duplicates", () => { | ||||
|       const chat = chatService.empty() | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 sadposter
						sadposter