fix: misc issues

This commit is contained in:
Jannat Patel
2025-12-02 15:41:42 +05:30
parent 1c0be8a2ec
commit 7bc6dff6ea
6 changed files with 103 additions and 7885 deletions

View File

@@ -113,7 +113,7 @@
{{ __('Enroll Now') }}
</Button>
<router-link
v-if="isModerator"
v-if="canCreateBatch"
:to="{
name: 'BatchForm',
params: {
@@ -212,4 +212,8 @@ const isEvaluator = computed(() => {
const canAccessBatch = computed(() => {
return isModerator.value || isStudent.value || isEvaluator.value
})
const canCreateBatch = computed(() => {
return isModerator.value || isEvaluator.value
})
</script>

View File

@@ -17,7 +17,7 @@
</header>
<div class="max-w-4xl mx-auto pt-5 p-4">
<div class="mb-6">
<h1 class="text-lg font-semibold text-ink-gray-9 mb-2">
<h1 class="text-xl font-semibold text-ink-gray-7 mb-4 md:mb-0">
{{ applications.data?.length || 0 }}
{{
applications.data?.length === 1
@@ -27,76 +27,85 @@
</h1>
</div>
<ListView
v-if="applications.data?.length"
:columns="applicationColumns"
:rows="applicantRows"
row-key="name"
:options="{
showTooltip: false,
selectable: false,
}"
>
<ListHeader
class="mb-2 grid items-center space-x-4 rounded bg-surface-gray-2 p-2"
<div v-if="applications.data?.length">
<ListView
:columns="applicationColumns"
:rows="applicantRows"
row-key="name"
:options="{
showTooltip: false,
selectable: false,
}"
>
<ListHeaderItem
:item="item"
v-for="item in applicationColumns"
:key="item.key"
<ListHeader
class="mb-2 grid items-center space-x-4 rounded bg-surface-gray-2 p-2"
>
<template #prefix="{ item }">
<FeatherIcon
v-if="item.icon"
:name="item.icon?.toString()"
class="h-4 w-4"
/>
</template>
</ListHeaderItem>
</ListHeader>
<ListRows>
<ListRow
:row="row"
v-slot="{ column, item }"
v-for="row in applicantRows"
class="cursor-pointer"
>
<ListRowItem :item="item">
<div
v-if="column.key === 'full_name'"
class="flex items-center space-x-3"
>
<Avatar
size="sm"
:image="row['user_image']"
:label="row['full_name']"
<ListHeaderItem
:item="item"
v-for="item in applicationColumns"
:key="item.key"
>
<template #prefix="{ item }">
<FeatherIcon
v-if="item.icon"
:name="item.icon?.toString()"
class="h-4 w-4"
/>
</template>
</ListHeaderItem>
</ListHeader>
<ListRows>
<ListRow
:row="row"
v-slot="{ column, item }"
v-for="row in applicantRows"
class="cursor-pointer"
>
<ListRowItem :item="item">
<div
v-if="column.key === 'full_name'"
class="flex items-center space-x-3"
>
<Avatar
size="sm"
:image="row['user_image']"
:label="row['full_name']"
/>
<span>{{ item }}</span>
</div>
<div
v-else-if="column.key === 'actions'"
class="flex justify-center"
>
<Dropdown :options="getActionOptions(row)">
<Button variant="ghost">
<FeatherIcon name="more-horizontal" class="w-4 h-4" />
</Button>
</Dropdown>
</div>
<div
v-else-if="column.key === 'applied_on'"
class="text-sm text-ink-gray-6"
>
{{ item }}
</div>
<div v-else>
{{ item }}
</div>
</ListRowItem>
</ListRow>
</ListRows>
</ListView>
<span>{{ item }}</span>
</div>
<div
v-else-if="column.key === 'actions'"
class="flex justify-center"
>
<Dropdown :options="getActionOptions(row)">
<Button variant="ghost">
<FeatherIcon name="more-horizontal" class="w-4 h-4" />
</Button>
</Dropdown>
</div>
<div
v-else-if="column.key === 'applied_on'"
class="text-sm text-ink-gray-6"
>
{{ item }}
</div>
<div v-else>
{{ item }}
</div>
</ListRowItem>
</ListRow>
</ListRows>
</ListView>
<div class="flex justify-center mt-5">
<Button v-if="applications.hasNextPage" @click="applications.next()">
<template #prefix>
<RefreshCw class="size-4 stroke-1.5" />
</template>
{{ __('Load More') }}
</Button>
</div>
</div>
<EmptyState v-else-if="!applications.loading" type="Job Applications" />
</div>
@@ -166,7 +175,7 @@ import {
usePageMeta,
toast,
} from 'frappe-ui'
import { RefreshCw } from 'lucide-vue-next'
import { inject, ref, computed, reactive } from 'vue'
import { sessionStore } from '../stores/session'
import EmptyState from '@/components/EmptyState.vue'

View File

@@ -2662,9 +2662,9 @@ ejs@^3.1.6:
jake "^10.8.5"
electron-to-chromium@^1.5.249:
version "1.5.262"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.262.tgz#c31eed591c6628908451c9ca0f0758ed514aa003"
integrity sha512-NlAsMteRHek05jRUxUR0a5jpjYq9ykk6+kO0yRaMi5moe7u0fVIOeQ3Y30A8dIiWFBNUoQGi1ljb1i5VtS9WQQ==
version "1.5.263"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.263.tgz#bec8f2887c30001dfacf415c136eae3b4386846a"
integrity sha512-DrqJ11Knd+lo+dv+lltvfMDLU27g14LMdH2b0O3Pio4uk0x+z7OR+JrmyacTPN2M8w3BrZ7/RTwG3R9B7irPlg==
engine.io-client@~6.6.1:
version "6.6.3"
@@ -4126,9 +4126,9 @@ prosemirror-transform@^1.0.0, prosemirror-transform@^1.1.0, prosemirror-transfor
prosemirror-model "^1.21.0"
prosemirror-view@^1.0.0, prosemirror-view@^1.1.0, prosemirror-view@^1.27.0, prosemirror-view@^1.31.0, prosemirror-view@^1.37.0, prosemirror-view@^1.39.1:
version "1.41.3"
resolved "https://registry.yarnpkg.com/prosemirror-view/-/prosemirror-view-1.41.3.tgz#753a37ebe172a3e313ad2c3d85496f9ed1b2c256"
integrity sha512-SqMiYMUQNNBP9kfPhLO8WXEk/fon47vc52FQsUiJzTBuyjKgEcoAwMyF04eQ4WZ2ArMn7+ReypYL60aKngbACQ==
version "1.41.4"
resolved "https://registry.yarnpkg.com/prosemirror-view/-/prosemirror-view-1.41.4.tgz#4e1b3e90accc0eebe3bddb497a40ce54e4de722d"
integrity sha512-WkKgnyjNncri03Gjaz3IFWvCAE94XoiEgvtr0/r2Xw7R8/IjK3sKLSiDoCHWcsXSAinVaKlGRZDvMCsF1kbzjA==
dependencies:
prosemirror-model "^1.20.0"
prosemirror-state "^1.0.0"