diff --git a/src/views/Editor/Thumbnails/Templates.vue b/src/views/Editor/Thumbnails/Templates.vue index e7dd44c6..69b312f4 100644 --- a/src/views/Editor/Thumbnails/Templates.vue +++ b/src/views/Editor/Thumbnails/Templates.vue @@ -8,17 +8,28 @@ @click="changeCatalog(item.id)" >{{ item.name }} -
-
- - -
- -
+
+
+
{{ item.label }}
+
+
+
@@ -42,6 +53,18 @@ const slidesStore = useSlidesStore() const { templates } = storeToRefs(slidesStore) const slides = ref([]) const listRef = ref() +const types = ref<{ + label: string + value: string +}[]>([ + { label: '全部', value: 'all' }, + { label: '封面', value: 'cover' }, + { label: '目录', value: 'contents' }, + { label: '过渡', value: 'transition' }, + { label: '内容', value: 'content' }, + { label: '结束', value: 'end' }, +]) +const activeType = ref('all') const activeCatalog = ref('') @@ -68,6 +91,7 @@ onMounted(() => { width: 500px; height: 500px; display: flex; + user-select: none; } .catalogs { width: 108px; @@ -97,6 +121,36 @@ onMounted(() => { } } } +.content { + display: flex; + flex-direction: column; +} +.types { + display: flex; + padding: 2px 0; + margin-bottom: 8px; + + .type { + border-radius: $borderRadius; + padding: 3px 8px; + font-size: 12px; + cursor: pointer; + + & +.type { + margin-left: 4px; + } + + &.active { + color: $themeColor; + background-color: rgba($color: $themeColor, $alpha:.05); + font-weight: 700; + } + + &:hover { + background-color: #f5f5f5; + } + } +} .list { width: 392px; padding: 2px;