Tweak UI
This commit is contained in:
parent
3db37e1d52
commit
930127348a
@ -7,6 +7,7 @@ import tooltip from './tooltip';
|
|||||||
import hotkey from './hotkey';
|
import hotkey from './hotkey';
|
||||||
import appear from './appear';
|
import appear from './appear';
|
||||||
import anim from './anim';
|
import anim from './anim';
|
||||||
|
import stickyContainer from './sticky-container';
|
||||||
|
|
||||||
export default function(app: App) {
|
export default function(app: App) {
|
||||||
app.directive('userPreview', userPreview);
|
app.directive('userPreview', userPreview);
|
||||||
@ -17,4 +18,5 @@ export default function(app: App) {
|
|||||||
app.directive('hotkey', hotkey);
|
app.directive('hotkey', hotkey);
|
||||||
app.directive('appear', appear);
|
app.directive('appear', appear);
|
||||||
app.directive('anim', anim);
|
app.directive('anim', anim);
|
||||||
|
app.directive('sticky-container', stickyContainer);
|
||||||
}
|
}
|
||||||
|
15
src/client/directives/sticky-container.ts
Normal file
15
src/client/directives/sticky-container.ts
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
import { Directive } from 'vue';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
mounted(src, binding, vn) {
|
||||||
|
//const query = binding.value;
|
||||||
|
|
||||||
|
const header = src.children[0];
|
||||||
|
const currentStickyTop = getComputedStyle(src).getPropertyValue('--stickyTop');
|
||||||
|
src.style.setProperty('--stickyTop', `${parseInt(currentStickyTop) + header.offsetHeight}px`);
|
||||||
|
header.style.setProperty('--stickyTop', currentStickyTop);
|
||||||
|
header.style.position = 'sticky';
|
||||||
|
header.style.top = 'var(--stickyTop)';
|
||||||
|
header.style.zIndex = '1';
|
||||||
|
},
|
||||||
|
} as Directive;
|
@ -1,11 +1,11 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div class="yrzkoczt" v-sticky-container>
|
||||||
<MkTab v-model:value="with_" class="_gap _section">
|
<MkTab v-model:value="with_" class="_gap tab">
|
||||||
<option :value="null">{{ $ts.notes }}</option>
|
<option :value="null">{{ $ts.notes }}</option>
|
||||||
<option value="replies">{{ $ts.notesAndReplies }}</option>
|
<option value="replies">{{ $ts.notesAndReplies }}</option>
|
||||||
<option value="files">{{ $ts.withFiles }}</option>
|
<option value="files">{{ $ts.withFiles }}</option>
|
||||||
</MkTab>
|
</MkTab>
|
||||||
<XNotes ref="timeline" class="_section _noGap_" :pagination="pagination" @before="$emit('before')" @after="e => $emit('after', e)"/>
|
<XNotes ref="timeline" class="_noGap_" :pagination="pagination" @before="$emit('before')" @after="e => $emit('after', e)"/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -56,3 +56,11 @@ export default defineComponent({
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.yrzkoczt {
|
||||||
|
> .tab {
|
||||||
|
background: var(--bg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
Loading…
Reference in New Issue
Block a user