drone
This commit is contained in:
25
.drone.yml
Normal file
25
.drone.yml
Normal 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
|
||||||
BIN
i18n-2.xlsm
BIN
i18n-2.xlsm
Binary file not shown.
@@ -1,10 +1,10 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="flex row items-center no-wrap">
|
<div
|
||||||
|
class="flex row items-center no-wrap logo-component"
|
||||||
|
>
|
||||||
<svg
|
<svg
|
||||||
class="iconcolor q-mr-xs"
|
class="iconcolor"
|
||||||
viewBox="0 0 8.4666662 8.4666662"
|
viewBox="0 0 8.4666662 8.4666662"
|
||||||
width="32"
|
|
||||||
height="32"
|
|
||||||
version="1.1"
|
version="1.1"
|
||||||
id="svg1"
|
id="svg1"
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
@@ -13,7 +13,8 @@
|
|||||||
<defs id="defs1" />
|
<defs id="defs1" />
|
||||||
<g id="layer1">
|
<g id="layer1">
|
||||||
<rect
|
<rect
|
||||||
style="fill:var(--icon-color);stroke-width:0.233149"
|
class="fill-brand"
|
||||||
|
style="stroke-width:0.233149"
|
||||||
id="rect5"
|
id="rect5"
|
||||||
width="6.9885192"
|
width="6.9885192"
|
||||||
height="0.35581663"
|
height="0.35581663"
|
||||||
@@ -22,7 +23,8 @@
|
|||||||
transform="matrix(0.77578367,0.63099897,-0.77578367,0.63099897,0,0)"
|
transform="matrix(0.77578367,0.63099897,-0.77578367,0.63099897,0,0)"
|
||||||
/>
|
/>
|
||||||
<rect
|
<rect
|
||||||
style="fill:var(--icon-color);stroke-width:0.24961"
|
class="fill-brand"
|
||||||
|
style="stroke-width:0.24961"
|
||||||
id="rect5-7"
|
id="rect5-7"
|
||||||
width="7.4819207"
|
width="7.4819207"
|
||||||
height="0.3809379"
|
height="0.3809379"
|
||||||
@@ -31,28 +33,32 @@
|
|||||||
transform="matrix(-0.70756824,0.70664502,0.70756824,0.70664502,0,0)"
|
transform="matrix(-0.70756824,0.70664502,0.70756824,0.70664502,0,0)"
|
||||||
/>
|
/>
|
||||||
<circle
|
<circle
|
||||||
style="fill:var(--icon-color);stroke-width:0.134869"
|
class="fill-brand"
|
||||||
|
style="stroke-width:0.134869"
|
||||||
id="path5-8"
|
id="path5-8"
|
||||||
cx="1.5875"
|
cx="1.5875"
|
||||||
cy="6.8791666"
|
cy="6.8791666"
|
||||||
r="1.0583333"
|
r="1.0583333"
|
||||||
/>
|
/>
|
||||||
<circle
|
<circle
|
||||||
style="fill:var(--icon-color);stroke-width:0.168586"
|
class="fill-brand"
|
||||||
|
style="stroke-width:0.168586"
|
||||||
id="path5-8-5"
|
id="path5-8-5"
|
||||||
cx="7.1437502"
|
cx="7.1437502"
|
||||||
cy="7.1437502"
|
cy="7.1437502"
|
||||||
r="1.3229166"
|
r="1.3229166"
|
||||||
/>
|
/>
|
||||||
<circle
|
<circle
|
||||||
style="fill:var(--icon-color);stroke-width:0.118011"
|
class="fill-brand"
|
||||||
|
style="stroke-width:0.118011"
|
||||||
id="path5-8-5-1"
|
id="path5-8-5-1"
|
||||||
cx="1.4552083"
|
cx="1.4552083"
|
||||||
cy="2.5135417"
|
cy="2.5135417"
|
||||||
r="0.92604166"
|
r="0.92604166"
|
||||||
/>
|
/>
|
||||||
<circle
|
<circle
|
||||||
style="fill:var(--icon-color);stroke-width:0.101152"
|
class="fill-brand"
|
||||||
|
style="stroke-width:0.101152"
|
||||||
id="path5-8-5-1-7"
|
id="path5-8-5-1-7"
|
||||||
cx="7.1437502"
|
cx="7.1437502"
|
||||||
cy="1.3229166"
|
cy="1.3229166"
|
||||||
@@ -69,51 +75,46 @@
|
|||||||
</svg>
|
</svg>
|
||||||
|
|
||||||
<span
|
<span
|
||||||
class="text-h4 text-brand"
|
class="text-brand"
|
||||||
style="
|
style="margin-right: 0.075em;"
|
||||||
color: var(--logo-color-bg-white);
|
|
||||||
margin-right: 2px;"
|
|
||||||
>
|
>
|
||||||
tg
|
tg
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<span class="text-h4 text-brand2 text-bold q-pa-0">
|
<span class="text-brand2 text-bold">
|
||||||
Crew
|
Crew
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss" scoped>
|
||||||
body {
|
.logo-component {
|
||||||
background: white;
|
svg {
|
||||||
margin: 0rem;
|
width: 1em;
|
||||||
min-height: 100vh;
|
height: 1em;
|
||||||
font-family: Futura, sans-serif;
|
margin-right: 0.125em;
|
||||||
}
|
}
|
||||||
|
|
||||||
#canvas {
|
span {
|
||||||
position: absolute;
|
line-height: 1;
|
||||||
display: block;
|
}
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
z-index: -1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.iconcolor {
|
.fill-brand {
|
||||||
--icon-color: #27A7E7;
|
fill: $brand;
|
||||||
}
|
}
|
||||||
|
|
||||||
@keyframes blink {
|
@keyframes blink {
|
||||||
100%,
|
100%,
|
||||||
0% {
|
0% {
|
||||||
fill: #fa9e7a;
|
fill: $brand2;
|
||||||
}
|
}
|
||||||
60% {
|
60% {
|
||||||
fill: #F36D3A;
|
fill: $brand2;
|
||||||
|
opacity: 0.8;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<template #footer>
|
<template #footer>
|
||||||
<q-btn
|
<q-btn
|
||||||
rounded color="primary"
|
rounded color="primary"
|
||||||
class="w100 q-mt-md q-mb-xs"
|
class="w100 q-mt-md q-mb-xs fix-disabled-btn"
|
||||||
:disable="!isFormValid"
|
:disable="!isFormValid"
|
||||||
@click = "onSubmit"
|
@click = "onSubmit"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ interface TimeZone {
|
|||||||
offsetHours: number
|
offsetHours: number
|
||||||
}
|
}
|
||||||
|
|
||||||
const props = defineProps<{
|
defineProps<{
|
||||||
locale: string
|
locale: string
|
||||||
}>()
|
}>()
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<template #footer>
|
<template #footer>
|
||||||
<q-btn
|
<q-btn
|
||||||
rounded color="primary"
|
rounded color="primary"
|
||||||
class="w100 q-mt-md q-mb-xs"
|
class="w100 q-mt-md q-mb-xs fix-disabled-btn"
|
||||||
:disable="!isFormValid"
|
:disable="!isFormValid"
|
||||||
@click = "emit('update')"
|
@click = "emit('update')"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<template #footer>
|
<template #footer>
|
||||||
<q-btn
|
<q-btn
|
||||||
rounded color="primary"
|
rounded color="primary"
|
||||||
class="w100 q-mt-md q-mb-xs"
|
class="w100 q-mt-md q-mb-xs fix-disabled-btn"
|
||||||
@click = "onSubmit"
|
@click = "onSubmit"
|
||||||
>
|
>
|
||||||
{{ $t(btnText) }}
|
{{ $t(btnText) }}
|
||||||
|
|||||||
@@ -1,18 +1,18 @@
|
|||||||
// app global css in SCSS form
|
// app global css in SCSS form
|
||||||
.text-brand {
|
.text-brand {
|
||||||
color: #27A7E7 !important;
|
color: $brand !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.bg-brand {
|
.bg-brand {
|
||||||
background: #27A7E7 !important;
|
background: $brand !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.text-brand2 {
|
.text-brand2 {
|
||||||
color: #F36D3A !important;
|
color: $brand2 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.bg-brand2 {
|
.bg-brand2 {
|
||||||
background: #F36D3A !important;
|
background: $brand2 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
$base-width: 100;
|
$base-width: 100;
|
||||||
@@ -21,10 +21,14 @@ $base-width: 100;
|
|||||||
$base-width: $base-width - 10;
|
$base-width: $base-width - 10;
|
||||||
}
|
}
|
||||||
|
|
||||||
$base-height: 100;
|
body, html, #q-app {
|
||||||
@while $base-height > 0 {
|
font-family: $typography-font-family;
|
||||||
.h#{$base-height} { height: #{$base-height}+'%'; }
|
-webkit-font-smoothing: antialiased;
|
||||||
$base-height: $base-height - 10;
|
-moz-osx-font-smoothing: grayscale;
|
||||||
|
}
|
||||||
|
|
||||||
|
* {
|
||||||
|
font-family: inherit;
|
||||||
}
|
}
|
||||||
|
|
||||||
:root {
|
:root {
|
||||||
@@ -76,9 +80,14 @@ body {
|
|||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'myFont';
|
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;
|
background-color: $grey-5 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.fix-disabled-btn.q-btn.q-btn--flat[disabled] {
|
||||||
|
color: $grey-9 !important;
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|||||||
BIN
src/css/fonts/Inter-Regular.woff2
Normal file
BIN
src/css/fonts/Inter-Regular.woff2
Normal file
Binary file not shown.
Binary file not shown.
@@ -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;
|
$primary : #27A7E7;
|
||||||
$secondary : #26A69A;
|
$secondary : #26A69A;
|
||||||
$accent : #9C27B0;
|
$accent : #9C27B0;
|
||||||
@@ -26,16 +12,9 @@ $warning : #F2C037;
|
|||||||
|
|
||||||
$lightgrey : #DCDCDC;
|
$lightgrey : #DCDCDC;
|
||||||
|
|
||||||
|
$brand: #27A7E7;
|
||||||
|
$brand2: #F36D3A;
|
||||||
|
|
||||||
$body-font-size: var(--dynamic-font-size);
|
$body-font-size: var(--dynamic-font-size);
|
||||||
|
|
||||||
$typography-font-family: 'myFont', Roboto !default;
|
$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
@@ -8,7 +8,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { reactive } from 'vue'
|
import { ref } from 'vue'
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
import companyBlock from 'components/companyBlock.vue'
|
import companyBlock from 'components/companyBlock.vue'
|
||||||
import { useCompaniesStore } from 'stores/companies'
|
import { useCompaniesStore } from 'stores/companies'
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const companiesStore = useCompaniesStore()
|
const companiesStore = useCompaniesStore()
|
||||||
|
|
||||||
const newCompany = reactive<CompanyParams>({} as CompanyParams)
|
const newCompany = ref<CompanyParams>({} as CompanyParams)
|
||||||
|
|
||||||
async function addCompany(companyData: CompanyParams) {
|
async function addCompany(companyData: CompanyParams) {
|
||||||
await companiesStore.add(companyData)
|
await companiesStore.add(companyData)
|
||||||
|
|||||||
@@ -13,8 +13,7 @@
|
|||||||
style="max-width: 400px;"
|
style="max-width: 400px;"
|
||||||
>
|
>
|
||||||
<base-logo
|
<base-logo
|
||||||
class="col-grow q-pa-lg"
|
class="col-grow q-pa-lg text-h5"
|
||||||
:style="{ alignItems: 'flex-end' }"
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<div class="flex column w100">
|
<div class="flex column w100">
|
||||||
|
|||||||
@@ -85,19 +85,19 @@
|
|||||||
|
|
||||||
const settingsStore = useSettingsStore()
|
const settingsStore = useSettingsStore()
|
||||||
|
|
||||||
const locale = ref('')
|
|
||||||
const localeBot = ref('')
|
|
||||||
const localeOptions = settingsStore.supportLocale
|
const localeOptions = settingsStore.supportLocale
|
||||||
|
|
||||||
|
const locale = ref('')
|
||||||
watch(locale, async (newValue) => {
|
watch(locale, async (newValue) => {
|
||||||
await settingsStore.updateSettings({ locale: newValue })
|
await settingsStore.updateSettings({ locale: newValue })
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const localeBot = ref('')
|
||||||
watch(localeBot, async (newValue) => {
|
watch(localeBot, async (newValue) => {
|
||||||
await settingsStore.updateSettings({ localeBot: newValue })
|
await settingsStore.updateSettings({ localeBot: newValue })
|
||||||
})
|
})
|
||||||
|
|
||||||
const fontSize = ref(14)
|
const fontSize = ref(16)
|
||||||
const fontSizeOptions = settingsStore.supportFontSizes
|
const fontSizeOptions = settingsStore.supportFontSizes
|
||||||
const fontSizeLabel = computed(() =>
|
const fontSizeLabel = computed(() =>
|
||||||
fontSizeOptions.find(el => el.value === fontSize.value)?.label ?? ''
|
fontSizeOptions.find(el => el.value === fontSize.value)?.label ?? ''
|
||||||
|
|||||||
@@ -339,8 +339,6 @@
|
|||||||
if (!newD) unblockUserId.value = undefined
|
if (!newD) unblockUserId.value = undefined
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ export const useChatsStore = defineStore('chats', () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function unlink (chatId: number) {
|
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 chatAPIid = data.data.id
|
||||||
const idx = chats.value.findIndex(item => item.id === chatAPIid)
|
const idx = chats.value.findIndex(item => item.id === chatAPIid)
|
||||||
chats.value.splice(idx, 1)
|
chats.value.splice(idx, 1)
|
||||||
|
|||||||
@@ -80,7 +80,6 @@ export const useSettingsStore = defineStore('settings', () => {
|
|||||||
if (authStore.isAuth) {
|
if (authStore.isAuth) {
|
||||||
try {
|
try {
|
||||||
const { data } = await api.get('/customer/settings')
|
const { data } = await api.get('/customer/settings')
|
||||||
console.log(data.data)
|
|
||||||
settings.value = {
|
settings.value = {
|
||||||
fontSize: data.data.fontSize || defaultSettings.fontSize,
|
fontSize: data.data.fontSize || defaultSettings.fontSize,
|
||||||
locale: data.data.locale || detectLocale(),
|
locale: data.data.locale || detectLocale(),
|
||||||
|
|||||||
Reference in New Issue
Block a user