Compare commits
111 Commits
v2.32.0
...
l10n_devel
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0e015c8b97 | ||
|
|
36076068ec | ||
|
|
c868354b5b | ||
|
|
db91f0b2a0 | ||
|
|
d7e83bb78e | ||
|
|
feb2a39e05 | ||
|
|
a6cf910d05 | ||
|
|
b891b44ac6 | ||
|
|
026a3ebb81 | ||
|
|
71ba246011 | ||
|
|
a391204fa6 | ||
|
|
9c773399a8 | ||
|
|
528b85352a | ||
|
|
249c369c14 | ||
|
|
9803fc1031 | ||
|
|
299fde1c98 | ||
|
|
7f55734fbb | ||
|
|
efe230865a | ||
|
|
6e52e684c8 | ||
|
|
99d880297a | ||
|
|
dec706ae72 | ||
|
|
2e60f0a0c2 | ||
|
|
ef612f86e5 | ||
|
|
9c16e03ea7 | ||
|
|
7780c0310e | ||
|
|
b0a23c0d1a | ||
|
|
05c85cea08 | ||
|
|
1ffae0a1de | ||
|
|
15cbccd15f | ||
|
|
266b2f2ac8 | ||
|
|
26f9fb4199 | ||
|
|
67887fb6ef | ||
|
|
3d102e39ff | ||
|
|
ddd9089130 | ||
|
|
d8ce88ab57 | ||
|
|
01794a47c6 | ||
|
|
17626dbbdb | ||
|
|
e5bd86658d | ||
|
|
e911dc1353 | ||
|
|
27e3e5aa6a | ||
|
|
5b65525bf1 | ||
|
|
277804f8b1 | ||
|
|
4c77802e3c | ||
|
|
aacfea6ea5 | ||
|
|
6d55040e43 | ||
|
|
290f785a47 | ||
|
|
39ef187f6b | ||
|
|
a7a475e763 | ||
|
|
6eb380ea38 | ||
|
|
4d150cb323 | ||
|
|
09d6d99b14 | ||
|
|
5e7fd8baff | ||
|
|
52c159e2e8 | ||
|
|
67e8feb879 | ||
|
|
a5b61d5244 | ||
|
|
decc3a16ed | ||
|
|
7f39e9f0cc | ||
|
|
95afa1a6ad | ||
|
|
0d0bb5f9e2 | ||
|
|
3dd5ce5035 | ||
|
|
549e56d551 | ||
|
|
50b6215d1e | ||
|
|
ff69bfdce7 | ||
|
|
c04cc8ec0f | ||
|
|
f324de2254 | ||
|
|
40af4e6f34 | ||
|
|
5d9b66b5cb | ||
|
|
d2a8277c13 | ||
|
|
ada85fc0f3 | ||
|
|
505345eff7 | ||
|
|
2911ade880 | ||
|
|
8980dc8f9c | ||
|
|
d94a1c47c0 | ||
|
|
99c3e5182d | ||
|
|
70e39fee40 | ||
|
|
26d6bec8a0 | ||
|
|
c9ac1a1402 | ||
|
|
6949c1092c | ||
|
|
aae8a54481 | ||
|
|
e1d93bf670 | ||
|
|
fea0533cb1 | ||
|
|
5cd991f02a | ||
|
|
50a8a605d5 | ||
|
|
9ce7d8f5d6 | ||
|
|
eae2587e4c | ||
|
|
323097f201 | ||
|
|
014499888a | ||
|
|
5662de21ae | ||
|
|
17c2eba455 | ||
|
|
1f2c986e8f | ||
|
|
12040b5f6d | ||
|
|
20a985848f | ||
|
|
c06c6169e5 | ||
|
|
917aeb79ef | ||
|
|
c4f36a39fe | ||
|
|
befedc30ad | ||
|
|
d3bc67daa2 | ||
|
|
5d7e211367 | ||
|
|
fa9daa01ec | ||
|
|
0ed9dc63b8 | ||
|
|
5dd6b33eb2 | ||
|
|
1210b823c7 | ||
|
|
04240b4b3d | ||
|
|
787f592a1a | ||
|
|
e7363fbd40 | ||
|
|
e2762825e5 | ||
|
|
bbbca70c71 | ||
|
|
8dde423866 | ||
|
|
fc4c1c2b7e | ||
|
|
bf02e2de3f | ||
|
|
a26ba4dc6e |
2
.github/workflows/make_release_pr.yml
vendored
2
.github/workflows/make_release_pr.yml
vendored
@@ -1,7 +1,7 @@
|
||||
name: Create weekly release
|
||||
on:
|
||||
schedule:
|
||||
- cron: '30 4 15 * *'
|
||||
- cron: '30 3 * * 3'
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
|
||||
@@ -107,7 +107,7 @@ describe("Course Creation", () => {
|
||||
cy.get("div").contains(
|
||||
"Test Course Short Introduction to test the UI"
|
||||
);
|
||||
cy.get(".course-image")
|
||||
cy.get(".bg-cover")
|
||||
.invoke("css", "background-image")
|
||||
.should("include", "/files/profile");
|
||||
});
|
||||
|
||||
Submodule frappe-ui updated: fd5252663b...80d3a010ac
1
frontend/components.d.ts
vendored
1
frontend/components.d.ts
vendored
@@ -40,6 +40,7 @@ declare module 'vue' {
|
||||
Code: typeof import('./src/components/Controls/Code.vue')['default']
|
||||
CodeEditor: typeof import('./src/components/Controls/CodeEditor.vue')['default']
|
||||
CollapseSidebar: typeof import('./src/components/Icons/CollapseSidebar.vue')['default']
|
||||
ColorSwatches: typeof import('./src/components/Controls/ColorSwatches.vue')['default']
|
||||
CourseCard: typeof import('./src/components/CourseCard.vue')['default']
|
||||
CourseCardOverlay: typeof import('./src/components/CourseCardOverlay.vue')['default']
|
||||
CourseInstructors: typeof import('./src/components/CourseInstructors.vue')['default']
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
"codemirror": "^6.0.1",
|
||||
"dayjs": "^1.11.6",
|
||||
"feather-icons": "^4.28.0",
|
||||
"frappe-ui": "^0.1.163",
|
||||
"frappe-ui": "^0.1.172",
|
||||
"highlight.js": "^11.11.1",
|
||||
"lucide-vue-next": "^0.383.0",
|
||||
"markdown-it": "^14.0.0",
|
||||
|
||||
@@ -344,6 +344,22 @@ const addAssignments = () => {
|
||||
}
|
||||
}
|
||||
|
||||
const addProgrammingExercises = () => {
|
||||
if (isInstructor.value || isModerator.value) {
|
||||
sidebarLinks.value.splice(3, 0, {
|
||||
label: 'Programming Exercises',
|
||||
icon: 'Code',
|
||||
to: 'ProgrammingExercises',
|
||||
activeFor: [
|
||||
'ProgrammingExercises',
|
||||
'ProgrammingExerciseForm',
|
||||
'ProgrammingExerciseSubmissions',
|
||||
'ProgrammingExerciseSubmission',
|
||||
],
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
const addPrograms = () => {
|
||||
let activeFor = ['Programs', 'ProgramForm']
|
||||
let index = 1
|
||||
@@ -627,6 +643,7 @@ watch(userResource, () => {
|
||||
isModerator.value = userResource.data.is_moderator
|
||||
isInstructor.value = userResource.data.is_instructor
|
||||
addPrograms()
|
||||
addProgrammingExercises()
|
||||
addQuizzes()
|
||||
addAssignments()
|
||||
setUpOnboarding()
|
||||
|
||||
108
frontend/src/components/Controls/ColorSwatches.vue
Normal file
108
frontend/src/components/Controls/ColorSwatches.vue
Normal file
@@ -0,0 +1,108 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="text-xs text-ink-gray-5 mb-1">
|
||||
{{ __(label) }}
|
||||
</div>
|
||||
<Popover placement="bottom" class="!block">
|
||||
<template #target="{ togglePopover, isOpen }">
|
||||
<div class="space-y-2">
|
||||
<FormControl
|
||||
type="text"
|
||||
autocomplete="off"
|
||||
class="w-full"
|
||||
:placeholder="__('Set Color')"
|
||||
@focus="togglePopover"
|
||||
:modelValue="modelValue"
|
||||
@update:modelValue="(val: string) => emit('update:modelValue', val)"
|
||||
>
|
||||
<template #prefix>
|
||||
<div
|
||||
class="size-4 rounded-full"
|
||||
:style="
|
||||
modelValue
|
||||
? {
|
||||
backgroundColor:
|
||||
theme.backgroundColor[modelValue.toLowerCase()][400],
|
||||
}
|
||||
: {}
|
||||
"
|
||||
>
|
||||
<Palette
|
||||
v-if="!modelValue"
|
||||
class="size-4 stroke-1.5 text-ink-gray-5"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
<template #suffix>
|
||||
<Button variant="ghost">
|
||||
<X
|
||||
class="size-3 text-ink-gray-5"
|
||||
@click="emit('update:modelValue', null)"
|
||||
/>
|
||||
</Button>
|
||||
</template>
|
||||
</FormControl>
|
||||
</div>
|
||||
</template>
|
||||
<template #body="{ close }">
|
||||
<div class="rounded-lg bg-surface-white p-3 border w-fit mt-2">
|
||||
<div class="text-xs text-ink-gray-5 mb-1.5">
|
||||
{{ __('Swatches') }}
|
||||
</div>
|
||||
<div class="grid grid-cols-7 gap-2">
|
||||
<div
|
||||
v-for="color in colors"
|
||||
:key="color"
|
||||
class="size-5 rounded-full cursor-pointer"
|
||||
:style="{
|
||||
backgroundColor:
|
||||
theme.backgroundColor[color.toLowerCase()][400],
|
||||
}"
|
||||
@click="
|
||||
(e) => {
|
||||
emit('update:modelValue', color)
|
||||
close()
|
||||
emit('change', color)
|
||||
}
|
||||
"
|
||||
></div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</Popover>
|
||||
<div class="text-sm text-ink-gray-5 mt-2">
|
||||
{{ description }}
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { Button, FormControl, Popover } from 'frappe-ui'
|
||||
import { computed } from 'vue'
|
||||
import { Palette, X } from 'lucide-vue-next'
|
||||
import { theme } from '@/utils/theme'
|
||||
|
||||
const emit = defineEmits(['update:modelValue', 'change'])
|
||||
|
||||
const props = defineProps<{
|
||||
modelValue: string
|
||||
label: string
|
||||
description?: string
|
||||
}>()
|
||||
|
||||
const colors = computed(() => {
|
||||
return [
|
||||
'Red',
|
||||
'Blue',
|
||||
'Green',
|
||||
'Amber',
|
||||
'Purple',
|
||||
'Cyan',
|
||||
'Orange',
|
||||
'Violet',
|
||||
'Pink',
|
||||
'Teal',
|
||||
'Gray',
|
||||
'Yellow',
|
||||
]
|
||||
})
|
||||
</script>
|
||||
@@ -1,41 +1,51 @@
|
||||
<template>
|
||||
<div
|
||||
v-if="course.title"
|
||||
class="flex flex-col h-full rounded-md border-2 overflow-auto"
|
||||
class="flex flex-col h-full rounded-md border-2 overflow-auto text-ink-gray-9"
|
||||
style="min-height: 350px"
|
||||
>
|
||||
<div
|
||||
class="course-image"
|
||||
:class="{ 'default-image': !course.image }"
|
||||
:style="{ backgroundImage: 'url(\'' + encodeURI(course.image) + '\')' }"
|
||||
class="w-[100%] h-[168px] bg-cover bg-center bg-no-repeat"
|
||||
:style="
|
||||
course.image
|
||||
? { backgroundImage: `url('${encodeURI(course.image)}')` }
|
||||
: {
|
||||
backgroundImage: getGradientColor(),
|
||||
backgroundBlendMode: 'screen',
|
||||
}
|
||||
"
|
||||
>
|
||||
<div class="flex items-center flex-wrap relative top-4 px-2 w-fit">
|
||||
<Badge
|
||||
<div
|
||||
v-if="course.featured"
|
||||
variant="subtle"
|
||||
theme="green"
|
||||
size="md"
|
||||
class="mb-1 mr-1"
|
||||
class="flex items-center space-x-1 text-xs text-ink-amber-3 bg-surface-white border border-outline-amber-1 px-2 py-0.5 rounded-md mr-1 mb-1"
|
||||
>
|
||||
{{ __('Featured') }}
|
||||
</Badge>
|
||||
<Star class="size-3 stroke-2" />
|
||||
<span>
|
||||
{{ __('Featured') }}
|
||||
</span>
|
||||
</div>
|
||||
<div
|
||||
v-if="course.tags"
|
||||
v-for="tag in course.tags?.split(', ')"
|
||||
class="text-xs bg-white text-gray-800 px-2 py-0.5 rounded-md mb-1 mr-1"
|
||||
class="text-xs border bg-surface-white text-ink-gray-9 px-2 py-0.5 rounded-md mb-1 mr-1"
|
||||
>
|
||||
{{ tag }}
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="!course.image" class="image-placeholder">
|
||||
{{ course.title[0] }}
|
||||
<div
|
||||
v-if="!course.image"
|
||||
class="flex items-center justify-center text-white flex-1 font-extrabold text-2xl my-auto px-5 text-center leading-6"
|
||||
:class="course.tags ? 'h-[80%]' : 'h-full'"
|
||||
>
|
||||
{{ course.title }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-col flex-auto p-4">
|
||||
<div class="flex items-center justify-between mb-2">
|
||||
<div v-if="course.lessons">
|
||||
<Tooltip :text="__('Lessons')">
|
||||
<span class="flex items-center text-ink-gray-7">
|
||||
<span class="flex items-center">
|
||||
<BookOpen class="h-4 w-4 stroke-1.5 mr-1" />
|
||||
{{ course.lessons }}
|
||||
</span>
|
||||
@@ -44,8 +54,8 @@
|
||||
|
||||
<div v-if="course.enrollments">
|
||||
<Tooltip :text="__('Enrolled Students')">
|
||||
<span class="flex items-center text-ink-gray-7">
|
||||
<Users class="h-4 w-4 stroke-1. mr-1" />
|
||||
<span class="flex items-center">
|
||||
<Users class="h-4 w-4 stroke-1.5 mr-1" />
|
||||
{{ course.enrollments }}
|
||||
</span>
|
||||
</Tooltip>
|
||||
@@ -53,14 +63,14 @@
|
||||
|
||||
<div v-if="course.rating">
|
||||
<Tooltip :text="__('Average Rating')">
|
||||
<span class="flex items-center text-ink-gray-7">
|
||||
<span class="flex items-center">
|
||||
<Star class="h-4 w-4 stroke-1.5 mr-1" />
|
||||
{{ course.rating }}
|
||||
</span>
|
||||
</Tooltip>
|
||||
</div>
|
||||
|
||||
<div v-if="course.status != 'Approved'">
|
||||
<!-- <div v-if="course.status != 'Approved'">
|
||||
<Badge
|
||||
variant="subtle"
|
||||
:theme="course.status === 'Under Review' ? 'orange' : 'blue'"
|
||||
@@ -68,14 +78,14 @@
|
||||
>
|
||||
{{ course.status }}
|
||||
</Badge>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
|
||||
<div class="text-xl font-semibold leading-6 text-ink-gray-9">
|
||||
<div v-if="course.image" class="text-xl font-semibold leading-6">
|
||||
{{ course.title }}
|
||||
</div>
|
||||
|
||||
<div class="short-introduction text-ink-gray-7 text-sm">
|
||||
<div class="short-introduction text-sm">
|
||||
{{ course.short_introduction }}
|
||||
</div>
|
||||
|
||||
@@ -84,11 +94,8 @@
|
||||
:progress="course.membership.progress"
|
||||
/>
|
||||
|
||||
<div
|
||||
v-if="user && course.membership"
|
||||
class="text-sm text-ink-gray-7 mt-2 mb-4"
|
||||
>
|
||||
{{ Math.ceil(course.membership.progress) }}% completed
|
||||
<div v-if="user && course.membership" class="text-sm mt-2 mb-4">
|
||||
{{ Math.ceil(course.membership.progress) }}% {{ __('completed') }}
|
||||
</div>
|
||||
|
||||
<div class="flex items-center justify-between mt-auto">
|
||||
@@ -108,21 +115,23 @@
|
||||
<div v-if="course.paid_course" class="font-semibold">
|
||||
{{ course.price }}
|
||||
</div>
|
||||
<div
|
||||
|
||||
<Tooltip
|
||||
v-if="course.paid_certificate || course.enable_certification"
|
||||
class="text-xs text-ink-blue-3 bg-surface-blue-1 py-0.5 px-1 rounded-md"
|
||||
:text="__('Get Certified')"
|
||||
>
|
||||
{{ __('Certification') }}
|
||||
</div>
|
||||
<GraduationCap class="size-5 stroke-1.5 text-ink-gray-7" />
|
||||
</Tooltip>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup>
|
||||
import { BookOpen, Users, Star } from 'lucide-vue-next'
|
||||
import { BookOpen, GraduationCap, Star, Users } from 'lucide-vue-next'
|
||||
import UserAvatar from '@/components/UserAvatar.vue'
|
||||
import { sessionStore } from '@/stores/session'
|
||||
import { Badge, Tooltip } from 'frappe-ui'
|
||||
import { Tooltip } from 'frappe-ui'
|
||||
import { theme } from '@/utils/theme'
|
||||
import CourseInstructors from '@/components/CourseInstructors.vue'
|
||||
import ProgressBar from '@/components/ProgressBar.vue'
|
||||
|
||||
@@ -134,16 +143,24 @@ const props = defineProps({
|
||||
default: null,
|
||||
},
|
||||
})
|
||||
|
||||
const getGradientColor = () => {
|
||||
let color = props.course.card_gradient?.toLowerCase() || 'blue'
|
||||
let colorMap = theme.backgroundColor[color]
|
||||
return `linear-gradient(to top right, black, ${colorMap[400]})`
|
||||
/* return `bg-gradient-to-br from-${color}-100 via-${color}-200 to-${color}-400` */
|
||||
/* return `linear-gradient(to bottom right, ${colorMap[100]}, ${colorMap[400]})` */
|
||||
/* return `radial-gradient(ellipse at 80% 20%, black 20%, ${colorMap[500]} 100%)` */
|
||||
/* return `radial-gradient(ellipse at 30% 70%, black 50%, ${colorMap[500]} 100%)` */
|
||||
/* return `radial-gradient(ellipse at 80% 20%, ${colorMap[100]} 0%, ${colorMap[300]} 50%, ${colorMap[500]} 100%)` */
|
||||
/* return `conic-gradient(from 180deg at 50% 50%, ${colorMap[100]} 0%, ${colorMap[200]} 50%, ${colorMap[400]} 100%)` */
|
||||
/* return `linear-gradient(135deg, ${colorMap[100]}, ${colorMap[300]}), linear-gradient(120deg, rgba(255,255,255,0.4) 0%, transparent 60%) ` */
|
||||
/* return `radial-gradient(circle at 20% 30%, ${colorMap[100]} 0%, transparent 40%),
|
||||
radial-gradient(circle at 80% 40%, ${colorMap[200]} 0%, transparent 50%),
|
||||
linear-gradient(135deg, ${colorMap[300]} 0%, ${colorMap[400]} 100%);` */
|
||||
}
|
||||
</script>
|
||||
<style>
|
||||
.course-image {
|
||||
height: 168px;
|
||||
width: 100%;
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
.course-card-pills {
|
||||
background: #ffffff;
|
||||
margin-left: 0;
|
||||
@@ -157,14 +174,6 @@ const props = defineProps({
|
||||
width: fit-content;
|
||||
}
|
||||
|
||||
.default-image {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
background-color: theme('colors.green.100');
|
||||
color: theme('colors.green.600');
|
||||
}
|
||||
|
||||
.avatar-group {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
@@ -173,14 +182,7 @@ const props = defineProps({
|
||||
.avatar-group .avatar {
|
||||
transition: margin 0.1s ease-in-out;
|
||||
}
|
||||
.image-placeholder {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex: 1;
|
||||
font-size: 5rem;
|
||||
color: theme('colors.gray.700');
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.avatar-group.overlap .avatar + .avatar {
|
||||
margin-left: calc(-8px);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<div class="text-ink-gray-7">
|
||||
<div class="">
|
||||
<span v-if="instructors?.length == 1">
|
||||
<router-link
|
||||
:to="{
|
||||
@@ -19,7 +19,7 @@
|
||||
>
|
||||
{{ instructors[0].first_name }}
|
||||
</router-link>
|
||||
and
|
||||
{{ __('and') }}
|
||||
<router-link
|
||||
:to="{
|
||||
name: 'Profile',
|
||||
@@ -38,7 +38,7 @@
|
||||
>
|
||||
{{ instructors[0].first_name }}
|
||||
</router-link>
|
||||
and {{ instructors?.length - 1 }} others
|
||||
{{ __('and') }} {{ instructors?.length - 1 }} {{ __('others') }}
|
||||
</span>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
</div> -->
|
||||
<FormControl
|
||||
v-model="searchFilter"
|
||||
:placeholder="__('Search by Member Name')"
|
||||
:placeholder="__('Search by Member')"
|
||||
type="text"
|
||||
class="w-full"
|
||||
/>
|
||||
@@ -149,6 +149,10 @@ import { theme } from '@/utils/theme'
|
||||
|
||||
const show = defineModel<boolean | undefined>()
|
||||
const searchFilter = ref<string | null>(null)
|
||||
type Filters = {
|
||||
course: string | undefined
|
||||
member_name?: string[]
|
||||
}
|
||||
|
||||
const props = defineProps<{
|
||||
courseName?: string
|
||||
@@ -184,10 +188,6 @@ const progressList = createListResource({
|
||||
|
||||
watch([searchFilter], () => {
|
||||
let filterApplied = false
|
||||
type Filters = {
|
||||
course: string | undefined
|
||||
member_name?: string[]
|
||||
}
|
||||
let filters: Filters = {
|
||||
course: props.courseName,
|
||||
}
|
||||
|
||||
@@ -8,13 +8,20 @@
|
||||
>
|
||||
<template #body-content>
|
||||
<div class="text-base">
|
||||
<TabButtons
|
||||
v-if="tabs.length > 1"
|
||||
:buttons="tabs"
|
||||
v-model="currentTab"
|
||||
class="w-fit"
|
||||
/>
|
||||
<div v-if="currentTab" class="mt-8">
|
||||
<div class="flex items-center justify-between">
|
||||
<TabButtons
|
||||
v-if="tabs.length > 1"
|
||||
:buttons="tabs"
|
||||
v-model="currentTab"
|
||||
class="w-fit"
|
||||
/>
|
||||
<!-- <FormControl
|
||||
v-model="searchText"
|
||||
:placeholder="__('Search by Member')"
|
||||
class="mt-2 mr-5 w-[25%]"
|
||||
/> -->
|
||||
</div>
|
||||
<div v-if="currentTab" class="mt-4">
|
||||
<div class="grid grid-cols-[55%,40%] gap-5">
|
||||
<div class="space-y-5 border rounded-md p-2 pt-4">
|
||||
<div class="grid grid-cols-[70%,30%] text-sm text-ink-gray-5">
|
||||
@@ -52,7 +59,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="text-center text-sm">
|
||||
{{ parseFloat(row.watch_time).toFixed(2) }}
|
||||
{{ convertToMinutes(row.watch_time) }}
|
||||
</div>
|
||||
</div>
|
||||
</router-link>
|
||||
@@ -62,7 +69,7 @@
|
||||
<NumberChart
|
||||
class="border rounded-md"
|
||||
:config="{
|
||||
title: __('Average Watch Time (seconds)'),
|
||||
title: __('Average Watch Time (minutes)'),
|
||||
value: averageWatchTime,
|
||||
}"
|
||||
/>
|
||||
@@ -73,6 +80,9 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else class="text-sm text-ink-gray-5">
|
||||
{{ __('No statistics available for this video.') }}
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</Dialog>
|
||||
@@ -82,15 +92,21 @@ import {
|
||||
Avatar,
|
||||
createListResource,
|
||||
Dialog,
|
||||
FormControl,
|
||||
NumberChart,
|
||||
TabButtons,
|
||||
} from 'frappe-ui'
|
||||
import { computed, ref, watch } from 'vue'
|
||||
import { enablePlyr } from '@/utils'
|
||||
import { enablePlyr, convertToMinutes } from '@/utils'
|
||||
import VideoBlock from '@/components/VideoBlock.vue'
|
||||
|
||||
const show = defineModel<boolean | undefined>()
|
||||
const currentTab = ref<string>('')
|
||||
const searchText = ref<string>('')
|
||||
type Filters = {
|
||||
lesson: string | undefined
|
||||
member_name?: string[]
|
||||
}
|
||||
|
||||
const props = defineProps<{
|
||||
lessonName?: string
|
||||
@@ -127,6 +143,24 @@ watch(
|
||||
}
|
||||
)
|
||||
|
||||
watch(searchText, () => {
|
||||
let filterApplied = false
|
||||
let filters: Filters = {
|
||||
lesson: props.lessonName,
|
||||
}
|
||||
|
||||
if (searchText.value) {
|
||||
filters.member_name = ['like', `%${searchText.value}%`]
|
||||
filterApplied = true
|
||||
}
|
||||
|
||||
statistics.update({
|
||||
filters: filters,
|
||||
})
|
||||
|
||||
statistics.reload({})
|
||||
})
|
||||
|
||||
watch(show, () => {
|
||||
if (show.value) {
|
||||
enablePlyr()
|
||||
@@ -151,7 +185,7 @@ const averageWatchTime = computed(() => {
|
||||
totalWatchTime += parseFloat(item.watch_time)
|
||||
})
|
||||
|
||||
return totalWatchTime / currentTabData.value.length
|
||||
return convertToMinutes(totalWatchTime / currentTabData.value.length)
|
||||
})
|
||||
|
||||
const currentTabData = computed(() => {
|
||||
|
||||
@@ -132,6 +132,7 @@ const participants = createListResource({
|
||||
doctype: 'LMS Certificate',
|
||||
url: 'lms.lms.api.get_certified_participants',
|
||||
start: 0,
|
||||
cache: ['certified_participants'],
|
||||
pageLength: 100,
|
||||
})
|
||||
|
||||
|
||||
@@ -47,9 +47,16 @@
|
||||
:required="true"
|
||||
/>
|
||||
<div>
|
||||
<div class="mb-1.5 text-xs text-ink-gray-5">
|
||||
<div class="text-xs text-ink-gray-5">
|
||||
{{ __('Tags') }}
|
||||
</div>
|
||||
<FormControl
|
||||
v-model="newTag"
|
||||
:placeholder="__('Add a keyword and then press enter')"
|
||||
:class="['w-full', 'flex-1', 'my-1']"
|
||||
@keyup.enter="updateTags()"
|
||||
id="tags"
|
||||
/>
|
||||
<div>
|
||||
<div class="flex items-center flex-wrap gap-2">
|
||||
<div
|
||||
@@ -64,37 +71,13 @@
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<FormControl
|
||||
v-model="newTag"
|
||||
:placeholder="__('Add a keyword and then press enter')"
|
||||
:class="[
|
||||
'w-full',
|
||||
'flex-1',
|
||||
{ 'mt-2': course.tags?.length },
|
||||
]"
|
||||
@keyup.enter="updateTags()"
|
||||
id="tags"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="grid grid-cols-2 gap-5">
|
||||
<FormControl
|
||||
v-model="course.short_introduction"
|
||||
type="textarea"
|
||||
:rows="5"
|
||||
:label="__('Short Introduction')"
|
||||
:placeholder="
|
||||
__(
|
||||
'A one line introduction to the course that appears on the course card'
|
||||
)
|
||||
"
|
||||
:required="true"
|
||||
/>
|
||||
<div class="mb-4">
|
||||
<div class="text-xs text-ink-gray-5 mb-2">
|
||||
{{ __('Course Image') }}
|
||||
<span class="text-ink-red-3">*</span>
|
||||
</div>
|
||||
<FileUploader
|
||||
v-if="!course.course_image"
|
||||
@@ -144,6 +127,13 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<ColorSwatches
|
||||
v-model="course.card_gradient"
|
||||
:label="__('Color')"
|
||||
:description="__('Choose a color for the course card')"
|
||||
class="w-full"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -185,6 +175,21 @@
|
||||
</div>
|
||||
|
||||
<div class="px-10 pb-5 mb-5 space-y-5 border-b">
|
||||
<div class="text-lg font-semibold">
|
||||
{{ __('About the Course') }}
|
||||
</div>
|
||||
<FormControl
|
||||
v-model="course.short_introduction"
|
||||
type="textarea"
|
||||
:rows="5"
|
||||
:label="__('Short Introduction')"
|
||||
:placeholder="
|
||||
__(
|
||||
'A one line introduction to the course that appears on the course card'
|
||||
)
|
||||
"
|
||||
:required="true"
|
||||
/>
|
||||
<div class="">
|
||||
<div class="mb-1.5 text-sm text-ink-gray-5">
|
||||
{{ __('Course Description') }}
|
||||
@@ -342,6 +347,7 @@ import {
|
||||
import Link from '@/components/Controls/Link.vue'
|
||||
import CourseOutline from '@/components/CourseOutline.vue'
|
||||
import MultiSelect from '@/components/Controls/MultiSelect.vue'
|
||||
import ColorSwatches from '@/components/Controls/ColorSwatches.vue'
|
||||
|
||||
const user = inject('$user')
|
||||
const newTag = ref('')
|
||||
@@ -365,6 +371,7 @@ const course = reactive({
|
||||
description: '',
|
||||
video_link: '',
|
||||
course_image: null,
|
||||
card_gradient: '',
|
||||
tags: '',
|
||||
category: '',
|
||||
published: false,
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
</div>
|
||||
<div
|
||||
v-if="courses.data?.length"
|
||||
class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 2xl:grid-cols-4 gap-5"
|
||||
class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 2xl:grid-cols-4 gap-8"
|
||||
>
|
||||
<router-link
|
||||
v-for="course in courses.data"
|
||||
|
||||
@@ -604,7 +604,7 @@ const updateVideoTime = (video) => {
|
||||
}
|
||||
|
||||
const startTimer = () => {
|
||||
timerInterval = setInterval(() => {
|
||||
let timerInterval = setInterval(() => {
|
||||
timer.value++
|
||||
if (timer.value == 30) {
|
||||
clearInterval(timerInterval)
|
||||
|
||||
@@ -714,17 +714,6 @@ iframe {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.cdx-block.embed-tool::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: transparent;
|
||||
z-index: 1000;
|
||||
}
|
||||
|
||||
:root {
|
||||
--plyr-range-fill-background: white;
|
||||
--plyr-video-control-background-hover: transparent;
|
||||
|
||||
@@ -77,7 +77,7 @@ const evaluations = createListResource({
|
||||
],
|
||||
auto: true,
|
||||
orderBy: 'creation desc',
|
||||
limit: 100,
|
||||
pageLength: 500,
|
||||
cache: ['schedule', user.data?.name],
|
||||
transform(data) {
|
||||
return data.map((d) => {
|
||||
|
||||
@@ -420,17 +420,6 @@ export function getSidebarLinks() {
|
||||
to: 'Batches',
|
||||
activeFor: ['Batches', 'BatchDetail', 'Batch', 'BatchForm'],
|
||||
},
|
||||
{
|
||||
label: 'Programming Exercises',
|
||||
icon: 'Code',
|
||||
to: 'ProgrammingExercises',
|
||||
activeFor: [
|
||||
'ProgrammingExercises',
|
||||
'ProgrammingExerciseForm',
|
||||
'ProgrammingExerciseSubmissions',
|
||||
'ProgrammingExerciseSubmission',
|
||||
],
|
||||
},
|
||||
{
|
||||
label: 'Certified Members',
|
||||
icon: 'GraduationCap',
|
||||
@@ -551,11 +540,10 @@ export const enablePlyr = async () => {
|
||||
const wait = (ms) => new Promise((resolve) => setTimeout(resolve, ms))
|
||||
|
||||
const setupPlyrForVideo = (video, players) => {
|
||||
const src = video.getAttribute('src') || video.getAttribute('data-src')
|
||||
const src = video.getAttribute('src')
|
||||
|
||||
if (src) {
|
||||
const videoID = extractYouTubeId(src)
|
||||
video.setAttribute('data-plyr-provider', 'youtube')
|
||||
video.setAttribute('data-plyr-embed-id', videoID)
|
||||
}
|
||||
|
||||
@@ -679,3 +667,9 @@ export const formatTimestamp = (seconds) => {
|
||||
const secs = String(date.getUTCSeconds()).padStart(2, '0')
|
||||
return `${minutes}:${secs}`
|
||||
}
|
||||
|
||||
export const convertToMinutes = (seconds) => {
|
||||
const minutes = Math.floor(seconds / 60)
|
||||
const remainingSeconds = Math.round(seconds % 60)
|
||||
return `${minutes}:${remainingSeconds.toString().padStart(2, '0')}`
|
||||
}
|
||||
|
||||
@@ -39,6 +39,7 @@ export default defineConfig({
|
||||
'showdown',
|
||||
'engine.io-client',
|
||||
'tailwind.config.js',
|
||||
'interactjs',
|
||||
'highlight.js',
|
||||
'plyr',
|
||||
],
|
||||
|
||||
@@ -38,9 +38,9 @@
|
||||
"@babel/types" "^7.28.0"
|
||||
|
||||
"@babel/types@^7.28.0":
|
||||
version "7.28.0"
|
||||
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.28.0.tgz#2fd0159a6dc7353933920c43136335a9b264d950"
|
||||
integrity sha512-jYnje+JyZG5YThjHiF28oT4SIZLnYOcSBb6+SDaFIyzDVSkXQmQQYclJ2R+YxcdmK0AX6x1E5OQNtuh3jHDrUg==
|
||||
version "7.28.1"
|
||||
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.28.1.tgz#2aaf3c10b31ba03a77ac84f52b3912a0edef4cf9"
|
||||
integrity sha512-x0LvFTekgSX+83TI28Y9wYPUfzrnl2aT5+5QLnO6v7mSJYtEEevuDRN0F0uSHRk1G1IWZC43o00Y0xDDrpBGPQ==
|
||||
dependencies:
|
||||
"@babel/helper-string-parser" "^7.27.1"
|
||||
"@babel/helper-validator-identifier" "^7.27.1"
|
||||
@@ -161,9 +161,9 @@
|
||||
"@marijn/find-cluster-break" "^1.0.0"
|
||||
|
||||
"@codemirror/view@6.x", "@codemirror/view@^6.0.0", "@codemirror/view@^6.17.0", "@codemirror/view@^6.23.0", "@codemirror/view@^6.27.0", "@codemirror/view@^6.35.0":
|
||||
version "6.38.0"
|
||||
resolved "https://registry.yarnpkg.com/@codemirror/view/-/view-6.38.0.tgz#4486062b791a4247793e0953e05ae71a9e172217"
|
||||
integrity sha512-yvSchUwHOdupXkd7xJ0ob36jdsSR/I+/C+VbY0ffBiL5NiSTEBDfB1ZGWbbIlDd5xgdUkody+lukAdOxYrOBeg==
|
||||
version "6.38.1"
|
||||
resolved "https://registry.yarnpkg.com/@codemirror/view/-/view-6.38.1.tgz#74214434351719ec0710431363a85f7a01e80a73"
|
||||
integrity sha512-RmTOkE7hRU3OVREqFVITWHz6ocgBjv08GoePscAakgVQfciA3SGCEk7mb9IzwW61cKKmlTpHXG6DUE5Ubx+MGQ==
|
||||
dependencies:
|
||||
"@codemirror/state" "^6.5.0"
|
||||
crelt "^1.0.6"
|
||||
@@ -386,7 +386,7 @@
|
||||
dependencies:
|
||||
"@floating-ui/utils" "^0.2.10"
|
||||
|
||||
"@floating-ui/dom@^1.6.13", "@floating-ui/dom@^1.6.7", "@floating-ui/dom@^1.7.2":
|
||||
"@floating-ui/dom@^1.6.13", "@floating-ui/dom@^1.6.7", "@floating-ui/dom@^1.7.0", "@floating-ui/dom@^1.7.2":
|
||||
version "1.7.2"
|
||||
resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.7.2.tgz#3540b051cf5ce0d4f4db5fb2507a76e8ea5b4a45"
|
||||
integrity sha512-7cfaOQuCS27HD7DX+6ib2OrnW+b4ZBwDNnCcT0uTyidcmyWb03FnQqJybDBoCnpdxwBSfA94UAYlRCt7mV+TbA==
|
||||
@@ -434,6 +434,11 @@
|
||||
local-pkg "^1.0.0"
|
||||
mlly "^1.7.4"
|
||||
|
||||
"@interactjs/types@1.10.27":
|
||||
version "1.10.27"
|
||||
resolved "https://registry.yarnpkg.com/@interactjs/types/-/types-1.10.27.tgz#10afd71cef2498e2b5192cf0d46f937d8ceb767f"
|
||||
integrity sha512-BUdv0cvs4H5ODuwft2Xp4eL8Vmi3LcihK42z0Ft/FbVJZoRioBsxH+LlsBdK4tAie7PqlKGy+1oyOncu1nQ6eA==
|
||||
|
||||
"@internationalized/date@^3.5.0", "@internationalized/date@^3.5.4":
|
||||
version "3.8.2"
|
||||
resolved "https://registry.yarnpkg.com/@internationalized/date/-/date-3.8.2.tgz#977620c1407cc6830fd44cb505679d23c599e119"
|
||||
@@ -486,6 +491,11 @@
|
||||
"@jridgewell/resolve-uri" "^3.1.0"
|
||||
"@jridgewell/sourcemap-codec" "^1.4.14"
|
||||
|
||||
"@juggle/resize-observer@^3.4.0":
|
||||
version "3.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@juggle/resize-observer/-/resize-observer-3.4.0.tgz#08d6c5e20cf7e4cc02fd181c4b0c225cd31dbb60"
|
||||
integrity sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==
|
||||
|
||||
"@kurkle/color@^0.3.0":
|
||||
version "0.3.4"
|
||||
resolved "https://registry.yarnpkg.com/@kurkle/color/-/color-0.3.4.tgz#4d4ff677e1609214fc71c580125ddddd86abcabf"
|
||||
@@ -497,9 +507,9 @@
|
||||
integrity sha512-w7ojc8ejBqr2REPsWxJjrMFsA/ysDCFICn8zEOR9mrqzOu2amhITYuLD8ag6XZf0CFXDrhKqw7+tW8cX66NaDA==
|
||||
|
||||
"@lezer/css@^1.1.0", "@lezer/css@^1.1.7":
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/@lezer/css/-/css-1.2.1.tgz#b35f6d0459e9be4de1cdf4d3132a59efd7cf2ba3"
|
||||
integrity sha512-2F5tOqzKEKbCUNraIXc0f6HKeyKlmMWJnBB0i4XW6dJgssrZO/YlZ2pY5xgyqDleqqhiNJ3dQhbrV2aClZQMvg==
|
||||
version "1.3.0"
|
||||
resolved "https://registry.yarnpkg.com/@lezer/css/-/css-1.3.0.tgz#296f298814782c2fad42a936f3510042cdcd2034"
|
||||
integrity sha512-pBL7hup88KbI7hXnZV3PQsn43DHy6TWyzuyk2AO9UyoXcDltvIdqWKE1dLL/45JVZ+YZkHe1WVHqO6wugZZWcw==
|
||||
dependencies:
|
||||
"@lezer/common" "^1.2.0"
|
||||
"@lezer/highlight" "^1.0.0"
|
||||
@@ -596,105 +606,105 @@
|
||||
resolved "https://registry.yarnpkg.com/@remirror/core-constants/-/core-constants-3.0.0.tgz#96fdb89d25c62e7b6a5d08caf0ce5114370e3b8f"
|
||||
integrity sha512-42aWfPrimMfDKDi4YegyS7x+/0tlzaqwPQCULLanv3DMIlu96KTJR0fM5isWX2UViOqlGnX6YFgqWepcX+XMNg==
|
||||
|
||||
"@rollup/rollup-android-arm-eabi@4.44.1":
|
||||
version "4.44.1"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.44.1.tgz#f768e3b2b0e6b55c595d7a053652c06413713983"
|
||||
integrity sha512-JAcBr1+fgqx20m7Fwe1DxPUl/hPkee6jA6Pl7n1v2EFiktAHenTaXl5aIFjUIEsfn9w3HE4gK1lEgNGMzBDs1w==
|
||||
"@rollup/rollup-android-arm-eabi@4.45.0":
|
||||
version "4.45.0"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.45.0.tgz#0592252f7550bc0ea0474bb5a22430850f92bdbd"
|
||||
integrity sha512-2o/FgACbji4tW1dzXOqAV15Eu7DdgbKsF2QKcxfG4xbh5iwU7yr5RRP5/U+0asQliSYv5M4o7BevlGIoSL0LXg==
|
||||
|
||||
"@rollup/rollup-android-arm64@4.44.1":
|
||||
version "4.44.1"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.44.1.tgz#40379fd5501cfdfd7d8f86dfa1d3ce8d3a609493"
|
||||
integrity sha512-RurZetXqTu4p+G0ChbnkwBuAtwAbIwJkycw1n6GvlGlBuS4u5qlr5opix8cBAYFJgaY05TWtM+LaoFggUmbZEQ==
|
||||
"@rollup/rollup-android-arm64@4.45.0":
|
||||
version "4.45.0"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.45.0.tgz#00a51d1d4380cc677da80ac9da1a19e7806bf57e"
|
||||
integrity sha512-PSZ0SvMOjEAxwZeTx32eI/j5xSYtDCRxGu5k9zvzoY77xUNssZM+WV6HYBLROpY5CkXsbQjvz40fBb7WPwDqtQ==
|
||||
|
||||
"@rollup/rollup-darwin-arm64@4.44.1":
|
||||
version "4.44.1"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.44.1.tgz#972c227bc89fe8a38a3f0c493e1966900e4e1ff7"
|
||||
integrity sha512-fM/xPesi7g2M7chk37LOnmnSTHLG/v2ggWqKj3CCA1rMA4mm5KVBT1fNoswbo1JhPuNNZrVwpTvlCVggv8A2zg==
|
||||
"@rollup/rollup-darwin-arm64@4.45.0":
|
||||
version "4.45.0"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.45.0.tgz#6638299dd282ebde1ebdf7dc5b0f150aa6e256e5"
|
||||
integrity sha512-BA4yPIPssPB2aRAWzmqzQ3y2/KotkLyZukVB7j3psK/U3nVJdceo6qr9pLM2xN6iRP/wKfxEbOb1yrlZH6sYZg==
|
||||
|
||||
"@rollup/rollup-darwin-x64@4.44.1":
|
||||
version "4.44.1"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.44.1.tgz#96c919dcb87a5aa7dec5f7f77d90de881e578fdd"
|
||||
integrity sha512-gDnWk57urJrkrHQ2WVx9TSVTH7lSlU7E3AFqiko+bgjlh78aJ88/3nycMax52VIVjIm3ObXnDL2H00e/xzoipw==
|
||||
"@rollup/rollup-darwin-x64@4.45.0":
|
||||
version "4.45.0"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.45.0.tgz#33e61daa0a66890059648feda78e1075d4ea1bcb"
|
||||
integrity sha512-Pr2o0lvTwsiG4HCr43Zy9xXrHspyMvsvEw4FwKYqhli4FuLE5FjcZzuQ4cfPe0iUFCvSQG6lACI0xj74FDZKRA==
|
||||
|
||||
"@rollup/rollup-freebsd-arm64@4.44.1":
|
||||
version "4.44.1"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.44.1.tgz#d199d8eaef830179c0c95b7a6e5455e893d1102c"
|
||||
integrity sha512-wnFQmJ/zPThM5zEGcnDcCJeYJgtSLjh1d//WuHzhf6zT3Md1BvvhJnWoy+HECKu2bMxaIcfWiu3bJgx6z4g2XA==
|
||||
"@rollup/rollup-freebsd-arm64@4.45.0":
|
||||
version "4.45.0"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.45.0.tgz#2cc4bd3ba7026cd5374e902285ce76e8fae0f6eb"
|
||||
integrity sha512-lYE8LkE5h4a/+6VnnLiL14zWMPnx6wNbDG23GcYFpRW1V9hYWHAw9lBZ6ZUIrOaoK7NliF1sdwYGiVmziUF4vA==
|
||||
|
||||
"@rollup/rollup-freebsd-x64@4.44.1":
|
||||
version "4.44.1"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.44.1.tgz#cab01f9e06ca756c1fabe87d64825ae016af4713"
|
||||
integrity sha512-uBmIxoJ4493YATvU2c0upGz87f99e3wop7TJgOA/bXMFd2SvKCI7xkxY/5k50bv7J6dw1SXT4MQBQSLn8Bb/Uw==
|
||||
"@rollup/rollup-freebsd-x64@4.45.0":
|
||||
version "4.45.0"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.45.0.tgz#64664ba3015deac473a5d6d6c60c068f274bf2d5"
|
||||
integrity sha512-PVQWZK9sbzpvqC9Q0GlehNNSVHR+4m7+wET+7FgSnKG3ci5nAMgGmr9mGBXzAuE5SvguCKJ6mHL6vq1JaJ/gvw==
|
||||
|
||||
"@rollup/rollup-linux-arm-gnueabihf@4.44.1":
|
||||
version "4.44.1"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.44.1.tgz#f6f1c42036dba0e58dc2315305429beff0d02c78"
|
||||
integrity sha512-n0edDmSHlXFhrlmTK7XBuwKlG5MbS7yleS1cQ9nn4kIeW+dJH+ExqNgQ0RrFRew8Y+0V/x6C5IjsHrJmiHtkxQ==
|
||||
"@rollup/rollup-linux-arm-gnueabihf@4.45.0":
|
||||
version "4.45.0"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.45.0.tgz#7ab16acae3bcae863e9a9bc32038cd05e794a0ff"
|
||||
integrity sha512-hLrmRl53prCcD+YXTfNvXd776HTxNh8wPAMllusQ+amcQmtgo3V5i/nkhPN6FakW+QVLoUUr2AsbtIRPFU3xIA==
|
||||
|
||||
"@rollup/rollup-linux-arm-musleabihf@4.44.1":
|
||||
version "4.44.1"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.44.1.tgz#1157e98e740facf858993fb51431dce3a4a96239"
|
||||
integrity sha512-8WVUPy3FtAsKSpyk21kV52HCxB+me6YkbkFHATzC2Yd3yuqHwy2lbFL4alJOLXKljoRw08Zk8/xEj89cLQ/4Nw==
|
||||
"@rollup/rollup-linux-arm-musleabihf@4.45.0":
|
||||
version "4.45.0"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.45.0.tgz#bef91b1e924ab57e82e767dc2655264bbde7acc6"
|
||||
integrity sha512-XBKGSYcrkdiRRjl+8XvrUR3AosXU0NvF7VuqMsm7s5nRy+nt58ZMB19Jdp1RdqewLcaYnpk8zeVs/4MlLZEJxw==
|
||||
|
||||
"@rollup/rollup-linux-arm64-gnu@4.44.1":
|
||||
version "4.44.1"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.44.1.tgz#b39db73f8a4c22e7db31a4f3fd45170105f33265"
|
||||
integrity sha512-yuktAOaeOgorWDeFJggjuCkMGeITfqvPgkIXhDqsfKX8J3jGyxdDZgBV/2kj/2DyPaLiX6bPdjJDTu9RB8lUPQ==
|
||||
"@rollup/rollup-linux-arm64-gnu@4.45.0":
|
||||
version "4.45.0"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.45.0.tgz#0a811b16da334125f6e44570d0badf543876f49e"
|
||||
integrity sha512-fRvZZPUiBz7NztBE/2QnCS5AtqLVhXmUOPj9IHlfGEXkapgImf4W9+FSkL8cWqoAjozyUzqFmSc4zh2ooaeF6g==
|
||||
|
||||
"@rollup/rollup-linux-arm64-musl@4.44.1":
|
||||
version "4.44.1"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.44.1.tgz#4043398049fe4449c1485312d1ae9ad8af4056dd"
|
||||
integrity sha512-W+GBM4ifET1Plw8pdVaecwUgxmiH23CfAUj32u8knq0JPFyK4weRy6H7ooxYFD19YxBulL0Ktsflg5XS7+7u9g==
|
||||
"@rollup/rollup-linux-arm64-musl@4.45.0":
|
||||
version "4.45.0"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.45.0.tgz#e8c166efe3cb963faaa924c7721eafbade63036f"
|
||||
integrity sha512-Btv2WRZOcUGi8XU80XwIvzTg4U6+l6D0V6sZTrZx214nrwxw5nAi8hysaXj/mctyClWgesyuxbeLylCBNauimg==
|
||||
|
||||
"@rollup/rollup-linux-loongarch64-gnu@4.44.1":
|
||||
version "4.44.1"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.44.1.tgz#855a80e7e86490da15a85dcce247dbc25265bc08"
|
||||
integrity sha512-1zqnUEMWp9WrGVuVak6jWTl4fEtrVKfZY7CvcBmUUpxAJ7WcSowPSAWIKa/0o5mBL/Ij50SIf9tuirGx63Ovew==
|
||||
"@rollup/rollup-linux-loongarch64-gnu@4.45.0":
|
||||
version "4.45.0"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.45.0.tgz#239feea00fa2a1e734bdff09b8d1c90def2abbf5"
|
||||
integrity sha512-Li0emNnwtUZdLwHjQPBxn4VWztcrw/h7mgLyHiEI5Z0MhpeFGlzaiBHpSNVOMB/xucjXTTcO+dhv469Djr16KA==
|
||||
|
||||
"@rollup/rollup-linux-powerpc64le-gnu@4.44.1":
|
||||
version "4.44.1"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.44.1.tgz#8cf843cb7ab1d42e1dda680937cf0a2db6d59047"
|
||||
integrity sha512-Rl3JKaRu0LHIx7ExBAAnf0JcOQetQffaw34T8vLlg9b1IhzcBgaIdnvEbbsZq9uZp3uAH+JkHd20Nwn0h9zPjA==
|
||||
"@rollup/rollup-linux-powerpc64le-gnu@4.45.0":
|
||||
version "4.45.0"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.45.0.tgz#1de2f926bddbf7d689a089277c1284ea6df4b6d1"
|
||||
integrity sha512-sB8+pfkYx2kvpDCfd63d5ScYT0Fz1LO6jIb2zLZvmK9ob2D8DeVqrmBDE0iDK8KlBVmsTNzrjr3G1xV4eUZhSw==
|
||||
|
||||
"@rollup/rollup-linux-riscv64-gnu@4.44.1":
|
||||
version "4.44.1"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.44.1.tgz#287c085472976c8711f16700326f736a527f2f38"
|
||||
integrity sha512-j5akelU3snyL6K3N/iX7otLBIl347fGwmd95U5gS/7z6T4ftK288jKq3A5lcFKcx7wwzb5rgNvAg3ZbV4BqUSw==
|
||||
"@rollup/rollup-linux-riscv64-gnu@4.45.0":
|
||||
version "4.45.0"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.45.0.tgz#28dbac643244e477a7b931feb9b475aa826f84c1"
|
||||
integrity sha512-5GQ6PFhh7E6jQm70p1aW05G2cap5zMOvO0se5JMecHeAdj5ZhWEHbJ4hiKpfi1nnnEdTauDXxPgXae/mqjow9w==
|
||||
|
||||
"@rollup/rollup-linux-riscv64-musl@4.44.1":
|
||||
version "4.44.1"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.44.1.tgz#095ad5e53a54ba475979f1b3226b92440c95c892"
|
||||
integrity sha512-ppn5llVGgrZw7yxbIm8TTvtj1EoPgYUAbfw0uDjIOzzoqlZlZrLJ/KuiE7uf5EpTpCTrNt1EdtzF0naMm0wGYg==
|
||||
"@rollup/rollup-linux-riscv64-musl@4.45.0":
|
||||
version "4.45.0"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.45.0.tgz#5d05eeaedadec3625cd50e3ca5d35ef6f96a4bf0"
|
||||
integrity sha512-N/euLsBd1rekWcuduakTo/dJw6U6sBP3eUq+RXM9RNfPuWTvG2w/WObDkIvJ2KChy6oxZmOSC08Ak2OJA0UiAA==
|
||||
|
||||
"@rollup/rollup-linux-s390x-gnu@4.44.1":
|
||||
version "4.44.1"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.44.1.tgz#a3dec8281d8f2aef1703e48ebc65d29fe847933c"
|
||||
integrity sha512-Hu6hEdix0oxtUma99jSP7xbvjkUM/ycke/AQQ4EC5g7jNRLLIwjcNwaUy95ZKBJJwg1ZowsclNnjYqzN4zwkAw==
|
||||
"@rollup/rollup-linux-s390x-gnu@4.45.0":
|
||||
version "4.45.0"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.45.0.tgz#55b0790f499fb7adc14eb074c4e46aef92915813"
|
||||
integrity sha512-2l9sA7d7QdikL0xQwNMO3xURBUNEWyHVHfAsHsUdq+E/pgLTUcCE+gih5PCdmyHmfTDeXUWVhqL0WZzg0nua3g==
|
||||
|
||||
"@rollup/rollup-linux-x64-gnu@4.44.1":
|
||||
version "4.44.1"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.44.1.tgz#4b211e6fd57edd6a134740f4f8e8ea61972ff2c5"
|
||||
integrity sha512-EtnsrmZGomz9WxK1bR5079zee3+7a+AdFlghyd6VbAjgRJDbTANJ9dcPIPAi76uG05micpEL+gPGmAKYTschQw==
|
||||
"@rollup/rollup-linux-x64-gnu@4.45.0":
|
||||
version "4.45.0"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.45.0.tgz#e822632fe5b324b16bdc37149149c8c760b031fd"
|
||||
integrity sha512-XZdD3fEEQcwG2KrJDdEQu7NrHonPxxaV0/w2HpvINBdcqebz1aL+0vM2WFJq4DeiAVT6F5SUQas65HY5JDqoPw==
|
||||
|
||||
"@rollup/rollup-linux-x64-musl@4.44.1":
|
||||
version "4.44.1"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.44.1.tgz#3ecbf8e21b4157e57bb15dc6837b6db851f9a336"
|
||||
integrity sha512-iAS4p+J1az6Usn0f8xhgL4PaU878KEtutP4hqw52I4IO6AGoyOkHCxcc4bqufv1tQLdDWFx8lR9YlwxKuv3/3g==
|
||||
"@rollup/rollup-linux-x64-musl@4.45.0":
|
||||
version "4.45.0"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.45.0.tgz#19a3602cb8fabd7eb3087f0a1e1e01adac31bbff"
|
||||
integrity sha512-7ayfgvtmmWgKWBkCGg5+xTQ0r5V1owVm67zTrsEY1008L5ro7mCyGYORomARt/OquB9KY7LpxVBZes+oSniAAQ==
|
||||
|
||||
"@rollup/rollup-win32-arm64-msvc@4.44.1":
|
||||
version "4.44.1"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.44.1.tgz#d4aae38465b2ad200557b53c8c817266a3ddbfd0"
|
||||
integrity sha512-NtSJVKcXwcqozOl+FwI41OH3OApDyLk3kqTJgx8+gp6On9ZEt5mYhIsKNPGuaZr3p9T6NWPKGU/03Vw4CNU9qg==
|
||||
"@rollup/rollup-win32-arm64-msvc@4.45.0":
|
||||
version "4.45.0"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.45.0.tgz#42e08bf3ea4fc463fc9f199c4f0310a736f03eb1"
|
||||
integrity sha512-B+IJgcBnE2bm93jEW5kHisqvPITs4ddLOROAcOc/diBgrEiQJJ6Qcjby75rFSmH5eMGrqJryUgJDhrfj942apQ==
|
||||
|
||||
"@rollup/rollup-win32-ia32-msvc@4.44.1":
|
||||
version "4.44.1"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.44.1.tgz#0258e8ca052abd48b23fd6113360fa0cd1ec3e23"
|
||||
integrity sha512-JYA3qvCOLXSsnTR3oiyGws1Dm0YTuxAAeaYGVlGpUsHqloPcFjPg+X0Fj2qODGLNwQOAcCiQmHub/V007kiH5A==
|
||||
"@rollup/rollup-win32-ia32-msvc@4.45.0":
|
||||
version "4.45.0"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.45.0.tgz#043d25557f59d7e28dfe38ee1f60ddcb95a08124"
|
||||
integrity sha512-+CXwwG66g0/FpWOnP/v1HnrGVSOygK/osUbu3wPRy8ECXjoYKjRAyfxYpDQOfghC5qPJYLPH0oN4MCOjwgdMug==
|
||||
|
||||
"@rollup/rollup-win32-x64-msvc@4.44.1":
|
||||
version "4.44.1"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.44.1.tgz#1c982f6a5044ffc2a35cd754a0951bdcb44d5ba0"
|
||||
integrity sha512-J8o22LuF0kTe7m+8PvW9wk3/bRq5+mRo5Dqo6+vXb7otCm3TPhYOJqOaQtGU9YMWQSL3krMnoOxMr0+9E6F3Ug==
|
||||
"@rollup/rollup-win32-x64-msvc@4.45.0":
|
||||
version "4.45.0"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.45.0.tgz#0a7eecae41f463d6591c8fecd7a5c5087345ee36"
|
||||
integrity sha512-SRf1cytG7wqcHVLrBc9VtPK4pU5wxiB/lNIkNmW2ApKXIg+RpqwHfsaEK+e7eH4A1BpI6BX/aBWXxZCIrJg3uA==
|
||||
|
||||
"@socket.io/component-emitter@~3.1.0":
|
||||
version "3.1.2"
|
||||
@@ -764,191 +774,191 @@
|
||||
dependencies:
|
||||
"@tanstack/virtual-core" "3.13.12"
|
||||
|
||||
"@tiptap/core@^2.11.7", "@tiptap/core@^2.24.0":
|
||||
version "2.24.0"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/core/-/core-2.24.0.tgz#aee1f945a2a60f90849a2c2c0912cb4e115deb6b"
|
||||
integrity sha512-DDFd4jKN2xx7i7GL7FYVweQudXGhHDPErjnKNwaEh0togBVQtvNcGQGV0pW31oTUItzc29DgvEGjyb5z9zOZUQ==
|
||||
"@tiptap/core@^2.11.7", "@tiptap/core@^2.26.1":
|
||||
version "2.26.1"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/core/-/core-2.26.1.tgz#8f97c223629972221d4175e4779f6ee955c41a37"
|
||||
integrity sha512-fymyd/XZvYiHjBoLt1gxs024xP/LY26d43R1vluYq7AHBL/7DE3ywzy+1GEsGyAv5Je2L0KBhNIR/izbq3Kaqg==
|
||||
|
||||
"@tiptap/extension-blockquote@^2.24.0":
|
||||
version "2.24.0"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-blockquote/-/extension-blockquote-2.24.0.tgz#4d28aa0ae55172dfb1e60b553217540d8be5384b"
|
||||
integrity sha512-UNa1y1zFTmE2SSQ/3C0CDLUOnJZzGWH0rlOg0CIYA2FQlVg/Sl6L4hxXFLcp2m2E4ixCMTDXBvxKVxpmpvu0UQ==
|
||||
"@tiptap/extension-blockquote@^2.26.1":
|
||||
version "2.26.1"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-blockquote/-/extension-blockquote-2.26.1.tgz#8ad2b3c119ff22430432ef46c852c135c156d63b"
|
||||
integrity sha512-viQ6AHRhjCYYipKK6ZepBzwZpkuMvO9yhRHeUZDvlSOAh8rvsUTSre0y74nu8QRYUt4a44lJJ6BpphJK7bEgYA==
|
||||
|
||||
"@tiptap/extension-bold@^2.24.0":
|
||||
version "2.24.0"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-bold/-/extension-bold-2.24.0.tgz#94d1726e547734fc727651bd2cf66c6bc10bf2fc"
|
||||
integrity sha512-TZT9jZeJuhmVhylO8t5QFbqfgS0yK6d/Tx08UMB7QuGIcNQ83p/Ep2kGOx1N1KnrUKdKBRXTtOgVKSbVXDyLvQ==
|
||||
"@tiptap/extension-bold@^2.26.1":
|
||||
version "2.26.1"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-bold/-/extension-bold-2.26.1.tgz#1218b847d360d69b6fc9e30596991bc53bc8fb98"
|
||||
integrity sha512-zCce9PRuTNhadFir71luLo99HERDpGJ0EEflGm7RN8I1SnNi9gD5ooK42BOIQtejGCJqg3hTPZiYDJC2hXvckQ==
|
||||
|
||||
"@tiptap/extension-bubble-menu@^2.24.0":
|
||||
version "2.24.0"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-bubble-menu/-/extension-bubble-menu-2.24.0.tgz#dfcb476833f49771f70196bb6837e955615d7867"
|
||||
integrity sha512-/YEayojvKC4571g/eQTkqJiXHlTpL3mRmg7E0ulnW8TuEVDbc+V64nit4xI4fgTUR5NppPEoSzVuy2XHORg6rg==
|
||||
"@tiptap/extension-bubble-menu@^2.26.1":
|
||||
version "2.26.1"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-bubble-menu/-/extension-bubble-menu-2.26.1.tgz#7d78abb95bfc96468b40819ec00e2770ddcf63ad"
|
||||
integrity sha512-oHevUcZbTMFOTpdCEo4YEDe044MB4P1ZrWyML8CGe5tnnKdlI9BN03AXpI1mEEa5CA3H1/eEckXx8EiCgYwQ3Q==
|
||||
dependencies:
|
||||
tippy.js "^6.3.7"
|
||||
|
||||
"@tiptap/extension-bullet-list@^2.24.0":
|
||||
version "2.24.0"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-bullet-list/-/extension-bullet-list-2.24.0.tgz#1c5e0e8ef6f9d55771ffa7b4254a19bd65ef3b92"
|
||||
integrity sha512-p67EoSsvhys3D0a5jjnorEapV71nX6ZkhsNfrqsio3h3cc1YONA47wbx8bCnahMR8BtczzUNhdRHM5LHLjzPTA==
|
||||
"@tiptap/extension-bullet-list@^2.26.1":
|
||||
version "2.26.1"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-bullet-list/-/extension-bullet-list-2.26.1.tgz#b92170ca5d0b3404599799277fd73a124e81d093"
|
||||
integrity sha512-HHakuV4ckYCDOnBbne088FvCEP4YICw+wgPBz/V2dfpiFYQ4WzT0LPK9s7OFMCN+ROraoug+1ryN1Z1KdIgujQ==
|
||||
|
||||
"@tiptap/extension-code-block-lowlight@^2.11.5":
|
||||
version "2.24.0"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-code-block-lowlight/-/extension-code-block-lowlight-2.24.0.tgz#d88db01836d485f02bd62f68853142bb37339ecf"
|
||||
integrity sha512-NXE6DG3uLdkchIJlnQGp45FNvaEJhE5CM9fgJ/4ylDgd9S2aXXP6BVPjti35L2DszNui+QeHa75ZjcBAQyG4YQ==
|
||||
version "2.26.1"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-code-block-lowlight/-/extension-code-block-lowlight-2.26.1.tgz#42033f833906de3cf66263598dc4cad70fe3651d"
|
||||
integrity sha512-yptuTPYAzVMKHUTwNKYveuu0rYHYyFknPz3O2++PWeeBGxkNB+T6LhwZ/JhXceHcZxzlGyka9r2mXR7pslhugw==
|
||||
|
||||
"@tiptap/extension-code-block@^2.11.9", "@tiptap/extension-code-block@^2.24.0":
|
||||
version "2.24.0"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-code-block/-/extension-code-block-2.24.0.tgz#bf8c6c21bad2e64134e0ecca9553984643f46e3f"
|
||||
integrity sha512-1k2WhFpxd1Q/zGSYZn7YRhBAMLK3jAafIp0Rkf2iHs0vqbL+iHtrWAu5DFaWfNisTF7PrYXhjyIK9+UTQXCuaw==
|
||||
"@tiptap/extension-code-block@^2.11.9", "@tiptap/extension-code-block@^2.26.1":
|
||||
version "2.26.1"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-code-block/-/extension-code-block-2.26.1.tgz#dd6f9ec59440844f8e0ab0b33a75ff8ab6b6669f"
|
||||
integrity sha512-/TDDOwONl0qEUc4+B6V9NnWtSjz95eg7/8uCb8Y8iRbGvI9vT4/znRKofFxstvKmW4URu/H74/g0ywV57h0B+A==
|
||||
|
||||
"@tiptap/extension-code@^2.24.0":
|
||||
version "2.24.0"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-code/-/extension-code-2.24.0.tgz#b71a934110120987813cd445633960e3cc1ab883"
|
||||
integrity sha512-2pYGdTSyzjJrxsMNGpm8+E+Z60iMdUn4AYhrTfSHKObvZbGEhqWpxBRIUjL6xulSjYxmXzQFrYzh0BWYuXYPeA==
|
||||
"@tiptap/extension-code@^2.26.1":
|
||||
version "2.26.1"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-code/-/extension-code-2.26.1.tgz#ed289955423da20faa6ef4c81472835ac5fe1574"
|
||||
integrity sha512-GU9deB1A/Tr4FMPu71CvlcjGKwRhGYz60wQ8m4aM+ELZcVIcZRa1ebR8bExRIEWnvRztQuyRiCQzw2N0xQJ1QQ==
|
||||
|
||||
"@tiptap/extension-color@^2.0.3":
|
||||
version "2.24.0"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-color/-/extension-color-2.24.0.tgz#a643a4dea7532a3bcc261465c8737f00d7ed29c6"
|
||||
integrity sha512-I10tkIw0a4jD6Yu2AvUKZaPQVY83fx+DnC+Hd+eeQdT5JQy3c0K43N9HnPIPbtnpKFiJgOIJZhMy3LUXDPWSaA==
|
||||
version "2.26.1"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-color/-/extension-color-2.26.1.tgz#075386150a4457d03c85371a88205c838fc2bfae"
|
||||
integrity sha512-lsPw3qpQNes1rHpxBtsV9XniN1dEjYd2nVTpQHGE4XLNwfE5+ejm6ySs8qVLM7+EXWcjANLLh4UA3zqkX6t6HA==
|
||||
|
||||
"@tiptap/extension-document@^2.24.0":
|
||||
version "2.24.0"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-document/-/extension-document-2.24.0.tgz#1c7e6d838b35ed5bad0ecd12712d7a0fa86f8378"
|
||||
integrity sha512-KNcYFEwmbgtsP8lHAPGpzRpUsp0sWDxsUW6vrozR+OSjOogx96OKz22NvJEgUQrVekjM6tKFp81vuIKWDo0EsA==
|
||||
"@tiptap/extension-document@^2.26.1":
|
||||
version "2.26.1"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-document/-/extension-document-2.26.1.tgz#3e65e4833fee138e5afaed4be586d75db10cb8b6"
|
||||
integrity sha512-2P2IZp1NRAE+21mRuFBiP3X2WKfZ6kUC23NJKpn8bcOamY3obYqCt0ltGPhE4eR8n8QAl2fI/3jIgjR07dC8ow==
|
||||
|
||||
"@tiptap/extension-dropcursor@^2.24.0":
|
||||
version "2.24.0"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-dropcursor/-/extension-dropcursor-2.24.0.tgz#9886f1d46a0dbdd518949373cdcfe10dff2c852b"
|
||||
integrity sha512-Oi3aNppt23U2POjowV6/6XtQG9LrMFqqun8LAAx3DItgkK3eqaEH5C39kZ75XpWpbPcZ7G+0+1qNOqU1ZyOFgg==
|
||||
"@tiptap/extension-dropcursor@^2.26.1":
|
||||
version "2.26.1"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-dropcursor/-/extension-dropcursor-2.26.1.tgz#2eff232f3ab50816ba7182275f84f475a88b4443"
|
||||
integrity sha512-JkDQU2ZYFOuT5mNYb8OiWGwD1HcjbtmX8tLNugQbToECmz9WvVPqJmn7V/q8VGpP81iEECz/IsyRmuf2kSD4uA==
|
||||
|
||||
"@tiptap/extension-floating-menu@^2.24.0":
|
||||
version "2.24.0"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-floating-menu/-/extension-floating-menu-2.24.0.tgz#87279b3e2356ed5f41878a73c74f92f0e68e435b"
|
||||
integrity sha512-08T7cA6ILk9byvI0IMHv7MgINNx4fMUjn+1h4mX7k06rUR9P3nXEVQDQWcRZdqQ9orMdL44NtW8e+hGBZRHDQA==
|
||||
"@tiptap/extension-floating-menu@^2.26.1":
|
||||
version "2.26.1"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-floating-menu/-/extension-floating-menu-2.26.1.tgz#4be572fa98f356d44b1817cff5cd0db819f45c01"
|
||||
integrity sha512-OJF+H6qhQogVTMedAGSWuoL1RPe3LZYXONuFCVyzHnvvMpK+BP1vm180E2zDNFnn/DVA+FOrzNGpZW7YjoFH1w==
|
||||
dependencies:
|
||||
tippy.js "^6.3.7"
|
||||
|
||||
"@tiptap/extension-gapcursor@^2.24.0":
|
||||
version "2.24.0"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-gapcursor/-/extension-gapcursor-2.24.0.tgz#7d28bdd9f8485a6fe10507795c95de549a95ae99"
|
||||
integrity sha512-CG406JTLBFGyEQHKIygqIHtNrXz4TGy8bdlTDPihPrcstJMHC1oxE3TSYS34A73l0n0JvQCYioxppxIJLbGFVg==
|
||||
"@tiptap/extension-gapcursor@^2.26.1":
|
||||
version "2.26.1"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-gapcursor/-/extension-gapcursor-2.26.1.tgz#7a5ebd84d4495aa8403ececd1ace51d3ba9ab139"
|
||||
integrity sha512-KOiMZc3PwJS3hR0nSq5d0TJi2jkNZkLZElcT6pCEnhRHzPH6dRMu9GM5Jj798ZRUy0T9UFcKJalFZaDxnmRnpg==
|
||||
|
||||
"@tiptap/extension-hard-break@^2.24.0":
|
||||
version "2.24.0"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-hard-break/-/extension-hard-break-2.24.0.tgz#a714ffd2a7565f4eb98186535463a6cbbaecae0d"
|
||||
integrity sha512-Zh7ML2kHpKNrDdu+NLqra6gQQyNspRz4vSAR28x9q31MatuWExM9RWocwDrLOe88AuYqOu5gDyMVZTi8ikVd9A==
|
||||
"@tiptap/extension-hard-break@^2.26.1":
|
||||
version "2.26.1"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-hard-break/-/extension-hard-break-2.26.1.tgz#70226e2b63e2252a74f6e59b5c001a4c02e0c1e5"
|
||||
integrity sha512-d6uStdNKi8kjPlHAyO59M6KGWATNwhLCD7dng0NXfwGndc22fthzIk/6j9F6ltQx30huy5qQram6j3JXwNACoA==
|
||||
|
||||
"@tiptap/extension-heading@^2.12.0", "@tiptap/extension-heading@^2.24.0":
|
||||
version "2.24.0"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-heading/-/extension-heading-2.24.0.tgz#e16eded5fa34bd20771ed1788ed46c01fd68c363"
|
||||
integrity sha512-qfrcn6QlOFxd0T4VMDloxzv7YUlOX5Cc/S60+7aRLUNMrByQyk+C1OwSdX3Wx6fYWhCszzFblTGTCWu5QijK/w==
|
||||
"@tiptap/extension-heading@^2.12.0", "@tiptap/extension-heading@^2.26.1":
|
||||
version "2.26.1"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-heading/-/extension-heading-2.26.1.tgz#49d1e8f2d10eb1c06bf348d7cb9d131097d65f78"
|
||||
integrity sha512-KSzL8WZV3pjJG9ke4RaU70+B5UlYR2S6olNt5UCAawM+fi11mobVztiBoC19xtpSVqIXC1AmXOqUgnuSvmE4ZA==
|
||||
|
||||
"@tiptap/extension-highlight@^2.0.3":
|
||||
version "2.24.0"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-highlight/-/extension-highlight-2.24.0.tgz#9bc3a7f0ffe99cb5d8f37ba49ead62d3932b2f7e"
|
||||
integrity sha512-xRPcZR7ebHODvQobYJI5FDOd6UGguTHK7ez/wM7lKuVj5+VhmM/r5OBM68QZrZol5lYHcamfaIx4hmydCt4ecw==
|
||||
version "2.26.1"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-highlight/-/extension-highlight-2.26.1.tgz#9c5aca076d146332930882c0fad7cbe47026c681"
|
||||
integrity sha512-9eW2UqDqeAKSDIiL6SqcPSDCQAdU5qQmRMsJlShOM7Fu1aU71b1ewhUP9YioUCanciR99tqNsk/n3LAe0w5XdA==
|
||||
|
||||
"@tiptap/extension-history@^2.24.0":
|
||||
version "2.24.0"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-history/-/extension-history-2.24.0.tgz#2de5390fd2609b8e308198b3e5ba0642b9fbfdf0"
|
||||
integrity sha512-0FVeCm1O+W6PUFrcaHZ8wposZwSyrCOOPT894Mpam1hGdFr2V0RdqkgRYC94SSmZrkrDFJRklSVcpacjGFT6ig==
|
||||
"@tiptap/extension-history@^2.26.1":
|
||||
version "2.26.1"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-history/-/extension-history-2.26.1.tgz#de8e8a5ebf08cbbccb6dec11291128843a2d24e6"
|
||||
integrity sha512-m6YR1gkkauIDo3PRl0gP+7Oc4n5OqDzcjVh6LvWREmZP8nmi94hfseYbqOXUb6RPHIc0JKF02eiRifT4MSd2nw==
|
||||
|
||||
"@tiptap/extension-horizontal-rule@^2.24.0":
|
||||
version "2.24.0"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-2.24.0.tgz#b7ac8914c8bf044ec43e9a94a3378c239b84d345"
|
||||
integrity sha512-RGEAHTALSvN+m0zqtj+kdECJJs4F9O146fDgLXBvEFPqSyGd5fku1dM5r2LK4ECastir+N5Y+5Nas0ZXSoozIw==
|
||||
"@tiptap/extension-horizontal-rule@^2.26.1":
|
||||
version "2.26.1"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-2.26.1.tgz#5c0c635d4444f38cb70e721d06fbe2d47a79982c"
|
||||
integrity sha512-mT6baqOhs/NakgrAeDeed194E/ZJFGL692H0C7f1N7WDRaWxUu2oR0LrnRqSH5OyPjELkzu6nQnNy0+0tFGHHg==
|
||||
|
||||
"@tiptap/extension-image@^2.0.3":
|
||||
version "2.24.0"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-image/-/extension-image-2.24.0.tgz#eb75c849ba98f132d1b82e5bfe380a5c98bb06ba"
|
||||
integrity sha512-kcuPkCJBk+X7rAtdsQ2JVjCUhEZToOIQ54l7jBta4wsyZVKW3HNN3gGxikfF/8jnn8uZNuXCp0cN6wtmbccVOA==
|
||||
version "2.26.1"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-image/-/extension-image-2.26.1.tgz#1b71633f31a7c53c4570f94e1068ceb46fe93224"
|
||||
integrity sha512-96+MaYBJebQlR/ik5W72GLUfXdEoxFs+6jsoERxbM5qEdhb7TEnodBFtWZOwgDO27kFd6rSNZuW9r5KJNtljEg==
|
||||
|
||||
"@tiptap/extension-italic@^2.24.0":
|
||||
version "2.24.0"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-italic/-/extension-italic-2.24.0.tgz#ce928b98d45e1db26e45fe3c20256079a081175e"
|
||||
integrity sha512-IW8TxvGTdi3FPDAdVkJCdMXUwwIagjrZO0qz0eTnM6nSX9hHXYrMQ3LyKHaXD5HTRBMLIqaokk8wQPkIMX4ruA==
|
||||
"@tiptap/extension-italic@^2.26.1":
|
||||
version "2.26.1"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-italic/-/extension-italic-2.26.1.tgz#cd798d5e410d112f70aaea2c7eb30716f4a483c6"
|
||||
integrity sha512-pOs6oU4LyGO89IrYE4jbE8ZYsPwMMIiKkYfXcfeD9NtpGNBnjeVXXF5I9ndY2ANrCAgC8k58C3/powDRf0T2yA==
|
||||
|
||||
"@tiptap/extension-link@^2.0.3":
|
||||
version "2.24.0"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-link/-/extension-link-2.24.0.tgz#9f46589919c53fdff9c6405bfabdeff4dffa87c8"
|
||||
integrity sha512-J8kQI7xfT0Qaki1DeFhvZD1hWxkXmNmVzGRRz9ComrqIevaoXvZjI9aXyK2NkqjJB2xUxxu9JgcJIxUXbbBzfw==
|
||||
version "2.26.1"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-link/-/extension-link-2.26.1.tgz#8e479556b08aa42e2ac9369d45c30c281051a45a"
|
||||
integrity sha512-7yfum5Jymkue/uOSTQPt2SmkZIdZx7t3QhZLqBU7R9ettkdSCBgEGok6N+scJM1R1Zes+maSckLm0JZw5BKYNA==
|
||||
dependencies:
|
||||
linkifyjs "^4.2.0"
|
||||
|
||||
"@tiptap/extension-list-item@^2.24.0":
|
||||
version "2.24.0"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-list-item/-/extension-list-item-2.24.0.tgz#93ca5a22160d94f7cda38e4a7f04e1eaeef4d245"
|
||||
integrity sha512-ZS5I53ii7jgWPI9tCZG5p1z9LVYlt0wZ5f45epXQpcG0/P2HYscNCR7aJs/OmdOOjU/7bdpIqKR0BL7IlQca9Q==
|
||||
"@tiptap/extension-list-item@^2.26.1":
|
||||
version "2.26.1"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-list-item/-/extension-list-item-2.26.1.tgz#932e041245d3a696c943e9d4a32cdf59cb386e88"
|
||||
integrity sha512-quOXckC73Luc3x+Dcm88YAEBW+Crh3x5uvtQOQtn2GEG91AshrvbnhGRiYnfvEN7UhWIS+FYI5liHFcRKSUKrQ==
|
||||
|
||||
"@tiptap/extension-mention@^2.0.3":
|
||||
version "2.24.0"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-mention/-/extension-mention-2.24.0.tgz#1d0bcc2521012cc5c55d7e6efadb4b600c9bfcb3"
|
||||
integrity sha512-532rfuN2fCnI4pWUTD94jBxzSF5TT61Afvq+ar5OKwcANf3G+PZm07ejUbVbHw+g/lKiEZLNLQbg07gIAAXpnA==
|
||||
version "2.26.1"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-mention/-/extension-mention-2.26.1.tgz#f61a77f8b3dd99b12b9aac0a9ee8041f098b3986"
|
||||
integrity sha512-sBrlJ9nWjFx7oWCtt0hV192FgCBXva1zwImWbgXTCGPAjv0d5EoPymIfRgoeanAmuQjOHoKzzZnJ6bELTZhkGw==
|
||||
|
||||
"@tiptap/extension-ordered-list@^2.24.0":
|
||||
version "2.24.0"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-ordered-list/-/extension-ordered-list-2.24.0.tgz#8048418afdd48a4a1d4ece887fb1783fd2efdaf0"
|
||||
integrity sha512-YxHDlkCI09Rb23weDEwmwLzXLhL30EW73brjHmFod9MCpDwDSkRWztsJRa6pVxcl0paiX7ftrM07ChbIgn84lw==
|
||||
"@tiptap/extension-ordered-list@^2.26.1":
|
||||
version "2.26.1"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-ordered-list/-/extension-ordered-list-2.26.1.tgz#81e60f4b679533b736ef0fbad4263a11e1c8465e"
|
||||
integrity sha512-UHKNRxq6TBnXMGFSq91knD6QaHsyyOwLOsXMzupmKM5Su0s+CRXEjfav3qKlbb9e4m7D7S/a0aPm8nC9KIXNhQ==
|
||||
|
||||
"@tiptap/extension-paragraph@^2.24.0":
|
||||
version "2.24.0"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-paragraph/-/extension-paragraph-2.24.0.tgz#700af9e50f3bf01abba10461cebeecb5bc301440"
|
||||
integrity sha512-es4HPZSlQneZOoZTE9aIXC7uWIZwkBh6EyC+dur7H23vtz3xECWW6/v1jJxhVZS+dVwuNaA04QGqsLeyRf1lnQ==
|
||||
"@tiptap/extension-paragraph@^2.26.1":
|
||||
version "2.26.1"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-paragraph/-/extension-paragraph-2.26.1.tgz#2e25f9e72fd5b4b34ca8e9e3c355303d86eae055"
|
||||
integrity sha512-UezvM9VDRAVJlX1tykgHWSD1g3MKfVMWWZ+Tg+PE4+kizOwoYkRWznVPgCAxjmyHajxpCKRXgqTZkOxjJ9Kjzg==
|
||||
|
||||
"@tiptap/extension-placeholder@^2.0.3":
|
||||
version "2.24.0"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-placeholder/-/extension-placeholder-2.24.0.tgz#0cd238de49114dc4c04032ad72d3bdcdd0338342"
|
||||
integrity sha512-/rfirea9xHh5d/uYSPFOzx/o909XrBNpunt3sYZNi4RWf/+79QEW54/O1cGLj/l8uhms3gL/Bn+Ksv5mvdSJlg==
|
||||
version "2.26.1"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-placeholder/-/extension-placeholder-2.26.1.tgz#a44280063978dfa86aad71dee6cad36c3a7862a0"
|
||||
integrity sha512-MBlqbkd+63btY7Qu+SqrXvWjPwooGZDsLTtl7jp52BczBl61cq9yygglt9XpM11TFMBdySgdLHBrLtQ0B7fBlw==
|
||||
|
||||
"@tiptap/extension-strike@^2.24.0":
|
||||
version "2.24.0"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-strike/-/extension-strike-2.24.0.tgz#4a8e19ea1a23690a76b8620e9c46156c0d900cf0"
|
||||
integrity sha512-nAhoy0korH+Vn0yOAdcKNJoDPzMAsyA7EgZYLQFCdWMnNBU6dTHJmRm6BI0Vhj3tqdXcnlavtPApBflW0eje3A==
|
||||
"@tiptap/extension-strike@^2.26.1":
|
||||
version "2.26.1"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-strike/-/extension-strike-2.26.1.tgz#d703acfa78455021082ccbac72b41ee9ab3f8c9b"
|
||||
integrity sha512-CkoRH+pAi6MgdCh7K0cVZl4N2uR4pZdabXAnFSoLZRSg6imLvEUmWHfSi1dl3Z7JOvd3a4yZ4NxerQn5MWbJ7g==
|
||||
|
||||
"@tiptap/extension-table-cell@^2.0.3":
|
||||
version "2.24.0"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-table-cell/-/extension-table-cell-2.24.0.tgz#1a4425252597c9cad62349f87760dc054229c146"
|
||||
integrity sha512-RvHCKTqUzjeqOmqVqp9bdraQfGsDHGSazEgWdknsFi/0LGhkKSX9lsaqlUHQoSf1DRVNx4sq0B2qjrlyL9tB9w==
|
||||
version "2.26.1"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-table-cell/-/extension-table-cell-2.26.1.tgz#c204e9eef60f77063fc432faba4dd2ef2fe79ba3"
|
||||
integrity sha512-0P5zY+WGFnULggJkX6+CevmFoBmVv1aUiBBXfcFuLG2mnUsS3QALQTowFtz/0/VbtbjzcOSStaGDHRJxPbk9XQ==
|
||||
|
||||
"@tiptap/extension-table-header@^2.0.3":
|
||||
version "2.24.0"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-table-header/-/extension-table-header-2.24.0.tgz#ddd5066b30f5fa0d7d76c97dde12387ed1db6137"
|
||||
integrity sha512-tI5m29locqOYN7w9XH96Zq9/O9jrp+PY0RurnSYotUErLvgnWMI++Fbm4aLpxA/wFqdMEZR3lrxR9zddli52Ew==
|
||||
version "2.26.1"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-table-header/-/extension-table-header-2.26.1.tgz#1d9f2d609777201725ccd5850445d5e277a427fc"
|
||||
integrity sha512-SAwTW9H+sjVYjoeU5z8pVDMHn3r3FCi+zp2KAxsEsmujcd7qrQdY0cAjQtWjckCq6H3sQkbICa+xlCCd7C8ZAQ==
|
||||
|
||||
"@tiptap/extension-table-row@^2.0.3":
|
||||
version "2.24.0"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-table-row/-/extension-table-row-2.24.0.tgz#f8174465433631d0e492a6ecd548b139275bee08"
|
||||
integrity sha512-ERKnkoZLWmGYWTCV8EqH8zGTvxp+aj/ojyQVdaP5Em59+D0dDenKwe58Dp046zeXejele0awIVqOulOfyon6hQ==
|
||||
version "2.26.1"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-table-row/-/extension-table-row-2.26.1.tgz#40c85b430b18b89363cb59459f1992ecdac93fcd"
|
||||
integrity sha512-c4oLrUfj1EVVDpbfKX36v7nnaeI4NxML2KRTQXocvcY65VCe0bPQh8ujpPgPcnKEzdWYdIuAX9RbEAkiYWe8Ww==
|
||||
|
||||
"@tiptap/extension-table@^2.0.3":
|
||||
version "2.24.0"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-table/-/extension-table-2.24.0.tgz#da3157cb9f2387ea40d8c44aabde31910b7e407a"
|
||||
integrity sha512-Ris3kuqUAsAkw8zqjUO8rMgDFFon3qVuXeHGJqNK3A2rEJzjM1DqgnqjL0Y06Gl7tbcOiVVrrzvHfELZ5Froiw==
|
||||
version "2.26.1"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-table/-/extension-table-2.26.1.tgz#26d45cd3f68def655c51c8ccbc6a3af507bdf49c"
|
||||
integrity sha512-LQ63CK53qx2ZsbLTB4mUX0YCoGC0GbYQ82jS3kD+K7M/mb9MCkefvDk6rA8rXF8TjfGnv6o/Fseoot8uhH3qfg==
|
||||
|
||||
"@tiptap/extension-text-align@^2.0.3":
|
||||
version "2.24.0"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-text-align/-/extension-text-align-2.24.0.tgz#d808535fdc32c87e0a9dd434ba591af65a03cda6"
|
||||
integrity sha512-EnSB2437YITtZ4rNZfXxkPsLHysTa6gCLxIkP3B9GM0bPE/tqeY8n6M/Pt+9Ppqh+lDyU6jeywCu9vBvWLnVkg==
|
||||
version "2.26.1"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-text-align/-/extension-text-align-2.26.1.tgz#79add5084d2b9ff1c347686834f924613d6c98cb"
|
||||
integrity sha512-x6mpNGELy2QtSPBoQqNgiXO9PjZoB+O2EAfXA9YRiBDSIRNOrw+7vOVpi+IgzswFmhMNgIYUVfQRud4FHUCNew==
|
||||
|
||||
"@tiptap/extension-text-style@^2.0.3", "@tiptap/extension-text-style@^2.24.0":
|
||||
version "2.24.0"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-text-style/-/extension-text-style-2.24.0.tgz#f5b498d2267a3a88fe40a4d26ec60b343fb2c453"
|
||||
integrity sha512-SLMDatlJg421SLNGn4768WKXmTXWIiVCX2DWzzD+9XeoTFC2d6io1pveanQVsp3xVoUZtG9fi5uss0b9AWu6+w==
|
||||
"@tiptap/extension-text-style@^2.0.3", "@tiptap/extension-text-style@^2.26.1":
|
||||
version "2.26.1"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-text-style/-/extension-text-style-2.26.1.tgz#a6be329ff881df9da37d9a8c353b2b2e7b8508b3"
|
||||
integrity sha512-t9Nc/UkrbCfnSHEUi1gvUQ2ZPzvfdYFT5TExoV2DTiUCkhG6+mecT5bTVFGW3QkPmbToL+nFhGn4ZRMDD0SP3Q==
|
||||
|
||||
"@tiptap/extension-text@^2.24.0":
|
||||
version "2.24.0"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-text/-/extension-text-2.24.0.tgz#d5b6b50a9f5154d746062b21d7f807a4fbf4a6e2"
|
||||
integrity sha512-GYZmZ5nOlNFIvJZWzjm0SwqwppqWUG65lPp3j7AI9QEGmxGXUmCywTx06FH2/mYkzRaZ2eKhftfsSY1dEMM9yQ==
|
||||
"@tiptap/extension-text@^2.26.1":
|
||||
version "2.26.1"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-text/-/extension-text-2.26.1.tgz#a51a11aa446d32b136851ce5173c89ad5ff0f57a"
|
||||
integrity sha512-p2n8WVMd/2vckdJlol24acaTDIZAhI7qle5cM75bn01sOEZoFlSw6SwINOULrUCzNJsYb43qrLEibZb4j2LeQw==
|
||||
|
||||
"@tiptap/extension-typography@^2.0.3":
|
||||
version "2.24.0"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-typography/-/extension-typography-2.24.0.tgz#f9a65d41fe6cc0693ef3d3e812602d68a88c6405"
|
||||
integrity sha512-r/Wm260Vcep/U3t3qiB2t5J/D6JrvXtzvbyEzLSPWA/gaA8q0UrSCWV8qGoSccPOlO+8BcFsAY7+dCcE1SApKQ==
|
||||
version "2.26.1"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/extension-typography/-/extension-typography-2.26.1.tgz#06ce74c0f3a5cf0a4b5ed3f8e1c00098a6d8dca1"
|
||||
integrity sha512-1zwKWfy7Tjutert1Vn/unN+98E0JFr5C2jx1xuesAEf4X405cQMb/zNMI44ON3xBG+aXZoTRlJuXNoYodeVSAg==
|
||||
|
||||
"@tiptap/pm@^2.0.3", "@tiptap/pm@^2.24.0":
|
||||
version "2.24.0"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/pm/-/pm-2.24.0.tgz#414db0a5ab47d3e2decaa1a7dab6106b84e105a6"
|
||||
integrity sha512-rjvy3LmNweyDU/ttqQd+fi4A29KbcqNiQ/oWvzv7JNPS9bh4WmuSeWvlNfivo39hHXe46OQhzRVJrSAvyKp+wQ==
|
||||
"@tiptap/pm@^2.0.3", "@tiptap/pm@^2.26.1":
|
||||
version "2.26.1"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/pm/-/pm-2.26.1.tgz#5e4bd79e60fe698fa12770b2845e5133b3333d06"
|
||||
integrity sha512-8aF+mY/vSHbGFqyG663ds84b+vca5Lge3tHdTMTKazxCnhXR9dn2oQJMnZ78YZvdRbkPkMJJHti9h3K7u2UQvw==
|
||||
dependencies:
|
||||
prosemirror-changeset "^2.3.0"
|
||||
prosemirror-collab "^1.3.1"
|
||||
@@ -970,44 +980,44 @@
|
||||
prosemirror-view "^1.37.0"
|
||||
|
||||
"@tiptap/starter-kit@^2.0.3":
|
||||
version "2.24.0"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/starter-kit/-/starter-kit-2.24.0.tgz#9a0cac55588baebe505e6b599bcb7d920cb8a3f6"
|
||||
integrity sha512-+JDcp/ao/oqWyVDVYCLXdx+3HjuL3Mh6uBXrfomj8z8XB+2vgigO9Plq1NG41Mfqk6QfzSRmjDB8yXhRVMF17Q==
|
||||
version "2.26.1"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/starter-kit/-/starter-kit-2.26.1.tgz#00a19c05491a51423aabe511f624567942bd2baa"
|
||||
integrity sha512-oziMGCds8SVQ3s5dRpBxVdEKZAmO/O//BjZ69mhA3q4vJdR0rnfLb5fTxSeQvHiqB878HBNn76kNaJrHrV35GA==
|
||||
dependencies:
|
||||
"@tiptap/core" "^2.24.0"
|
||||
"@tiptap/extension-blockquote" "^2.24.0"
|
||||
"@tiptap/extension-bold" "^2.24.0"
|
||||
"@tiptap/extension-bullet-list" "^2.24.0"
|
||||
"@tiptap/extension-code" "^2.24.0"
|
||||
"@tiptap/extension-code-block" "^2.24.0"
|
||||
"@tiptap/extension-document" "^2.24.0"
|
||||
"@tiptap/extension-dropcursor" "^2.24.0"
|
||||
"@tiptap/extension-gapcursor" "^2.24.0"
|
||||
"@tiptap/extension-hard-break" "^2.24.0"
|
||||
"@tiptap/extension-heading" "^2.24.0"
|
||||
"@tiptap/extension-history" "^2.24.0"
|
||||
"@tiptap/extension-horizontal-rule" "^2.24.0"
|
||||
"@tiptap/extension-italic" "^2.24.0"
|
||||
"@tiptap/extension-list-item" "^2.24.0"
|
||||
"@tiptap/extension-ordered-list" "^2.24.0"
|
||||
"@tiptap/extension-paragraph" "^2.24.0"
|
||||
"@tiptap/extension-strike" "^2.24.0"
|
||||
"@tiptap/extension-text" "^2.24.0"
|
||||
"@tiptap/extension-text-style" "^2.24.0"
|
||||
"@tiptap/pm" "^2.24.0"
|
||||
"@tiptap/core" "^2.26.1"
|
||||
"@tiptap/extension-blockquote" "^2.26.1"
|
||||
"@tiptap/extension-bold" "^2.26.1"
|
||||
"@tiptap/extension-bullet-list" "^2.26.1"
|
||||
"@tiptap/extension-code" "^2.26.1"
|
||||
"@tiptap/extension-code-block" "^2.26.1"
|
||||
"@tiptap/extension-document" "^2.26.1"
|
||||
"@tiptap/extension-dropcursor" "^2.26.1"
|
||||
"@tiptap/extension-gapcursor" "^2.26.1"
|
||||
"@tiptap/extension-hard-break" "^2.26.1"
|
||||
"@tiptap/extension-heading" "^2.26.1"
|
||||
"@tiptap/extension-history" "^2.26.1"
|
||||
"@tiptap/extension-horizontal-rule" "^2.26.1"
|
||||
"@tiptap/extension-italic" "^2.26.1"
|
||||
"@tiptap/extension-list-item" "^2.26.1"
|
||||
"@tiptap/extension-ordered-list" "^2.26.1"
|
||||
"@tiptap/extension-paragraph" "^2.26.1"
|
||||
"@tiptap/extension-strike" "^2.26.1"
|
||||
"@tiptap/extension-text" "^2.26.1"
|
||||
"@tiptap/extension-text-style" "^2.26.1"
|
||||
"@tiptap/pm" "^2.26.1"
|
||||
|
||||
"@tiptap/suggestion@^2.0.3":
|
||||
version "2.24.0"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/suggestion/-/suggestion-2.24.0.tgz#c1c96c67c07ab37899960a13aa7c3fae82dd8e9b"
|
||||
integrity sha512-N0i4DwhdgAj87PqwENwV6K1HBAJ/4DLC1YKCO/CGyiqztUzzxhjS0TU8rWCMZDNqFeSuOx8oFbA0xwrU1FTiFw==
|
||||
version "2.26.1"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/suggestion/-/suggestion-2.26.1.tgz#64b567443668ff9afb5533737f877e3604ab53ae"
|
||||
integrity sha512-iNWJdQN7h01keNoVwyCsdI7ZX11YkrexZjCnutWK17Dd72s3NYVTmQXu7saftwddT4nDdlczNxAFosrt0zMhcg==
|
||||
|
||||
"@tiptap/vue-3@^2.0.3":
|
||||
version "2.24.0"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/vue-3/-/vue-3-2.24.0.tgz#98bae2f8338bbda86f25eec7458ba7878d7381b7"
|
||||
integrity sha512-2TnwAeEQR+EeduQQP4emY8y89KRzHbBQ/M0lTcjUseeAozmo5vfSI5XfwHYoXHQoKWZOlhYshCRrY93tENJwQA==
|
||||
version "2.26.1"
|
||||
resolved "https://registry.yarnpkg.com/@tiptap/vue-3/-/vue-3-2.26.1.tgz#6afb7aa4abfdad7432ead271c3448d23f233296e"
|
||||
integrity sha512-GC0UP+v3KEb0nhgjIHYmWIn5ziTaRqSy8TESXOjG5aljJ8BdP+A0pbcpumB3u0QU+BLUANZqUV2r3l+V18AKYg==
|
||||
dependencies:
|
||||
"@tiptap/extension-bubble-menu" "^2.24.0"
|
||||
"@tiptap/extension-floating-menu" "^2.24.0"
|
||||
"@tiptap/extension-bubble-menu" "^2.26.1"
|
||||
"@tiptap/extension-floating-menu" "^2.26.1"
|
||||
|
||||
"@types/estree@1.0.8":
|
||||
version "1.0.8"
|
||||
@@ -1059,6 +1069,20 @@
|
||||
resolved "https://registry.yarnpkg.com/@types/web-bluetooth/-/web-bluetooth-0.0.21.tgz#525433c784aed9b457aaa0ee3d92aeb71f346b63"
|
||||
integrity sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==
|
||||
|
||||
"@vexip-ui/hooks@^2.8.0":
|
||||
version "2.9.2"
|
||||
resolved "https://registry.yarnpkg.com/@vexip-ui/hooks/-/hooks-2.9.2.tgz#3c6ba9670f1a4ac4211b05279e18657a3c1921ba"
|
||||
integrity sha512-zdwcTZUHYD/5aqndmUulyia4tPMI3FB09PUn674hZiQlkslO1KiH56WAI8R75wbvzPSmmhl5IA3VcbBZeaFEcw==
|
||||
dependencies:
|
||||
"@floating-ui/dom" "^1.7.0"
|
||||
"@juggle/resize-observer" "^3.4.0"
|
||||
"@vexip-ui/utils" "2.16.4"
|
||||
|
||||
"@vexip-ui/utils@2.16.4", "@vexip-ui/utils@^2.16.1":
|
||||
version "2.16.4"
|
||||
resolved "https://registry.yarnpkg.com/@vexip-ui/utils/-/utils-2.16.4.tgz#3429376a8f9e88040e969c21f14e70fe25d36127"
|
||||
integrity sha512-KX+Q4EsuwDp6ZlRJ7OAkiYxu52D5CVM8zpqQz/FXYV+JUtzl9T3dvxgtA8gQ0wm5Sh/xT6jp8Wo4X7tLAzRh/A==
|
||||
|
||||
"@vitejs/plugin-vue@^5.0.3":
|
||||
version "5.2.4"
|
||||
resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-5.2.4.tgz#9e8a512eb174bfc2a333ba959bbf9de428d89ad8"
|
||||
@@ -1207,9 +1231,9 @@
|
||||
integrity sha512-FQXkOta0XBSUPHndIKON2Y9JeQz5ZeMqLYZVVK93FliNBFm7LNMIZmY6FrMEB9XPcDbE2bekMbZD6kzDkxwYjA==
|
||||
|
||||
ace-builds@^1.36.2:
|
||||
version "1.43.1"
|
||||
resolved "https://registry.yarnpkg.com/ace-builds/-/ace-builds-1.43.1.tgz#96e7431e2ca821563c32f361298c7f899b6c516f"
|
||||
integrity sha512-n9/n+zBhbbkEJjU0FJ4wWAZBDl5G8WYzg4+uIjSER/U3wSSSSVo52W4sco4Jryg11JAJvorExxMr3GDINqtjdA==
|
||||
version "1.43.2"
|
||||
resolved "https://registry.yarnpkg.com/ace-builds/-/ace-builds-1.43.2.tgz#86d7d2f40317a547b7dd13ae862821d6b1e63f3e"
|
||||
integrity sha512-3wzJUJX0RpMc03jo0V8Q3bSb/cKPnS7Nqqw8fVHsCCHweKMiTIxT3fP46EhjmVy6MCuxwP801ere+RW245phGw==
|
||||
|
||||
acorn@^8.14.0, acorn@^8.14.1:
|
||||
version "8.15.0"
|
||||
@@ -1354,9 +1378,9 @@ camelcase-css@^2.0.1:
|
||||
integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==
|
||||
|
||||
caniuse-lite@^1.0.30001702, caniuse-lite@^1.0.30001726:
|
||||
version "1.0.30001726"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001726.tgz#a15bd87d5a4bf01f6b6f70ae7c97fdfd28b5ae47"
|
||||
integrity sha512-VQAUIUzBiZ/UnlM28fSp2CRF3ivUn1BWEvxMcVTNwpw91Py1pGbPIyIKtd+tzct9C3ouceCVdGAXxZOpZAsgdw==
|
||||
version "1.0.30001727"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001727.tgz#22e9706422ad37aa50556af8c10e40e2d93a8b85"
|
||||
integrity sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q==
|
||||
|
||||
chalk@^4.1.0:
|
||||
version "4.1.2"
|
||||
@@ -1451,9 +1475,9 @@ confbox@^0.2.2:
|
||||
integrity sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==
|
||||
|
||||
core-js@^3.1.3, core-js@^3.26.1:
|
||||
version "3.43.0"
|
||||
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.43.0.tgz#f7258b156523208167df35dea0cfd6b6ecd4ee88"
|
||||
integrity sha512-N6wEbTTZSYOY2rYAn85CuvWWkCK6QweMn7/4Nr3w+gDBeBhk/x4EJeY6FPo4QzDoJZxVTv8U7CMvgWk6pOHHqA==
|
||||
version "3.44.0"
|
||||
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.44.0.tgz#db4fd4fa07933c1d6898c8b112a1119a9336e959"
|
||||
integrity sha512-aFCtd4l6GvAXwVEh3XbbVqJGHDJt0OZRa+5ePGx3LLwi12WfexqQxcsohb2wgsa/92xtl19Hd66G/L+TaAxDMw==
|
||||
|
||||
crelt@^1.0.0, crelt@^1.0.5, crelt@^1.0.6:
|
||||
version "1.0.6"
|
||||
@@ -1558,9 +1582,9 @@ echarts@^5.6.0:
|
||||
zrender "5.6.1"
|
||||
|
||||
electron-to-chromium@^1.5.173:
|
||||
version "1.5.179"
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.179.tgz#453d53f360014a2604d40ccd41c4ea0a6e31b99a"
|
||||
integrity sha512-UWKi/EbBopgfFsc5k61wFpV7WrnnSlSzW/e2XcBmS6qKYTivZlLtoll5/rdqRTxGglGHkmkW0j0pFNJG10EUIQ==
|
||||
version "1.5.183"
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.183.tgz#38c2e16910569b6c595bd16d1d39d1218bf0ffb6"
|
||||
integrity sha512-vCrDBYjQCAEefWGjlK3EpoSKfKbT10pR4XXPdn65q7snuNOZnthoVpBfZPykmDapOKfoD+MMIPG8ZjKyyc9oHA==
|
||||
|
||||
emoji-regex@^8.0.0:
|
||||
version "8.0.0"
|
||||
@@ -1698,10 +1722,10 @@ fraction.js@^4.3.7:
|
||||
resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.3.7.tgz#06ca0085157e42fda7f9e726e79fefc4068840f7"
|
||||
integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==
|
||||
|
||||
frappe-ui@^0.1.163:
|
||||
version "0.1.166"
|
||||
resolved "https://registry.yarnpkg.com/frappe-ui/-/frappe-ui-0.1.166.tgz#2664d9373b4751a39144c283be67f219c5eb99e3"
|
||||
integrity sha512-VSv2OE/JHa4ReOW0/9SafRzvQ6Dkxa1Bz6u58UU8FvagqpJVorQJlm2854LXuCk1IDV+uulPCr7uxiC8kwcjFw==
|
||||
frappe-ui@^0.1.172:
|
||||
version "0.1.173"
|
||||
resolved "https://registry.yarnpkg.com/frappe-ui/-/frappe-ui-0.1.173.tgz#9d9bbfd841f776503a9e4d7614862cdaba6b5c4a"
|
||||
integrity sha512-imzCgMnVuOu+kzJJr++A/LmyuTCxOQC9i4zqIW9RO9eyv9yVH3U9TNdOjUwLymhBuDP/9Jas4X1Gb3asrlkLtg==
|
||||
dependencies:
|
||||
"@floating-ui/vue" "^1.1.6"
|
||||
"@headlessui/vue" "^1.7.14"
|
||||
@@ -1734,6 +1758,7 @@ frappe-ui@^0.1.163:
|
||||
dompurify "^3.2.6"
|
||||
echarts "^5.6.0"
|
||||
feather-icons "^4.28.0"
|
||||
grid-layout-plus "^1.1.0"
|
||||
highlight.js "^11.11.1"
|
||||
idb-keyval "^6.2.0"
|
||||
lowlight "^3.3.0"
|
||||
@@ -1793,6 +1818,15 @@ globals@^15.14.0:
|
||||
resolved "https://registry.yarnpkg.com/globals/-/globals-15.15.0.tgz#7c4761299d41c32b075715a4ce1ede7897ff72a8"
|
||||
integrity sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==
|
||||
|
||||
grid-layout-plus@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/grid-layout-plus/-/grid-layout-plus-1.1.0.tgz#4c6610ff3aa39ddea2953861c224d1914bf5a33d"
|
||||
integrity sha512-Q5uj0U5nx6xfHg8G1CDRJAEg+/40RVJl5jjRImcRwC78BxoJrEkTneT1pyxYMlbZ8fpGPT6QdHJQkD4+W6gt5A==
|
||||
dependencies:
|
||||
"@vexip-ui/hooks" "^2.8.0"
|
||||
"@vexip-ui/utils" "^2.16.1"
|
||||
interactjs "^1.10.27"
|
||||
|
||||
has-flag@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
|
||||
@@ -1825,6 +1859,13 @@ inherits@^2.0.3, inherits@^2.0.4:
|
||||
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
|
||||
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
|
||||
|
||||
interactjs@^1.10.27:
|
||||
version "1.10.27"
|
||||
resolved "https://registry.yarnpkg.com/interactjs/-/interactjs-1.10.27.tgz#16499aba4987a5ccfdaddca7d1ba7bb1118e14d0"
|
||||
integrity sha512-y/8RcCftGAF24gSp76X2JS3XpHiUvDQyhF8i7ujemBz77hwiHDuJzftHx7thY8cxGogwGiPJ+o97kWB6eAXnsA==
|
||||
dependencies:
|
||||
"@interactjs/types" "1.10.27"
|
||||
|
||||
is-binary-path@~2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
|
||||
@@ -2387,9 +2428,9 @@ prosemirror-menu@^1.2.4:
|
||||
prosemirror-state "^1.0.0"
|
||||
|
||||
prosemirror-model@^1.0.0, prosemirror-model@^1.20.0, prosemirror-model@^1.21.0, prosemirror-model@^1.23.0, prosemirror-model@^1.25.0, prosemirror-model@^1.25.1:
|
||||
version "1.25.1"
|
||||
resolved "https://registry.yarnpkg.com/prosemirror-model/-/prosemirror-model-1.25.1.tgz#aeae9f1ec79fcaa76f6fc619800d91fbcf726870"
|
||||
integrity sha512-AUvbm7qqmpZa5d9fPKMvH1Q5bqYQvAZWOGRvxsB6iFLyycvC9MwNemNVjHVrWgjaoxAfY8XVg7DbvQ/qxvI9Eg==
|
||||
version "1.25.2"
|
||||
resolved "https://registry.yarnpkg.com/prosemirror-model/-/prosemirror-model-1.25.2.tgz#39ca862f76f354237efb94441dbc9f79e81cb247"
|
||||
integrity sha512-BVypCAJ4SL6jOiTsDffP3Wp6wD69lRhI4zg/iT8JXjp3ccZFiq5WyguxvMKmdKFC3prhaig7wSr8dneDToHE1Q==
|
||||
dependencies:
|
||||
orderedmap "^2.0.0"
|
||||
|
||||
@@ -2552,32 +2593,32 @@ reusify@^1.0.4:
|
||||
integrity sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==
|
||||
|
||||
rollup@^4.20.0:
|
||||
version "4.44.1"
|
||||
resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.44.1.tgz#641723932894e7acbe6052aea34b8e72ef8b7c8f"
|
||||
integrity sha512-x8H8aPvD+xbl0Do8oez5f5o8eMS3trfCghc4HhLAnCkj7Vl0d1JWGs0UF/D886zLW2rOj2QymV/JcSSsw+XDNg==
|
||||
version "4.45.0"
|
||||
resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.45.0.tgz#92d1b164eca1c6f2cb399ae7a1a8ee78967b6e33"
|
||||
integrity sha512-WLjEcJRIo7i3WDDgOIJqVI2d+lAC3EwvOGy+Xfq6hs+GQuAA4Di/H72xmXkOhrIWFg2PFYSKZYfH0f4vfKXN4A==
|
||||
dependencies:
|
||||
"@types/estree" "1.0.8"
|
||||
optionalDependencies:
|
||||
"@rollup/rollup-android-arm-eabi" "4.44.1"
|
||||
"@rollup/rollup-android-arm64" "4.44.1"
|
||||
"@rollup/rollup-darwin-arm64" "4.44.1"
|
||||
"@rollup/rollup-darwin-x64" "4.44.1"
|
||||
"@rollup/rollup-freebsd-arm64" "4.44.1"
|
||||
"@rollup/rollup-freebsd-x64" "4.44.1"
|
||||
"@rollup/rollup-linux-arm-gnueabihf" "4.44.1"
|
||||
"@rollup/rollup-linux-arm-musleabihf" "4.44.1"
|
||||
"@rollup/rollup-linux-arm64-gnu" "4.44.1"
|
||||
"@rollup/rollup-linux-arm64-musl" "4.44.1"
|
||||
"@rollup/rollup-linux-loongarch64-gnu" "4.44.1"
|
||||
"@rollup/rollup-linux-powerpc64le-gnu" "4.44.1"
|
||||
"@rollup/rollup-linux-riscv64-gnu" "4.44.1"
|
||||
"@rollup/rollup-linux-riscv64-musl" "4.44.1"
|
||||
"@rollup/rollup-linux-s390x-gnu" "4.44.1"
|
||||
"@rollup/rollup-linux-x64-gnu" "4.44.1"
|
||||
"@rollup/rollup-linux-x64-musl" "4.44.1"
|
||||
"@rollup/rollup-win32-arm64-msvc" "4.44.1"
|
||||
"@rollup/rollup-win32-ia32-msvc" "4.44.1"
|
||||
"@rollup/rollup-win32-x64-msvc" "4.44.1"
|
||||
"@rollup/rollup-android-arm-eabi" "4.45.0"
|
||||
"@rollup/rollup-android-arm64" "4.45.0"
|
||||
"@rollup/rollup-darwin-arm64" "4.45.0"
|
||||
"@rollup/rollup-darwin-x64" "4.45.0"
|
||||
"@rollup/rollup-freebsd-arm64" "4.45.0"
|
||||
"@rollup/rollup-freebsd-x64" "4.45.0"
|
||||
"@rollup/rollup-linux-arm-gnueabihf" "4.45.0"
|
||||
"@rollup/rollup-linux-arm-musleabihf" "4.45.0"
|
||||
"@rollup/rollup-linux-arm64-gnu" "4.45.0"
|
||||
"@rollup/rollup-linux-arm64-musl" "4.45.0"
|
||||
"@rollup/rollup-linux-loongarch64-gnu" "4.45.0"
|
||||
"@rollup/rollup-linux-powerpc64le-gnu" "4.45.0"
|
||||
"@rollup/rollup-linux-riscv64-gnu" "4.45.0"
|
||||
"@rollup/rollup-linux-riscv64-musl" "4.45.0"
|
||||
"@rollup/rollup-linux-s390x-gnu" "4.45.0"
|
||||
"@rollup/rollup-linux-x64-gnu" "4.45.0"
|
||||
"@rollup/rollup-linux-x64-musl" "4.45.0"
|
||||
"@rollup/rollup-win32-arm64-msvc" "4.45.0"
|
||||
"@rollup/rollup-win32-ia32-msvc" "4.45.0"
|
||||
"@rollup/rollup-win32-x64-msvc" "4.45.0"
|
||||
fsevents "~2.3.2"
|
||||
|
||||
rope-sequence@^1.3.0:
|
||||
|
||||
@@ -1 +1 @@
|
||||
__version__ = "2.32.0"
|
||||
__version__ = "2.33.0"
|
||||
|
||||
@@ -16,13 +16,14 @@
|
||||
"field_order": [
|
||||
"title",
|
||||
"video_link",
|
||||
"tags",
|
||||
"column_break_3",
|
||||
"instructors",
|
||||
"tags",
|
||||
"column_break_htgn",
|
||||
"image",
|
||||
"category",
|
||||
"status",
|
||||
"column_break_htgn",
|
||||
"image",
|
||||
"card_gradient",
|
||||
"section_break_7",
|
||||
"published",
|
||||
"published_on",
|
||||
@@ -98,8 +99,7 @@
|
||||
{
|
||||
"fieldname": "image",
|
||||
"fieldtype": "Attach Image",
|
||||
"label": "Preview Image",
|
||||
"reqd": 1
|
||||
"label": "Preview Image"
|
||||
},
|
||||
{
|
||||
"fieldname": "tags",
|
||||
@@ -272,6 +272,12 @@
|
||||
"fieldtype": "Link",
|
||||
"label": "Evaluator",
|
||||
"options": "Course Evaluator"
|
||||
},
|
||||
{
|
||||
"fieldname": "card_gradient",
|
||||
"fieldtype": "Select",
|
||||
"label": "Color",
|
||||
"options": "Red\nBlue\nGreen\nAmber\nCyan\nOrange\nPink\nPurple\nTeal\nViolet\nYellow\nGray"
|
||||
}
|
||||
],
|
||||
"is_published_field": "published",
|
||||
@@ -290,8 +296,8 @@
|
||||
}
|
||||
],
|
||||
"make_attachments_public": 1,
|
||||
"modified": "2025-05-29 12:38:01.002898",
|
||||
"modified_by": "Administrator",
|
||||
"modified": "2025-07-25 17:50:44.983391",
|
||||
"modified_by": "sayali@frappe.io",
|
||||
"module": "LMS",
|
||||
"name": "LMS Course",
|
||||
"owner": "Administrator",
|
||||
|
||||
@@ -21,6 +21,7 @@ class LMSCourse(Document):
|
||||
self.validate_certification()
|
||||
self.validate_amount_and_currency()
|
||||
self.image = validate_image(self.image)
|
||||
self.validate_card_gradient()
|
||||
|
||||
def validate_published(self):
|
||||
if self.published and not self.published_on:
|
||||
@@ -73,6 +74,24 @@ class LMSCourse(Document):
|
||||
if self.paid_certificate and (cint(self.course_price) <= 0 or not self.currency):
|
||||
frappe.throw(_("Amount and currency are required for paid certificates."))
|
||||
|
||||
def validate_card_gradient(self):
|
||||
if not self.image and not self.card_gradient:
|
||||
colors = [
|
||||
"Red",
|
||||
"Blue",
|
||||
"Green",
|
||||
"Yellow",
|
||||
"Orange",
|
||||
"Pink",
|
||||
"Amber",
|
||||
"Violet",
|
||||
"Cyan",
|
||||
"Teal",
|
||||
"Gray",
|
||||
"Purple",
|
||||
]
|
||||
self.card_gradient = random.choice(colors)
|
||||
|
||||
def on_update(self):
|
||||
if not self.upcoming and self.has_value_changed("upcoming"):
|
||||
self.send_email_to_interested_users()
|
||||
|
||||
@@ -565,10 +565,13 @@ def get_courses_under_review():
|
||||
|
||||
def validate_image(path):
|
||||
if path and "/private" in path:
|
||||
file = frappe.get_doc("File", {"file_url": path})
|
||||
file.is_private = 0
|
||||
file.save()
|
||||
return file.file_url
|
||||
frappe.db.set_value(
|
||||
"File",
|
||||
{"file_url": path},
|
||||
"is_private",
|
||||
0,
|
||||
)
|
||||
return path.replace("/private", "")
|
||||
return path
|
||||
|
||||
|
||||
@@ -1097,6 +1100,7 @@ def get_course_fields():
|
||||
"title",
|
||||
"tags",
|
||||
"image",
|
||||
"card_gradient",
|
||||
"short_introduction",
|
||||
"published",
|
||||
"upcoming",
|
||||
|
||||
520
lms/locale/ar.po
520
lms/locale/ar.po
File diff suppressed because it is too large
Load Diff
520
lms/locale/bs.po
520
lms/locale/bs.po
File diff suppressed because it is too large
Load Diff
520
lms/locale/cs.po
520
lms/locale/cs.po
File diff suppressed because it is too large
Load Diff
520
lms/locale/de.po
520
lms/locale/de.po
File diff suppressed because it is too large
Load Diff
520
lms/locale/eo.po
520
lms/locale/eo.po
File diff suppressed because it is too large
Load Diff
520
lms/locale/es.po
520
lms/locale/es.po
File diff suppressed because it is too large
Load Diff
524
lms/locale/fa.po
524
lms/locale/fa.po
File diff suppressed because it is too large
Load Diff
520
lms/locale/fr.po
520
lms/locale/fr.po
File diff suppressed because it is too large
Load Diff
520
lms/locale/hr.po
520
lms/locale/hr.po
File diff suppressed because it is too large
Load Diff
532
lms/locale/hu.po
532
lms/locale/hu.po
File diff suppressed because it is too large
Load Diff
7306
lms/locale/id.po
Normal file
7306
lms/locale/id.po
Normal file
File diff suppressed because it is too large
Load Diff
520
lms/locale/it.po
520
lms/locale/it.po
File diff suppressed because it is too large
Load Diff
@@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Frappe LMS VERSION\n"
|
||||
"Report-Msgid-Bugs-To: jannat@frappe.io\n"
|
||||
"POT-Creation-Date: 2025-07-11 16:04+0000\n"
|
||||
"PO-Revision-Date: 2025-07-11 16:04+0000\n"
|
||||
"POT-Creation-Date: 2025-07-25 16:04+0000\n"
|
||||
"PO-Revision-Date: 2025-07-25 16:04+0000\n"
|
||||
"Last-Translator: jannat@frappe.io\n"
|
||||
"Language-Team: jannat@frappe.io\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -69,11 +69,11 @@ msgstr ""
|
||||
msgid "<span style=\"font-size: 18px;\"><b>Statistics</b></span>"
|
||||
msgstr ""
|
||||
|
||||
#: lms/lms/doctype/lms_course/lms_course.py:63
|
||||
#: lms/lms/doctype/lms_course/lms_course.py:64
|
||||
msgid "A course cannot have both paid certificate and certificate of completion."
|
||||
msgstr ""
|
||||
|
||||
#: frontend/src/pages/CourseForm.vue:88
|
||||
#: frontend/src/pages/CourseForm.vue:187
|
||||
msgid "A one line introduction to the course that appears on the course card"
|
||||
msgstr ""
|
||||
|
||||
@@ -81,6 +81,10 @@ msgstr ""
|
||||
msgid "About"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/src/pages/CourseForm.vue:179
|
||||
msgid "About the Course"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/src/pages/Batch.vue:101
|
||||
msgid "About this batch"
|
||||
msgstr ""
|
||||
@@ -186,7 +190,7 @@ msgstr ""
|
||||
msgid "Add a course"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/src/pages/CourseForm.vue:69
|
||||
#: frontend/src/pages/CourseForm.vue:55
|
||||
msgid "Add a keyword and then press enter"
|
||||
msgstr ""
|
||||
|
||||
@@ -323,10 +327,15 @@ msgstr ""
|
||||
msgid "Already Registered"
|
||||
msgstr ""
|
||||
|
||||
#. Option for the 'Color' (Select) field in DocType 'LMS Course'
|
||||
#: lms/lms/doctype/lms_course/lms_course.json
|
||||
msgid "Amber"
|
||||
msgstr ""
|
||||
|
||||
#. Label of the amount (Currency) field in DocType 'LMS Batch'
|
||||
#. Label of the course_price (Currency) field in DocType 'LMS Course'
|
||||
#. Label of the amount (Currency) field in DocType 'LMS Payment'
|
||||
#: frontend/src/pages/BatchForm.vue:275 frontend/src/pages/CourseForm.vue:254
|
||||
#: frontend/src/pages/BatchForm.vue:275 frontend/src/pages/CourseForm.vue:259
|
||||
#: lms/lms/doctype/lms_batch/lms_batch.json
|
||||
#: lms/lms/doctype/lms_course/lms_course.json
|
||||
#: lms/lms/doctype/lms_payment/lms_payment.json
|
||||
@@ -344,11 +353,11 @@ msgstr ""
|
||||
msgid "Amount and currency are required for paid batches."
|
||||
msgstr ""
|
||||
|
||||
#: lms/lms/doctype/lms_course/lms_course.py:74
|
||||
#: lms/lms/doctype/lms_course/lms_course.py:75
|
||||
msgid "Amount and currency are required for paid certificates."
|
||||
msgstr ""
|
||||
|
||||
#: lms/lms/doctype/lms_course/lms_course.py:71
|
||||
#: lms/lms/doctype/lms_course/lms_course.py:72
|
||||
msgid "Amount and currency are required for paid courses."
|
||||
msgstr ""
|
||||
|
||||
@@ -380,7 +389,7 @@ msgstr ""
|
||||
msgid "Answer"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/src/pages/CourseForm.vue:121 frontend/src/pages/CourseForm.vue:140
|
||||
#: frontend/src/pages/CourseForm.vue:104 frontend/src/pages/CourseForm.vue:123
|
||||
msgid "Appears on the course card in the course list"
|
||||
msgstr ""
|
||||
|
||||
@@ -604,7 +613,7 @@ msgstr ""
|
||||
msgid "Average Progress %"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/src/components/CourseCard.vue:55
|
||||
#: frontend/src/components/CourseCard.vue:65
|
||||
#: frontend/src/pages/CourseDetail.vue:20
|
||||
msgid "Average Rating"
|
||||
msgstr ""
|
||||
@@ -715,6 +724,7 @@ msgstr ""
|
||||
|
||||
#. Name of a role
|
||||
#: lms/lms/doctype/course_evaluator/course_evaluator.json
|
||||
#: lms/lms/doctype/lms_assignment_submission/lms_assignment_submission.json
|
||||
#: lms/lms/doctype/lms_batch/lms_batch.json
|
||||
#: lms/lms/doctype/lms_category/lms_category.json
|
||||
#: lms/lms/doctype/lms_certificate_evaluation/lms_certificate_evaluation.json
|
||||
@@ -822,6 +832,11 @@ msgstr ""
|
||||
msgid "Bio"
|
||||
msgstr ""
|
||||
|
||||
#. Option for the 'Color' (Select) field in DocType 'LMS Course'
|
||||
#: lms/lms/doctype/lms_course/lms_course.json
|
||||
msgid "Blue"
|
||||
msgstr ""
|
||||
|
||||
#. Label of the body (Markdown Editor) field in DocType 'Course Lesson'
|
||||
#: lms/lms/doctype/course_lesson/course_lesson.json
|
||||
msgid "Body"
|
||||
@@ -952,7 +967,6 @@ msgstr ""
|
||||
#. Label of a Card Break in the LMS Workspace
|
||||
#. Label of a Link in the LMS Workspace
|
||||
#: frontend/src/components/AppSidebar.vue:589
|
||||
#: frontend/src/components/CourseCard.vue:115
|
||||
#: frontend/src/components/Modals/Event.vue:381
|
||||
#: frontend/src/pages/BatchForm.vue:69 frontend/src/pages/Batches.vue:38
|
||||
#: frontend/src/pages/CourseCertification.vue:10
|
||||
@@ -1073,6 +1087,10 @@ msgstr ""
|
||||
msgid "Choices"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/src/pages/CourseForm.vue:134
|
||||
msgid "Choose a color for the course card"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/src/components/Quiz.vue:644 lms/templates/quiz/quiz.html:53
|
||||
msgid "Choose all answers that apply"
|
||||
msgstr ""
|
||||
@@ -1210,12 +1228,15 @@ msgstr ""
|
||||
msgid "College Name"
|
||||
msgstr ""
|
||||
|
||||
#. Label of the card_gradient (Select) field in DocType 'LMS Course'
|
||||
#. Label of the color (Color) field in DocType 'LMS Timetable Legend'
|
||||
#: frontend/src/pages/CourseForm.vue:133
|
||||
#: lms/lms/doctype/lms_course/lms_course.json
|
||||
#: lms/lms/doctype/lms_timetable_legend/lms_timetable_legend.json
|
||||
msgid "Color"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/src/pages/BatchForm.vue:303 frontend/src/pages/CourseForm.vue:292
|
||||
#: frontend/src/pages/BatchForm.vue:303 frontend/src/pages/CourseForm.vue:297
|
||||
msgid "Comma separated keywords for SEO"
|
||||
msgstr ""
|
||||
|
||||
@@ -1324,7 +1345,7 @@ msgid "Completed"
|
||||
msgstr ""
|
||||
|
||||
#. Label of the enable_certification (Check) field in DocType 'LMS Course'
|
||||
#: frontend/src/pages/CourseForm.vue:241
|
||||
#: frontend/src/pages/CourseForm.vue:246
|
||||
#: lms/lms/doctype/lms_course/lms_course.json
|
||||
msgid "Completion Certificate"
|
||||
msgstr ""
|
||||
@@ -1517,6 +1538,7 @@ msgstr ""
|
||||
#: frontend/src/pages/ProfileRoles.vue:26
|
||||
#: lms/lms/doctype/course_chapter/course_chapter.json
|
||||
#: lms/lms/doctype/course_lesson/course_lesson.json
|
||||
#: lms/lms/doctype/lms_assignment_submission/lms_assignment_submission.json
|
||||
#: lms/lms/doctype/lms_category/lms_category.json
|
||||
#: lms/lms/doctype/lms_course/lms_course.json
|
||||
#: lms/lms/doctype/lms_program/lms_program.json
|
||||
@@ -1533,7 +1555,7 @@ msgstr ""
|
||||
msgid "Course Data"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/src/pages/CourseForm.vue:190
|
||||
#: frontend/src/pages/CourseForm.vue:195
|
||||
msgid "Course Description"
|
||||
msgstr ""
|
||||
|
||||
@@ -1551,7 +1573,7 @@ msgstr ""
|
||||
msgid "Course Evaluator"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/src/pages/CourseForm.vue:96
|
||||
#: frontend/src/pages/CourseForm.vue:80
|
||||
msgid "Course Image"
|
||||
msgstr ""
|
||||
|
||||
@@ -1573,7 +1595,7 @@ msgstr ""
|
||||
msgid "Course Name"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/src/pages/CourseDetail.vue:78 frontend/src/pages/CourseForm.vue:302
|
||||
#: frontend/src/pages/CourseDetail.vue:78 frontend/src/pages/CourseForm.vue:307
|
||||
msgid "Course Outline"
|
||||
msgstr ""
|
||||
|
||||
@@ -1610,11 +1632,11 @@ msgstr ""
|
||||
msgid "Course added to program"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/src/pages/CourseForm.vue:537
|
||||
#: frontend/src/pages/CourseForm.vue:544
|
||||
msgid "Course created successfully"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/src/pages/CourseForm.vue:574
|
||||
#: frontend/src/pages/CourseForm.vue:581
|
||||
msgid "Course deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -1622,7 +1644,7 @@ msgstr ""
|
||||
msgid "Course moved successfully"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/src/pages/CourseForm.vue:557
|
||||
#: frontend/src/pages/CourseForm.vue:564
|
||||
msgid "Course updated successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -1740,7 +1762,7 @@ msgstr ""
|
||||
#. Label of the currency (Link) field in DocType 'LMS Batch'
|
||||
#. Label of the currency (Link) field in DocType 'LMS Course'
|
||||
#. Label of the currency (Link) field in DocType 'LMS Payment'
|
||||
#: frontend/src/pages/BatchForm.vue:282 frontend/src/pages/CourseForm.vue:271
|
||||
#: frontend/src/pages/BatchForm.vue:282 frontend/src/pages/CourseForm.vue:276
|
||||
#: lms/lms/doctype/lms_batch/lms_batch.json
|
||||
#: lms/lms/doctype/lms_course/lms_course.json
|
||||
#: lms/lms/doctype/lms_payment/lms_payment.json
|
||||
@@ -1777,6 +1799,11 @@ msgstr ""
|
||||
msgid "Customisations"
|
||||
msgstr ""
|
||||
|
||||
#. Option for the 'Color' (Select) field in DocType 'LMS Course'
|
||||
#: lms/lms/doctype/lms_course/lms_course.json
|
||||
msgid "Cyan"
|
||||
msgstr ""
|
||||
|
||||
#. Label of the show_dashboard (Check) field in DocType 'LMS Settings'
|
||||
#: lms/lms/doctype/lms_settings/lms_settings.json
|
||||
msgid "Dashboard"
|
||||
@@ -1847,7 +1874,7 @@ msgstr ""
|
||||
#: frontend/src/components/CourseOutline.vue:283
|
||||
#: frontend/src/components/CourseOutline.vue:349
|
||||
#: frontend/src/components/Settings/Badges.vue:171
|
||||
#: frontend/src/pages/BatchForm.vue:562 frontend/src/pages/CourseForm.vue:587
|
||||
#: frontend/src/pages/BatchForm.vue:562 frontend/src/pages/CourseForm.vue:594
|
||||
#: frontend/src/pages/ProgrammingExercises/ProgrammingExerciseForm.vue:67
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
@@ -1856,7 +1883,7 @@ msgstr ""
|
||||
msgid "Delete Chapter"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/src/pages/CourseForm.vue:581
|
||||
#: frontend/src/pages/CourseForm.vue:588
|
||||
msgid "Delete Course"
|
||||
msgstr ""
|
||||
|
||||
@@ -1868,7 +1895,7 @@ msgstr ""
|
||||
msgid "Delete this lesson?"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/src/pages/CourseForm.vue:582
|
||||
#: frontend/src/pages/CourseForm.vue:589
|
||||
msgid "Deleting the course will also delete all its chapters and lessons. Are you sure you want to delete this course?"
|
||||
msgstr ""
|
||||
|
||||
@@ -1923,7 +1950,7 @@ msgstr ""
|
||||
msgid "Details"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/src/pages/CourseForm.vue:181
|
||||
#: frontend/src/pages/CourseForm.vue:171
|
||||
msgid "Disable Self Enrollment"
|
||||
msgstr ""
|
||||
|
||||
@@ -2197,7 +2224,7 @@ msgstr ""
|
||||
msgid "Enrolled"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/src/components/CourseCard.vue:46
|
||||
#: frontend/src/components/CourseCard.vue:56
|
||||
#: frontend/src/components/CourseCardOverlay.vue:138
|
||||
#: frontend/src/pages/CourseDetail.vue:33
|
||||
msgid "Enrolled Students"
|
||||
@@ -2212,7 +2239,7 @@ msgstr ""
|
||||
msgid "Enrollment Count"
|
||||
msgstr ""
|
||||
|
||||
#: lms/lms/utils.py:1943
|
||||
#: lms/lms/utils.py:1948
|
||||
msgid "Enrollment Failed"
|
||||
msgstr ""
|
||||
|
||||
@@ -2313,7 +2340,7 @@ msgstr ""
|
||||
#. Label of the evaluator (Link) field in DocType 'LMS Course'
|
||||
#: frontend/src/components/Modals/BatchCourseModal.vue:37
|
||||
#: frontend/src/components/Modals/BulkCertificates.vue:22
|
||||
#: frontend/src/pages/CourseForm.vue:260 frontend/src/pages/ProfileRoles.vue:32
|
||||
#: frontend/src/pages/CourseForm.vue:265 frontend/src/pages/ProfileRoles.vue:32
|
||||
#: lms/lms/doctype/batch_course/batch_course.json
|
||||
#: lms/lms/doctype/course_evaluator/course_evaluator.json
|
||||
#: lms/lms/doctype/lms_assignment_submission/lms_assignment_submission.json
|
||||
@@ -2353,7 +2380,7 @@ msgstr ""
|
||||
msgid "Evaluator does not exist."
|
||||
msgstr ""
|
||||
|
||||
#: lms/lms/doctype/lms_course/lms_course.py:67
|
||||
#: lms/lms/doctype/lms_course/lms_course.py:68
|
||||
msgid "Evaluator is required for paid certificates."
|
||||
msgstr ""
|
||||
|
||||
@@ -2479,13 +2506,13 @@ msgstr ""
|
||||
msgid "Failed to update badge assignment: "
|
||||
msgstr ""
|
||||
|
||||
#: frontend/src/utils/index.js:671
|
||||
#: frontend/src/utils/index.js:670
|
||||
msgid "Failed to update meta tags {0}"
|
||||
msgstr ""
|
||||
|
||||
#. Label of the featured (Check) field in DocType 'LMS Course'
|
||||
#: frontend/src/components/CourseCard.vue:20
|
||||
#: frontend/src/pages/CourseForm.vue:176
|
||||
#: frontend/src/components/CourseCard.vue:25
|
||||
#: frontend/src/pages/CourseForm.vue:166
|
||||
#: lms/lms/doctype/lms_course/lms_course.json
|
||||
msgid "Featured"
|
||||
msgstr ""
|
||||
@@ -2643,6 +2670,7 @@ msgstr ""
|
||||
|
||||
#: frontend/src/components/CertificationLinks.vue:34
|
||||
#: frontend/src/components/CertificationLinks.vue:50
|
||||
#: frontend/src/components/CourseCard.vue:121
|
||||
#: frontend/src/pages/CertifiedParticipants.vue:11
|
||||
msgid "Get Certified"
|
||||
msgstr ""
|
||||
@@ -2692,6 +2720,16 @@ msgstr ""
|
||||
msgid "Grant only once"
|
||||
msgstr ""
|
||||
|
||||
#. Option for the 'Color' (Select) field in DocType 'LMS Course'
|
||||
#: lms/lms/doctype/lms_course/lms_course.json
|
||||
msgid "Gray"
|
||||
msgstr ""
|
||||
|
||||
#. Option for the 'Color' (Select) field in DocType 'LMS Course'
|
||||
#: lms/lms/doctype/lms_course/lms_course.json
|
||||
msgid "Green"
|
||||
msgstr ""
|
||||
|
||||
#: lms/templates/signup-form.html:56
|
||||
msgid "Have an account? Login"
|
||||
msgstr ""
|
||||
@@ -3510,7 +3548,7 @@ msgstr ""
|
||||
#. Label of the lessons (Table) field in DocType 'Course Chapter'
|
||||
#. Group in Course Chapter's connections
|
||||
#. Label of the lessons (Int) field in DocType 'LMS Course'
|
||||
#: frontend/src/components/CourseCard.vue:37
|
||||
#: frontend/src/components/CourseCard.vue:47
|
||||
#: frontend/src/components/CourseCardOverlay.vue:131
|
||||
#: lms/lms/doctype/course_chapter/course_chapter.json
|
||||
#: lms/lms/doctype/lms_course/lms_course.json
|
||||
@@ -3938,7 +3976,7 @@ msgid "Mentor Request Status Update Template"
|
||||
msgstr ""
|
||||
|
||||
#. Label of the meta_description (Small Text) field in DocType 'LMS Settings'
|
||||
#: frontend/src/pages/BatchForm.vue:294 frontend/src/pages/CourseForm.vue:283
|
||||
#: frontend/src/pages/BatchForm.vue:294 frontend/src/pages/CourseForm.vue:288
|
||||
#: lms/lms/doctype/lms_settings/lms_settings.json
|
||||
msgid "Meta Description"
|
||||
msgstr ""
|
||||
@@ -3952,12 +3990,12 @@ msgid "Meta Image"
|
||||
msgstr ""
|
||||
|
||||
#. Label of the meta_keywords (Small Text) field in DocType 'LMS Settings'
|
||||
#: frontend/src/pages/BatchForm.vue:300 frontend/src/pages/CourseForm.vue:289
|
||||
#: frontend/src/pages/BatchForm.vue:300 frontend/src/pages/CourseForm.vue:294
|
||||
#: lms/lms/doctype/lms_settings/lms_settings.json
|
||||
msgid "Meta Keywords"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/src/pages/BatchForm.vue:289 frontend/src/pages/CourseForm.vue:278
|
||||
#: frontend/src/pages/BatchForm.vue:289 frontend/src/pages/CourseForm.vue:283
|
||||
msgid "Meta Tags"
|
||||
msgstr ""
|
||||
|
||||
@@ -3980,6 +4018,7 @@ msgstr ""
|
||||
#: lms/lms/doctype/course_evaluator/course_evaluator.json
|
||||
#: lms/lms/doctype/course_lesson/course_lesson.json
|
||||
#: lms/lms/doctype/lms_assignment/lms_assignment.json
|
||||
#: lms/lms/doctype/lms_assignment_submission/lms_assignment_submission.json
|
||||
#: lms/lms/doctype/lms_badge_assignment/lms_badge_assignment.json
|
||||
#: lms/lms/doctype/lms_batch/lms_batch.json
|
||||
#: lms/lms/doctype/lms_batch_enrollment/lms_batch_enrollment.json
|
||||
@@ -4068,7 +4107,7 @@ msgstr ""
|
||||
msgid "New Batch"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/src/pages/CourseForm.vue:668 lms/www/lms.py:95
|
||||
#: frontend/src/pages/CourseForm.vue:675 lms/www/lms.py:95
|
||||
msgid "New Course"
|
||||
msgstr ""
|
||||
|
||||
@@ -4112,11 +4151,11 @@ msgstr ""
|
||||
msgid "New Zoom Account"
|
||||
msgstr ""
|
||||
|
||||
#: lms/lms/utils.py:609
|
||||
#: lms/lms/utils.py:612
|
||||
msgid "New comment in batch {0}"
|
||||
msgstr ""
|
||||
|
||||
#: lms/lms/utils.py:602
|
||||
#: lms/lms/utils.py:605
|
||||
msgid "New reply on the topic {0} in course {1}"
|
||||
msgstr ""
|
||||
|
||||
@@ -4383,6 +4422,11 @@ msgstr ""
|
||||
msgid "Options"
|
||||
msgstr ""
|
||||
|
||||
#. Option for the 'Color' (Select) field in DocType 'LMS Course'
|
||||
#: lms/lms/doctype/lms_course/lms_course.json
|
||||
msgid "Orange"
|
||||
msgstr ""
|
||||
|
||||
#. Label of the order_id (Data) field in DocType 'LMS Payment'
|
||||
#: lms/lms/doctype/lms_payment/lms_payment.json
|
||||
msgid "Order ID"
|
||||
@@ -4438,7 +4482,7 @@ msgid "Paid Batch"
|
||||
msgstr ""
|
||||
|
||||
#. Label of the paid_certificate (Check) field in DocType 'LMS Course'
|
||||
#: frontend/src/pages/CourseForm.vue:246
|
||||
#: frontend/src/pages/CourseForm.vue:251
|
||||
#: lms/lms/doctype/lms_course/lms_course.json
|
||||
msgid "Paid Certificate"
|
||||
msgstr ""
|
||||
@@ -4448,7 +4492,7 @@ msgid "Paid Certificate after Evaluation"
|
||||
msgstr ""
|
||||
|
||||
#. Label of the paid_course (Check) field in DocType 'LMS Course'
|
||||
#: frontend/src/pages/CourseForm.vue:236
|
||||
#: frontend/src/pages/CourseForm.vue:241
|
||||
#: lms/lms/doctype/lms_course/lms_course.json
|
||||
msgid "Paid Course"
|
||||
msgstr ""
|
||||
@@ -4500,7 +4544,7 @@ msgstr ""
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/src/pages/CourseForm.vue:206
|
||||
#: frontend/src/pages/CourseForm.vue:211
|
||||
msgid "Paste the youtube link of a short video introducing the course"
|
||||
msgstr ""
|
||||
|
||||
@@ -4614,6 +4658,11 @@ msgstr ""
|
||||
msgid "Phone Number"
|
||||
msgstr ""
|
||||
|
||||
#. Option for the 'Color' (Select) field in DocType 'LMS Course'
|
||||
#: lms/lms/doctype/lms_course/lms_course.json
|
||||
msgid "Pink"
|
||||
msgstr ""
|
||||
|
||||
#: lms/lms/doctype/lms_settings/lms_settings.py:34
|
||||
msgid "Please add <a href='{0}'>{1}</a> for <a href='{2}'>{3}</a> to send calendar invites for evaluations."
|
||||
msgstr ""
|
||||
@@ -4634,7 +4683,7 @@ msgstr ""
|
||||
msgid "Please click on the following button to set your new password"
|
||||
msgstr ""
|
||||
|
||||
#: lms/lms/utils.py:2077 lms/lms/utils.py:2081
|
||||
#: lms/lms/utils.py:2082 lms/lms/utils.py:2086
|
||||
msgid "Please complete the previous courses in the program to enroll in this course."
|
||||
msgstr ""
|
||||
|
||||
@@ -4679,7 +4728,7 @@ msgstr ""
|
||||
msgid "Please install the Payments App to create a paid batch. Refer to the documentation for more details. {0}"
|
||||
msgstr ""
|
||||
|
||||
#: lms/lms/doctype/lms_course/lms_course.py:55
|
||||
#: lms/lms/doctype/lms_course/lms_course.py:56
|
||||
msgid "Please install the Payments App to create a paid course. Refer to the documentation for more details. {0}"
|
||||
msgstr ""
|
||||
|
||||
@@ -4834,7 +4883,7 @@ msgstr ""
|
||||
msgid "Preview Image"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/src/pages/CourseForm.vue:204
|
||||
#: frontend/src/pages/CourseForm.vue:209
|
||||
msgid "Preview Video"
|
||||
msgstr ""
|
||||
|
||||
@@ -4849,7 +4898,7 @@ msgid "Pricing"
|
||||
msgstr ""
|
||||
|
||||
#. Label of the pricing_tab (Tab Break) field in DocType 'LMS Course'
|
||||
#: frontend/src/pages/CourseForm.vue:230
|
||||
#: frontend/src/pages/CourseForm.vue:235
|
||||
#: lms/lms/doctype/lms_course/lms_course.json
|
||||
msgid "Pricing and Certification"
|
||||
msgstr ""
|
||||
@@ -5002,7 +5051,7 @@ msgstr ""
|
||||
#. Label of the published (Check) field in DocType 'LMS Course'
|
||||
#: frontend/src/components/Modals/BulkCertificates.vue:51
|
||||
#: frontend/src/components/Modals/Event.vue:108
|
||||
#: frontend/src/pages/BatchForm.vue:59 frontend/src/pages/CourseForm.vue:159
|
||||
#: frontend/src/pages/BatchForm.vue:59 frontend/src/pages/CourseForm.vue:149
|
||||
#: lms/lms/doctype/lms_batch/lms_batch.json
|
||||
#: lms/lms/doctype/lms_course/lms_course.json
|
||||
msgid "Published"
|
||||
@@ -5015,7 +5064,7 @@ msgid "Published Courses"
|
||||
msgstr ""
|
||||
|
||||
#. Label of the published_on (Date) field in DocType 'LMS Course'
|
||||
#: frontend/src/pages/CourseForm.vue:163
|
||||
#: frontend/src/pages/CourseForm.vue:153
|
||||
#: lms/lms/doctype/lms_course/lms_course.json
|
||||
msgid "Published On"
|
||||
msgstr ""
|
||||
@@ -5025,6 +5074,11 @@ msgstr ""
|
||||
msgid "Purchased Certificate"
|
||||
msgstr ""
|
||||
|
||||
#. Option for the 'Color' (Select) field in DocType 'LMS Course'
|
||||
#: lms/lms/doctype/lms_course/lms_course.json
|
||||
msgid "Purple"
|
||||
msgstr ""
|
||||
|
||||
#. Option for the 'Language' (Select) field in DocType 'LMS Programming
|
||||
#. Exercise'
|
||||
#: lms/lms/doctype/lms_programming_exercise/lms_programming_exercise.json
|
||||
@@ -5182,6 +5236,11 @@ msgstr ""
|
||||
msgid "Ready"
|
||||
msgstr ""
|
||||
|
||||
#. Option for the 'Color' (Select) field in DocType 'LMS Course'
|
||||
#: lms/lms/doctype/lms_course/lms_course.json
|
||||
msgid "Red"
|
||||
msgstr ""
|
||||
|
||||
#. Label of the reference_docname (Dynamic Link) field in DocType 'LMS Batch
|
||||
#. Timetable'
|
||||
#: lms/lms/doctype/lms_batch_timetable/lms_batch_timetable.json
|
||||
@@ -5230,14 +5289,14 @@ msgstr ""
|
||||
#. Label of the related_courses (Table) field in DocType 'LMS Course'
|
||||
#. Name of a DocType
|
||||
#: frontend/src/components/RelatedCourses.vue:5
|
||||
#: frontend/src/pages/CourseForm.vue:215
|
||||
#: frontend/src/pages/CourseForm.vue:220
|
||||
#: lms/lms/doctype/lms_course/lms_course.json
|
||||
#: lms/lms/doctype/related_courses/related_courses.json
|
||||
msgid "Related Courses"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/src/components/Controls/Uploader.vue:34
|
||||
#: frontend/src/pages/BatchForm.vue:246 frontend/src/pages/CourseForm.vue:136
|
||||
#: frontend/src/pages/BatchForm.vue:246 frontend/src/pages/CourseForm.vue:119
|
||||
msgid "Remove"
|
||||
msgstr ""
|
||||
|
||||
@@ -5517,6 +5576,10 @@ msgstr ""
|
||||
msgid "Sessions On Days"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/src/components/Controls/ColorSwatches.vue:13
|
||||
msgid "Set Color"
|
||||
msgstr ""
|
||||
|
||||
#: lms/templates/emails/community_course_membership.html:1
|
||||
msgid "Set your Password"
|
||||
msgstr ""
|
||||
@@ -5531,7 +5594,7 @@ msgstr ""
|
||||
|
||||
#: frontend/src/components/AppSidebar.vue:610
|
||||
#: frontend/src/components/Settings/Settings.vue:7
|
||||
#: frontend/src/pages/BatchForm.vue:53 frontend/src/pages/CourseForm.vue:152
|
||||
#: frontend/src/pages/BatchForm.vue:53 frontend/src/pages/CourseForm.vue:142
|
||||
#: frontend/src/pages/ProfileRoles.vue:4
|
||||
#: frontend/src/pages/ProgrammingExercises/ProgrammingExerciseSubmission.vue:19
|
||||
#: frontend/src/pages/QuizForm.vue:86
|
||||
@@ -5547,7 +5610,7 @@ msgid "Short Description"
|
||||
msgstr ""
|
||||
|
||||
#. Label of the short_introduction (Small Text) field in DocType 'LMS Course'
|
||||
#: frontend/src/pages/CourseForm.vue:86
|
||||
#: frontend/src/pages/CourseForm.vue:185
|
||||
#: lms/lms/doctype/lms_course/lms_course.json
|
||||
msgid "Short Introduction"
|
||||
msgstr ""
|
||||
@@ -5944,6 +6007,10 @@ msgstr ""
|
||||
msgid "Suspicious pattern found in {0}: {1}"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/src/components/Controls/ColorSwatches.vue:50
|
||||
msgid "Swatches"
|
||||
msgstr ""
|
||||
|
||||
#. Name of a role
|
||||
#: lms/job/doctype/job_opportunity/job_opportunity.json
|
||||
#: lms/job/doctype/job_settings/job_settings.json
|
||||
@@ -6006,6 +6073,11 @@ msgstr ""
|
||||
msgid "Tags"
|
||||
msgstr ""
|
||||
|
||||
#. Option for the 'Color' (Select) field in DocType 'LMS Course'
|
||||
#: lms/lms/doctype/lms_course/lms_course.json
|
||||
msgid "Teal"
|
||||
msgstr ""
|
||||
|
||||
#: lms/templates/emails/community_course_membership.html:18
|
||||
#: lms/templates/emails/mentor_request_creation_email.html:8
|
||||
#: lms/templates/emails/mentor_request_status_update_email.html:7
|
||||
@@ -6088,7 +6160,7 @@ msgstr ""
|
||||
msgid "Thanks and Regards"
|
||||
msgstr ""
|
||||
|
||||
#: lms/lms/utils.py:1975
|
||||
#: lms/lms/utils.py:1980
|
||||
msgid "The batch is full. Please contact the Administrator."
|
||||
msgstr ""
|
||||
|
||||
@@ -6175,7 +6247,7 @@ msgstr ""
|
||||
msgid "This course has:"
|
||||
msgstr ""
|
||||
|
||||
#: lms/lms/utils.py:1818
|
||||
#: lms/lms/utils.py:1823
|
||||
msgid "This course is free."
|
||||
msgstr ""
|
||||
|
||||
@@ -6358,7 +6430,7 @@ msgstr ""
|
||||
msgid "To Date"
|
||||
msgstr ""
|
||||
|
||||
#: lms/lms/utils.py:1829
|
||||
#: lms/lms/utils.py:1834
|
||||
msgid "To join this batch, please contact the Administrator."
|
||||
msgstr ""
|
||||
|
||||
@@ -6495,7 +6567,7 @@ msgstr ""
|
||||
#. Option for the 'Status' (Select) field in DocType 'Cohort'
|
||||
#. Option for the 'Status' (Select) field in DocType 'LMS Certificate Request'
|
||||
#. Label of the upcoming (Check) field in DocType 'LMS Course'
|
||||
#: frontend/src/pages/Batches.vue:282 frontend/src/pages/CourseForm.vue:171
|
||||
#: frontend/src/pages/Batches.vue:282 frontend/src/pages/CourseForm.vue:161
|
||||
#: frontend/src/pages/Courses.vue:313 lms/lms/doctype/cohort/cohort.json
|
||||
#: lms/lms/doctype/lms_certificate_request/lms_certificate_request.json
|
||||
#: lms/lms/doctype/lms_course/lms_course.json
|
||||
@@ -6522,7 +6594,7 @@ msgid "Update Password"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/src/components/Controls/Uploader.vue:20
|
||||
#: frontend/src/pages/BatchForm.vue:227 frontend/src/pages/CourseForm.vue:117
|
||||
#: frontend/src/pages/BatchForm.vue:227 frontend/src/pages/CourseForm.vue:100
|
||||
msgid "Upload"
|
||||
msgstr ""
|
||||
|
||||
@@ -6636,6 +6708,11 @@ msgstr ""
|
||||
msgid "View all feedback"
|
||||
msgstr ""
|
||||
|
||||
#. Option for the 'Color' (Select) field in DocType 'LMS Course'
|
||||
#: lms/lms/doctype/lms_course/lms_course.json
|
||||
msgid "Violet"
|
||||
msgstr ""
|
||||
|
||||
#. Label of the visibility (Select) field in DocType 'LMS Batch Old'
|
||||
#: lms/lms/doctype/lms_batch_old/lms_batch_old.json
|
||||
msgid "Visibility"
|
||||
@@ -6764,6 +6841,11 @@ msgstr ""
|
||||
msgid "Write your answer here"
|
||||
msgstr ""
|
||||
|
||||
#. Option for the 'Color' (Select) field in DocType 'LMS Course'
|
||||
#: lms/lms/doctype/lms_course/lms_course.json
|
||||
msgid "Yellow"
|
||||
msgstr ""
|
||||
|
||||
#: lms/lms/doctype/lms_certificate_request/lms_certificate_request.py:95
|
||||
msgid "You already have an evaluation on {0} at {1} for the course {2}."
|
||||
msgstr ""
|
||||
@@ -7000,6 +7082,11 @@ msgstr ""
|
||||
msgid "activity"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/src/components/CourseInstructors.vue:22
|
||||
#: frontend/src/components/CourseInstructors.vue:41
|
||||
msgid "and"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/src/components/JobCard.vue:26 frontend/src/pages/JobDetail.vue:108
|
||||
msgid "applicant"
|
||||
msgstr ""
|
||||
@@ -7032,7 +7119,8 @@ msgstr ""
|
||||
msgid "certified members"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/src/pages/Lesson.vue:98 frontend/src/pages/Lesson.vue:234
|
||||
#: frontend/src/components/CourseCard.vue:98 frontend/src/pages/Lesson.vue:98
|
||||
#: frontend/src/pages/Lesson.vue:234
|
||||
msgid "completed"
|
||||
msgstr ""
|
||||
|
||||
@@ -7068,6 +7156,10 @@ msgstr ""
|
||||
msgid "of"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/src/components/CourseInstructors.vue:41
|
||||
msgid "others"
|
||||
msgstr ""
|
||||
|
||||
#: lms/templates/quiz/quiz.js:141
|
||||
msgid "out of"
|
||||
msgstr ""
|
||||
@@ -7164,7 +7256,7 @@ msgstr ""
|
||||
msgid "{0} is your evaluator"
|
||||
msgstr ""
|
||||
|
||||
#: lms/lms/utils.py:686
|
||||
#: lms/lms/utils.py:689
|
||||
msgid "{0} mentioned you in a comment"
|
||||
msgstr ""
|
||||
|
||||
@@ -7172,7 +7264,7 @@ msgstr ""
|
||||
msgid "{0} mentioned you in a comment in your batch."
|
||||
msgstr ""
|
||||
|
||||
#: lms/lms/utils.py:639 lms/lms/utils.py:645
|
||||
#: lms/lms/utils.py:642 lms/lms/utils.py:648
|
||||
msgid "{0} mentioned you in a comment in {1}"
|
||||
msgstr ""
|
||||
|
||||
|
||||
520
lms/locale/nl.po
520
lms/locale/nl.po
File diff suppressed because it is too large
Load Diff
520
lms/locale/pl.po
520
lms/locale/pl.po
File diff suppressed because it is too large
Load Diff
522
lms/locale/pt.po
522
lms/locale/pt.po
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
520
lms/locale/ru.po
520
lms/locale/ru.po
File diff suppressed because it is too large
Load Diff
524
lms/locale/sr.po
524
lms/locale/sr.po
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
522
lms/locale/sv.po
522
lms/locale/sv.po
File diff suppressed because it is too large
Load Diff
530
lms/locale/th.po
530
lms/locale/th.po
File diff suppressed because it is too large
Load Diff
520
lms/locale/tr.po
520
lms/locale/tr.po
File diff suppressed because it is too large
Load Diff
520
lms/locale/vi.po
520
lms/locale/vi.po
File diff suppressed because it is too large
Load Diff
524
lms/locale/zh.po
524
lms/locale/zh.po
File diff suppressed because it is too large
Load Diff
@@ -25,7 +25,7 @@
|
||||
},
|
||||
"homepage": "https://github.com/frappe/lms#readme",
|
||||
"devDependencies": {
|
||||
"cypress": "^13.9.0",
|
||||
"cypress": "^14.5.2",
|
||||
"cypress-file-upload": "^5.0.8",
|
||||
"cypress-real-events": "^1.14.0"
|
||||
},
|
||||
|
||||
@@ -13,7 +13,7 @@ dependencies = [
|
||||
"markdown~=3.5.1",
|
||||
"beautifulsoup4~=4.12.2",
|
||||
"lxml~=4.9.3",
|
||||
"cairocffi~=1.6.1",
|
||||
"cairocffi==1.5.1",
|
||||
"razorpay~=1.4.1",
|
||||
"fuzzywuzzy~=0.18.0",
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user