chore: Update deployment server IP and path, and add date sorting for planned transactions.

This commit is contained in:
xds
2025-12-10 15:08:46 +03:00
parent 69ca7ae985
commit c27231dc13
2 changed files with 44 additions and 44 deletions

View File

@@ -1,6 +1,6 @@
ssh root@213.226.71.138 "
cd /root/luminic/front/app &&
ssh root@31.59.58.220 "
cd /root/luminic/app/front &&
git pull &&
npm run build &&
cp -r dist/* /var/www/app.luminic.space/

View File

@@ -1,14 +1,14 @@
<script setup lang="ts">
import {useSpaceStore} from "@/stores/spaceStore";
import {onMounted, ref} from "vue";
import {Checkbox, Divider} from "primevue";
import {useToast} from "primevue/usetoast";
import {Transaction, UpdateTransactionDTO} from "@/models/transaction";
import {TransactionFilters, TransactionService} from "@/services/transactions-service";
import {formatAmount, formatDate} from "@/utils/utils";
import {useRouter} from "vue-router";
import {TransactionKind} from "@/models/enums";
import {useToolbarStore} from "@/stores/toolbar-store";
import { useSpaceStore } from "@/stores/spaceStore";
import { onMounted, ref } from "vue";
import { Checkbox, Divider } from "primevue";
import { useToast } from "primevue/usetoast";
import { Transaction, UpdateTransactionDTO } from "@/models/transaction";
import { TransactionFilters, TransactionService } from "@/services/transactions-service";
import { formatAmount, formatDate } from "@/utils/utils";
import { useRouter } from "vue-router";
import { TransactionKind } from "@/models/enums";
import { useToolbarStore } from "@/stores/toolbar-store";
const toast = useToast();
const router = useRouter();
@@ -73,6 +73,7 @@ const fetchData = async (fetchPlanned: boolean = true, fetchInstant: boolean = t
isDone: showIsDone.value ? undefined : false,
offset: plannedOffset.value,
limit: plannedLimit.value,
sorts: [{ "sortBy": "date", "sortDirection": "ASC" }]
} as TransactionFilters) // никаких `as TransactionFilters`, если поля опциональные
: Promise.resolve(plannedTransactions.value)
@@ -132,12 +133,13 @@ onMounted(async () => {
<div class="flex flex-row justify-between">
<span class="text-xl !font-semibold !pl-2">Planned transactions</span>
<div class="flex flex-row gap-2 items-center">
<Checkbox v-model="showIsDone" binary value=" Показывать выполненные" @change="plannedOffset = 0;fetchData(true, false, true)"/>
<Checkbox v-model="showIsDone" binary value=" Показывать выполненные"
@change="plannedOffset = 0; fetchData(true, false, true)" />
<span class="!text-sm">Выполненные</span>
</div>
</div>
<div class="flex card">
<span v-if="plannedTransactions.length==0">Looks like you haven't plan any transactions yet. <router-link
<span v-if="plannedTransactions.length == 0">Looks like you haven't plan any transactions yet. <router-link
to="/transactions/create" class="!text-blue-400">Try to create some.</router-link></span>
<div v-else v-for="key in plannedTransactions.keys()" :key="plannedTransactions[key].id"
class="flex flex-col w-full gap-0 pl-5 items-start justify-items-center font-bold ">
@@ -160,11 +162,11 @@ onMounted(async () => {
<span class="text-lg !font-bold">{{ formatAmount(plannedTransactions[key].amount) }} </span>
<span class="text-sm !font-extralight"> {{ formatDate(plannedTransactions[key].date) }}</span>
</div>
<i class="pi pi-angle-right !font-extralight"/>
<i class="pi pi-angle-right !font-extralight" />
</div>
</div>
</div>
<Divider v-if="key+1 !== plannedTransactions.length" class="!m-0 !py-3"/>
<Divider v-if="key + 1 !== plannedTransactions.length" class="!m-0 !py-3" />
</div>
</div>
<button v-if="!plannedLastBatch" class="card w-fit " @click="fetchMorePlanned">Load more...</button>
@@ -172,7 +174,7 @@ onMounted(async () => {
<div class="flex flex-col gap-2">
<span class="text-xl !font-semibold !pl-2">Instant transactions</span>
<div class="flex card">
<span v-if="instantTransactions.length==0">Looks like you haven't record any transaction yet.<router-link
<span v-if="instantTransactions.length == 0">Looks like you haven't record any transaction yet.<router-link
to="/transactions/create" class="!text-blue-400">Try to create some.</router-link></span>
<div v-else v-for="key in instantTransactions.keys()" :key="instantTransactions[key].id"
@click="router.push(`/transactions/${instantTransactions[key].id}/edit`)"
@@ -182,7 +184,7 @@ onMounted(async () => {
<span v-if="instantTransactions[key].category" class="text-3xl"> {{
instantTransactions[key].category.icon
}}</span>
<i v-else class="pi pi-question !text-3xl"/>
<i v-else class="pi pi-question !text-3xl" />
<div class="flex flex-col !font-bold "> {{ instantTransactions[key].comment }}
<div v-if="instantTransactions[key].category" class="flex flex-row text-sm">
{{ instantTransactions[key].category.name }}
@@ -194,10 +196,10 @@ onMounted(async () => {
<span class="text-lg !font-bold ">{{ formatAmount(instantTransactions[key].amount) }} </span>
<span class="text-sm !font-extralight"> {{ formatDate(instantTransactions[key].date) }}</span>
</div>
<i class="pi pi-angle-right !font-extralight"/>
<i class="pi pi-angle-right !font-extralight" />
</div>
</div>
<Divider v-if="key+1 !== instantTransactions.length" class="!m-0 !py-3"/>
<Divider v-if="key + 1 !== instantTransactions.length" class="!m-0 !py-3" />
</div>
</div>
<button v-if="!instantLastBatch" class="card w-fit " @click="fetchMoreInstant">Load more...</button>
@@ -207,6 +209,4 @@ onMounted(async () => {
</template>
<style scoped>
</style>
<style scoped></style>