fix(ui): repair PWA install, credit footer, and boursecu copy

Make install guide and BasicButton clicks reliable, align montzar credit bar, remove calculator quick action, and use مس in about-software default text.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-03 13:53:10 -04:00
co-authored by Cursor
parent 9356a2ab5e
commit 5920866a95
9 changed files with 85 additions and 28 deletions
+6 -1
View File
@@ -7,11 +7,16 @@
:class="`app-credit-link--${variant}`"
>
<span class="app-credit-link__text">توسعه و طراحی توسط</span>
<img src="/logo-montzar.png" alt="montzar" class="app-credit-link__logo" />
<img :src="logoSrc" alt="montzar" class="app-credit-link__logo" />
</a>
</template>
<script lang="ts" setup>
const logoSrc = `${import.meta.env.BASE_URL || '/'}logo-montzar.png`.replace(
/([^:]\/)\/+/g,
'$1',
)
withDefaults(
defineProps<{
variant?: 'mobile' | 'sidebar' | 'float' | 'tv'
+20 -3
View File
@@ -1,5 +1,13 @@
<template>
<AButton :disabled="props.disabledB" :type="props.type" :size="props.size" :class="[prefixCls, _class]" :loading="props.loading">
<AButton
:disabled="props.disabledB"
:type="props.type"
:size="props.size"
:class="[prefixCls, _class]"
:loading="props.loading"
:html-type="props.htmlType"
@click="onClick"
>
<!-- py-1 px-2-->
<div
class="flex items-center gap-1 justify-center flex-row-reverse gap-2 py-1 px-2"
@@ -28,7 +36,7 @@ interface Props {
size?: string
loading?: boolean
disabledB?:boolean
htmlType?: 'button' | 'submit' | 'reset'
// prefixIcon?: string
}
@@ -51,8 +59,17 @@ const { prefixCls } = usePrefix('base-button')
const props = withDefaults(defineProps<Props>(), {
iconSize: baseButtonIconSize,
// iconLeft: false,
iconClass: ''
iconClass: '',
htmlType: 'submit',
})
const emit = defineEmits<{
click: [event: MouseEvent]
}>()
function onClick(event: MouseEvent) {
emit('click', event)
}
</script>
<style lang="less">
+14 -7
View File
@@ -20,11 +20,17 @@ const emit = defineEmits<{
close: []
}>()
const activePlatform = ref<PwaPlatform>(props.platform ?? getDefaultPwaPlatform())
function normalizePlatform(value?: string | null): PwaPlatform {
return value === 'ios' || value === 'android' ? value : getDefaultPwaPlatform()
}
const activePlatform = ref<PwaPlatform>(normalizePlatform(props.platform))
const stepIndex = ref(0)
const guide = computed(() => PWA_INSTALL_GUIDE[activePlatform.value])
const currentStep = computed(() => guide.value.steps[stepIndex.value])
const guide = computed(
() => PWA_INSTALL_GUIDE[normalizePlatform(activePlatform.value)] ?? PWA_INSTALL_GUIDE.android,
)
const currentStep = computed(() => guide.value.steps[stepIndex.value] ?? guide.value.steps[0])
const totalSteps = computed(() => guide.value.steps.length)
const isFirstStep = computed(() => stepIndex.value === 0)
const isLastStep = computed(() => stepIndex.value === totalSteps.value - 1)
@@ -34,7 +40,7 @@ watch(
() => props.open,
(visible) => {
if (!visible) return
activePlatform.value = props.platform ?? getDefaultPwaPlatform()
activePlatform.value = normalizePlatform(props.platform)
stepIndex.value = 0
},
)
@@ -42,7 +48,7 @@ watch(
watch(
() => props.platform,
(value) => {
if (value) activePlatform.value = value
if (value) activePlatform.value = normalizePlatform(value)
},
)
@@ -52,8 +58,9 @@ function close() {
}
function selectPlatform(next: PwaPlatform) {
if (activePlatform.value === next) return
activePlatform.value = next
const platform = normalizePlatform(next)
if (activePlatform.value === platform) return
activePlatform.value = platform
stepIndex.value = 0
}