New file |
| | |
| | | <template> |
| | | <NavBar v-bind="props" dark class="transparent-navigation-bar" :style="wrapperStyle"> |
| | | <div :class="['common-navigation-bar-wrapper', { dark: mode == 'dark' }]" :style="barStyle"> |
| | | <div class="menu-btn-wrapper" v-if="!isLastPage && showLeftArrow" @click="goBack()"> |
| | | <img v-if="props.navigationArrowWhite" class="menu-btn" :src="IconArrowWhite" /> |
| | | <img v-else class="menu-btn" :src="IconArrow" /> |
| | | </div> |
| | | <div class="common-navigation-bar-title">{{ title }}</div> |
| | | </div> |
| | | </NavBar> |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | import NavBar from './NavBar.vue'; |
| | | import { commonNavigationBarProps } from './commonNavigationBar'; |
| | | import { CSSProperties } from 'vue'; |
| | | import IconArrow from '@/assets/common/icon-navi-arrow.png'; |
| | | import IconArrowWhite from '@/assets/common/icon-navi-arrow-white.png'; |
| | | import { useCanGoBack } from '@/hooks'; |
| | | |
| | | defineOptions({ |
| | | name: 'TransparentNavigationBar', |
| | | }); |
| | | |
| | | const props = defineProps(commonNavigationBarProps); |
| | | |
| | | const router = useRouter(); |
| | | |
| | | const { isCanGoBack } = useCanGoBack(); |
| | | |
| | | const isLastPage = computed(() => { |
| | | return !isCanGoBack.value; |
| | | }); |
| | | |
| | | const barStyle = computed(() => { |
| | | const distance = 24; |
| | | return { |
| | | paddingLeft: `${distance}px`, |
| | | paddingRight: `${distance}px`, |
| | | height: 44 + 'px', |
| | | } as CSSProperties; |
| | | }); |
| | | |
| | | const wrapperStyle = computed(() => { |
| | | return props.isAbsolute |
| | | ? ({ |
| | | position: 'absolute', |
| | | } as CSSProperties) |
| | | : {}; |
| | | }); |
| | | |
| | | function goBack() { |
| | | router.back(); |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | @use '@/style/common.scss' as *; |
| | | |
| | | .transparent-navigation-bar { |
| | | /* position: absolute; */ |
| | | width: 100%; |
| | | background-color: transparent; |
| | | |
| | | .common-navigation-bar-wrapper { |
| | | width: 100%; |
| | | } |
| | | |
| | | .common-navigation-bar-title { |
| | | color: getCssVar('text-color', 'primary'); |
| | | } |
| | | } |
| | | </style> |