update cards

This commit is contained in:
2026-05-14 18:05:19 +03:00
parent 7815ce9587
commit 7c120c4f0b
29 changed files with 181 additions and 126 deletions

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 352 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 988 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

View File

@@ -0,0 +1,11 @@
<!-- Place these tags in your HTML head section -->
<link rel="icon" type="image/x-icon" href="/favicon.ico">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png">
<link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png">
<link rel="icon" type="image/png" sizes="128x128" href="/favicon-128x128.png">
<link rel="icon" type="image/png" sizes="256x256" href="/favicon-256x256.png">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<link rel="apple-touch-icon" sizes="192x192" href="/android-chrome-192x192.png">
<link rel="manifest" href="/site.webmanifest">

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 32 KiB

View File

@@ -1,18 +1,17 @@
{
"name": "MyWebSite",
"short_name": "MySite",
"name": "Your Website",
"short_name": "Website",
"description": "Description of your website",
"icons": [
{
"src": "/web-app-manifest-192x192.png",
"src": "/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image/png",
"purpose": "maskable"
"type": "image/png"
},
{
"src": "/web-app-manifest-512x512.png",
"src": "/android-chrome-512x512.png",
"sizes": "512x512",
"type": "image/png",
"purpose": "maskable"
"type": "image/png"
}
],
"theme_color": "#ffffff",

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

View File

@@ -5,7 +5,7 @@
'is-animated': animated,
'hide-bg': !withBackground
}"
:style="{ color: iconColor, transform: 'scale(1.08)', height: '1cap' }"
:style="iconStyle"
/>
<div
@@ -20,26 +20,41 @@
</template>
<script setup>
import { computed } from 'vue'
import { getCssVar } from 'quasar'
import LogoIcon from 'components/BaseLogoSvg.vue'
defineProps({
const props = defineProps({
textColor: {
type: String,
default: 'primary'
},
iconColor: {
type: String,
default: 'white'
default: 'primary'
},
withBackground: {
type: Boolean,
default: true
default: false
},
animated: {
type: Boolean,
default: true
}
})
const iconStyle = computed(() => {
const color = getCssVar(props.iconColor) || props.iconColor
return {
color: color,
transform: 'scale(1.08)',
height: '1cap'
}
})
</script>
<style lang="scss" scoped>
.hide-bg :deep(.logo-bg) {
display: none;
}
</style>

View File

@@ -1,22 +1,24 @@
<template>
<div class="w100 flex justify-between text-caption q-pa-md q-gutter-y-md text-grey-9">
<div class="flex column col-12 col-sm">
<div class="q-pl-sm">
<div>
<div class="w100 flex items-center justify-between q-px-md">
<div id="contact-block" class="flex column items-start q-py-sm">
<base-logo
withBackground
animated
class="text-h4"
class="text-h6"
/>
<div class="flex items-center no-wrap">
<q-icon name="mdi-map-marker-outline" color="brand" class="q-pr-sm"/>
<q-icon name="mdi-map-marker-outline" color="brand" class="q-pr-xs"/>
<span>{{ $t('footer__contacts_location') }}</span>
</div>
<div class="flex items-center no-wrap">
<q-icon name="mdi-phone-outline" color="brand" class="q-pr-sm" />
<q-icon name="mdi-phone-outline" color="brand" class="q-pr-xs"/>
<span>+7 (916) 439-04-25</span>
</div>
<div class="flex items-center no-wrap">
<q-icon name="mdi-email-outline" color="brand" class="q-pr-sm"/>
<q-icon name="mdi-email-outline" color="brand" class="q-pr-xs"/>
<a
href="mailto:info@tgcrew.ru"
style="text-decoration: none; color: inherit"
@@ -24,33 +26,9 @@
info@tgcrew.ru
</a>
</div>
<br>
<div class="">
{{ $t('footer__contacts_ogrnip') + ' ' }}
<span class="text-no-wrap">
318774600262084
</span>
</div>
<div class="">
{{ $t('footer__contacts_inn') + ' ' }}
<span class="text-no-wrap">
366316608346
</span>
</div>
<div class="">
{{ $t('footer__contacts_pdn') + ' ' }}
<span class="text-no-wrap">
77-25-471585
</span>
</div>
</div>
</div>
<div class="flex column col-12 col-sm">
<div class="q-pl-sm">
<span class="text-body1 text-bold">
{{ $t('footer__docs') }}
</span>
<div id="doc-block" class="text-grey q-py-sm">
<div
v-for="item in docs"
:key="item.id"
@@ -59,7 +37,7 @@
<span
@click="router.push({ name: item.route })"
class="cursor-pointer"
style="text-decoration: underline; color: inherit"
style="color: inherit"
>
{{ $t(item.translationKey) }}
</span>
@@ -67,12 +45,40 @@
</div>
</div>
<div class="flex column col-12 col-sm">
<div class="text-grey q-pl-sm">
<q-separator/>
<div class="column q-py-sm q-px-md" id="law-block">
<div class="flex justify-center text-caption text-grey">
<span class="q-pr-md">
<span class="text-no-wrap">
{{ $t('footer__contacts_ip') }}
</span>
</span>
<span class="q-pr-md">
{{ $t('footer__contacts_ogrnip') + ' ' }}
<span class="text-no-wrap">
318774600262084
</span>
</span>
<span class="q-pr-md">
{{ $t('footer__contacts_inn') + ' ' }}
<span class="text-no-wrap">
366316608346
</span>
</span>
<span class="q-pr-md">
{{ $t('footer__contacts_pdn') + ' ' }}
<span class="text-no-wrap">
77-25-471585
</span>
</span>
</div>
<div class="text-grey-5 text-center text-caption">
{{ $t('footer__description_user_data') }}
</div>
</div>
</div>
</template>

View File

@@ -18,9 +18,9 @@
object-position: center center;
width: 100%;
height: 100%;
filter: blur(2px) brightness(0.75);
filter: blur(2px) brightness(0.9);
"
@canplay="$event.target.playbackRate = 0.5"
@canplay="$event.target.playbackRate = 0.4"
/>
<div
class="column items-center no-wrap"
@@ -33,8 +33,9 @@
</div>
<div
class="text-white text-center q-py-lg center-block"
class="text-white text-center q-py-lg center-block text-bold"
:class="$q.screen.lt.sm ? 'text-h4' : 'text-h3'"
style="line-height: 1.5em;"
>
{{ $t('banner__slogan_body') }}
<span class="text-no-wrap" color="primary">
@@ -62,7 +63,7 @@
<q-icon name="keyboard_arrow_right"/>
</div>
</q-btn>
<div class="text-white q-pt-sm edge-block justify-start text-grey-2">
<div class="text-white q-pt-sm edge-block justify-start text-grey-4">
{{ $t('banner__main_btn_description')}}
</div>
</div>

View File

@@ -12,12 +12,23 @@
<div class="relative-position w60 q-pt-md">
<div style="height: 60vh; position: relative;">
<iframe
v-if="item.name === 'intro'"
:key="item.name"
:src="item.url"
allow="autoplay; fullscreen; picture-in-picture; encrypted-media; gyroscope; accelerometer; clipboard-write; screen-wake-lock; fullscreen;"
frameborder="0"
style="position: absolute; width: 100%; height: 100%; top: 0; left: 0;"
/>
<div v-else class="relative-position fit">
<q-skeleton
type="rect"
class="fit"
style="border-radius: var(--base-radius);"
/>
<div class="absolute-center text-h4 text-uppercase text-grey-8">
{{ $t('how_it_works__coming_soon') }}
</div>
</div>
</div>
</div>
</template>

View File

@@ -84,10 +84,10 @@
]
const tariffs = [
{ id: 1, name: 'TEST', price: null, price_rub: null, chatsQty: 5 },
{ id: 1, name: 'TEST', price: 0, price_rub: 0, chatsQty: 5 },
{ id: 2, name: 'START', price: 1000, price_rub: 2000, chatsQty: 15 },
{ id: 3, name: 'PRO', price: 5000, price_rub: 10000, chatsQty: 40 },
{ id: 4, name: 'VIP', price: 12000, price_rub: 24000, chatsQty: null }
{ id: 4, name: 'VIP', price: 12000, price_rub: null, chatsQty: null }
]
</script>

View File

@@ -1,5 +1,7 @@
<template>
<div class="flex column items-center bg-white rounded-card q-pa-md">
<div
class="flex column items-center bg-white rounded-card q-pa-md crew-card fit"
>
<div class="text-h5 text-primary text-bold">
{{ name }}
</div>
@@ -23,9 +25,23 @@
</div>
<span class="text-caption">{{ $t('price__per_month') }}</span>
</div>
<div v-else class="text-bold text-h5">
<div v-else-if="price === 0" class="text-bold text-h5">
{{ $t('price__free_tax') }}
</div>
<div v-else>
<div class="text-center q-pt-md">
<a
href="mailto:info@tgcrew.ru"
style="text-decoration: none; color: inherit"
>
{{ $t('price__request') }}<br>
info@tgcrew.ru
</a>
</div>
</div>
</div>
<div class="flex items-center q-pt-md" style="min-height: 50px;">

View File

@@ -3,7 +3,8 @@
<div
class="fit row"
>
<div class="col-sm-6 col-xs-12 q-pa-lg"
<div
class="flex col-sm-6 col-xs-12 q-pa-lg"
v-for="(item, idx) in problems"
:key="idx"
>
@@ -11,6 +12,7 @@
:icon="item.icon"
:title="item.title"
:description="item.description"
class="bg-red"
/>
</div>
</div>

View File

@@ -1,13 +1,17 @@
<template>
<div class="column items-center bg-white fit q-pa-lg rounded-card fit">
<div
class="crew-card column items-center q-pa-xl cursor-pointer fit"
>
<q-icon
:name="icon"
size="xl"
color="primary"
/>
<div class="text-bold text-h5 text-center q-pt-md">
{{ $t(title ?? '') }}
</div>
<div class="text-grey text-body1 text-center q-pt-sm text-wrap">
{{ $t(description ?? '') }}
</div>
@@ -15,12 +19,14 @@
</template>
<script setup lang="ts">
defineProps({
icon: String,
title: String,
description: String
})
</script>
<style scoped>
<style scoped lang="scss">
</style>

View File

@@ -107,6 +107,24 @@ body, html, #q-app {
border-radius: var(--base-radius);
}
.crew-card {
background: linear-gradient(
135deg,
rgba(255, 255, 255, 0.9) 0%,
rgba(255, 255, 255, 0.5) 100%
) !important;
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
border-radius: 24px;
border: 1px solid rgba(255, 255, 255, 0.3);
transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
&.is-hovered {
transform: translateY(-1px);
background: white;
}
}
@font-face {
font-family: 'myFont';
src: url(./fonts/Inter-Regular.woff2);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -23,6 +23,7 @@
<base-logo
ref="logo"
class="text-h5"
:icon-color="isHeroScroll ? 'white' : 'primary'"
:text-color="isHeroScroll ? 'white' : 'primary'"
/>
<div