fix: misc issues
This commit is contained in:
@@ -107,7 +107,7 @@ async function setLanguageExtension() {
|
|||||||
if (!languageImport) return
|
if (!languageImport) return
|
||||||
|
|
||||||
const module = await languageImport()
|
const module = await languageImport()
|
||||||
languageExtension.value = (module as any)[props.language]()
|
languageExtension.value = (module as any)[props.language]?.()
|
||||||
|
|
||||||
if (props.completions) {
|
if (props.completions) {
|
||||||
const languageData = (module as any)[`${props.language}Language`]
|
const languageData = (module as any)[`${props.language}Language`]
|
||||||
|
|||||||
@@ -76,7 +76,14 @@ const isIos = () => {
|
|||||||
const isInStandaloneMode = () =>
|
const isInStandaloneMode = () =>
|
||||||
'standalone' in window.navigator && window.navigator.standalone
|
'standalone' in window.navigator && window.navigator.standalone
|
||||||
|
|
||||||
if (isIos() && !isInStandaloneMode()) iosInstallMessage.value = true
|
if (
|
||||||
|
isIos() &&
|
||||||
|
!isInStandaloneMode() &&
|
||||||
|
localStorage.getItem('learningIosInstallPromptShown') !== 'true'
|
||||||
|
) {
|
||||||
|
iosInstallMessage.value = true
|
||||||
|
localStorage.setItem('learningIosInstallPromptShown', 'true')
|
||||||
|
}
|
||||||
|
|
||||||
window.addEventListener('beforeinstallprompt', (e) => {
|
window.addEventListener('beforeinstallprompt', (e) => {
|
||||||
e.preventDefault()
|
e.preventDefault()
|
||||||
|
|||||||
@@ -14,7 +14,10 @@
|
|||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="upcoming_evals.data?.length">
|
<div v-if="upcoming_evals.data?.length">
|
||||||
<div class="grid gap-4" :class="forHome ? 'grid-cols-2' : 'grid-cols-3'">
|
<div
|
||||||
|
class="grid gap-4"
|
||||||
|
:class="forHome ? 'grid-cols-1 md:grid-cols-2' : 'grid-cols-3'"
|
||||||
|
>
|
||||||
<div v-for="evl in upcoming_evals.data">
|
<div v-for="evl in upcoming_evals.data">
|
||||||
<div class="border text-ink-gray-7 rounded-md p-3">
|
<div class="border text-ink-gray-7 rounded-md p-3">
|
||||||
<div class="flex justify-between mb-3">
|
<div class="flex justify-between mb-3">
|
||||||
|
|||||||
@@ -64,7 +64,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="grid grid-cols-2 gap-5 mt-10">
|
<div class="grid grid-cols-1 md:grid-cols-2 gap-10 md:gap-5 mt-10">
|
||||||
<UpcomingEvaluations :forHome="true" />
|
<UpcomingEvaluations :forHome="true" />
|
||||||
<div v-if="myLiveClasses.data?.length">
|
<div v-if="myLiveClasses.data?.length">
|
||||||
<div class="font-semibold text-lg mb-3 text-ink-gray-9">
|
<div class="font-semibold text-lg mb-3 text-ink-gray-9">
|
||||||
|
|||||||
@@ -66,38 +66,38 @@
|
|||||||
v-if="column.key === 'full_name'"
|
v-if="column.key === 'full_name'"
|
||||||
class="flex items-center space-x-3"
|
class="flex items-center space-x-3"
|
||||||
>
|
>
|
||||||
<img
|
<Avatar
|
||||||
v-if="row.user_image"
|
size="sm"
|
||||||
:src="row.user_image"
|
:image="row['user_image']"
|
||||||
:alt="row.full_name"
|
:label="row['full_name']"
|
||||||
class="w-8 h-8 rounded-full object-cover"
|
|
||||||
/>
|
/>
|
||||||
<div
|
|
||||||
v-else
|
<span>{{ item }}</span>
|
||||||
class="w-8 h-8 rounded-full bg-surface-gray-3 flex items-center justify-center"
|
|
||||||
>
|
|
||||||
<FeatherIcon name="user" class="w-4 h-4 text-ink-gray-6" />
|
|
||||||
</div>
|
|
||||||
<span class="text-sm font-medium">{{ item }}</span>
|
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
v-else-if="column.key === 'actions'"
|
v-else-if="column.key === 'actions'"
|
||||||
class="flex justify-center"
|
class="flex justify-center"
|
||||||
>
|
>
|
||||||
<Dropdown :options="getActionOptions(row)">
|
<Dropdown :options="getActionOptions(row)">
|
||||||
<Button variant="ghost" size="sm">
|
<Button variant="ghost">
|
||||||
<FeatherIcon name="more-horizontal" class="w-4 h-4" />
|
<FeatherIcon name="more-horizontal" class="w-4 h-4" />
|
||||||
</Button>
|
</Button>
|
||||||
</Dropdown>
|
</Dropdown>
|
||||||
</div>
|
</div>
|
||||||
<div v-else class="text-sm">
|
<div
|
||||||
|
v-else-if="column.key === 'applied_on'"
|
||||||
|
class="text-sm text-ink-gray-6"
|
||||||
|
>
|
||||||
|
{{ item }}
|
||||||
|
</div>
|
||||||
|
<div v-else>
|
||||||
{{ item }}
|
{{ item }}
|
||||||
</div>
|
</div>
|
||||||
</ListRowItem>
|
</ListRowItem>
|
||||||
</ListRow>
|
</ListRow>
|
||||||
</ListRows>
|
</ListRows>
|
||||||
</ListView>
|
</ListView>
|
||||||
<EmptyState v-else type="Applications" />
|
<EmptyState v-else-if="!applications.loading" type="Job Applications" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<Dialog
|
<Dialog
|
||||||
@@ -147,6 +147,7 @@
|
|||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import {
|
import {
|
||||||
|
Avatar,
|
||||||
Button,
|
Button,
|
||||||
Breadcrumbs,
|
Breadcrumbs,
|
||||||
Dialog,
|
Dialog,
|
||||||
@@ -252,6 +253,7 @@ const sendEmail = (close) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const downloadResume = (resumeUrl) => {
|
const downloadResume = (resumeUrl) => {
|
||||||
|
console.log(resumeUrl)
|
||||||
window.open(resumeUrl, '_blank')
|
window.open(resumeUrl, '_blank')
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -288,7 +290,7 @@ const applicationColumns = computed(() => {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: __('Applied On'),
|
label: __('Applied On'),
|
||||||
key: 'applied_date',
|
key: 'applied_on',
|
||||||
width: 1,
|
width: 1,
|
||||||
icon: 'calendar',
|
icon: 'calendar',
|
||||||
},
|
},
|
||||||
@@ -305,7 +307,7 @@ const applicantRows = computed(() => {
|
|||||||
return applications.data.map((application) => ({
|
return applications.data.map((application) => ({
|
||||||
...application,
|
...application,
|
||||||
full_name: application.full_name,
|
full_name: application.full_name,
|
||||||
applied_date: dayjs(application.creation).format('MMM DD, YYYY'),
|
applied_on: dayjs(application.creation).fromNow(),
|
||||||
}))
|
}))
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@@ -176,7 +176,7 @@ const hasHigherAccess = () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const isSessionUser = () => {
|
const isSessionUser = () => {
|
||||||
return user.data?.email === props.profile.data?.email
|
return user.data?.email === props.profile.data?.name
|
||||||
}
|
}
|
||||||
|
|
||||||
const showSlotsTemplate = ref(0)
|
const showSlotsTemplate = ref(0)
|
||||||
|
|||||||
@@ -266,8 +266,7 @@ const checkIfUserIsPermitted = (doc: any = null) => {
|
|||||||
!user.data.is_evaluator
|
!user.data.is_evaluator
|
||||||
) {
|
) {
|
||||||
router.push({
|
router.push({
|
||||||
name: 'ProgrammingExerciseSubmission',
|
name: 'Courses',
|
||||||
params: { exerciseID: props.exerciseID, submissionID: 'new' },
|
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user