use MkStickyContainer (#9000)
This commit is contained in:
		| @@ -8,7 +8,6 @@ import tooltip from './tooltip'; | ||||
| import hotkey from './hotkey'; | ||||
| import appear from './appear'; | ||||
| import anim from './anim'; | ||||
| import stickyContainer from './sticky-container'; | ||||
| import clickAnime from './click-anime'; | ||||
| import panel from './panel'; | ||||
| import adaptiveBorder from './adaptive-border'; | ||||
| @@ -24,7 +23,6 @@ export default function(app: App) { | ||||
| 	app.directive('appear', appear); | ||||
| 	app.directive('anim', anim); | ||||
| 	app.directive('click-anime', clickAnime); | ||||
| 	app.directive('sticky-container', stickyContainer); | ||||
| 	app.directive('panel', panel); | ||||
| 	app.directive('adaptive-border', adaptiveBorder); | ||||
| } | ||||
|   | ||||
| @@ -1,17 +0,0 @@ | ||||
| import { Directive } from 'vue'; | ||||
|  | ||||
| export default { | ||||
| 	mounted(src, binding, vn) { | ||||
| 		//const query = binding.value; | ||||
|  | ||||
| 		const header = src.children[0]; | ||||
| 		const body = src.children[1]; | ||||
| 		const currentStickyTop = getComputedStyle(src).getPropertyValue('--stickyTop') || '0px'; | ||||
| 		src.style.setProperty('--stickyTop', `calc(${currentStickyTop} + ${header.offsetHeight}px)`); | ||||
| 		if (body) body.dataset.stickyContainerHeaderHeight = header.offsetHeight.toString(); | ||||
| 		header.style.setProperty('--stickyTop', currentStickyTop); | ||||
| 		header.style.position = 'sticky'; | ||||
| 		header.style.top = 'var(--stickyTop)'; | ||||
| 		header.style.zIndex = '1'; | ||||
| 	}, | ||||
| } as Directive; | ||||
| @@ -1,12 +1,14 @@ | ||||
| <template> | ||||
| <div v-sticky-container class="yrzkoczt"> | ||||
| 	<MkTab v-model="include" class="tab"> | ||||
| <MkStickyContainer> | ||||
| 	<template #header> | ||||
| 		<MkTab v-model="include" :class="$style.tab"> | ||||
| 			<option :value="null">{{ $ts.notes }}</option> | ||||
| 			<option value="replies">{{ $ts.notesAndReplies }}</option> | ||||
| 			<option value="files">{{ $ts.withFiles }}</option> | ||||
| 		</MkTab> | ||||
| 	</template> | ||||
| 	<XNotes :no-gap="true" :pagination="pagination"/> | ||||
| </div> | ||||
| </MkStickyContainer> | ||||
| </template> | ||||
|  | ||||
| <script lang="ts" setup> | ||||
| @@ -33,12 +35,10 @@ const pagination = { | ||||
| }; | ||||
| </script> | ||||
|  | ||||
| <style lang="scss" scoped> | ||||
| .yrzkoczt { | ||||
| 	> .tab { | ||||
| <style lang="scss" module> | ||||
| .tab { | ||||
| 	margin: calc(var(--margin) / 2) 0; | ||||
| 	padding: calc(var(--margin) / 2) 0; | ||||
| 	background: var(--bg); | ||||
| } | ||||
| } | ||||
| </style> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 tamaina
					tamaina