mirror of
				https://codeberg.org/yeentown/barkey.git
				synced 2025-11-04 07:24:13 +00:00 
			
		
		
		
	merge: enhance module player hide pattern when not needed (#282)
This commit is contained in:
		
						commit
						97dea59e49
					
				
					 1 changed files with 54 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -7,7 +7,11 @@
 | 
			
		|||
</div>
 | 
			
		||||
 | 
			
		||||
<div v-else class="mod-player-enabled">
 | 
			
		||||
	<div class="pattern-display">
 | 
			
		||||
	<div class="pattern-display" @click="togglePattern()">
 | 
			
		||||
		<div v-if="patternHide" class="pattern-hide">
 | 
			
		||||
			<b><i class="ph-eye ph-bold ph-lg"></i> Pattern Hidden</b>
 | 
			
		||||
			<span>{{ i18n.ts.clickToShow }}</span>
 | 
			
		||||
		</div>
 | 
			
		||||
		<canvas ref="displayCanvas" class="pattern-canvas"></canvas>
 | 
			
		||||
	</div>
 | 
			
		||||
	<div class="controls">
 | 
			
		||||
| 
						 | 
				
			
			@ -74,6 +78,8 @@ const props = defineProps<{
 | 
			
		|||
const isSensitive = computed(() => { return props.module.isSensitive; });
 | 
			
		||||
const url = computed(() => { return props.module.url; });
 | 
			
		||||
let hide = ref((defaultStore.state.nsfw === 'force') ? true : isSensitive.value && (defaultStore.state.nsfw !== 'ignore'));
 | 
			
		||||
let patternHide = ref(false);
 | 
			
		||||
let firstFrame = ref(true);
 | 
			
		||||
let playing = ref(false);
 | 
			
		||||
let displayCanvas = ref<HTMLCanvasElement>();
 | 
			
		||||
let progress = ref<HTMLProgressElement>();
 | 
			
		||||
| 
						 | 
				
			
			@ -156,15 +162,41 @@ function performSeek() {
 | 
			
		|||
 | 
			
		||||
function toggleVisible() {
 | 
			
		||||
	hide.value = !hide.value;
 | 
			
		||||
	if (!hide.value && patternHide.value) {
 | 
			
		||||
		firstFrame.value = true;
 | 
			
		||||
		patternHide.value = false;
 | 
			
		||||
	}
 | 
			
		||||
	nextTick(() => { stop(hide.value); });
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function togglePattern() {
 | 
			
		||||
	patternHide.value = !patternHide.value;
 | 
			
		||||
	if (!patternHide.value) {
 | 
			
		||||
		if (player.value.getRow() === 0) {
 | 
			
		||||
			try {
 | 
			
		||||
				player.value.play(buffer);
 | 
			
		||||
				display();
 | 
			
		||||
			} catch (err) {
 | 
			
		||||
				console.warn(err);
 | 
			
		||||
			}
 | 
			
		||||
			player.value.stop();
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function display() {
 | 
			
		||||
	if (!displayCanvas.value) {
 | 
			
		||||
		stop();
 | 
			
		||||
		return;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (patternHide.value) return;
 | 
			
		||||
 | 
			
		||||
	if (firstFrame.value) {
 | 
			
		||||
		firstFrame.value = false;
 | 
			
		||||
		patternHide.value = true;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	const canvas = displayCanvas.value;
 | 
			
		||||
 | 
			
		||||
	const pattern = player.value.getPattern();
 | 
			
		||||
| 
						 | 
				
			
			@ -271,12 +303,32 @@ function display() {
 | 
			
		|||
			background-color: black;
 | 
			
		||||
			height: 100%;
 | 
			
		||||
		}
 | 
			
		||||
		.pattern-hide {
 | 
			
		||||
			display: flex;
 | 
			
		||||
			flex-direction: column;
 | 
			
		||||
			justify-content: center;
 | 
			
		||||
			align-items: center;
 | 
			
		||||
			background: rgba(64, 64, 64, 0.3);
 | 
			
		||||
			backdrop-filter: blur(2em);
 | 
			
		||||
			color: #fff;
 | 
			
		||||
			font-size: 12px;
 | 
			
		||||
 | 
			
		||||
			position: absolute;
 | 
			
		||||
			z-index: 0;
 | 
			
		||||
			width: 100%;
 | 
			
		||||
			height: 100%;
 | 
			
		||||
 | 
			
		||||
			> span {
 | 
			
		||||
				display: block;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	> .controls {
 | 
			
		||||
		display: flex;
 | 
			
		||||
		width: 100%;
 | 
			
		||||
		background-color: var(--bg);
 | 
			
		||||
		z-index: 1;
 | 
			
		||||
 | 
			
		||||
		> * {
 | 
			
		||||
			padding: 4px 8px;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue