edit some things in landing page

This commit is contained in:
2026-08-19 11:31:30 +03:30
parent 313beb13f8
commit 7e76331796
4 changed files with 98 additions and 50 deletions
+6 -2
View File
@@ -1,5 +1,5 @@
<script lang="ts" setup>
import { getLoginAppUrl, getLoginInstallPwaUrl } from '@/utils/config'
import { getLoginAppUrl, getLoginInstallPwaUrl, getLoginRegisterUrl } from '@/utils/config'
definePageMeta({
layout: false,
@@ -8,7 +8,11 @@ definePageMeta({
const route = useRoute()
const target =
route.query.installPwa === 'true' ? getLoginInstallPwaUrl() : getLoginAppUrl()
route.query.installPwa === 'true'
? getLoginInstallPwaUrl()
: route.query.register === 'true'
? getLoginRegisterUrl()
: getLoginAppUrl()
await navigateTo(target, { external: true })
</script>
+17 -5
View File
@@ -39,16 +39,28 @@ export function getLoginAppUrl() {
/** صفحه Login اپ اصلی با فلگ نصب PWA */
export function getLoginInstallPwaUrl() {
try {
const loginUrl = getLoginAppUrl()
const origin = import.meta.client
? new URL(loginUrl, window.location.origin).origin
: new URL(loginUrl).origin
return `${origin}/login?installPwa=true`
return `${getLoginAppOrigin()}/login?installPwa=true`
} catch {
return 'https://app.boursemes.com/login?installPwa=true'
}
}
/** صفحه Login اپ اصلی روی بخش ثبت‌نام */
export function getLoginRegisterUrl() {
try {
return `${getLoginAppOrigin()}/login?register=true`
} catch {
return 'https://app.boursemes.com/login?register=true'
}
}
function getLoginAppOrigin() {
const loginUrl = getLoginAppUrl()
return import.meta.client
? new URL(loginUrl, window.location.origin).origin
: new URL(loginUrl).origin
}
/** boursecu-only branch */
export function isBoursecuProject() {
return true
@@ -24,7 +24,7 @@
<button type="button" class="dlanding-nav__ghost" @click="goToLoginApp">
ورود
</button>
<button type="button" class="dlanding-nav__primary" @click="goToLoginApp">
<button type="button" class="dlanding-nav__primary" @click="goToRegisterApp">
ثبت‌نام
</button>
</div>
@@ -435,7 +435,7 @@
</li>
</ol>
<button type="button" class="dlanding-steps__cta" @click="goToLoginApp">
<button type="button" class="dlanding-steps__cta" @click="goToRegisterApp">
همین حالا ثبت‌نام کنید
<BasicIcon icon="vuesax-linear:arrow-left" size="16" color="#ffffff" class="dlanding-steps__cta-icon" />
</button>
@@ -786,7 +786,7 @@
<button
type="button"
class="dlanding-finalcta__secondary"
@click="goToLoginApp"
@click="goToRegisterApp"
>
<BasicIcon icon="vuesax-linear:profile-add" size="16" color="#ffffff" />
ایجاد حساب کاربری
@@ -822,7 +822,7 @@
<div class="dlanding-footer__brand">
<img :src="brandLogo" :alt="projectName" class="dlanding-footer__logo" />
<p class="dlanding-footer__brand-text">
بورس مس پلتفرم خرید و فروش آنلاین مس، با پشتوانه تولید کننده واقعی کالای واقعی
بورس مس پلتفرم خرید و فروش آنلاین مس، با پشتوانه تولید کننده واقعی
</p>
<div class="dlanding-footer__socials" aria-label="شبکه‌های اجتماعی">
<a href="#" class="dlanding-footer__social" aria-label="اینستاگرام">
@@ -869,13 +869,17 @@
<div class="dlanding-footer__bottom">
<div class="dlanding-footer__contacts">
<span class="dlanding-footer__contact dlanding-footer__contact--phone" dir="ltr">
<BasicIcon icon="vuesax-linear:call" size="14" color="#c9895d" />
021 - 1234 5678
</span>
<span class="dlanding-footer__contact" dir="rtl">
<span class="dlanding-footer__contact">
<BasicIcon icon="vuesax-linear:location" size="14" color="#c9895d" />
مشهد، ایران
<span class="dlanding-footer__contact-text">ایران، خراسان رضوی،مشهد،برج آلتون،طبقه ۱۹ واحد ۴</span>
</span>
<span class="dlanding-footer__contact dlanding-footer__contact--postal">
<BasicIcon icon="vuesax-linear:directbox-default" size="14" color="#c9895d" />
<span class="dlanding-footer__contact-text">کد پستی : <span dir="ltr">9138831969</span></span>
</span>
<span class="dlanding-footer__contact dlanding-footer__contact--phone">
<BasicIcon icon="vuesax-linear:call" size="14" color="#c9895d" />
<span class="dlanding-footer__contact-text">+98-513-8480890</span>
</span>
</div>
<p class="dlanding-footer__copy">© ۲۰۲۶ بورس مس. تمام حقوق محفوظ است.</p>
@@ -896,7 +900,7 @@
<script lang="ts" setup>
import { computed, defineAsyncComponent, defineComponent, nextTick, onBeforeUnmount, onMounted, ref, watch } from 'vue'
import BasicIcon from '@/components/BasicPacks/BasicIcon.vue'
import { getLoginAppUrl } from '@/utils/config'
import { getLoginAppUrl, getLoginRegisterUrl } from '@/utils/config'
import heroPattern from '@/assets/img/landing-hero-pattern.svg'
import brandLogo from '@/assets/img/landing-navbar-logo.png'
import appPhonesImg from '@/assets/img/landing-app-phones.png'
@@ -1445,6 +1449,12 @@ function goToLoginApp() {
window.open(url, '_blank', 'noopener,noreferrer')
}
function goToRegisterApp() {
if (!import.meta.client) return
const url = getLoginRegisterUrl()
window.open(url, '_blank', 'noopener,noreferrer')
}
function syncBodyScrollLock(locked: boolean) {
if (!import.meta.client) return
document.documentElement.classList.toggle('dlanding-menu-open', locked)
@@ -2501,12 +2501,17 @@ body.dlanding-menu-open {
direction: rtl;
unicode-bidi: isolate;
&--phone {
&--phone,
&--postal {
direction: ltr;
flex-direction: row-reverse;
}
}
&__contact-text {
min-width: 0;
}
&__copy {
margin: 0;
color: #94a3b8;
@@ -3707,42 +3712,50 @@ body.dlanding-menu-open {
padding-top: 0;
border-top: none;
flex-direction: column;
align-items: flex-end;
align-items: flex-start;
justify-content: flex-start;
gap: 12px;
text-align: left;
text-align: right;
}
&__contacts {
display: flex;
flex-direction: column;
align-items: flex-end;
width: auto;
align-items: stretch;
width: 100%;
max-width: 100%;
gap: 12px;
}
&__contact {
flex-direction: row-reverse;
flex-direction: row;
justify-content: flex-start;
width: fit-content;
align-items: flex-start;
width: 100%;
max-width: 100%;
color: #64748b;
direction: rtl;
direction: ltr;
&--phone {
&--phone,
&--postal {
direction: ltr;
flex-direction: row-reverse;
flex-direction: row;
}
// vertical order: location then phone
&:nth-child(1) {
order: 2;
> .noname-icon {
flex-shrink: 0;
margin-top: 2px;
}
}
&:nth-child(2) {
order: 1;
}
&__contact-text {
flex: 1 1 auto;
text-align: right;
direction: rtl;
}
&__contact--phone &__contact-text {
direction: ltr;
}
&__copy {
@@ -3750,7 +3763,7 @@ body.dlanding-menu-open {
width: 100%;
color: #64748b;
font-size: 13px;
text-align: left;
text-align: right;
}
&__cols {
@@ -4469,43 +4482,52 @@ body.dlanding-menu-open {
padding-top: 0;
border-top: none;
flex-direction: column;
align-items: flex-end;
align-items: flex-start;
justify-content: flex-start;
gap: 10px;
text-align: left;
text-align: right;
}
&__contacts {
display: flex;
flex-direction: column;
align-items: flex-end;
align-items: stretch;
flex-wrap: nowrap;
width: auto;
width: 100%;
max-width: 100%;
gap: 10px;
}
&__contact {
flex-direction: row-reverse;
flex-direction: row;
justify-content: flex-start;
width: fit-content;
align-items: flex-start;
width: 100%;
max-width: 100%;
color: #64748b;
font-size: 12px;
direction: rtl;
direction: ltr;
&--phone {
&--phone,
&--postal {
direction: ltr;
flex-direction: row-reverse;
flex-direction: row;
}
&:nth-child(1) {
order: 2;
> .noname-icon {
flex-shrink: 0;
margin-top: 2px;
}
}
&:nth-child(2) {
order: 1;
}
&__contact-text {
flex: 1 1 auto;
text-align: right;
direction: rtl;
}
&__contact--phone &__contact-text {
direction: ltr;
}
&__copy {
@@ -4513,7 +4535,7 @@ body.dlanding-menu-open {
width: 100%;
color: #64748b;
font-size: 11.5px;
text-align: left;
text-align: right;
}
&__cols {