🎨
This commit is contained in:
		
							parent
							
								
									9c06544c46
								
							
						
					
					
						commit
						2d74f0507b
					
				
					 3 changed files with 21 additions and 100 deletions
				
			
		| 
						 | 
				
			
			@ -83,7 +83,7 @@
 | 
			
		|||
 | 
			
		||||
<script lang="ts">
 | 
			
		||||
import Vue from 'vue';
 | 
			
		||||
import { faPlus, faMinus, faRetweet, faReply, faReplyAll, faEllipsisH, faHome, faUnlock, faEnvelope, faThumbtack, faBan, faTrashAlt } from '@fortawesome/free-solid-svg-icons';
 | 
			
		||||
import { faPlus, faMinus, faRetweet, faReply, faReplyAll, faEllipsisH, faHome, faUnlock, faEnvelope, faThumbtack, faBan, faTrashAlt, faQuoteRight } from '@fortawesome/free-solid-svg-icons';
 | 
			
		||||
import { parse } from '../../mfm/parse';
 | 
			
		||||
import { sum, unique } from '../../prelude/array';
 | 
			
		||||
import i18n from '../i18n';
 | 
			
		||||
| 
						 | 
				
			
			@ -97,7 +97,6 @@ import XPoll from './poll.vue';
 | 
			
		|||
import XUrlPreview from './url-preview.vue';
 | 
			
		||||
import MkNoteMenu from './note-menu.vue';
 | 
			
		||||
import MkReactionPicker from './reaction-picker.vue';
 | 
			
		||||
import MkRenotePicker from './renote-picker.vue';
 | 
			
		||||
import pleaseLogin from '../scripts/please-login';
 | 
			
		||||
 | 
			
		||||
function focus(el, fn) {
 | 
			
		||||
| 
						 | 
				
			
			@ -379,10 +378,26 @@ export default Vue.extend({
 | 
			
		|||
		renote() {
 | 
			
		||||
			pleaseLogin(this.$root);
 | 
			
		||||
			this.blur();
 | 
			
		||||
			this.$root.new(MkRenotePicker, {
 | 
			
		||||
			this.$root.menu({
 | 
			
		||||
				items: [{
 | 
			
		||||
					text: this.$t('renote'),
 | 
			
		||||
					icon: faRetweet,
 | 
			
		||||
					action: () => {
 | 
			
		||||
						(this as any).$root.api('notes/create', {
 | 
			
		||||
							renoteId: this.appearNote.id
 | 
			
		||||
						});
 | 
			
		||||
					}
 | 
			
		||||
				}, {
 | 
			
		||||
					text: this.$t('quote'),
 | 
			
		||||
					icon: faQuoteRight,
 | 
			
		||||
					action: () => {
 | 
			
		||||
						this.$root.post({
 | 
			
		||||
							renote: this.appearNote,
 | 
			
		||||
						});
 | 
			
		||||
					}
 | 
			
		||||
				}]
 | 
			
		||||
				source: this.$refs.renoteButton,
 | 
			
		||||
				note: this.appearNote,
 | 
			
		||||
			}).$once('closed', this.focus);
 | 
			
		||||
			}).then(this.focus);
 | 
			
		||||
		},
 | 
			
		||||
 | 
			
		||||
		renoteDirectly() {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -134,7 +134,7 @@ export default Vue.extend({
 | 
			
		|||
		position: absolute;
 | 
			
		||||
		z-index: 10001;
 | 
			
		||||
		background: var(--panel);
 | 
			
		||||
		border-radius: 4px;
 | 
			
		||||
		border-radius: 8px;
 | 
			
		||||
		box-shadow: 0 3px 12px rgba(27, 31, 35, 0.15);
 | 
			
		||||
		overflow: hidden;
 | 
			
		||||
		transform-origin: center top;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,94 +0,0 @@
 | 
			
		|||
<template>
 | 
			
		||||
<x-popup :source="source" ref="popup" @closed="() => { $emit('closed'); destroyDom(); }" v-hotkey.global="keymap">
 | 
			
		||||
	<div class="rdfaahpc">
 | 
			
		||||
		<button class="_button" @click="quote()"><fa :icon="faQuoteRight"/></button>
 | 
			
		||||
		<button class="_button" @click="renote()"><fa :icon="faRetweet"/></button>
 | 
			
		||||
	</div>
 | 
			
		||||
</x-popup>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script lang="ts">
 | 
			
		||||
import Vue from 'vue';
 | 
			
		||||
import { faQuoteRight, faRetweet } from '@fortawesome/free-solid-svg-icons';
 | 
			
		||||
import i18n from '../i18n';
 | 
			
		||||
import XPopup from './popup.vue';
 | 
			
		||||
 | 
			
		||||
export default Vue.extend({
 | 
			
		||||
	i18n,
 | 
			
		||||
 | 
			
		||||
	components: {
 | 
			
		||||
		XPopup,
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	props: {
 | 
			
		||||
		note: {
 | 
			
		||||
			type: Object,
 | 
			
		||||
			required: true
 | 
			
		||||
		},
 | 
			
		||||
 | 
			
		||||
		source: {
 | 
			
		||||
			required: true
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	data() {
 | 
			
		||||
		return {
 | 
			
		||||
			faQuoteRight, faRetweet
 | 
			
		||||
		};
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	computed: {
 | 
			
		||||
		keymap(): any {
 | 
			
		||||
			return {
 | 
			
		||||
				'esc': this.close,
 | 
			
		||||
			};
 | 
			
		||||
		}
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	methods: {
 | 
			
		||||
		renote() {
 | 
			
		||||
			(this as any).$root.api('notes/create', {
 | 
			
		||||
				renoteId: this.note.id
 | 
			
		||||
			}).then(() => {
 | 
			
		||||
				this.$emit('closed');
 | 
			
		||||
				this.destroyDom();
 | 
			
		||||
			});
 | 
			
		||||
		},
 | 
			
		||||
 | 
			
		||||
		quote() {
 | 
			
		||||
			this.$emit('closed');
 | 
			
		||||
			this.destroyDom();
 | 
			
		||||
			this.$root.post({
 | 
			
		||||
				renote: this.note,
 | 
			
		||||
			});
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
});
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<style lang="scss" scoped>
 | 
			
		||||
.rdfaahpc {
 | 
			
		||||
	padding: 4px;
 | 
			
		||||
 | 
			
		||||
	> button {
 | 
			
		||||
		padding: 0;
 | 
			
		||||
		width: 40px;
 | 
			
		||||
		height: 40px;
 | 
			
		||||
		font-size: 16px;
 | 
			
		||||
		border-radius: 2px;
 | 
			
		||||
 | 
			
		||||
		> * {
 | 
			
		||||
			height: 1em;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		&:hover {
 | 
			
		||||
			background: rgba(0, 0, 0, 0.05);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		&:active {
 | 
			
		||||
			background: var(--accent);
 | 
			
		||||
			box-shadow: inset 0 0.15em 0.3em rgba(27, 31, 35, 0.15);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue