mirror of https://github.com/halo-dev/halo
pref: pin save button to the bottom of the page in theme preview (#6449)
#### What type of PR is this? /kind improvement /area ui /milestone 2.19.x #### What this PR does / why we need it: 将主题预览中的保存功能固定在底部,方便当主题设置项过多时进行保存。 为了不影响保存功能,因此此 PR 移除了本来在左下角悬浮的选择主题按钮。选择主题可以直接在右上角进行点击。 #### Which issue(s) this PR fixes: Fixes #6448 #### Does this PR introduce a user-facing change? ```release-note 在主题预览界面中将保存按钮固定在底部 ```pull/6453/head
parent
94f28cc76e
commit
332f4f8728
|
@ -9,7 +9,6 @@ import type {
|
|||
} from "@halo-dev/api-client";
|
||||
import { consoleApiClient } from "@halo-dev/api-client";
|
||||
import {
|
||||
IconArrowLeft,
|
||||
IconComputer,
|
||||
IconLink,
|
||||
IconPalette,
|
||||
|
@ -29,6 +28,7 @@ import { storeToRefs } from "pinia";
|
|||
import { computed, markRaw, onMounted, ref, toRaw } from "vue";
|
||||
import { useI18n } from "vue-i18n";
|
||||
import ThemePreviewListItem from "./ThemePreviewListItem.vue";
|
||||
import StickyBlock from "@/components/sticky-block/StickyBlock.vue";
|
||||
|
||||
const props = withDefaults(
|
||||
defineProps<{
|
||||
|
@ -333,21 +333,23 @@ const iframeClasses = computed(() => {
|
|||
/>
|
||||
</FormKit>
|
||||
</div>
|
||||
<div v-permission="['system:themes:manage']" class="pt-5">
|
||||
<div class="flex justify-start">
|
||||
<VButton
|
||||
:loading="saving"
|
||||
type="secondary"
|
||||
@click="
|
||||
$formkit.submit(
|
||||
`preview-setting-${activeSettingTab}` || ''
|
||||
)
|
||||
"
|
||||
>
|
||||
{{ $t("core.common.buttons.save") }}
|
||||
</VButton>
|
||||
</div>
|
||||
</div>
|
||||
<StickyBlock
|
||||
v-permission="['system:themes:manage']"
|
||||
class="-mx-4 -mb-4 -mr-3 rounded-b-base rounded-t-lg bg-white p-4 pt-5"
|
||||
position="bottom"
|
||||
>
|
||||
<VButton
|
||||
:loading="saving"
|
||||
type="secondary"
|
||||
@click="
|
||||
$formkit.submit(
|
||||
`preview-setting-${activeSettingTab}` || ''
|
||||
)
|
||||
"
|
||||
>
|
||||
{{ $t("core.common.buttons.save") }}
|
||||
</VButton>
|
||||
</StickyBlock>
|
||||
</div>
|
||||
</div>
|
||||
</transition>
|
||||
|
@ -383,25 +385,6 @@ const iframeClasses = computed(() => {
|
|||
</li>
|
||||
</ul>
|
||||
</transition>
|
||||
<transition
|
||||
enter-active-class="transform transition ease-in-out duration-300"
|
||||
enter-from-class="translate-y-full"
|
||||
enter-to-class="translate-y-0"
|
||||
leave-active-class="transform transition ease-in-out duration-300"
|
||||
leave-from-class="translate-y-0"
|
||||
leave-to-class="translate-y-full"
|
||||
>
|
||||
<div v-if="settingsVisible" class="fixed bottom-2 left-2">
|
||||
<VButton
|
||||
size="md"
|
||||
circle
|
||||
type="primary"
|
||||
@click="handleOpenThemes"
|
||||
>
|
||||
<IconArrowLeft />
|
||||
</VButton>
|
||||
</div>
|
||||
</transition>
|
||||
</OverlayScrollbarsComponent>
|
||||
</transition>
|
||||
<div
|
||||
|
|
Loading…
Reference in New Issue