Add client linting to GitHub Actions workflow

Enhance CI/CD pipeline by introducing a new job to run ESLint on the client application. This ensures code quality and consistency for the frontend codebase.
This commit is contained in:
Julien Nahum
2025-01-27 18:24:27 +01:00
parent a91c194161
commit 4a2adcf8f7
38 changed files with 302 additions and 302 deletions

View File

@@ -179,7 +179,6 @@
<script setup>
import { computed } from "vue"
import VButton from "~/components/global/VButton.vue"
import ExtraMenu from "../../../components/pages/forms/show/ExtraMenu.vue"
import FormCleanings from "../../../components/pages/forms/show/FormCleanings.vue"

View File

@@ -1,38 +1,36 @@
<template>
<template>
<div class="flex flex-grow mt-6 mb-10">
<div class="w-full md:w-2/3 md:mx-auto md:max-w-md px-4">
<div
v-if="loading"
class="m-10"
<div class="flex flex-grow mt-6 mb-10">
<div class="w-full md:w-2/3 md:mx-auto md:max-w-md px-4">
<div
v-if="loading"
class="m-10"
>
<h3 class="my-6 text-center">
Please wait...
</h3>
<Loader class="h-6 w-6 mx-auto m-10" />
</div>
<div
v-else
class="m-6 flex flex-col items-center space-y-4"
>
<p class="text-center">
Unable to sign it at the moment.
</p>
<v-button
:to="{ name: 'login' }"
>
<h3 class="my-6 text-center">
Please wait...
</h3>
<Loader class="h-6 w-6 mx-auto m-10" />
</div>
<div
v-else
class="m-6 flex flex-col items-center space-y-4"
>
<p class="text-center">
Unable to sign it at the moment.
</p>
<v-button
:to="{ name: 'login' }"
>
Back to login
</v-button>
</div>
Back to login
</v-button>
</div>
</div>
</template>
</div>
</template>
<script setup>
import { useNuxtApp } from "nuxt/app";
import { useNuxtApp } from "nuxt/app"
const { $utm } = useNuxtApp();
const { $utm } = useNuxtApp()
const router = useRouter()
const route = useRoute()

View File

@@ -1,7 +1,13 @@
<template>
<modal :show="showModal" @close="logout" max-width="lg">
<modal
:show="showModal"
max-width="lg"
@close="logout"
>
<div class="">
<h2 class="font-medium text-3xl mb-3">Welcome to OpnForm!</h2>
<h2 class="font-medium text-3xl mb-3">
Welcome to OpnForm!
</h2>
<p class="text-sm text-gray-600">
You're using the self-hosted version of OpnForm and need to set up your account.
Please enter your email and create a password to continue.
@@ -43,7 +49,10 @@
/>
<!-- Submit Button -->
<v-button class="mx-auto" :loading="form.busy || loading">
<v-button
class="mx-auto"
:loading="form.busy || loading"
>
Update Credentials
</v-button>
</form>
@@ -51,14 +60,14 @@
</template>
<script setup>
import { onMounted } from "vue";
import { onMounted } from "vue"
const authStore = useAuthStore();
const workspacesStore = useWorkspacesStore();
const formsStore = useFormsStore();
const user = computed(() => authStore.user);
const router = useRouter();
const showModal = ref(true);
const authStore = useAuthStore()
const workspacesStore = useWorkspacesStore()
const formsStore = useFormsStore()
const user = computed(() => authStore.user)
const router = useRouter()
const showModal = ref(true)
const form = useForm({
name: "",
email: "",
@@ -66,31 +75,31 @@ const form = useForm({
password_confirmation: "",
agree_terms: false,
appsumo_license: null,
});
})
onMounted(() => {
form.email = user?.value?.email;
});
form.email = user?.value?.email
})
const updateCredentials = () => {
form
.post("update-credentials")
.then(async (data) => {
authStore.setUser(data.user);
const workspaces = await fetchAllWorkspaces();
workspacesStore.set(workspaces.data.value);
formsStore.loadAll(workspacesStore.currentId);
router.push({ name: "home" });
authStore.setUser(data.user)
const workspaces = await fetchAllWorkspaces()
workspacesStore.set(workspaces.data.value)
formsStore.loadAll(workspacesStore.currentId)
router.push({ name: "home" })
})
.catch((error) => {
console.error(error);
useAlert().error(error.response._data.message);
});
};
console.error(error)
useAlert().error(error.response._data.message)
})
}
const logout = () => {
authStore.logout();
showModal.value = false;
router.push({ name: "login" });
};
authStore.logout()
showModal.value = false
router.push({ name: "login" })
}
</script>