|
9 | 9 | } from '@/utils'
|
10 | 10 | import fileApi from '@/utils/file'
|
11 | 11 | import CodeMirror from 'codemirror'
|
| 12 | +import { Minimize2, MoveDiagonal } from 'lucide-vue-next' |
12 | 13 |
|
13 | 14 | const store = useStore()
|
14 | 15 | const displayStore = useDisplayStore()
|
@@ -359,6 +360,8 @@ onMounted(() => {
|
359 | 360 | onEditorRefresh()
|
360 | 361 | mdLocalToRemote()
|
361 | 362 | })
|
| 363 | +
|
| 364 | +const isOpenHeadingSlider = ref(false) |
362 | 365 | </script>
|
363 | 366 |
|
364 | 367 | <template>
|
@@ -438,13 +441,27 @@ onMounted(() => {
|
438 | 441 |
|
439 | 442 | <BackTop target="preview" :right="40" :bottom="40" />
|
440 | 443 | </div>
|
441 |
| - <ul class="bg-background absolute left-0 top-0 max-h-100 w-60 overflow-auto border rounded-2 p-2 text-sm shadow"> |
442 |
| - <li v-for="(item, index) in store.titleList" :key="index" class="line-clamp-1 py-1 leading-6 hover:bg-gray-300 dark:hover:bg-gray-600" :style="{paddingLeft: item.level - 0.5 + 'em'}"> |
443 |
| - <a :href="item.url"> |
444 |
| - {{ item.title }} |
445 |
| - </a> |
446 |
| - </li> |
447 |
| - </ul> |
| 444 | + <div |
| 445 | + class="bg-background absolute left-0 top-0 border rounded-2 p-2 text-sm shadow" |
| 446 | + > |
| 447 | + <Button variant="outline" size="icon" @click="isOpenHeadingSlider = !isOpenHeadingSlider"> |
| 448 | + <Minimize2 v-show="isOpenHeadingSlider" class="size-4" /> |
| 449 | + <MoveDiagonal v-show="!isOpenHeadingSlider" class="size-4" /> |
| 450 | + </Button> |
| 451 | + <ul |
| 452 | + class="overflow-auto transition-all" |
| 453 | + :class="{ |
| 454 | + 'max-h-0 w-0': !isOpenHeadingSlider, |
| 455 | + 'max-h-100 w-60 mt-2': isOpenHeadingSlider, |
| 456 | + }" |
| 457 | + > |
| 458 | + <li v-for="(item, index) in store.titleList" :key="index" class="line-clamp-1 py-1 leading-6 hover:bg-gray-300 dark:hover:bg-gray-600" :style="{paddingLeft: item.level - 0.5 + 'em'}"> |
| 459 | + <a :href="item.url"> |
| 460 | + {{ item.title }} |
| 461 | + </a> |
| 462 | + </li> |
| 463 | + </ul> |
| 464 | + </div> |
448 | 465 | </div>
|
449 | 466 | <CssEditor class="order-2 flex-1" />
|
450 | 467 | <RightSlider class="order-2" />
|
|
0 commit comments