This commit is contained in:
2025-08-02 11:20:01 +03:00
parent feb351424e
commit 09feab1c42
18 changed files with 95 additions and 85 deletions

25
.drone.yml Normal file
View File

@@ -0,0 +1,25 @@
kind: pipeline
type: docker
name: deploy
steps:
- name: build
image: node:22
commands:
- npm install -g @quasar/cli
- npm install
- quasar build -m spa
- name: deploy
image: appleboy/drone-scp
settings:
host: 10.10.10.8
username: root
key:
from_secret: SSH-nginx-key
source: ./dist/spa/*
strip_components: 2
target: /usr/share/nginx/tgcrew/admin
rm: true
when:
branch: main

Binary file not shown.

View File

@@ -1,10 +1,10 @@
<template>
<div class="flex row items-center no-wrap">
<div
class="flex row items-center no-wrap logo-component"
>
<svg
class="iconcolor q-mr-xs"
class="iconcolor"
viewBox="0 0 8.4666662 8.4666662"
width="32"
height="32"
version="1.1"
id="svg1"
xmlns="http://www.w3.org/2000/svg"
@@ -13,7 +13,8 @@
<defs id="defs1" />
<g id="layer1">
<rect
style="fill:var(--icon-color);stroke-width:0.233149"
class="fill-brand"
style="stroke-width:0.233149"
id="rect5"
width="6.9885192"
height="0.35581663"
@@ -22,7 +23,8 @@
transform="matrix(0.77578367,0.63099897,-0.77578367,0.63099897,0,0)"
/>
<rect
style="fill:var(--icon-color);stroke-width:0.24961"
class="fill-brand"
style="stroke-width:0.24961"
id="rect5-7"
width="7.4819207"
height="0.3809379"
@@ -31,28 +33,32 @@
transform="matrix(-0.70756824,0.70664502,0.70756824,0.70664502,0,0)"
/>
<circle
style="fill:var(--icon-color);stroke-width:0.134869"
class="fill-brand"
style="stroke-width:0.134869"
id="path5-8"
cx="1.5875"
cy="6.8791666"
r="1.0583333"
/>
<circle
style="fill:var(--icon-color);stroke-width:0.168586"
class="fill-brand"
style="stroke-width:0.168586"
id="path5-8-5"
cx="7.1437502"
cy="7.1437502"
r="1.3229166"
/>
<circle
style="fill:var(--icon-color);stroke-width:0.118011"
class="fill-brand"
style="stroke-width:0.118011"
id="path5-8-5-1"
cx="1.4552083"
cy="2.5135417"
r="0.92604166"
/>
<circle
style="fill:var(--icon-color);stroke-width:0.101152"
class="fill-brand"
style="stroke-width:0.101152"
id="path5-8-5-1-7"
cx="7.1437502"
cy="1.3229166"
@@ -69,51 +75,46 @@
</svg>
<span
class="text-h4 text-brand"
style="
color: var(--logo-color-bg-white);
margin-right: 2px;"
class="text-brand"
style="margin-right: 0.075em;"
>
tg
</span>
<span class="text-h4 text-brand2 text-bold q-pa-0">
<span class="text-brand2 text-bold">
Crew
</span>
</div>
</template>
<script setup lang="ts">
</script>
<style lang="scss">
body {
background: white;
margin: 0rem;
min-height: 100vh;
font-family: Futura, sans-serif;
<style lang="scss" scoped>
.logo-component {
svg {
width: 1em;
height: 1em;
margin-right: 0.125em;
}
span {
line-height: 1;
}
}
#canvas {
position: absolute;
display: block;
top: 0;
left: 0;
z-index: -1;
}
.iconcolor {
--icon-color: #27A7E7;
.fill-brand {
fill: $brand;
}
@keyframes blink {
100%,
0% {
fill: #fa9e7a;
fill: $brand2;
}
60% {
fill: #F36D3A;
fill: $brand2;
opacity: 0.8;
}
}

View File

@@ -6,7 +6,7 @@
<template #footer>
<q-btn
rounded color="primary"
class="w100 q-mt-md q-mb-xs"
class="w100 q-mt-md q-mb-xs fix-disabled-btn"
:disable="!isFormValid"
@click = "onSubmit"
>

View File

@@ -57,7 +57,7 @@ interface TimeZone {
offsetHours: number
}
const props = defineProps<{
defineProps<{
locale: string
}>()

View File

@@ -6,7 +6,7 @@
<template #footer>
<q-btn
rounded color="primary"
class="w100 q-mt-md q-mb-xs"
class="w100 q-mt-md q-mb-xs fix-disabled-btn"
:disable="!isFormValid"
@click = "emit('update')"
>

View File

@@ -6,7 +6,7 @@
<template #footer>
<q-btn
rounded color="primary"
class="w100 q-mt-md q-mb-xs"
class="w100 q-mt-md q-mb-xs fix-disabled-btn"
@click = "onSubmit"
>
{{ $t(btnText) }}

View File

@@ -1,18 +1,18 @@
// app global css in SCSS form
.text-brand {
color: #27A7E7 !important;
color: $brand !important;
}
.bg-brand {
background: #27A7E7 !important;
background: $brand !important;
}
.text-brand2 {
color: #F36D3A !important;
color: $brand2 !important;
}
.bg-brand2 {
background: #F36D3A !important;
background: $brand2 !important;
}
$base-width: 100;
@@ -21,10 +21,14 @@ $base-width: 100;
$base-width: $base-width - 10;
}
$base-height: 100;
@while $base-height > 0 {
.h#{$base-height} { height: #{$base-height}+'%'; }
$base-height: $base-height - 10;
body, html, #q-app {
font-family: $typography-font-family;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
* {
font-family: inherit;
}
:root {
@@ -76,9 +80,14 @@ body {
@font-face {
font-family: 'myFont';
src: url(./fonts/OpenSans-Regular.woff2);
src: url(./fonts/Inter-Regular.woff2);
}
button[disabled] {
.fix-disabled-btn.q-btn[disabled]:not(.q-btn--flat) {
background-color: $grey-5 !important;
}
.fix-disabled-btn.q-btn.q-btn--flat[disabled] {
color: $grey-9 !important;
opacity: 1;
}

Binary file not shown.

Binary file not shown.

View File

@@ -1,17 +1,3 @@
// Quasar SCSS (& Sass) Variables
// --------------------------------------------------
// To customize the look and feel of this app, you can override
// the Sass/SCSS variables found in Quasar's source Sass/SCSS files.
// Check documentation for full list of Quasar variables
// Your own variables (that are declared here) and Quasar's own
// ones will be available out of the box in your .vue/.scss/.sass files
// It's highly recommended to change the default colors
// to match your app's branding.
// Tip: Use the "Theme Builder" on Quasar's documentation website.
$primary : #27A7E7;
$secondary : #26A69A;
$accent : #9C27B0;
@@ -26,16 +12,9 @@ $warning : #F2C037;
$lightgrey : #DCDCDC;
$brand: #27A7E7;
$brand2: #F36D3A;
$body-font-size: var(--dynamic-font-size);
$typography-font-family: 'myFont', Roboto !default;
body, html, #q-app {
font-family: $typography-font-family;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
* {
font-family: inherit;
}

File diff suppressed because one or more lines are too long

View File

@@ -8,7 +8,7 @@
</template>
<script setup lang="ts">
import { reactive } from 'vue'
import { ref } from 'vue'
import { useRouter } from 'vue-router'
import companyBlock from 'components/companyBlock.vue'
import { useCompaniesStore } from 'stores/companies'
@@ -17,7 +17,7 @@
const router = useRouter()
const companiesStore = useCompaniesStore()
const newCompany = reactive<CompanyParams>({} as CompanyParams)
const newCompany = ref<CompanyParams>({} as CompanyParams)
async function addCompany(companyData: CompanyParams) {
await companiesStore.add(companyData)

View File

@@ -13,8 +13,7 @@
style="max-width: 400px;"
>
<base-logo
class="col-grow q-pa-lg"
:style="{ alignItems: 'flex-end' }"
class="col-grow q-pa-lg text-h5"
/>
<div class="flex column w100">

View File

@@ -85,19 +85,19 @@
const settingsStore = useSettingsStore()
const locale = ref('')
const localeBot = ref('')
const localeOptions = settingsStore.supportLocale
const locale = ref('')
watch(locale, async (newValue) => {
await settingsStore.updateSettings({ locale: newValue })
})
const localeBot = ref('')
watch(localeBot, async (newValue) => {
await settingsStore.updateSettings({ localeBot: newValue })
})
const fontSize = ref(14)
const fontSize = ref(16)
const fontSizeOptions = settingsStore.supportFontSizes
const fontSizeLabel = computed(() =>
fontSizeOptions.find(el => el.value === fontSize.value)?.label ?? ''

View File

@@ -339,8 +339,6 @@
if (!newD) unblockUserId.value = undefined
})
</script>
<style scoped>

View File

@@ -26,7 +26,7 @@ export const useChatsStore = defineStore('chats', () => {
}
async function unlink (chatId: number) {
const { data } = await api.get('/project/' + currentProjectId.value + '/chat/' + chatId)
const { data } = await api.delete('/project/' + currentProjectId.value + '/chat/' + chatId)
const chatAPIid = data.data.id
const idx = chats.value.findIndex(item => item.id === chatAPIid)
chats.value.splice(idx, 1)

View File

@@ -80,7 +80,6 @@ export const useSettingsStore = defineStore('settings', () => {
if (authStore.isAuth) {
try {
const { data } = await api.get('/customer/settings')
console.log(data.data)
settings.value = {
fontSize: data.data.fontSize || defaultSettings.fontSize,
locale: data.data.locale || detectLocale(),