feat: course list
This commit is contained in:
286
lms/public/frontend/assets/Courses.10129947.js
Normal file
286
lms/public/frontend/assets/Courses.10129947.js
Normal file
@@ -0,0 +1,286 @@
|
||||
var N = Object.defineProperty,
|
||||
S = Object.defineProperties;
|
||||
var j = Object.getOwnPropertyDescriptors;
|
||||
var h = Object.getOwnPropertySymbols;
|
||||
var b = Object.prototype.hasOwnProperty,
|
||||
w = Object.prototype.propertyIsEnumerable;
|
||||
var p = (e, s, t) =>
|
||||
s in e
|
||||
? N(e, s, {
|
||||
enumerable: !0,
|
||||
configurable: !0,
|
||||
writable: !0,
|
||||
value: t,
|
||||
})
|
||||
: (e[s] = t),
|
||||
m = (e, s) => {
|
||||
for (var t in s || (s = {})) b.call(s, t) && p(e, t, s[t]);
|
||||
if (h) for (var t of h(s)) w.call(s, t) && p(e, t, s[t]);
|
||||
return e;
|
||||
},
|
||||
g = (e, s) => S(e, j(s));
|
||||
var C = (e, s) => {
|
||||
var t = {};
|
||||
for (var a in e) b.call(e, a) && s.indexOf(a) < 0 && (t[a] = e[a]);
|
||||
if (e != null && h)
|
||||
for (var a of h(e)) s.indexOf(a) < 0 && w.call(e, a) && (t[a] = e[a]);
|
||||
return t;
|
||||
};
|
||||
import {
|
||||
l as $,
|
||||
o,
|
||||
d as c,
|
||||
k as r,
|
||||
F as v,
|
||||
m as y,
|
||||
t as l,
|
||||
n as B,
|
||||
p as z,
|
||||
q as A,
|
||||
e as n,
|
||||
u,
|
||||
v as O,
|
||||
x as q,
|
||||
y as U,
|
||||
z as V,
|
||||
} from "./frappe-ui.8966d601.js";
|
||||
var _ = {
|
||||
xmlns: "http://www.w3.org/2000/svg",
|
||||
width: 24,
|
||||
height: 24,
|
||||
viewBox: "0 0 24 24",
|
||||
fill: "none",
|
||||
stroke: "currentColor",
|
||||
"stroke-width": 2,
|
||||
"stroke-linecap": "round",
|
||||
"stroke-linejoin": "round",
|
||||
};
|
||||
const F = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(),
|
||||
f =
|
||||
(e, s) =>
|
||||
(oe, { attrs: d, slots: x }) => {
|
||||
var k = oe,
|
||||
{
|
||||
size: t,
|
||||
strokeWidth: a = 2,
|
||||
absoluteStrokeWidth: i,
|
||||
color: M,
|
||||
} = k,
|
||||
I = C(k, [
|
||||
"size",
|
||||
"strokeWidth",
|
||||
"absoluteStrokeWidth",
|
||||
"color",
|
||||
]);
|
||||
return $(
|
||||
"svg",
|
||||
m(
|
||||
g(
|
||||
m(
|
||||
g(m({}, _), {
|
||||
width: t || _.width,
|
||||
height: t || _.height,
|
||||
stroke: M || _.stroke,
|
||||
"stroke-width": i
|
||||
? (Number(a) * 24) / Number(t)
|
||||
: a,
|
||||
}),
|
||||
d
|
||||
),
|
||||
{
|
||||
class: [
|
||||
"lucide",
|
||||
`lucide-${F(e)}`,
|
||||
(d == null ? void 0 : d.class) || "",
|
||||
],
|
||||
}
|
||||
),
|
||||
I
|
||||
),
|
||||
[...s.map((L) => $(...L)), ...(x.default ? [x.default()] : [])]
|
||||
);
|
||||
},
|
||||
H = f("BookOpenIcon", [
|
||||
[
|
||||
"path",
|
||||
{ d: "M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z", key: "vv98re" },
|
||||
],
|
||||
[
|
||||
"path",
|
||||
{ d: "M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z", key: "1cyq3y" },
|
||||
],
|
||||
]),
|
||||
D = f("StarIcon", [
|
||||
[
|
||||
"polygon",
|
||||
{
|
||||
points: "12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2",
|
||||
key: "8f66p6",
|
||||
},
|
||||
],
|
||||
]),
|
||||
E = f("UsersIcon", [
|
||||
[
|
||||
"path",
|
||||
{ d: "M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2", key: "1yyitq" },
|
||||
],
|
||||
["circle", { cx: "9", cy: "7", r: "4", key: "nufk8" }],
|
||||
["path", { d: "M22 21v-2a4 4 0 0 0-3-3.87", key: "kshegd" }],
|
||||
["path", { d: "M16 3.13a4 4 0 0 1 0 7.75", key: "1da9ce" }],
|
||||
]);
|
||||
const K = {
|
||||
class: "flex flex-col h-full border border-gray-200 rounded-md shadow-sm mt-5",
|
||||
},
|
||||
P = { class: "flex relative top-4 left-4" },
|
||||
R = { class: "course-card-pills rounded-md border border-gray-200" },
|
||||
Z = { key: 0, class: "flex flex-1 text-4xl font-bold" },
|
||||
G = { class: "p-4" },
|
||||
J = { class: "flex text-base items-center justify-between" },
|
||||
Q = { class: "flex items-center space-x-1 py-1" },
|
||||
T = { class: "flex items-center space-x-1 py-1" },
|
||||
X = { class: "flex items-center space-x-1 py-1" },
|
||||
Y = { class: "text-2xl font-semibold" },
|
||||
W = { class: "text-ellipsis truncate text-base" },
|
||||
ee = {
|
||||
__name: "CourseCard",
|
||||
props: { course: { type: Object, default: null } },
|
||||
setup(e) {
|
||||
return (s, t) => (
|
||||
o(),
|
||||
c("div", K, [
|
||||
r(
|
||||
"div",
|
||||
{
|
||||
class: z([
|
||||
"course-image",
|
||||
{ "default-image": !e.course.image },
|
||||
]),
|
||||
style: A({
|
||||
backgroundImage: "url(" + e.course.image + ")",
|
||||
}),
|
||||
},
|
||||
[
|
||||
r("div", P, [
|
||||
(o(!0),
|
||||
c(
|
||||
v,
|
||||
null,
|
||||
y(
|
||||
e.course.tags,
|
||||
(a) => (o(), c("div", R, l(a), 1))
|
||||
),
|
||||
256
|
||||
)),
|
||||
]),
|
||||
e.course.image
|
||||
? B("", !0)
|
||||
: (o(), c("div", Z, l(e.course.title[0]), 1)),
|
||||
],
|
||||
6
|
||||
),
|
||||
r("div", G, [
|
||||
r("div", J, [
|
||||
r("div", Q, [
|
||||
n(u(H), { class: "h-4 w-4 text-gray-700" }),
|
||||
r("span", null, l(e.course.lesson_count), 1),
|
||||
]),
|
||||
r("div", T, [
|
||||
n(u(E), { class: "h-4 w-4 text-gray-700" }),
|
||||
r(
|
||||
"span",
|
||||
null,
|
||||
l(e.course.enrollment_count),
|
||||
1
|
||||
),
|
||||
]),
|
||||
r("div", X, [
|
||||
n(u(D), { class: "h-4 w-4 text-gray-700" }),
|
||||
r("span", null, l(e.course.avg_rating), 1),
|
||||
]),
|
||||
]),
|
||||
r("div", Y, l(e.course.title), 1),
|
||||
r("div", W, l(e.course.short_introduction), 1),
|
||||
(o(!0),
|
||||
c(
|
||||
v,
|
||||
null,
|
||||
y(e.course.instructors, (a) => (o(), c("div"))),
|
||||
256
|
||||
)),
|
||||
]),
|
||||
])
|
||||
);
|
||||
},
|
||||
},
|
||||
se = {
|
||||
__name: "UserAvatar",
|
||||
props: { user: { type: Object, default: null } },
|
||||
setup(e) {
|
||||
return (s, t) =>
|
||||
e.user
|
||||
? (o(),
|
||||
O(
|
||||
u(U),
|
||||
q(
|
||||
{
|
||||
key: 0,
|
||||
class: "",
|
||||
label: e.user.full_name,
|
||||
image: e.user.user_image,
|
||||
},
|
||||
s.$attrs
|
||||
),
|
||||
null,
|
||||
16,
|
||||
["label", "image"]
|
||||
))
|
||||
: B("", !0);
|
||||
},
|
||||
},
|
||||
te = { class: "container" },
|
||||
ae = r("div", { class: "text-2xl font-semibold" }, " All Courses ", -1),
|
||||
re = { class: "grid grid-cols-3 gap-8" },
|
||||
ne = {
|
||||
__name: "Courses",
|
||||
setup(e) {
|
||||
const s = V({
|
||||
type: "list",
|
||||
doctype: "LMS Course",
|
||||
url: "lms.lms.utils.get_courses",
|
||||
auto: !0,
|
||||
});
|
||||
return (t, a) => (
|
||||
o(),
|
||||
c("div", te, [
|
||||
ae,
|
||||
r("div", re, [
|
||||
(o(!0),
|
||||
c(
|
||||
v,
|
||||
null,
|
||||
y(
|
||||
u(s).data,
|
||||
(i) => (
|
||||
o(),
|
||||
c("div", null, [
|
||||
n(ee, { course: i }, null, 8, [
|
||||
"course",
|
||||
]),
|
||||
n(
|
||||
se,
|
||||
{ user: i.instructors[0] },
|
||||
null,
|
||||
8,
|
||||
["user"]
|
||||
),
|
||||
])
|
||||
)
|
||||
),
|
||||
256
|
||||
)),
|
||||
]),
|
||||
])
|
||||
);
|
||||
},
|
||||
};
|
||||
export { ne as default };
|
||||
1
lms/public/frontend/assets/Courses.4fd15046.css
Normal file
1
lms/public/frontend/assets/Courses.4fd15046.css
Normal file
@@ -0,0 +1 @@
|
||||
.course-image{height:168px;width:100%;background-size:cover;background-position:center;background-repeat:no-repeat}.course-card-pills{background:#ffffff;margin-left:0;margin-right:.5rem;padding:3.5px 8px;font-size:11px;text-align:center;letter-spacing:.011em;text-transform:uppercase;font-weight:600;width:-moz-fit-content;width:fit-content}.default-image{display:flex;flex-direction:column;align-items:center;background-color:#ededed;color:#525252}
|
||||
206
lms/public/frontend/assets/FontColor.41d2871a.js
Normal file
206
lms/public/frontend/assets/FontColor.41d2871a.js
Normal file
@@ -0,0 +1,206 @@
|
||||
import {
|
||||
b as f,
|
||||
P as g,
|
||||
T as _,
|
||||
r as d,
|
||||
o,
|
||||
v as l,
|
||||
w as r,
|
||||
A as p,
|
||||
B as C,
|
||||
C as k,
|
||||
k as a,
|
||||
d as c,
|
||||
F as u,
|
||||
m,
|
||||
q as h,
|
||||
p as b,
|
||||
} from "./frappe-ui.8966d601.js";
|
||||
const v = {
|
||||
name: "FontColor",
|
||||
props: ["editor"],
|
||||
components: { Popover: g, Tooltip: _ },
|
||||
methods: {
|
||||
setBackgroundColor(t) {
|
||||
t.name != "Default"
|
||||
? this.editor
|
||||
.chain()
|
||||
.focus()
|
||||
.toggleHighlight({ color: t.hex })
|
||||
.run()
|
||||
: this.editor.chain().focus().unsetHighlight().run();
|
||||
},
|
||||
setForegroundColor(t) {
|
||||
t.name != "Default"
|
||||
? this.editor.chain().focus().setColor(t.hex).run()
|
||||
: this.editor.chain().focus().unsetColor().run();
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
foregroundColors() {
|
||||
return [
|
||||
{ name: "Default", hex: "#1F272E" },
|
||||
{ name: "Yellow", hex: "#ca8a04" },
|
||||
{ name: "Orange", hex: "#ea580c" },
|
||||
{ name: "Red", hex: "#dc2626" },
|
||||
{ name: "Green", hex: "#16a34a" },
|
||||
{ name: "Blue", hex: "#1579D0" },
|
||||
{ name: "Purple", hex: "#9333ea" },
|
||||
{ name: "Pink", hex: "#db2777" },
|
||||
];
|
||||
},
|
||||
backgroundColors() {
|
||||
return [
|
||||
{ name: "Default", hex: null },
|
||||
{ name: "Yellow", hex: "#fef9c3" },
|
||||
{ name: "Orange", hex: "#ffedd5" },
|
||||
{ name: "Red", hex: "#fee2e2" },
|
||||
{ name: "Green", hex: "#dcfce7" },
|
||||
{ name: "Blue", hex: "#D3E9FC" },
|
||||
{ name: "Purple", hex: "#f3e8ff" },
|
||||
{ name: "Pink", hex: "#fce7f3" },
|
||||
];
|
||||
},
|
||||
},
|
||||
},
|
||||
y = { class: "p-2" },
|
||||
B = a("div", { class: "text-sm text-gray-700" }, "Text Color", -1),
|
||||
P = { class: "mt-1 grid grid-cols-8 gap-1" },
|
||||
F = ["aria-label", "onClick"],
|
||||
w = a(
|
||||
"div",
|
||||
{ class: "mt-2 text-sm text-gray-700" },
|
||||
"Background Color",
|
||||
-1
|
||||
),
|
||||
D = { class: "mt-1 grid grid-cols-8 gap-1" },
|
||||
T = ["aria-label", "onClick"];
|
||||
function A(t, z, E, R, $, n) {
|
||||
const i = d("Tooltip"),
|
||||
x = d("Popover");
|
||||
return (
|
||||
o(),
|
||||
l(
|
||||
x,
|
||||
{ transition: "default" },
|
||||
{
|
||||
target: r(({ togglePopover: e, isOpen: s }) => [
|
||||
p(
|
||||
t.$slots,
|
||||
"default",
|
||||
C(k({ onClick: () => e(), isActive: s }))
|
||||
),
|
||||
]),
|
||||
"body-main": r(() => [
|
||||
a("div", y, [
|
||||
B,
|
||||
a("div", P, [
|
||||
(o(!0),
|
||||
c(
|
||||
u,
|
||||
null,
|
||||
m(
|
||||
n.foregroundColors,
|
||||
(e) => (
|
||||
o(),
|
||||
l(
|
||||
i,
|
||||
{
|
||||
class: "flex",
|
||||
key: e.name,
|
||||
text: e.name,
|
||||
},
|
||||
{
|
||||
default: r(() => [
|
||||
a(
|
||||
"button",
|
||||
{
|
||||
"aria-label":
|
||||
e.name,
|
||||
class: "flex h-5 w-5 items-center justify-center rounded border text-base",
|
||||
style: h({
|
||||
color: e.hex,
|
||||
}),
|
||||
onClick: (s) =>
|
||||
n.setForegroundColor(
|
||||
e
|
||||
),
|
||||
},
|
||||
" A ",
|
||||
12,
|
||||
F
|
||||
),
|
||||
]),
|
||||
_: 2,
|
||||
},
|
||||
1032,
|
||||
["text"]
|
||||
)
|
||||
)
|
||||
),
|
||||
128
|
||||
)),
|
||||
]),
|
||||
w,
|
||||
a("div", D, [
|
||||
(o(!0),
|
||||
c(
|
||||
u,
|
||||
null,
|
||||
m(
|
||||
n.backgroundColors,
|
||||
(e) => (
|
||||
o(),
|
||||
l(
|
||||
i,
|
||||
{
|
||||
class: "flex",
|
||||
key: e.name,
|
||||
text: e.name,
|
||||
},
|
||||
{
|
||||
default: r(() => [
|
||||
a(
|
||||
"button",
|
||||
{
|
||||
"aria-label":
|
||||
e.name,
|
||||
class: b([
|
||||
"flex h-5 w-5 items-center justify-center rounded border text-base text-gray-900",
|
||||
e.hex
|
||||
? "border-transparent"
|
||||
: "border-gray-200",
|
||||
]),
|
||||
style: h({
|
||||
backgroundColor:
|
||||
e.hex,
|
||||
}),
|
||||
onClick: (s) =>
|
||||
n.setBackgroundColor(
|
||||
e
|
||||
),
|
||||
},
|
||||
" A ",
|
||||
14,
|
||||
T
|
||||
),
|
||||
]),
|
||||
_: 2,
|
||||
},
|
||||
1032,
|
||||
["text"]
|
||||
)
|
||||
)
|
||||
),
|
||||
128
|
||||
)),
|
||||
]),
|
||||
]),
|
||||
]),
|
||||
_: 3,
|
||||
}
|
||||
)
|
||||
);
|
||||
}
|
||||
const G = f(v, [["render", A]]);
|
||||
export { G as default };
|
||||
65
lms/public/frontend/assets/Home.24891fef.js
Normal file
65
lms/public/frontend/assets/Home.24891fef.js
Normal file
@@ -0,0 +1,65 @@
|
||||
import {
|
||||
b as d,
|
||||
D as g,
|
||||
r,
|
||||
o as m,
|
||||
d as f,
|
||||
e as t,
|
||||
w as s,
|
||||
j as l,
|
||||
k as p,
|
||||
t as u,
|
||||
} from "./frappe-ui.8966d601.js";
|
||||
const D = {
|
||||
name: "Home",
|
||||
data() {
|
||||
return { showDialog: !1 };
|
||||
},
|
||||
resources: { ping: { url: "ping" } },
|
||||
components: { Dialog: g },
|
||||
},
|
||||
_ = { class: "max-w-3xl py-12 mx-auto" };
|
||||
function k(e, o, w, C, n, V) {
|
||||
const a = r("Button"),
|
||||
c = r("Dialog");
|
||||
return (
|
||||
m(),
|
||||
f("div", _, [
|
||||
t(
|
||||
a,
|
||||
{
|
||||
"icon-left": "code",
|
||||
onClick: e.$resources.ping.fetch,
|
||||
loading: e.$resources.ping.loading,
|
||||
},
|
||||
{
|
||||
default: s(() => [l(" Click to send 'ping' request ")]),
|
||||
_: 1,
|
||||
},
|
||||
8,
|
||||
["onClick", "loading"]
|
||||
),
|
||||
p("div", null, u(e.$resources.ping.data), 1),
|
||||
p("pre", null, u(e.$resources.ping), 1),
|
||||
t(
|
||||
a,
|
||||
{ onClick: o[0] || (o[0] = (i) => (n.showDialog = !0)) },
|
||||
{ default: s(() => [l("Open Dialog")]), _: 1 }
|
||||
),
|
||||
t(
|
||||
c,
|
||||
{
|
||||
title: "Title",
|
||||
modelValue: n.showDialog,
|
||||
"onUpdate:modelValue":
|
||||
o[1] || (o[1] = (i) => (n.showDialog = i)),
|
||||
},
|
||||
{ default: s(() => [l(" Dialog content ")]), _: 1 },
|
||||
8,
|
||||
["modelValue"]
|
||||
),
|
||||
])
|
||||
);
|
||||
}
|
||||
const B = d(D, [["render", k]]);
|
||||
export { B as default };
|
||||
151
lms/public/frontend/assets/InsertImage.3828880c.js
Normal file
151
lms/public/frontend/assets/InsertImage.3828880c.js
Normal file
@@ -0,0 +1,151 @@
|
||||
import {
|
||||
b as f,
|
||||
h as I,
|
||||
D,
|
||||
G as h,
|
||||
r as d,
|
||||
o as m,
|
||||
d as c,
|
||||
A as _,
|
||||
B as y,
|
||||
C,
|
||||
e as n,
|
||||
w as s,
|
||||
k as r,
|
||||
t as w,
|
||||
n as b,
|
||||
j as u,
|
||||
F as k,
|
||||
} from "./frappe-ui.8966d601.js";
|
||||
const v = {
|
||||
name: "InsertImage",
|
||||
props: ["editor"],
|
||||
expose: ["openDialog"],
|
||||
data() {
|
||||
return { addImageDialog: { url: "", file: null, show: !1 } };
|
||||
},
|
||||
components: { Button: I, Dialog: D },
|
||||
methods: {
|
||||
openDialog() {
|
||||
this.addImageDialog.show = !0;
|
||||
},
|
||||
onImageSelect(t) {
|
||||
let e = t.target.files[0];
|
||||
!e ||
|
||||
((this.addImageDialog.file = e),
|
||||
h(e).then((i) => {
|
||||
this.addImageDialog.url = i;
|
||||
}));
|
||||
},
|
||||
addImage(t) {
|
||||
this.editor.chain().focus().setImage({ src: t }).run(),
|
||||
this.reset();
|
||||
},
|
||||
reset() {
|
||||
this.addImageDialog = this.$options.data().addImageDialog;
|
||||
},
|
||||
},
|
||||
},
|
||||
B = {
|
||||
class: "relative cursor-pointer rounded-lg bg-gray-100 py-1 focus-within:bg-gray-200 hover:bg-gray-200",
|
||||
},
|
||||
x = { class: "absolute inset-0 select-none px-2 py-1 text-base" },
|
||||
S = ["src"];
|
||||
function V(t, e, i, A, a, o) {
|
||||
const g = d("Button"),
|
||||
p = d("Dialog");
|
||||
return (
|
||||
m(),
|
||||
c(
|
||||
k,
|
||||
null,
|
||||
[
|
||||
_(t.$slots, "default", y(C({ onClick: o.openDialog }))),
|
||||
n(
|
||||
p,
|
||||
{
|
||||
options: { title: "Add Image" },
|
||||
modelValue: a.addImageDialog.show,
|
||||
"onUpdate:modelValue":
|
||||
e[2] || (e[2] = (l) => (a.addImageDialog.show = l)),
|
||||
onAfterLeave: o.reset,
|
||||
},
|
||||
{
|
||||
"body-content": s(() => [
|
||||
r("label", B, [
|
||||
r(
|
||||
"input",
|
||||
{
|
||||
type: "file",
|
||||
class: "w-full opacity-0",
|
||||
onChange:
|
||||
e[0] ||
|
||||
(e[0] = (...l) =>
|
||||
o.onImageSelect &&
|
||||
o.onImageSelect(...l)),
|
||||
accept: "image/*",
|
||||
},
|
||||
null,
|
||||
32
|
||||
),
|
||||
r(
|
||||
"span",
|
||||
x,
|
||||
w(
|
||||
a.addImageDialog.file
|
||||
? "Select another image"
|
||||
: "Select an image"
|
||||
),
|
||||
1
|
||||
),
|
||||
]),
|
||||
a.addImageDialog.url
|
||||
? (m(),
|
||||
c(
|
||||
"img",
|
||||
{
|
||||
key: 0,
|
||||
src: a.addImageDialog.url,
|
||||
class: "mt-2 w-full rounded-lg",
|
||||
},
|
||||
null,
|
||||
8,
|
||||
S
|
||||
))
|
||||
: b("", !0),
|
||||
]),
|
||||
actions: s(() => [
|
||||
n(
|
||||
g,
|
||||
{
|
||||
variant: "solid",
|
||||
onClick:
|
||||
e[1] ||
|
||||
(e[1] = (l) =>
|
||||
o.addImage(a.addImageDialog.url)),
|
||||
},
|
||||
{
|
||||
default: s(() => [u(" Insert Image ")]),
|
||||
_: 1,
|
||||
}
|
||||
),
|
||||
n(
|
||||
g,
|
||||
{ onClick: o.reset },
|
||||
{ default: s(() => [u(" Cancel ")]), _: 1 },
|
||||
8,
|
||||
["onClick"]
|
||||
),
|
||||
]),
|
||||
_: 1,
|
||||
},
|
||||
8,
|
||||
["modelValue", "onAfterLeave"]
|
||||
),
|
||||
],
|
||||
64
|
||||
)
|
||||
);
|
||||
}
|
||||
const F = f(v, [["render", V]]);
|
||||
export { F as default };
|
||||
120
lms/public/frontend/assets/InsertLink.20429a64.js
Normal file
120
lms/public/frontend/assets/InsertLink.20429a64.js
Normal file
@@ -0,0 +1,120 @@
|
||||
import {
|
||||
b as d,
|
||||
h as g,
|
||||
I as L,
|
||||
D as m,
|
||||
r as i,
|
||||
o as p,
|
||||
d as f,
|
||||
A as D,
|
||||
B as h,
|
||||
C as c,
|
||||
e as l,
|
||||
w as a,
|
||||
E as w,
|
||||
j as _,
|
||||
F as v,
|
||||
} from "./frappe-ui.8966d601.js";
|
||||
const x = {
|
||||
name: "InsertLink",
|
||||
props: ["editor"],
|
||||
components: { Button: g, Input: L, Dialog: m },
|
||||
data() {
|
||||
return { setLinkDialog: { url: "", show: !1 } };
|
||||
},
|
||||
methods: {
|
||||
openDialog() {
|
||||
let t = this.editor.getAttributes("link").href;
|
||||
t && (this.setLinkDialog.url = t), (this.setLinkDialog.show = !0);
|
||||
},
|
||||
setLink(t) {
|
||||
t === ""
|
||||
? this.editor
|
||||
.chain()
|
||||
.focus()
|
||||
.extendMarkRange("link")
|
||||
.unsetLink()
|
||||
.run()
|
||||
: this.editor
|
||||
.chain()
|
||||
.focus()
|
||||
.extendMarkRange("link")
|
||||
.setLink({ href: t })
|
||||
.run(),
|
||||
(this.setLinkDialog.show = !1),
|
||||
(this.setLinkDialog.url = "");
|
||||
},
|
||||
reset() {
|
||||
this.setLinkDialog = this.$options.data().setLinkDialog;
|
||||
},
|
||||
},
|
||||
};
|
||||
function V(t, e, C, B, n, s) {
|
||||
const r = i("FormControl"),
|
||||
u = i("Button"),
|
||||
k = i("Dialog");
|
||||
return (
|
||||
p(),
|
||||
f(
|
||||
v,
|
||||
null,
|
||||
[
|
||||
D(t.$slots, "default", h(c({ onClick: s.openDialog }))),
|
||||
l(
|
||||
k,
|
||||
{
|
||||
options: { title: "Set Link" },
|
||||
modelValue: n.setLinkDialog.show,
|
||||
"onUpdate:modelValue":
|
||||
e[3] || (e[3] = (o) => (n.setLinkDialog.show = o)),
|
||||
onAfterLeave: s.reset,
|
||||
},
|
||||
{
|
||||
"body-content": a(() => [
|
||||
l(
|
||||
r,
|
||||
{
|
||||
type: "text",
|
||||
label: "URL",
|
||||
modelValue: n.setLinkDialog.url,
|
||||
"onUpdate:modelValue":
|
||||
e[0] ||
|
||||
(e[0] = (o) =>
|
||||
(n.setLinkDialog.url = o)),
|
||||
onKeydown:
|
||||
e[1] ||
|
||||
(e[1] = w(
|
||||
(o) => s.setLink(o.target.value),
|
||||
["enter"]
|
||||
)),
|
||||
},
|
||||
null,
|
||||
8,
|
||||
["modelValue"]
|
||||
),
|
||||
]),
|
||||
actions: a(() => [
|
||||
l(
|
||||
u,
|
||||
{
|
||||
variant: "solid",
|
||||
onClick:
|
||||
e[2] ||
|
||||
(e[2] = (o) =>
|
||||
s.setLink(n.setLinkDialog.url)),
|
||||
},
|
||||
{ default: a(() => [_(" Save ")]), _: 1 }
|
||||
),
|
||||
]),
|
||||
_: 1,
|
||||
},
|
||||
8,
|
||||
["modelValue", "onAfterLeave"]
|
||||
),
|
||||
],
|
||||
64
|
||||
)
|
||||
);
|
||||
}
|
||||
const b = d(x, [["render", V]]);
|
||||
export { b as default };
|
||||
200
lms/public/frontend/assets/InsertVideo.d725d1a5.js
Normal file
200
lms/public/frontend/assets/InsertVideo.d725d1a5.js
Normal file
@@ -0,0 +1,200 @@
|
||||
import {
|
||||
b as _,
|
||||
h as C,
|
||||
D as k,
|
||||
H as v,
|
||||
r,
|
||||
o as u,
|
||||
d as c,
|
||||
A as h,
|
||||
B,
|
||||
C as w,
|
||||
e as t,
|
||||
w as l,
|
||||
k as x,
|
||||
j as n,
|
||||
t as y,
|
||||
v as U,
|
||||
n as p,
|
||||
F,
|
||||
} from "./frappe-ui.8966d601.js";
|
||||
const A = {
|
||||
name: "InsertImage",
|
||||
props: ["editor"],
|
||||
expose: ["openDialog"],
|
||||
data() {
|
||||
return { addVideoDialog: { url: "", file: null, show: !1 } };
|
||||
},
|
||||
components: { Button: C, Dialog: k, FileUploader: v },
|
||||
methods: {
|
||||
openDialog() {
|
||||
this.addVideoDialog.show = !0;
|
||||
},
|
||||
onVideoSelect(i) {
|
||||
let o = i.target.files[0];
|
||||
!o || (this.addVideoDialog.file = o);
|
||||
},
|
||||
addVideo(i) {
|
||||
this.editor
|
||||
.chain()
|
||||
.focus()
|
||||
.insertContent(`<video src="${i}"></video>`)
|
||||
.run(),
|
||||
this.reset();
|
||||
},
|
||||
reset() {
|
||||
this.addVideoDialog = this.$options.data().addVideoDialog;
|
||||
},
|
||||
},
|
||||
},
|
||||
I = { class: "flex items-center space-x-2" },
|
||||
N = ["src"];
|
||||
function S(i, o, b, L, e, a) {
|
||||
const s = r("Button"),
|
||||
V = r("FileUploader"),
|
||||
g = r("Dialog");
|
||||
return (
|
||||
u(),
|
||||
c(
|
||||
F,
|
||||
null,
|
||||
[
|
||||
h(i.$slots, "default", B(w({ onClick: a.openDialog }))),
|
||||
t(
|
||||
g,
|
||||
{
|
||||
options: { title: "Add Video" },
|
||||
modelValue: e.addVideoDialog.show,
|
||||
"onUpdate:modelValue":
|
||||
o[2] || (o[2] = (d) => (e.addVideoDialog.show = d)),
|
||||
onAfterLeave: a.reset,
|
||||
},
|
||||
{
|
||||
"body-content": l(() => [
|
||||
t(
|
||||
V,
|
||||
{
|
||||
"file-types": "video/*",
|
||||
onSuccess:
|
||||
o[0] ||
|
||||
(o[0] = (d) =>
|
||||
(e.addVideoDialog.url =
|
||||
d.file_url)),
|
||||
},
|
||||
{
|
||||
default: l(
|
||||
({
|
||||
file: d,
|
||||
progress: f,
|
||||
uploading: m,
|
||||
openFileSelector: D,
|
||||
}) => [
|
||||
x("div", I, [
|
||||
t(
|
||||
s,
|
||||
{ onClick: D },
|
||||
{
|
||||
default: l(() => [
|
||||
n(
|
||||
y(
|
||||
m
|
||||
? `Uploading ${f}%`
|
||||
: e
|
||||
.addVideoDialog
|
||||
.url
|
||||
? "Change Video"
|
||||
: "Upload Video"
|
||||
),
|
||||
1
|
||||
),
|
||||
]),
|
||||
_: 2,
|
||||
},
|
||||
1032,
|
||||
["onClick"]
|
||||
),
|
||||
e.addVideoDialog.url
|
||||
? (u(),
|
||||
U(
|
||||
s,
|
||||
{
|
||||
key: 0,
|
||||
onClick: () => {
|
||||
(e.addVideoDialog.url =
|
||||
null),
|
||||
(e.addVideoDialog.file =
|
||||
null);
|
||||
},
|
||||
},
|
||||
{
|
||||
default: l(
|
||||
() => [
|
||||
n(
|
||||
" Remove "
|
||||
),
|
||||
]
|
||||
),
|
||||
_: 2,
|
||||
},
|
||||
1032,
|
||||
["onClick"]
|
||||
))
|
||||
: p("", !0),
|
||||
]),
|
||||
]
|
||||
),
|
||||
_: 1,
|
||||
}
|
||||
),
|
||||
e.addVideoDialog.url
|
||||
? (u(),
|
||||
c(
|
||||
"video",
|
||||
{
|
||||
key: 0,
|
||||
src: e.addVideoDialog.url,
|
||||
class: "mt-2 w-full rounded-lg",
|
||||
type: "video/mp4",
|
||||
controls: "",
|
||||
},
|
||||
null,
|
||||
8,
|
||||
N
|
||||
))
|
||||
: p("", !0),
|
||||
]),
|
||||
actions: l(() => [
|
||||
t(
|
||||
s,
|
||||
{
|
||||
variant: "solid",
|
||||
onClick:
|
||||
o[1] ||
|
||||
(o[1] = (d) =>
|
||||
a.addVideo(e.addVideoDialog.url)),
|
||||
},
|
||||
{
|
||||
default: l(() => [n(" Insert Video ")]),
|
||||
_: 1,
|
||||
}
|
||||
),
|
||||
t(
|
||||
s,
|
||||
{ onClick: a.reset },
|
||||
{ default: l(() => [n("Cancel")]), _: 1 },
|
||||
8,
|
||||
["onClick"]
|
||||
),
|
||||
]),
|
||||
_: 1,
|
||||
},
|
||||
8,
|
||||
["modelValue", "onAfterLeave"]
|
||||
),
|
||||
],
|
||||
64
|
||||
)
|
||||
);
|
||||
}
|
||||
const R = _(A, [["render", S]]);
|
||||
export { R as default };
|
||||
BIN
lms/public/frontend/assets/Inter-Black.05e55dd7.woff2
Normal file
BIN
lms/public/frontend/assets/Inter-Black.05e55dd7.woff2
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-Black.9c79713b.woff
Normal file
BIN
lms/public/frontend/assets/Inter-Black.9c79713b.woff
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-Black.bc2198e0.woff2
Normal file
BIN
lms/public/frontend/assets/Inter-Black.bc2198e0.woff2
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-BlackItalic.1cb529a7.woff2
Normal file
BIN
lms/public/frontend/assets/Inter-BlackItalic.1cb529a7.woff2
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-BlackItalic.4ff7db4a.woff2
Normal file
BIN
lms/public/frontend/assets/Inter-BlackItalic.4ff7db4a.woff2
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-BlackItalic.7ecbf9fa.woff
Normal file
BIN
lms/public/frontend/assets/Inter-BlackItalic.7ecbf9fa.woff
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-Bold.1dc41a58.woff2
Normal file
BIN
lms/public/frontend/assets/Inter-Bold.1dc41a58.woff2
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-Bold.2b828bef.woff
Normal file
BIN
lms/public/frontend/assets/Inter-Bold.2b828bef.woff
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-Bold.2efd8e3c.woff2
Normal file
BIN
lms/public/frontend/assets/Inter-Bold.2efd8e3c.woff2
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-BoldItalic.8bc8e0ff.woff
Normal file
BIN
lms/public/frontend/assets/Inter-BoldItalic.8bc8e0ff.woff
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-BoldItalic.dc0d4194.woff2
Normal file
BIN
lms/public/frontend/assets/Inter-BoldItalic.dc0d4194.woff2
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-BoldItalic.f528d863.woff2
Normal file
BIN
lms/public/frontend/assets/Inter-BoldItalic.f528d863.woff2
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-DisplayBlack.b1d4e33d.woff2
Normal file
BIN
lms/public/frontend/assets/Inter-DisplayBlack.b1d4e33d.woff2
Normal file
Binary file not shown.
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-DisplayBold.d9bf35ac.woff2
Normal file
BIN
lms/public/frontend/assets/Inter-DisplayBold.d9bf35ac.woff2
Normal file
Binary file not shown.
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-DisplayExtraBold.b7cc680a.woff2
Normal file
BIN
lms/public/frontend/assets/Inter-DisplayExtraBold.b7cc680a.woff2
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-DisplayItalic.938db435.woff2
Normal file
BIN
lms/public/frontend/assets/Inter-DisplayItalic.938db435.woff2
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-DisplayLight.e40a858d.woff2
Normal file
BIN
lms/public/frontend/assets/Inter-DisplayLight.e40a858d.woff2
Normal file
Binary file not shown.
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-DisplayMedium.12a4a358.woff2
Normal file
BIN
lms/public/frontend/assets/Inter-DisplayMedium.12a4a358.woff2
Normal file
Binary file not shown.
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-DisplaySemiBold.856fcb49.woff2
Normal file
BIN
lms/public/frontend/assets/Inter-DisplaySemiBold.856fcb49.woff2
Normal file
Binary file not shown.
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-DisplayThin.b64c173b.woff2
Normal file
BIN
lms/public/frontend/assets/Inter-DisplayThin.b64c173b.woff2
Normal file
Binary file not shown.
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-ExtraBold.585b4ce1.woff
Normal file
BIN
lms/public/frontend/assets/Inter-ExtraBold.585b4ce1.woff
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-ExtraBold.74e72c6b.woff2
Normal file
BIN
lms/public/frontend/assets/Inter-ExtraBold.74e72c6b.woff2
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-ExtraBold.8a72efb6.woff2
Normal file
BIN
lms/public/frontend/assets/Inter-ExtraBold.8a72efb6.woff2
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-ExtraBoldItalic.2abc7ab1.woff2
Normal file
BIN
lms/public/frontend/assets/Inter-ExtraBoldItalic.2abc7ab1.woff2
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-ExtraBoldItalic.38e71f7c.woff2
Normal file
BIN
lms/public/frontend/assets/Inter-ExtraBoldItalic.38e71f7c.woff2
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-ExtraBoldItalic.b87f7d97.woff
Normal file
BIN
lms/public/frontend/assets/Inter-ExtraBoldItalic.b87f7d97.woff
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-ExtraLight.1c06ef44.woff
Normal file
BIN
lms/public/frontend/assets/Inter-ExtraLight.1c06ef44.woff
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-ExtraLight.25a4db7c.woff2
Normal file
BIN
lms/public/frontend/assets/Inter-ExtraLight.25a4db7c.woff2
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-ExtraLight.4c337585.woff2
Normal file
BIN
lms/public/frontend/assets/Inter-ExtraLight.4c337585.woff2
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-ExtraLightItalic.0e5667b1.woff
Normal file
BIN
lms/public/frontend/assets/Inter-ExtraLightItalic.0e5667b1.woff
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-ExtraLightItalic.7b39e865.woff2
Normal file
BIN
lms/public/frontend/assets/Inter-ExtraLightItalic.7b39e865.woff2
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-ExtraLightItalic.f0df46d0.woff2
Normal file
BIN
lms/public/frontend/assets/Inter-ExtraLightItalic.f0df46d0.woff2
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-Italic.950174d1.woff2
Normal file
BIN
lms/public/frontend/assets/Inter-Italic.950174d1.woff2
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-Italic.b0b21adf.woff
Normal file
BIN
lms/public/frontend/assets/Inter-Italic.b0b21adf.woff
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-Italic.dd31ea31.woff2
Normal file
BIN
lms/public/frontend/assets/Inter-Italic.dd31ea31.woff2
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-Italic.var.d9f448e3.woff2
Normal file
BIN
lms/public/frontend/assets/Inter-Italic.var.d9f448e3.woff2
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-Light.211445a8.woff2
Normal file
BIN
lms/public/frontend/assets/Inter-Light.211445a8.woff2
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-Light.319f53ba.woff
Normal file
BIN
lms/public/frontend/assets/Inter-Light.319f53ba.woff
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-Light.87ed65f8.woff2
Normal file
BIN
lms/public/frontend/assets/Inter-Light.87ed65f8.woff2
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-LightItalic.289a60bc.woff
Normal file
BIN
lms/public/frontend/assets/Inter-LightItalic.289a60bc.woff
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-LightItalic.5b94e337.woff2
Normal file
BIN
lms/public/frontend/assets/Inter-LightItalic.5b94e337.woff2
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-LightItalic.9ea2db78.woff2
Normal file
BIN
lms/public/frontend/assets/Inter-LightItalic.9ea2db78.woff2
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-Medium.24fb6e39.woff2
Normal file
BIN
lms/public/frontend/assets/Inter-Medium.24fb6e39.woff2
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-Medium.a4e1e7e6.woff2
Normal file
BIN
lms/public/frontend/assets/Inter-Medium.a4e1e7e6.woff2
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-Medium.f500bbb9.woff
Normal file
BIN
lms/public/frontend/assets/Inter-Medium.f500bbb9.woff
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-MediumItalic.a2db9bea.woff2
Normal file
BIN
lms/public/frontend/assets/Inter-MediumItalic.a2db9bea.woff2
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-MediumItalic.d06751dd.woff
Normal file
BIN
lms/public/frontend/assets/Inter-MediumItalic.d06751dd.woff
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-MediumItalic.d4a7f5d9.woff2
Normal file
BIN
lms/public/frontend/assets/Inter-MediumItalic.d4a7f5d9.woff2
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-Regular.b825f1bc.woff
Normal file
BIN
lms/public/frontend/assets/Inter-Regular.b825f1bc.woff
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-Regular.c342b1b7.woff2
Normal file
BIN
lms/public/frontend/assets/Inter-Regular.c342b1b7.woff2
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-Regular.edd1deaf.woff2
Normal file
BIN
lms/public/frontend/assets/Inter-Regular.edd1deaf.woff2
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-SemiBold.3041a990.woff
Normal file
BIN
lms/public/frontend/assets/Inter-SemiBold.3041a990.woff
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-SemiBold.51419407.woff2
Normal file
BIN
lms/public/frontend/assets/Inter-SemiBold.51419407.woff2
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-SemiBold.af44b8a2.woff2
Normal file
BIN
lms/public/frontend/assets/Inter-SemiBold.af44b8a2.woff2
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-SemiBoldItalic.5ce565c8.woff
Normal file
BIN
lms/public/frontend/assets/Inter-SemiBoldItalic.5ce565c8.woff
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-SemiBoldItalic.a4f92da5.woff2
Normal file
BIN
lms/public/frontend/assets/Inter-SemiBoldItalic.a4f92da5.woff2
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-SemiBoldItalic.daa7095c.woff2
Normal file
BIN
lms/public/frontend/assets/Inter-SemiBoldItalic.daa7095c.woff2
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-Thin.2198e9fb.woff
Normal file
BIN
lms/public/frontend/assets/Inter-Thin.2198e9fb.woff
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-Thin.914c3fab.woff2
Normal file
BIN
lms/public/frontend/assets/Inter-Thin.914c3fab.woff2
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-Thin.918c5cbe.woff2
Normal file
BIN
lms/public/frontend/assets/Inter-Thin.918c5cbe.woff2
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-ThinItalic.382fab25.woff2
Normal file
BIN
lms/public/frontend/assets/Inter-ThinItalic.382fab25.woff2
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-ThinItalic.a3279f0a.woff2
Normal file
BIN
lms/public/frontend/assets/Inter-ThinItalic.a3279f0a.woff2
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter-ThinItalic.f53f21de.woff
Normal file
BIN
lms/public/frontend/assets/Inter-ThinItalic.f53f21de.woff
Normal file
Binary file not shown.
BIN
lms/public/frontend/assets/Inter.var.d30c3bd0.woff2
Normal file
BIN
lms/public/frontend/assets/Inter.var.d30c3bd0.woff2
Normal file
Binary file not shown.
43901
lms/public/frontend/assets/frappe-ui.8966d601.js
Normal file
43901
lms/public/frontend/assets/frappe-ui.8966d601.js
Normal file
File diff suppressed because it is too large
Load Diff
1
lms/public/frontend/assets/frappe-ui.e894a05e.css
Normal file
1
lms/public/frontend/assets/frappe-ui.e894a05e.css
Normal file
@@ -0,0 +1 @@
|
||||
.form-select{background-image:url("data:image/svg+xml;utf8,<svg fill='none' width='8' xmlns='http://www.w3.org/2000/svg' viewBox='-4 -2 16 16'><path d='M4.5 3.636 6.136 2l1.637 1.636M4.5 8.364 6.136 10l1.637-1.636' stroke='%23333C44' stroke-linecap='round' stroke-linejoin='round'/></svg>")}.spinner[data-v-10b50c78]{animation:rotate-10b50c78 2s linear infinite}.spinner-path[data-v-10b50c78]{stroke-linecap:round;animation:dash-10b50c78 1.5s ease-in-out infinite}@keyframes rotate-10b50c78{to{transform:rotate(360deg)}}@keyframes dash-10b50c78{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:120,150;stroke-dashoffset:-124}}.item{display:block;margin:0;width:100%;text-align:left;background:transparent;border-radius:.4rem;border:1px solid transparent;padding:.2rem .4rem}.item.is-selected{border-color:#000}.ProseMirror{outline:none;caret-color:#171717;word-break:break-word}.ProseMirror-focused:focus-visible{outline:none}.ProseMirror:not(.ProseMirror-focused) p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:#999;pointer-events:none;height:0}.ProseMirror-selectednode video,img.ProseMirror-selectednode{outline:2px solid #E2E2E2}.mention{font-weight:600;-webkit-box-decoration-break:clone;box-decoration-break:clone}.prose table p{margin:0}.ProseMirror table .selectedCell:after{z-index:2;position:absolute;content:"";inset:0;pointer-events:none;background:#E3F1FD;opacity:.3}.ProseMirror table .column-resize-handle{position:absolute;right:-1px;top:0;bottom:-2px;width:4px;background-color:#e3f1fd;pointer-events:none}.resize-cursor{cursor:ew-resize;cursor:col-resize}.ProseMirror mark{border-radius:3px;padding:0 2px}
|
||||
88
lms/public/frontend/assets/index.52b6e5cb.js
Normal file
88
lms/public/frontend/assets/index.52b6e5cb.js
Normal file
@@ -0,0 +1,88 @@
|
||||
import {
|
||||
c as u,
|
||||
a as l,
|
||||
_ as i,
|
||||
b as f,
|
||||
r as p,
|
||||
o as d,
|
||||
d as m,
|
||||
e as _,
|
||||
f as h,
|
||||
g as y,
|
||||
h as g,
|
||||
s as v,
|
||||
i as L,
|
||||
} from "./frappe-ui.8966d601.js";
|
||||
(function () {
|
||||
const o = document.createElement("link").relList;
|
||||
if (o && o.supports && o.supports("modulepreload")) return;
|
||||
for (const e of document.querySelectorAll('link[rel="modulepreload"]'))
|
||||
c(e);
|
||||
new MutationObserver((e) => {
|
||||
for (const t of e)
|
||||
if (t.type === "childList")
|
||||
for (const s of t.addedNodes)
|
||||
s.tagName === "LINK" && s.rel === "modulepreload" && c(s);
|
||||
}).observe(document, { childList: !0, subtree: !0 });
|
||||
function n(e) {
|
||||
const t = {};
|
||||
return (
|
||||
e.integrity && (t.integrity = e.integrity),
|
||||
e.referrerpolicy && (t.referrerPolicy = e.referrerpolicy),
|
||||
e.crossorigin === "use-credentials"
|
||||
? (t.credentials = "include")
|
||||
: e.crossorigin === "anonymous"
|
||||
? (t.credentials = "omit")
|
||||
: (t.credentials = "same-origin"),
|
||||
t
|
||||
);
|
||||
}
|
||||
function c(e) {
|
||||
if (e.ep) return;
|
||||
e.ep = !0;
|
||||
const t = n(e);
|
||||
fetch(e.href, t);
|
||||
}
|
||||
})();
|
||||
const E = [
|
||||
{
|
||||
path: "/",
|
||||
name: "Home",
|
||||
component: () =>
|
||||
i(
|
||||
() => import("./Home.24891fef.js"),
|
||||
[
|
||||
"assets/Home.24891fef.js",
|
||||
"assets/frappe-ui.8966d601.js",
|
||||
"assets/frappe-ui.e894a05e.css",
|
||||
]
|
||||
),
|
||||
},
|
||||
{
|
||||
path: "/courses",
|
||||
name: "Courses",
|
||||
component: () =>
|
||||
i(
|
||||
() => import("./Courses.10129947.js"),
|
||||
[
|
||||
"assets/Courses.10129947.js",
|
||||
"assets/frappe-ui.8966d601.js",
|
||||
"assets/frappe-ui.e894a05e.css",
|
||||
"assets/Courses.4fd15046.css",
|
||||
]
|
||||
),
|
||||
},
|
||||
];
|
||||
let O = u({ history: l("/"), routes: E });
|
||||
const P = {};
|
||||
function b(a, o) {
|
||||
const n = p("router-view");
|
||||
return d(), m("div", null, [_(n)]);
|
||||
}
|
||||
const A = f(P, [["render", b]]);
|
||||
let r = h(A);
|
||||
v("resourceFetcher", L);
|
||||
r.use(O);
|
||||
r.use(y);
|
||||
r.component("Button", g);
|
||||
r.mount("#app");
|
||||
1
lms/public/frontend/assets/index.943a3ec2.css
Normal file
1
lms/public/frontend/assets/index.943a3ec2.css
Normal file
File diff suppressed because one or more lines are too long
BIN
lms/public/frontend/favicon.png
Normal file
BIN
lms/public/frontend/favicon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 440 B |
21
lms/public/frontend/index.html
Normal file
21
lms/public/frontend/index.html
Normal file
@@ -0,0 +1,21 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="icon" href="/favicon.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Frappe UI App</title>
|
||||
<script type="module" crossorigin src="/assets/index.52b6e5cb.js"></script>
|
||||
<link rel="modulepreload" crossorigin href="/assets/frappe-ui.8966d601.js">
|
||||
<link rel="stylesheet" href="/assets/frappe-ui.e894a05e.css">
|
||||
<link rel="stylesheet" href="/assets/index.943a3ec2.css">
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
<div id="modals"></div>
|
||||
<div id="popovers"></div>
|
||||
|
||||
<script> window.csrf_token = '{{ csrf_token }}'; </script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user