mirror of
https://github.com/solidtime-io/solidtime.git
synced 2026-08-17 20:52:14 +01:00
add format check, update prettier rules, apply rules consistently
This commit is contained in:
@@ -5,10 +5,7 @@ import { useNotificationsStore } from '@/utils/notification';
|
||||
import { api } from '@/packages/api/src';
|
||||
import InputLabel from '@/packages/ui/src/Input/InputLabel.vue';
|
||||
import { DocumentIcon } from '@heroicons/vue/24/solid';
|
||||
import {
|
||||
ArrowDownOnSquareIcon,
|
||||
InformationCircleIcon,
|
||||
} from '@heroicons/vue/24/outline';
|
||||
import { ArrowDownOnSquareIcon, InformationCircleIcon } from '@heroicons/vue/24/outline';
|
||||
|
||||
import { getCurrentOrganizationId } from '@/utils/useUser';
|
||||
import type { ImportReport, ImportType } from '@/packages/api/src';
|
||||
@@ -46,16 +43,11 @@ async function importData() {
|
||||
return;
|
||||
}
|
||||
if (files.value?.length !== 1) {
|
||||
addNotification(
|
||||
'error',
|
||||
'Please select the CSV or ZIP file that you want to import'
|
||||
);
|
||||
addNotification('error', 'Please select the CSV or ZIP file that you want to import');
|
||||
return;
|
||||
}
|
||||
const rawBase64String = await toBase64(files.value[0]);
|
||||
const base64String = rawBase64String
|
||||
.split(';')[1]
|
||||
.replace('base64,', '') as string;
|
||||
const base64String = rawBase64String.split(';')[1].replace('base64,', '') as string;
|
||||
const organizationId = getCurrentOrganizationId();
|
||||
if (organizationId !== null) {
|
||||
const { handleApiRequestNotifications } = useNotificationsStore();
|
||||
@@ -129,65 +121,48 @@ const showResultModal = ref(false);
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<DialogModal
|
||||
closeable
|
||||
:show="showResultModal"
|
||||
@close="showResultModal = false">
|
||||
<DialogModal closeable :show="showResultModal" @close="showResultModal = false">
|
||||
<template #title>Import Result</template>
|
||||
<template #content>
|
||||
<div class="pb-6">
|
||||
The import was successful! Here is an overview of the imported
|
||||
data:
|
||||
The import was successful! Here is an overview of the imported data:
|
||||
</div>
|
||||
|
||||
<div
|
||||
class="py-2.5 px-3 border-t border-t-card-background-separator">
|
||||
<div class="py-2.5 px-3 border-t border-t-card-background-separator">
|
||||
<span class="text-text-primary font-semibold">Clients created:</span>
|
||||
{{ reportResult?.report.clients.created }}
|
||||
</div>
|
||||
<div
|
||||
class="py-2.5 px-3 border-t border-t-card-background-separator">
|
||||
<div class="py-2.5 px-3 border-t border-t-card-background-separator">
|
||||
<span class="text-text-primary font-semibold">Projects created:</span>
|
||||
{{ reportResult?.report.projects.created }}
|
||||
</div>
|
||||
<div
|
||||
class="py-2.5 px-3 border-t border-t-card-background-separator">
|
||||
<div class="py-2.5 px-3 border-t border-t-card-background-separator">
|
||||
<span class="text-text-primary font-semibold">Tasks created:</span>
|
||||
{{ reportResult?.report.tasks.created }}
|
||||
</div>
|
||||
<div
|
||||
class="py-2.5 px-3 border-t border-t-card-background-separator">
|
||||
<span class="text-text-primary font-semibold"
|
||||
>Time entries created:</span
|
||||
>
|
||||
<div class="py-2.5 px-3 border-t border-t-card-background-separator">
|
||||
<span class="text-text-primary font-semibold">Time entries created:</span>
|
||||
{{ reportResult?.report.time_entries.created }}
|
||||
</div>
|
||||
</template>
|
||||
<template #footer>
|
||||
<SecondaryButton @click="showResultModal = false">
|
||||
Close
|
||||
</SecondaryButton>
|
||||
<SecondaryButton @click="showResultModal = false"> Close </SecondaryButton>
|
||||
</template>
|
||||
</DialogModal>
|
||||
<div>
|
||||
<CardTitle
|
||||
title="Import Data"
|
||||
:icon="ArrowDownOnSquareIcon"></CardTitle>
|
||||
<CardTitle title="Import Data" :icon="ArrowDownOnSquareIcon"></CardTitle>
|
||||
<Card class="mb-3">
|
||||
<div class="py-2 px-3 sm:px-4 text-sm flex items-center space-x-3">
|
||||
<InformationCircleIcon
|
||||
class="h-5 min-w-0 w-5 text-bg-tertiary" />
|
||||
<InformationCircleIcon class="h-5 min-w-0 w-5 text-bg-tertiary" />
|
||||
<p class="flex-1">
|
||||
Import existing data from Toggl, Clockify or a different
|
||||
solidtime instance. Please select the type of data you want
|
||||
to import and follow the instructions.
|
||||
Import existing data from Toggl, Clockify or a different solidtime instance.
|
||||
Please select the type of data you want to import and follow the instructions.
|
||||
</p>
|
||||
</div>
|
||||
</Card>
|
||||
|
||||
<Card>
|
||||
<div
|
||||
class="px-4 py-5 sm:px-5">
|
||||
<div class="px-4 py-5 sm:px-5">
|
||||
<div>
|
||||
<InputLabel for="importType" value="Import Type" />
|
||||
<select
|
||||
@@ -205,15 +180,9 @@ const showResultModal = ref(false);
|
||||
{{ importTypeOption.name }}
|
||||
</option>
|
||||
</select>
|
||||
<div
|
||||
v-if="currentImporterDescription"
|
||||
class="py-3 text-text-primary">
|
||||
<div class="font-semibold text-text-secondary py-1">
|
||||
Instructions:
|
||||
</div>
|
||||
<div
|
||||
class="max-w-2xl"
|
||||
v-html="currentImporterDescription"></div>
|
||||
<div v-if="currentImporterDescription" class="py-3 text-text-primary">
|
||||
<div class="font-semibold text-text-secondary py-1">Instructions:</div>
|
||||
<div class="max-w-2xl" v-html="currentImporterDescription"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -229,9 +198,7 @@ const showResultModal = ref(false);
|
||||
for="file-upload"
|
||||
class="relative cursor-pointer rounded-md font-semibold text-text-primary focus-within:outline-none focus-within:ring-2 focus-within:ring-indigo-600 focus-within:ring-offset-2 focus-within:ring-offset-gray-900 hover:text-indigo-500">
|
||||
<span v-if="files">{{ filenames }}</span>
|
||||
<span v-else
|
||||
>Upload a Toggl/Clockify Export</span
|
||||
>
|
||||
<span v-else>Upload a Toggl/Clockify Export</span>
|
||||
<input
|
||||
id="file-upload"
|
||||
ref="importFile"
|
||||
@@ -250,9 +217,7 @@ const showResultModal = ref(false);
|
||||
|
||||
<div
|
||||
class="flex items-center justify-end px-4 py-3 bg-card-background border-t border-card-background-separator text-end sm:px-6 shadow sm:rounded-bl-md sm:rounded-br-md">
|
||||
<PrimaryButton :loading @click="importData"
|
||||
>Import Data
|
||||
</PrimaryButton>
|
||||
<PrimaryButton :loading @click="importData">Import Data </PrimaryButton>
|
||||
</div>
|
||||
</Card>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user