Build files
This commit is contained in:
1
public/build/assets/403.430cff34.js
vendored
1
public/build/assets/403.430cff34.js
vendored
@@ -1 +0,0 @@
|
||||
import r from"./TopBar.d1947609.js";import m from"./Container.f87d9f62.js";import i from"./Content.e22a1fd6.js";import e from"./Page.3927bdbf.js";import p from"./PageHeader.a5f457a5.js";import a from"./PageHeaderTitle.3ed783af.js";import n from"./PageBody.dec1fae1.js";import s from"./Button.f17dffc9.js";import f from"./List.d5d221b1.js";import _ from"./ListItem.ee1e88fb.js";import l from"./StatusBubble.4f1d8322.js";import u from"./NotificationBadge.b6fae3d5.js";import d from"./MainLayout.39e63d2b.js";import{n as c}from"./plugin-vue2_normalizer.000ba15c.js";import"./TopBar.f6a175cb.js";import"./Dropdown.d1060583.js";import"./DropdownList.02c48c2f.js";import"./DropdownListItem.ac31464c.js";import"./IconMoon.ade3e41b.js";import"./IconSun.8809e5d7.js";import"./IconSearch.27dac870.js";import"./IconButton.eadc8d3d.js";import"./Breadcrumbs.d39e2491.js";import"./BreadcrumbsItem.da3f8155.js";import"./TopBarTabBarContainer.3bdb2bb3.js";import"./TabBar.c1d45ed5.js";import"./TabBarItem.e9886f0a.js";import"./Confirm.888708f1.js";import"./Notification.d432029f.js";import"./IconDanger.2f6e115d.js";import"./IconWarning.ca92fb65.js";import"./IconSuccess.09b85716.js";import"./IconInfo.ad7662f9.js";import"./SearchPalette.282fdde5.js";import"./notification.f3a0f54e.js";import"./app.0131bc0c.js";const g={layout:d,components:{TopBar:r,Container:m,Content:i,Page:e,PageHeader:p,PageHeaderTitle:a,PageBody:n,Button:s,List:f,ListItem:_,StatusBubble:l,NotificationBadge:u},data(){return{breadcrumbs:[{title:this.$page.props.settings.name,to:"/"},{title:"403 not found",to:"/"}]}}};var b=function(){var t=this,o=t._self._c;return o("Page",[o("TopBar",{attrs:{breadcrumbs:t.breadcrumbs}}),o("Content",[o("Container",[o("PageHeader",{scopedSlots:t._u([{key:"start",fn:function(){return[o("PageHeaderTitle",[t._v(t._s(t.__("Not allowed")))])]},proxy:!0}])}),o("PageBody",[t._v(" "+t._s(t.__("You tried to do something that is not allowed."))+" ")])],1)],1)],1)},P=[],v=c(g,b,P,!1,null,null,null,null);const mt=v.exports;export{mt as default};
|
||||
85
public/build/assets/403.46af2544.js
vendored
Normal file
85
public/build/assets/403.46af2544.js
vendored
Normal file
@@ -0,0 +1,85 @@
|
||||
import TopBar from "./TopBar.ab933635.js";
|
||||
import { C as Container } from "./Container.23db6f9d.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout.46aebdcf.js";
|
||||
import { B as Button } from "./Button.f40f5f07.js";
|
||||
import { f as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode, e as createTextVNode, t as toDisplayString } from "./app.d0c43a70.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper.cdc0426e.js";
|
||||
import "./TabBar.2102e192.js";
|
||||
import "./notification.4c298cac.js";
|
||||
const _sfc_main = {
|
||||
layout: MainLayout,
|
||||
components: {
|
||||
TopBar,
|
||||
Container,
|
||||
Content,
|
||||
Page,
|
||||
PageHeader,
|
||||
PageHeaderTitle,
|
||||
PageBody,
|
||||
Button,
|
||||
List,
|
||||
ListItem,
|
||||
StatusBubble,
|
||||
NotificationBadge
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
breadcrumbs: [
|
||||
{
|
||||
title: this.$page.props.settings.name,
|
||||
to: "/"
|
||||
},
|
||||
{
|
||||
title: "403 not found",
|
||||
to: "/"
|
||||
}
|
||||
]
|
||||
};
|
||||
}
|
||||
};
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_TopBar = resolveComponent("TopBar");
|
||||
const _component_PageHeaderTitle = resolveComponent("PageHeaderTitle");
|
||||
const _component_PageHeader = resolveComponent("PageHeader");
|
||||
const _component_PageBody = resolveComponent("PageBody");
|
||||
const _component_Container = resolveComponent("Container");
|
||||
const _component_Content = resolveComponent("Content");
|
||||
const _component_Page = resolveComponent("Page");
|
||||
return openBlock(), createBlock(_component_Page, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TopBar, { breadcrumbs: $data.breadcrumbs }, null, 8, ["breadcrumbs"]),
|
||||
createVNode(_component_Content, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_Container, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_PageHeader, null, {
|
||||
start: withCtx(() => [
|
||||
createVNode(_component_PageHeaderTitle, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Not allowed")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
]),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_PageBody, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("You tried to do something that is not allowed.")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
});
|
||||
}
|
||||
const _403 = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
export {
|
||||
_403 as default
|
||||
};
|
||||
1
public/build/assets/404.47cd857e.js
vendored
1
public/build/assets/404.47cd857e.js
vendored
@@ -1 +0,0 @@
|
||||
import r from"./Container.f87d9f62.js";import e from"./Content.e22a1fd6.js";import i from"./Page.3927bdbf.js";import m from"./PageHeader.a5f457a5.js";import a from"./PageHeaderTitle.3ed783af.js";import n from"./PageBody.dec1fae1.js";import p from"./Button.f17dffc9.js";import s from"./List.d5d221b1.js";import f from"./ListItem.ee1e88fb.js";import l from"./StatusBubble.4f1d8322.js";import _ from"./NotificationBadge.b6fae3d5.js";import u from"./MainLayout.39e63d2b.js";import{n as c}from"./plugin-vue2_normalizer.000ba15c.js";import"./Confirm.888708f1.js";import"./Notification.d432029f.js";import"./IconDanger.2f6e115d.js";import"./IconWarning.ca92fb65.js";import"./IconSuccess.09b85716.js";import"./IconInfo.ad7662f9.js";import"./SearchPalette.282fdde5.js";import"./notification.f3a0f54e.js";import"./app.0131bc0c.js";const d={layout:u,components:{Container:r,Content:e,Page:i,PageHeader:m,PageHeaderTitle:a,PageBody:n,Button:p,List:s,ListItem:f,StatusBubble:l,NotificationBadge:_}};var g=function(){var o=this,t=o._self._c;return t("Page",[t("Content",[t("Container",[t("PageHeader",{scopedSlots:o._u([{key:"start",fn:function(){return[t("PageHeaderTitle",[o._v("Page not found")])]},proxy:!0}])}),t("PageBody",[t("div",{staticClass:"space-y-4"},[t("p",[o._v("We were unable to find this page.")]),t("p",[t("a",{staticClass:"text-primary",attrs:{href:"/"}},[o._v("Go home")])])])])],1)],1)],1)},v=[],P=c(d,g,v,!1,null,null,null,null);const D=P.exports;export{D as default};
|
||||
76
public/build/assets/404.4c463f63.js
vendored
Normal file
76
public/build/assets/404.4c463f63.js
vendored
Normal file
@@ -0,0 +1,76 @@
|
||||
import { C as Container } from "./Container.23db6f9d.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout.46aebdcf.js";
|
||||
import { B as Button } from "./Button.f40f5f07.js";
|
||||
import { f as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode, e as createTextVNode, b as createBaseVNode } from "./app.d0c43a70.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper.cdc0426e.js";
|
||||
import "./notification.4c298cac.js";
|
||||
const _sfc_main = {
|
||||
layout: MainLayout,
|
||||
components: {
|
||||
Container,
|
||||
Content,
|
||||
Page,
|
||||
PageHeader,
|
||||
PageHeaderTitle,
|
||||
PageBody,
|
||||
Button,
|
||||
List,
|
||||
ListItem,
|
||||
StatusBubble,
|
||||
NotificationBadge
|
||||
}
|
||||
};
|
||||
const _hoisted_1 = /* @__PURE__ */ createTextVNode("Page not found");
|
||||
const _hoisted_2 = /* @__PURE__ */ createBaseVNode("div", { class: "space-y-4" }, [
|
||||
/* @__PURE__ */ createBaseVNode("p", null, "We were unable to find this page."),
|
||||
/* @__PURE__ */ createBaseVNode("p", null, [
|
||||
/* @__PURE__ */ createBaseVNode("a", {
|
||||
class: "text-primary",
|
||||
href: "/"
|
||||
}, "Go home")
|
||||
])
|
||||
], -1);
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_PageHeaderTitle = resolveComponent("PageHeaderTitle");
|
||||
const _component_PageHeader = resolveComponent("PageHeader");
|
||||
const _component_PageBody = resolveComponent("PageBody");
|
||||
const _component_Container = resolveComponent("Container");
|
||||
const _component_Content = resolveComponent("Content");
|
||||
const _component_Page = resolveComponent("Page");
|
||||
return openBlock(), createBlock(_component_Page, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_Content, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_Container, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_PageHeader, null, {
|
||||
start: withCtx(() => [
|
||||
createVNode(_component_PageHeaderTitle, null, {
|
||||
default: withCtx(() => [
|
||||
_hoisted_1
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
]),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_PageBody, null, {
|
||||
default: withCtx(() => [
|
||||
_hoisted_2
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
});
|
||||
}
|
||||
const _404 = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
export {
|
||||
_404 as default
|
||||
};
|
||||
1
public/build/assets/Aliases.84adf546.js
vendored
1
public/build/assets/Aliases.84adf546.js
vendored
File diff suppressed because one or more lines are too long
285
public/build/assets/Aliases.b6ffff64.js
vendored
Normal file
285
public/build/assets/Aliases.b6ffff64.js
vendored
Normal file
@@ -0,0 +1,285 @@
|
||||
import TopBar from "./TopBar.27e62198.js";
|
||||
import { C as Container } from "./Container.23db6f9d.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout.46aebdcf.js";
|
||||
import { B as Button } from "./Button.f40f5f07.js";
|
||||
import { S as SettingsLayout } from "./SettingsLayout.76203a2a.js";
|
||||
import { S as SettingsSegment } from "./SettingsSegment.8dedf9a4.js";
|
||||
import { F as FormInput } from "./FormInput.8ab0f203.js";
|
||||
import { F as FormSelect } from "./FormSelect.08a72bf9.js";
|
||||
import { F as FormTextarea } from "./FormTextarea.deefc03c.js";
|
||||
import { a as Form, F as FormActions } from "./Form.097b2c0b.js";
|
||||
import { P as Pagination } from "./Pagination.99c0720a.js";
|
||||
import { E as EmptyImage } from "./EmptyImage.626bec44.js";
|
||||
import { u as useConfirm } from "./confirm.c1a36d4c.js";
|
||||
import Tabs from "./Tabs.992be93e.js";
|
||||
import { T as Table, a as TableHead, b as TableHeader, c as TableRow, d as TableBody, e as TableData } from "./TableData.b232d5e4.js";
|
||||
import { f as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode, e as createTextVNode, t as toDisplayString, b as createBaseVNode, g as withModifiers, d as createCommentVNode, c as createElementBlock, k as renderList, F as Fragment } from "./app.d0c43a70.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper.cdc0426e.js";
|
||||
import "./TabBar.2102e192.js";
|
||||
import "./notification.4c298cac.js";
|
||||
const _sfc_main = {
|
||||
metaInfo() {
|
||||
return {
|
||||
title: `${this.__("Aliases")} - ${this.site.domain}`
|
||||
};
|
||||
},
|
||||
layout: MainLayout,
|
||||
components: {
|
||||
TopBar,
|
||||
Container,
|
||||
Content,
|
||||
Page,
|
||||
PageHeader,
|
||||
PageHeaderTitle,
|
||||
PageBody,
|
||||
Button,
|
||||
List,
|
||||
ListItem,
|
||||
StatusBubble,
|
||||
NotificationBadge,
|
||||
FormInput,
|
||||
FormSelect,
|
||||
FormTextarea,
|
||||
SettingsLayout,
|
||||
SettingsSegment,
|
||||
Form,
|
||||
FormActions,
|
||||
Pagination,
|
||||
Tabs,
|
||||
Table,
|
||||
TableHead,
|
||||
TableHeader,
|
||||
TableRow,
|
||||
TableBody,
|
||||
TableData,
|
||||
EmptyImage
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
sending: false,
|
||||
form: {
|
||||
domain: null
|
||||
},
|
||||
breadcrumbs: [
|
||||
{
|
||||
title: this.$page.props.settings.name,
|
||||
to: "/"
|
||||
},
|
||||
{
|
||||
title: this.__("Sites"),
|
||||
to: this.route("sites.index")
|
||||
},
|
||||
{
|
||||
title: this.site.domain,
|
||||
to: this.route("sites.show", this.site.id)
|
||||
},
|
||||
{
|
||||
title: this.__("Aliases"),
|
||||
to: this.route("sites.aliases.index", this.site.id)
|
||||
}
|
||||
]
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
},
|
||||
watch: {},
|
||||
computed: {},
|
||||
props: {
|
||||
site: Object,
|
||||
aliases: [Object, Array]
|
||||
},
|
||||
methods: {
|
||||
submit() {
|
||||
this.sending = true;
|
||||
this.$inertia.post(this.route("sites.aliases.store", this.site.id), this.form, {
|
||||
onFinish: () => {
|
||||
this.sending = false;
|
||||
this.form.domain = null;
|
||||
}
|
||||
});
|
||||
},
|
||||
confirmDelete(alias) {
|
||||
useConfirm({
|
||||
title: this.__("Are you sure?"),
|
||||
message: this.__("Your alias will be deleted permanently, this action cannot be undone."),
|
||||
onConfirm: () => this.delete(alias)
|
||||
});
|
||||
},
|
||||
delete(alias) {
|
||||
this.$inertia.delete(this.route("sites.aliases.delete", [this.site.id, alias]), {
|
||||
preserveScroll: true
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
const _hoisted_1 = /* @__PURE__ */ createTextVNode("Delete ");
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_TopBar = resolveComponent("TopBar");
|
||||
const _component_PageHeaderTitle = resolveComponent("PageHeaderTitle");
|
||||
const _component_PageHeader = resolveComponent("PageHeader");
|
||||
const _component_Tabs = resolveComponent("Tabs");
|
||||
const _component_FormInput = resolveComponent("FormInput");
|
||||
const _component_Button = resolveComponent("Button");
|
||||
const _component_FormActions = resolveComponent("FormActions");
|
||||
const _component_SettingsSegment = resolveComponent("SettingsSegment");
|
||||
const _component_EmptyImage = resolveComponent("EmptyImage");
|
||||
const _component_TableHeader = resolveComponent("TableHeader");
|
||||
const _component_TableRow = resolveComponent("TableRow");
|
||||
const _component_TableHead = resolveComponent("TableHead");
|
||||
const _component_StatusBubble = resolveComponent("StatusBubble");
|
||||
const _component_TableData = resolveComponent("TableData");
|
||||
const _component_TableBody = resolveComponent("TableBody");
|
||||
const _component_Table = resolveComponent("Table");
|
||||
const _component_SettingsLayout = resolveComponent("SettingsLayout");
|
||||
const _component_PageBody = resolveComponent("PageBody");
|
||||
const _component_Container = resolveComponent("Container");
|
||||
const _component_Content = resolveComponent("Content");
|
||||
const _component_Page = resolveComponent("Page");
|
||||
return openBlock(), createBlock(_component_Page, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TopBar, { breadcrumbs: $data.breadcrumbs }, null, 8, ["breadcrumbs"]),
|
||||
createVNode(_component_Content, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_Container, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_PageHeader, null, {
|
||||
start: withCtx(() => [
|
||||
createVNode(_component_PageHeaderTitle, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Aliases")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
]),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_PageBody, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_SettingsLayout, null, {
|
||||
nav: withCtx(() => [
|
||||
createVNode(_component_Tabs, { site: $props.site }, null, 8, ["site"])
|
||||
]),
|
||||
segments: withCtx(() => [
|
||||
createVNode(_component_SettingsSegment, null, {
|
||||
title: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Create")), 1)
|
||||
]),
|
||||
form: withCtx(() => [
|
||||
createBaseVNode("form", {
|
||||
class: "space-y-4",
|
||||
onSubmit: _cache[1] || (_cache[1] = withModifiers((...args) => $options.submit && $options.submit(...args), ["prevent"]))
|
||||
}, [
|
||||
createVNode(_component_FormInput, {
|
||||
label: _ctx.__("Domain"),
|
||||
errors: _ctx.$page.props.errors.domain,
|
||||
modelValue: $data.form.domain,
|
||||
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => $data.form.domain = $event)
|
||||
}, null, 8, ["label", "errors", "modelValue"]),
|
||||
createVNode(_component_FormActions, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_Button, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Save changes")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], 32)
|
||||
]),
|
||||
_: 1
|
||||
}),
|
||||
!$props.aliases.length ? (openBlock(), createBlock(_component_EmptyImage, { key: 0 })) : createCommentVNode("", true),
|
||||
$props.aliases.length ? (openBlock(), createBlock(_component_SettingsSegment, { key: 1 }, {
|
||||
title: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Aliases")), 1)
|
||||
]),
|
||||
content: withCtx(() => [
|
||||
createBaseVNode("div", null, [
|
||||
createVNode(_component_Table, { caption: "Aliases list overview" }, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TableHead, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TableRow, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TableHeader),
|
||||
createVNode(_component_TableHeader, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Alias")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_TableHeader)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_TableBody, null, {
|
||||
default: withCtx(() => [
|
||||
(openBlock(true), createElementBlock(Fragment, null, renderList($props.aliases, (alias, index) => {
|
||||
return openBlock(), createBlock(_component_TableRow, { key: index }, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TableData, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_StatusBubble, { variant: "success" })
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_TableData, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(alias), 1)
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1024),
|
||||
createVNode(_component_TableData, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_Button, {
|
||||
variant: "danger",
|
||||
size: "sm",
|
||||
onClick: ($event) => $options.confirmDelete(alias)
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
_hoisted_1
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1032, ["onClick"])
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1024)
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1024);
|
||||
}), 128))
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
])
|
||||
]),
|
||||
_: 1
|
||||
})) : createCommentVNode("", true)
|
||||
]),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
});
|
||||
}
|
||||
const Aliases = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
export {
|
||||
Aliases as default
|
||||
};
|
||||
309
public/build/assets/Apps.03be88c4.js
vendored
Normal file
309
public/build/assets/Apps.03be88c4.js
vendored
Normal file
@@ -0,0 +1,309 @@
|
||||
import TopBar from "./TopBar.27e62198.js";
|
||||
import { C as Container } from "./Container.23db6f9d.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout.46aebdcf.js";
|
||||
import { B as Button } from "./Button.f40f5f07.js";
|
||||
import { S as SettingsLayout } from "./SettingsLayout.76203a2a.js";
|
||||
import { S as SettingsSegment } from "./SettingsSegment.8dedf9a4.js";
|
||||
import { F as FormInput } from "./FormInput.8ab0f203.js";
|
||||
import { a as Form, F as FormActions } from "./Form.097b2c0b.js";
|
||||
import Tabs from "./Tabs.992be93e.js";
|
||||
import { T as Table, a as TableHead, b as TableHeader, c as TableRow, d as TableBody, e as TableData } from "./TableData.b232d5e4.js";
|
||||
import { f as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode, e as createTextVNode, t as toDisplayString, d as createCommentVNode, b as createBaseVNode, j as withDirectives, v as vModelCheckbox } from "./app.d0c43a70.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper.cdc0426e.js";
|
||||
import "./TabBar.2102e192.js";
|
||||
import "./notification.4c298cac.js";
|
||||
const _sfc_main = {
|
||||
metaInfo() {
|
||||
return {
|
||||
title: this.__("Apps")
|
||||
};
|
||||
},
|
||||
layout: MainLayout,
|
||||
components: {
|
||||
TopBar,
|
||||
Container,
|
||||
Content,
|
||||
Page,
|
||||
PageHeader,
|
||||
PageHeaderTitle,
|
||||
PageBody,
|
||||
Button,
|
||||
List,
|
||||
ListItem,
|
||||
StatusBubble,
|
||||
NotificationBadge,
|
||||
FormInput,
|
||||
SettingsLayout,
|
||||
SettingsSegment,
|
||||
Form,
|
||||
FormActions,
|
||||
Tabs,
|
||||
Table,
|
||||
TableHead,
|
||||
TableHeader,
|
||||
TableRow,
|
||||
TableBody,
|
||||
TableData
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
sending: false,
|
||||
type: null,
|
||||
options: {
|
||||
create_database: false
|
||||
},
|
||||
breadcrumbs: [
|
||||
{
|
||||
title: this.$page.props.settings.name,
|
||||
to: "/"
|
||||
},
|
||||
{
|
||||
title: this.__("Sites"),
|
||||
to: this.route("sites.index")
|
||||
},
|
||||
{
|
||||
title: this.site.domain,
|
||||
to: this.route("sites.show", this.site.id)
|
||||
},
|
||||
{
|
||||
title: this.__("Apps"),
|
||||
to: this.route("sites.apps.index", this.site.id)
|
||||
}
|
||||
]
|
||||
};
|
||||
},
|
||||
props: {
|
||||
site: Object
|
||||
},
|
||||
methods: {
|
||||
prepareInstall(type) {
|
||||
this.type = type;
|
||||
},
|
||||
install() {
|
||||
this.$inertia.post(this.route("sites.apps.store", this.site.id), {
|
||||
type: this.type,
|
||||
options: this.options
|
||||
}, {
|
||||
onFinish: () => {
|
||||
this.type = null;
|
||||
}
|
||||
});
|
||||
},
|
||||
uninstall() {
|
||||
this.$inertia.delete(this.route("sites.apps.delete", this.site.id));
|
||||
}
|
||||
}
|
||||
};
|
||||
const _hoisted_1 = { class: "grid grid-cols-1 md:grid-cols-3 gap-4" };
|
||||
const _hoisted_2 = {
|
||||
for: "create_database",
|
||||
class: "ml-2 text-sm"
|
||||
};
|
||||
const _hoisted_3 = { class: "text-small mt-1 text-medium-emphasis" };
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_TopBar = resolveComponent("TopBar");
|
||||
const _component_PageHeaderTitle = resolveComponent("PageHeaderTitle");
|
||||
const _component_PageHeader = resolveComponent("PageHeader");
|
||||
const _component_Tabs = resolveComponent("Tabs");
|
||||
const _component_Button = resolveComponent("Button");
|
||||
const _component_SettingsSegment = resolveComponent("SettingsSegment");
|
||||
const _component_SettingsLayout = resolveComponent("SettingsLayout");
|
||||
const _component_PageBody = resolveComponent("PageBody");
|
||||
const _component_Container = resolveComponent("Container");
|
||||
const _component_Content = resolveComponent("Content");
|
||||
const _component_Page = resolveComponent("Page");
|
||||
return openBlock(), createBlock(_component_Page, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TopBar, { breadcrumbs: $data.breadcrumbs }, null, 8, ["breadcrumbs"]),
|
||||
createVNode(_component_Content, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_Container, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_PageHeader, null, {
|
||||
start: withCtx(() => [
|
||||
createVNode(_component_PageHeaderTitle, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Apps")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
]),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_PageBody, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_SettingsLayout, null, {
|
||||
nav: withCtx(() => [
|
||||
createVNode(_component_Tabs, { site: $props.site }, null, 8, ["site"])
|
||||
]),
|
||||
segments: withCtx(() => [
|
||||
$props.site.project ? (openBlock(), createBlock(_component_SettingsSegment, { key: 0 }, {
|
||||
title: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Overview")), 1)
|
||||
]),
|
||||
subtitle: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("You currently have :application installed.", { application: $props.site.project })), 1)
|
||||
]),
|
||||
content: withCtx(() => [
|
||||
createVNode(_component_Button, {
|
||||
variant: "danger",
|
||||
onClick: $options.uninstall
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Uninstall")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}, 8, ["onClick"])
|
||||
]),
|
||||
_: 1
|
||||
})) : createCommentVNode("", true),
|
||||
!$props.site.project ? (openBlock(), createBlock(_component_SettingsSegment, { key: 1 }, {
|
||||
title: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Overview")), 1)
|
||||
]),
|
||||
subtitle: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("You have the ability here to directly install one of these applications on the fly.")), 1)
|
||||
]),
|
||||
content: withCtx(() => [
|
||||
createBaseVNode("div", _hoisted_1, [
|
||||
createVNode(_component_Button, {
|
||||
variant: $data.type === "wordpress" ? "primary" : "secondary",
|
||||
onClick: _cache[0] || (_cache[0] = ($event) => $options.prepareInstall("wordpress"))
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Install WordPress")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}, 8, ["variant"]),
|
||||
createVNode(_component_Button, {
|
||||
variant: $data.type === "nextcloud" ? "primary" : "secondary",
|
||||
onClick: _cache[1] || (_cache[1] = ($event) => $options.prepareInstall("nextcloud"))
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Install Nextcloud")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}, 8, ["variant"]),
|
||||
createVNode(_component_Button, {
|
||||
variant: $data.type === "october-cms" ? "primary" : "secondary",
|
||||
onClick: _cache[2] || (_cache[2] = ($event) => $options.prepareInstall("october-cms"))
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Install October CMS")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}, 8, ["variant"])
|
||||
])
|
||||
]),
|
||||
_: 1
|
||||
})) : createCommentVNode("", true),
|
||||
$data.type === "wordpress" ? (openBlock(), createBlock(_component_SettingsSegment, { key: 2 }, {
|
||||
title: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("WordPress")), 1)
|
||||
]),
|
||||
subtitle: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("WordPress is open source software you can use to create a beautiful website, blog, or app.")), 1)
|
||||
]),
|
||||
content: withCtx(() => [
|
||||
createBaseVNode("div", null, [
|
||||
withDirectives(createBaseVNode("input", {
|
||||
id: "create_database",
|
||||
class: "form-checkbox",
|
||||
type: "checkbox",
|
||||
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => $data.options.create_database = $event)
|
||||
}, null, 512), [
|
||||
[vModelCheckbox, $data.options.create_database]
|
||||
]),
|
||||
createBaseVNode("label", _hoisted_2, toDisplayString(_ctx.__("Create database & attach to WordPress")), 1),
|
||||
createBaseVNode("p", _hoisted_3, toDisplayString(_ctx.__("This will also create a database and attach it directly for you so you have a easy start.")), 1)
|
||||
]),
|
||||
createVNode(_component_Button, { onClick: $options.install }, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Start installation")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}, 8, ["onClick"]),
|
||||
createVNode(_component_Button, {
|
||||
variant: "secondary",
|
||||
onClick: _cache[4] || (_cache[4] = ($event) => $data.type = null)
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Cancel")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
]),
|
||||
_: 1
|
||||
})) : createCommentVNode("", true),
|
||||
$data.type === "nextcloud" ? (openBlock(), createBlock(_component_SettingsSegment, { key: 3 }, {
|
||||
title: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Nextcloud")), 1)
|
||||
]),
|
||||
subtitle: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Nextcloud is a suite of client-server software for creating and using file hosting services, it is comparable to Dropbox.")), 1)
|
||||
]),
|
||||
content: withCtx(() => [
|
||||
createVNode(_component_Button, { onClick: $options.install }, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Start installation")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}, 8, ["onClick"]),
|
||||
createVNode(_component_Button, {
|
||||
variant: "secondary",
|
||||
onClick: _cache[5] || (_cache[5] = ($event) => $data.type = null)
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Cancel")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
]),
|
||||
_: 1
|
||||
})) : createCommentVNode("", true),
|
||||
$data.type === "october-cms" ? (openBlock(), createBlock(_component_SettingsSegment, { key: 4 }, {
|
||||
title: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("October CMS")), 1)
|
||||
]),
|
||||
subtitle: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("October is a free, open-source and self-hosted content management system (CMS) based on the PHP programming language and Laravel web application framework.")), 1)
|
||||
]),
|
||||
content: withCtx(() => [
|
||||
createVNode(_component_Button, { onClick: $options.install }, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Start installation")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}, 8, ["onClick"]),
|
||||
createVNode(_component_Button, {
|
||||
variant: "secondary",
|
||||
onClick: _cache[6] || (_cache[6] = ($event) => $data.type = null)
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Cancel")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
]),
|
||||
_: 1
|
||||
})) : createCommentVNode("", true)
|
||||
]),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
});
|
||||
}
|
||||
const Apps = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
export {
|
||||
Apps as default
|
||||
};
|
||||
1
public/build/assets/Apps.8fc30789.js
vendored
1
public/build/assets/Apps.8fc30789.js
vendored
File diff suppressed because one or more lines are too long
140
public/build/assets/Article.449fe949.js
vendored
Normal file
140
public/build/assets/Article.449fe949.js
vendored
Normal file
@@ -0,0 +1,140 @@
|
||||
import TopBar from "./TopBar.cc8ad583.js";
|
||||
import { C as Container } from "./Container.23db6f9d.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout.46aebdcf.js";
|
||||
import { B as Button } from "./Button.f40f5f07.js";
|
||||
import { E as EmptyImage } from "./EmptyImage.626bec44.js";
|
||||
import { I as IconBox, a as IconGlobe, b as IconStorage } from "./IconStorage.3e58486a.js";
|
||||
import { M as Modal, a as ModalContainer } from "./ModalContainer.34fa6055.js";
|
||||
import { F as FormInput } from "./FormInput.8ab0f203.js";
|
||||
import { F as FormTextarea } from "./FormTextarea.deefc03c.js";
|
||||
import { F as FormActions } from "./Form.097b2c0b.js";
|
||||
import { S as SettingsSegment } from "./SettingsSegment.8dedf9a4.js";
|
||||
import { S as SettingsLayout } from "./SettingsLayout.76203a2a.js";
|
||||
import Tabs from "./Tabs.f7955794.js";
|
||||
import { f as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode, e as createTextVNode, t as toDisplayString, b as createBaseVNode } from "./app.d0c43a70.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper.cdc0426e.js";
|
||||
import "./TabBar.2102e192.js";
|
||||
import "./notification.4c298cac.js";
|
||||
const _sfc_main = {
|
||||
metaInfo() {
|
||||
return {
|
||||
title: this.article.title
|
||||
};
|
||||
},
|
||||
layout: MainLayout,
|
||||
components: {
|
||||
TopBar,
|
||||
Container,
|
||||
Content,
|
||||
Page,
|
||||
PageHeader,
|
||||
PageHeaderTitle,
|
||||
PageBody,
|
||||
Button,
|
||||
List,
|
||||
ListItem,
|
||||
StatusBubble,
|
||||
NotificationBadge,
|
||||
IconBox,
|
||||
IconGlobe,
|
||||
IconStorage,
|
||||
Modal,
|
||||
ModalContainer,
|
||||
FormInput,
|
||||
FormTextarea,
|
||||
FormActions,
|
||||
EmptyImage,
|
||||
Tabs,
|
||||
SettingsLayout,
|
||||
SettingsSegment
|
||||
},
|
||||
props: {
|
||||
category: Object,
|
||||
items: Object,
|
||||
article: Object
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
breadcrumbs: [
|
||||
{
|
||||
title: this.$page.props.settings.name,
|
||||
to: "/"
|
||||
},
|
||||
{
|
||||
title: this.__("Documentation"),
|
||||
to: this.route("documentation.index")
|
||||
},
|
||||
{
|
||||
title: this.category.title,
|
||||
to: this.route("documentation.show", this.category.id)
|
||||
},
|
||||
{
|
||||
title: this.article.title,
|
||||
to: this.route("documentation.article.show", [this.category.id, this.article.id])
|
||||
}
|
||||
]
|
||||
};
|
||||
}
|
||||
};
|
||||
const _hoisted_1 = ["innerHTML"];
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_TopBar = resolveComponent("TopBar");
|
||||
const _component_PageHeaderTitle = resolveComponent("PageHeaderTitle");
|
||||
const _component_PageHeader = resolveComponent("PageHeader");
|
||||
const _component_Tabs = resolveComponent("Tabs");
|
||||
const _component_SettingsLayout = resolveComponent("SettingsLayout");
|
||||
const _component_PageBody = resolveComponent("PageBody");
|
||||
const _component_Container = resolveComponent("Container");
|
||||
const _component_Content = resolveComponent("Content");
|
||||
const _component_Page = resolveComponent("Page");
|
||||
return openBlock(), createBlock(_component_Page, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TopBar, { breadcrumbs: $data.breadcrumbs }, null, 8, ["breadcrumbs"]),
|
||||
createVNode(_component_Content, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_Container, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_PageHeader, null, {
|
||||
start: withCtx(() => [
|
||||
createVNode(_component_PageHeaderTitle, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString($props.article.title), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
]),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_PageBody, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_SettingsLayout, null, {
|
||||
nav: withCtx(() => [
|
||||
createVNode(_component_Tabs, {
|
||||
items: $props.items.data
|
||||
}, null, 8, ["items"])
|
||||
]),
|
||||
segments: withCtx(() => [
|
||||
createBaseVNode("div", {
|
||||
class: "prose",
|
||||
innerHTML: $props.article.content
|
||||
}, null, 8, _hoisted_1)
|
||||
]),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
});
|
||||
}
|
||||
const Article = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
export {
|
||||
Article as default
|
||||
};
|
||||
1
public/build/assets/Article.917471d4.js
vendored
1
public/build/assets/Article.917471d4.js
vendored
@@ -1 +0,0 @@
|
||||
import r from"./TopBar.3db272ee.js";import i from"./Container.f87d9f62.js";import e from"./Content.e22a1fd6.js";import m from"./Page.3927bdbf.js";import p from"./PageHeader.a5f457a5.js";import n from"./PageHeaderTitle.3ed783af.js";import a from"./PageBody.dec1fae1.js";import s from"./Button.f17dffc9.js";import c from"./EmptyImage.4bfdf9ac.js";import f from"./List.d5d221b1.js";import l from"./ListItem.ee1e88fb.js";import u from"./StatusBubble.4f1d8322.js";import d from"./NotificationBadge.b6fae3d5.js";import g from"./MainLayout.39e63d2b.js";import _ from"./IconBox.e6c961ac.js";import y from"./IconGlobe.07030b80.js";import b from"./IconStorage.ef2b2e41.js";import h from"./Modal.a59fc373.js";import P from"./ModalContainer.51de3ea9.js";import v from"./FormInput.e3b01057.js";import x from"./FormTextarea.5b8e3d32.js";import B from"./FormActions.83ccca91.js";import S from"./SettingsSegment.e8fdfb41.js";import T from"./SettingsLayout.3305573b.js";import C from"./Tabs.7c761f05.js";import{n as I}from"./plugin-vue2_normalizer.000ba15c.js";import"./TopBar.f6a175cb.js";import"./Dropdown.d1060583.js";import"./DropdownList.02c48c2f.js";import"./DropdownListItem.ac31464c.js";import"./IconMoon.ade3e41b.js";import"./IconSun.8809e5d7.js";import"./IconSearch.27dac870.js";import"./IconButton.eadc8d3d.js";import"./Breadcrumbs.d39e2491.js";import"./BreadcrumbsItem.da3f8155.js";import"./TopBarTabBarContainer.3bdb2bb3.js";import"./TabBar.c1d45ed5.js";import"./TabBarItem.e9886f0a.js";import"./Confirm.888708f1.js";import"./Notification.d432029f.js";import"./IconDanger.2f6e115d.js";import"./IconWarning.ca92fb65.js";import"./IconSuccess.09b85716.js";import"./IconInfo.ad7662f9.js";import"./SearchPalette.282fdde5.js";import"./notification.f3a0f54e.js";import"./app.0131bc0c.js";import"./IconClose.edb7c8fd.js";import"./Form.2cdcadd9.js";import"./FormGroup.efd02a6a.js";import"./Label.9d0d3ee0.js";import"./ErrorText.b141a597.js";import"./HelperText.14a7ed0b.js";import"./IconClipboard.8551be1b.js";import"./IconKey.455a255f.js";const L={metaInfo(){return{title:this.article.title}},layout:g,components:{TopBar:r,Container:i,Content:e,Page:m,PageHeader:p,PageHeaderTitle:n,PageBody:a,Button:s,List:f,ListItem:l,StatusBubble:u,NotificationBadge:d,IconBox:_,IconGlobe:y,IconStorage:b,Modal:h,ModalContainer:P,FormInput:v,FormTextarea:x,FormActions:B,EmptyImage:c,Tabs:C,SettingsLayout:T,SettingsSegment:S},props:{category:Object,items:Object,article:Object},data(){return{breadcrumbs:[{title:this.$page.props.settings.name,to:"/"},{title:this.__("Documentation"),to:this.route("documentation.index")},{title:this.category.title,to:this.route("documentation.show",this.category.id)},{title:this.article.title,to:this.route("documentation.article.show",[this.category.id,this.article.id])}]}}};var H=function(){var t=this,o=t._self._c;return o("Page",[o("TopBar",{attrs:{breadcrumbs:t.breadcrumbs}}),o("Content",[o("Container",[o("PageHeader",{scopedSlots:t._u([{key:"start",fn:function(){return[o("PageHeaderTitle",[t._v(t._s(t.article.title))])]},proxy:!0}])}),o("PageBody",[o("SettingsLayout",{scopedSlots:t._u([{key:"nav",fn:function(){return[o("Tabs",{attrs:{items:t.items.data}})]},proxy:!0},{key:"segments",fn:function(){return[o("div",{staticClass:"prose",domProps:{innerHTML:t._s(t.article.content)}})]},proxy:!0}])})],1)],1)],1)],1)},F=[],M=I(L,H,F,!1,null,null,null,null);const wt=M.exports;export{wt as default};
|
||||
680
public/build/assets/Billing.12cb1bf8.js
vendored
Normal file
680
public/build/assets/Billing.12cb1bf8.js
vendored
Normal file
@@ -0,0 +1,680 @@
|
||||
import TopBar from "./TopBar.1920e57d.js";
|
||||
import { C as Container } from "./Container.23db6f9d.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout.46aebdcf.js";
|
||||
import { B as Button } from "./Button.f40f5f07.js";
|
||||
import { I as IconBox, a as IconGlobe, b as IconStorage } from "./IconStorage.3e58486a.js";
|
||||
import { I as IconArrowDown, a as IconArrowUp } from "./IconArrowDown.9b5fd04b.js";
|
||||
import { I as IconClose, M as Modal, a as ModalContainer } from "./ModalContainer.34fa6055.js";
|
||||
import { F as FormInput } from "./FormInput.8ab0f203.js";
|
||||
import { F as FormSelect } from "./FormSelect.08a72bf9.js";
|
||||
import { F as FormTextarea } from "./FormTextarea.deefc03c.js";
|
||||
import { F as FormActions } from "./Form.097b2c0b.js";
|
||||
import { T as Table, a as TableHead, b as TableHeader, c as TableRow, d as TableBody, e as TableData } from "./TableData.b232d5e4.js";
|
||||
import { u as useNotification } from "./notification.4c298cac.js";
|
||||
import { u as useConfirm } from "./confirm.c1a36d4c.js";
|
||||
import { f as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode, b as createBaseVNode, c as createElementBlock, t as toDisplayString, d as createCommentVNode, g as withModifiers, e as createTextVNode, k as renderList, F as Fragment } from "./app.d0c43a70.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper.cdc0426e.js";
|
||||
import "./TabBar.2102e192.js";
|
||||
const _sfc_main = {
|
||||
metaInfo() {
|
||||
return {
|
||||
title: `${this.__("Billing")}`
|
||||
};
|
||||
},
|
||||
layout: MainLayout,
|
||||
components: {
|
||||
TopBar,
|
||||
Container,
|
||||
Content,
|
||||
Page,
|
||||
PageHeader,
|
||||
PageHeaderTitle,
|
||||
PageBody,
|
||||
Button,
|
||||
List,
|
||||
ListItem,
|
||||
StatusBubble,
|
||||
NotificationBadge,
|
||||
IconBox,
|
||||
IconGlobe,
|
||||
IconStorage,
|
||||
IconArrowDown,
|
||||
IconArrowUp,
|
||||
IconClose,
|
||||
Modal,
|
||||
ModalContainer,
|
||||
FormInput,
|
||||
FormSelect,
|
||||
FormTextarea,
|
||||
FormActions,
|
||||
Table,
|
||||
TableHead,
|
||||
TableHeader,
|
||||
TableRow,
|
||||
TableBody,
|
||||
TableData
|
||||
},
|
||||
props: {
|
||||
packages: Array,
|
||||
countries: Object,
|
||||
subscription: [Object, null],
|
||||
public_key: String,
|
||||
data_client_secret: String,
|
||||
card: Object,
|
||||
filters: Object,
|
||||
ends: String
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
sending: false,
|
||||
clientSecret: this.data_client_secret,
|
||||
stripe: null,
|
||||
cardElement: null,
|
||||
cardHolderName: this.$page.props.auth.user.name,
|
||||
currentCardLastFour: this.card.last_four,
|
||||
currentCardBrand: this.card.brand,
|
||||
coupon: "",
|
||||
address: this.$page.props.auth.user.address,
|
||||
country: this.$page.props.auth.user.country,
|
||||
zip: this.$page.props.auth.user.zip,
|
||||
city: this.$page.props.auth.user.city,
|
||||
invoices: [],
|
||||
breadcrumbs: [
|
||||
{
|
||||
title: this.$page.props.settings.name,
|
||||
to: "/"
|
||||
},
|
||||
{
|
||||
title: this.__("Billing"),
|
||||
to: this.route("profile.billing.index")
|
||||
}
|
||||
]
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
const stripe = Stripe(this.public_key);
|
||||
this.stripe = stripe;
|
||||
const elements = stripe.elements();
|
||||
const cardElement = elements.create("card");
|
||||
cardElement.mount("#card-element");
|
||||
this.cardElement = cardElement;
|
||||
this.getInvoices();
|
||||
},
|
||||
watch: {
|
||||
sending: function(value) {
|
||||
if (value) {
|
||||
this.cardElement.update({
|
||||
disabled: true
|
||||
});
|
||||
} else {
|
||||
this.cardElement.update({
|
||||
disabled: false
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
useNotification,
|
||||
useConfirm,
|
||||
async updateBilling() {
|
||||
this.sending = true;
|
||||
const { setupIntent, error } = await this.stripe.confirmCardSetup(
|
||||
this.clientSecret,
|
||||
{
|
||||
payment_method: {
|
||||
card: this.cardElement,
|
||||
billing_details: {
|
||||
name: this.cardHolderName,
|
||||
address: {
|
||||
line1: this.address,
|
||||
postal_code: this.zip,
|
||||
city: this.city,
|
||||
country: this.country
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
if (error) {
|
||||
this.sending = false;
|
||||
this.useNotification({
|
||||
variant: "danger",
|
||||
title: this.__(`Error`),
|
||||
message: error.message
|
||||
});
|
||||
} else {
|
||||
const paymentMethod = setupIntent.payment_method;
|
||||
this.$inertia.post(this.route("profile.billing.update.card"), {
|
||||
payment_method: paymentMethod,
|
||||
billing_details: {
|
||||
name: this.cardHolderName,
|
||||
address: {
|
||||
line1: this.address,
|
||||
postal_code: this.zip,
|
||||
city: this.city,
|
||||
country: this.country
|
||||
}
|
||||
}
|
||||
}, {
|
||||
onStart: () => this.sending = true,
|
||||
onFinish: () => this.sending = false
|
||||
});
|
||||
}
|
||||
},
|
||||
updatePlan(id) {
|
||||
useConfirm({
|
||||
title: this.__("Are you sure?"),
|
||||
message: this.__("Are you ready to subscribe to this plan? If you have any coupon codes, make sure to enter them before subscribing."),
|
||||
variant: "info",
|
||||
onConfirm: () => {
|
||||
this.$inertia.post(this.route("profile.billing.update.plan"), {
|
||||
plan: id,
|
||||
coupon: this.coupon
|
||||
}, {
|
||||
onStart: () => this.sending = true,
|
||||
onFinish: () => this.sending = false
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
confirmCancel() {
|
||||
useConfirm({
|
||||
title: this.__("Are you sure?"),
|
||||
message: this.__("Your subscription will be put to an end. An expire date will be send to you when your plan expires."),
|
||||
onConfirm: () => this.cancel()
|
||||
});
|
||||
},
|
||||
cancel() {
|
||||
this.$inertia.delete(this.route("profile.billing.cancel.plan"), {
|
||||
onStart: () => this.sending = true,
|
||||
onFinish: () => this.sending = false
|
||||
});
|
||||
},
|
||||
getInvoices() {
|
||||
window.axios.get(this.route("profile.billing.invoices")).then((response) => this.invoices = response.data);
|
||||
},
|
||||
requestFilterUrl(properties) {
|
||||
this.$inertia.visit(route("profile.billing.index", properties), {
|
||||
only: ["filters", "packages"]
|
||||
});
|
||||
},
|
||||
deleteCard() {
|
||||
useConfirm({
|
||||
title: this.__("Are you sure?"),
|
||||
message: this.__("Are you sure you want to remove your card from your account? New payments will not be able to process."),
|
||||
onConfirm: () => {
|
||||
this.$inertia.delete(route("profile.billing.delete.card"), {
|
||||
onStart: () => {
|
||||
this.sending = true;
|
||||
},
|
||||
onFinish: () => {
|
||||
this.sending = false;
|
||||
this.currentCardLastFour = null;
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
const _hoisted_1 = { class: "grid grid-cols-1 md:grid-cols-5 gap-8" };
|
||||
const _hoisted_2 = { class: "md:col-span-2 space-y-4" };
|
||||
const _hoisted_3 = {
|
||||
key: 0,
|
||||
class: "space-y-4 border-b border-low-emphasis pb-4"
|
||||
};
|
||||
const _hoisted_4 = { class: "text-lg text-medium-emphasis" };
|
||||
const _hoisted_5 = { class: "text-lg text-medium-emphasis" };
|
||||
const _hoisted_6 = {
|
||||
key: 0,
|
||||
class: "border-b border-low-emphasis pb-4 space-y-2"
|
||||
};
|
||||
const _hoisted_7 = ["value", "textContent"];
|
||||
const _hoisted_8 = { class: "w-full pb-4" };
|
||||
const _hoisted_9 = {
|
||||
class: "form-label",
|
||||
for: "card-element"
|
||||
};
|
||||
const _hoisted_10 = /* @__PURE__ */ createBaseVNode("div", {
|
||||
id: "card-element",
|
||||
class: "form-input"
|
||||
}, null, -1);
|
||||
const _hoisted_11 = {
|
||||
key: 0,
|
||||
class: "md:col-span-3 space-y-8"
|
||||
};
|
||||
const _hoisted_12 = /* @__PURE__ */ createBaseVNode("div", {
|
||||
class: "bg-primary text-on-primary px-4 py-3 rounded relative space-y-2",
|
||||
role: "alert"
|
||||
}, [
|
||||
/* @__PURE__ */ createBaseVNode("strong", { class: "font-bold" }, "No packages available."),
|
||||
/* @__PURE__ */ createBaseVNode("p", { class: "block" }, " There are currently no packages to choose from. If you're and administrator, you can attach packages via the administrator area. ")
|
||||
], -1);
|
||||
const _hoisted_13 = [
|
||||
_hoisted_12
|
||||
];
|
||||
const _hoisted_14 = {
|
||||
key: 1,
|
||||
class: "md:col-span-3 space-y-8"
|
||||
};
|
||||
const _hoisted_15 = { class: "text-lg text-medium-emphasis" };
|
||||
const _hoisted_16 = ["aria-label"];
|
||||
const _hoisted_17 = ["aria-label"];
|
||||
const _hoisted_18 = ["aria-label"];
|
||||
const _hoisted_19 = ["aria-label"];
|
||||
const _hoisted_20 = { class: "md:col-span-5 space-y-8 border-t border-low-emphasis" };
|
||||
const _hoisted_21 = {
|
||||
key: 0,
|
||||
class: "mt-5 text-lg text-medium-emphasis"
|
||||
};
|
||||
const _hoisted_22 = ["href"];
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_TopBar = resolveComponent("TopBar");
|
||||
const _component_Button = resolveComponent("Button");
|
||||
const _component_form_input = resolveComponent("form-input");
|
||||
const _component_form_select = resolveComponent("form-select");
|
||||
const _component_IconArrowUp = resolveComponent("IconArrowUp");
|
||||
const _component_IconArrowDown = resolveComponent("IconArrowDown");
|
||||
const _component_TableHeader = resolveComponent("TableHeader");
|
||||
const _component_IconClose = resolveComponent("IconClose");
|
||||
const _component_inertia_link = resolveComponent("inertia-link");
|
||||
const _component_TableRow = resolveComponent("TableRow");
|
||||
const _component_TableHead = resolveComponent("TableHead");
|
||||
const _component_TableData = resolveComponent("TableData");
|
||||
const _component_TableBody = resolveComponent("TableBody");
|
||||
const _component_Table = resolveComponent("Table");
|
||||
const _component_PageBody = resolveComponent("PageBody");
|
||||
const _component_Container = resolveComponent("Container");
|
||||
const _component_Content = resolveComponent("Content");
|
||||
const _component_Page = resolveComponent("Page");
|
||||
return openBlock(), createBlock(_component_Page, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TopBar, { breadcrumbs: $data.breadcrumbs }, null, 8, ["breadcrumbs"]),
|
||||
createVNode(_component_Content, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_Container, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_PageBody, null, {
|
||||
default: withCtx(() => [
|
||||
createBaseVNode("div", _hoisted_1, [
|
||||
createBaseVNode("div", _hoisted_2, [
|
||||
$props.ends ? (openBlock(), createElementBlock("div", _hoisted_3, [
|
||||
createBaseVNode("h2", _hoisted_4, toDisplayString(_ctx.__("Subscription")), 1),
|
||||
createBaseVNode("p", null, " Renews on " + toDisplayString($props.ends), 1)
|
||||
])) : createCommentVNode("", true),
|
||||
createBaseVNode("h2", _hoisted_5, toDisplayString(_ctx.__("Card information")), 1),
|
||||
createBaseVNode("form", {
|
||||
onSubmit: _cache[5] || (_cache[5] = withModifiers((...args) => $options.updateBilling && $options.updateBilling(...args), ["prevent"])),
|
||||
class: "space-y-4"
|
||||
}, [
|
||||
$data.currentCardLastFour ? (openBlock(), createElementBlock("div", _hoisted_6, [
|
||||
createBaseVNode("p", null, " \xB7\xB7\xB7\xB7\xA0\xB7\xB7\xB7\xB7\xA0\xB7\xB7\xB7\xB7\xA0 " + toDisplayString($data.currentCardLastFour) + " (" + toDisplayString($data.currentCardBrand) + ") ", 1),
|
||||
createVNode(_component_Button, {
|
||||
onClick: $options.deleteCard,
|
||||
size: "sm",
|
||||
loading: $data.sending,
|
||||
variant: "danger",
|
||||
type: "button"
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Remove card")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}, 8, ["onClick", "loading"])
|
||||
])) : createCommentVNode("", true),
|
||||
createVNode(_component_form_input, {
|
||||
modelValue: $data.cardHolderName,
|
||||
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => $data.cardHolderName = $event),
|
||||
errors: _ctx.$page.props.errors.card_holder_name,
|
||||
disabled: $data.sending,
|
||||
id: "card-holder-name",
|
||||
label: _ctx.__("Card holder name")
|
||||
}, null, 8, ["modelValue", "errors", "disabled", "label"]),
|
||||
createVNode(_component_form_input, {
|
||||
modelValue: $data.address,
|
||||
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => $data.address = $event),
|
||||
errors: _ctx.$page.props.errors.address,
|
||||
disabled: $data.sending,
|
||||
label: _ctx.__("Address")
|
||||
}, null, 8, ["modelValue", "errors", "disabled", "label"]),
|
||||
createVNode(_component_form_select, {
|
||||
disabled: $data.sending,
|
||||
label: _ctx.__("Country"),
|
||||
errors: _ctx.$page.props.errors.country,
|
||||
modelValue: $data.country,
|
||||
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => $data.country = $event)
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
(openBlock(true), createElementBlock(Fragment, null, renderList($props.countries, (country, code) => {
|
||||
return openBlock(), createElementBlock("option", {
|
||||
value: code,
|
||||
textContent: toDisplayString(country)
|
||||
}, null, 8, _hoisted_7);
|
||||
}), 256))
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}, 8, ["disabled", "label", "errors", "modelValue"]),
|
||||
createVNode(_component_form_input, {
|
||||
modelValue: $data.zip,
|
||||
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => $data.zip = $event),
|
||||
errors: _ctx.$page.props.errors.zip,
|
||||
disabled: $data.sending,
|
||||
label: _ctx.__("ZIP (postal code)")
|
||||
}, null, 8, ["modelValue", "errors", "disabled", "label"]),
|
||||
createVNode(_component_form_input, {
|
||||
modelValue: $data.city,
|
||||
"onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => $data.city = $event),
|
||||
errors: _ctx.$page.props.errors.city,
|
||||
disabled: $data.sending,
|
||||
label: _ctx.__("City")
|
||||
}, null, 8, ["modelValue", "errors", "disabled", "label"]),
|
||||
createBaseVNode("div", _hoisted_8, [
|
||||
createBaseVNode("label", _hoisted_9, toDisplayString(_ctx.__("Card details")), 1),
|
||||
_hoisted_10
|
||||
]),
|
||||
createVNode(_component_Button, {
|
||||
"data-secret": $data.clientSecret,
|
||||
id: "card-button",
|
||||
loading: $data.sending,
|
||||
type: "submit"
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Save")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}, 8, ["data-secret", "loading"]),
|
||||
$props.subscription ? (openBlock(), createBlock(_component_Button, {
|
||||
key: 1,
|
||||
onClick: $options.confirmCancel,
|
||||
loading: $data.sending,
|
||||
variant: "danger",
|
||||
type: "button"
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Cancel")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}, 8, ["onClick", "loading"])) : createCommentVNode("", true)
|
||||
], 32)
|
||||
]),
|
||||
!$props.packages.length ? (openBlock(), createElementBlock("div", _hoisted_11, _hoisted_13)) : createCommentVNode("", true),
|
||||
$props.packages.length ? (openBlock(), createElementBlock("div", _hoisted_14, [
|
||||
createBaseVNode("h2", _hoisted_15, toDisplayString(_ctx.__("Available packages")), 1),
|
||||
createVNode(_component_form_input, {
|
||||
modelValue: $data.coupon,
|
||||
"onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => $data.coupon = $event),
|
||||
errors: _ctx.$page.props.errors.coupon,
|
||||
disabled: $data.sending,
|
||||
placeholder: _ctx.__("Enter a coupon code if you have one, before subscribing"),
|
||||
class: "pb-4",
|
||||
label: _ctx.__("Coupon")
|
||||
}, null, 8, ["modelValue", "errors", "disabled", "placeholder", "label"]),
|
||||
createVNode(_component_Table, { caption: "Package list overview" }, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TableHead, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TableRow, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TableHeader, null, {
|
||||
default: withCtx(() => [
|
||||
createBaseVNode("a", {
|
||||
href: "javascript:void(0);",
|
||||
"data-balloon-blunt": "",
|
||||
"aria-label": _ctx.__("Sort by name"),
|
||||
"data-balloon-pos": "up",
|
||||
class: "text-primary flex items-center space-x-2",
|
||||
onClick: _cache[7] || (_cache[7] = ($event) => $options.requestFilterUrl({ sortBy: { "name": $props.filters.sort.name === "asc" ? "desc" : "asc" } }))
|
||||
}, [
|
||||
createBaseVNode("span", null, toDisplayString(_ctx.__("Name")), 1),
|
||||
$props.filters.sort.name === "asc" ? (openBlock(), createBlock(_component_IconArrowUp, { key: 0 })) : createCommentVNode("", true),
|
||||
$props.filters.sort.name === "desc" ? (openBlock(), createBlock(_component_IconArrowDown, { key: 1 })) : createCommentVNode("", true)
|
||||
], 8, _hoisted_16)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_TableHeader, null, {
|
||||
default: withCtx(() => [
|
||||
createBaseVNode("a", {
|
||||
href: "javascript:void(0);",
|
||||
"data-balloon-blunt": "",
|
||||
"aria-label": _ctx.__("Sort by maximum sites"),
|
||||
"data-balloon-pos": "up",
|
||||
class: "text-primary flex items-center space-x-2",
|
||||
onClick: _cache[8] || (_cache[8] = ($event) => $options.requestFilterUrl({ sortBy: { "sites": $props.filters.sort.sites === "asc" ? "desc" : "asc" } }))
|
||||
}, [
|
||||
createBaseVNode("span", null, toDisplayString(_ctx.__("Max sites")), 1),
|
||||
$props.filters.sort.sites === "asc" ? (openBlock(), createBlock(_component_IconArrowUp, { key: 0 })) : createCommentVNode("", true),
|
||||
$props.filters.sort.sites === "desc" ? (openBlock(), createBlock(_component_IconArrowDown, { key: 1 })) : createCommentVNode("", true)
|
||||
], 8, _hoisted_17)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_TableHeader, null, {
|
||||
default: withCtx(() => [
|
||||
createBaseVNode("a", {
|
||||
href: "javascript:void(0);",
|
||||
"data-balloon-blunt": "",
|
||||
"aria-label": _ctx.__("Sort by maximum servers"),
|
||||
"data-balloon-pos": "up",
|
||||
class: "text-primary flex items-center space-x-2",
|
||||
onClick: _cache[9] || (_cache[9] = ($event) => $options.requestFilterUrl({ sortBy: { "servers": $props.filters.sort.servers === "asc" ? "desc" : "asc" } }))
|
||||
}, [
|
||||
createBaseVNode("span", null, toDisplayString(_ctx.__("Max servers")), 1),
|
||||
$props.filters.sort.servers === "asc" ? (openBlock(), createBlock(_component_IconArrowUp, { key: 0 })) : createCommentVNode("", true),
|
||||
$props.filters.sort.servers === "desc" ? (openBlock(), createBlock(_component_IconArrowDown, { key: 1 })) : createCommentVNode("", true)
|
||||
], 8, _hoisted_18)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_TableHeader, null, {
|
||||
default: withCtx(() => [
|
||||
createBaseVNode("a", {
|
||||
href: "javascript:void(0);",
|
||||
"data-balloon-blunt": "",
|
||||
"aria-label": _ctx.__("Sort by price"),
|
||||
"data-balloon-pos": "up",
|
||||
class: "text-primary flex items-center space-x-2",
|
||||
onClick: _cache[10] || (_cache[10] = ($event) => $options.requestFilterUrl({ sortBy: { "price": $props.filters.sort.price === "asc" ? "desc" : "asc" } }))
|
||||
}, [
|
||||
createBaseVNode("span", null, toDisplayString(_ctx.__("Price")), 1),
|
||||
$props.filters.sort.price === "asc" ? (openBlock(), createBlock(_component_IconArrowUp, { key: 0 })) : createCommentVNode("", true),
|
||||
$props.filters.sort.price === "desc" ? (openBlock(), createBlock(_component_IconArrowDown, { key: 1 })) : createCommentVNode("", true)
|
||||
], 8, _hoisted_19)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_TableHeader, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_inertia_link, {
|
||||
href: _ctx.route("profile.billing.index"),
|
||||
"data-balloon-blunt": "",
|
||||
"aria-label": _ctx.__("Clear sorting"),
|
||||
"data-balloon-pos": "up"
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_IconClose)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}, 8, ["href", "aria-label"])
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_TableBody, null, {
|
||||
default: withCtx(() => [
|
||||
(openBlock(true), createElementBlock(Fragment, null, renderList($props.packages, (webPackage) => {
|
||||
return openBlock(), createBlock(_component_TableRow, {
|
||||
key: webPackage.id
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TableData, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(webPackage.name), 1)
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1024),
|
||||
createVNode(_component_TableData, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(webPackage.maximum_sites === 0 ? "Unlimited" : webPackage.maximum_sites), 1)
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1024),
|
||||
createVNode(_component_TableData, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(webPackage.maximum_servers === 0 ? "Unlimited" : webPackage.maximum_servers), 1)
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1024),
|
||||
webPackage.period === "monthly" ? (openBlock(), createBlock(_component_TableData, { key: 0 }, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(webPackage.price_monthly) + " p/month ", 1)
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1024)) : webPackage.period === "yearly" ? (openBlock(), createBlock(_component_TableData, { key: 1 }, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(webPackage.price_yearly) + " yearly ", 1)
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1024)) : createCommentVNode("", true),
|
||||
createVNode(_component_TableData, { class: "text-right" }, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_Button, {
|
||||
size: "sm",
|
||||
disabled: $data.sending || $props.subscription && webPackage.plan_id === $props.subscription.stripe_plan,
|
||||
onClick: ($event) => $options.updatePlan(webPackage.id)
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Subscribe")), 1)
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1032, ["disabled", "onClick"])
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1024)
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1024);
|
||||
}), 128))
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
])) : createCommentVNode("", true),
|
||||
createBaseVNode("div", _hoisted_20, [
|
||||
$data.invoices.length ? (openBlock(), createElementBlock("h2", _hoisted_21, toDisplayString(_ctx.__("Invoices")), 1)) : createCommentVNode("", true),
|
||||
$data.invoices.length ? (openBlock(), createBlock(_component_Table, {
|
||||
key: 1,
|
||||
caption: "Invoice list overview"
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TableHead, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TableRow, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TableHeader, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Number")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_TableHeader, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Status")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_TableHeader, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Total")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_TableHeader, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Date")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_TableHeader)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_TableBody, null, {
|
||||
default: withCtx(() => [
|
||||
(openBlock(true), createElementBlock(Fragment, null, renderList($data.invoices, (invoice) => {
|
||||
return openBlock(), createBlock(_component_TableRow, {
|
||||
key: invoice.id
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TableData, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(invoice.number), 1)
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1024),
|
||||
createVNode(_component_TableData, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(invoice.status), 1)
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1024),
|
||||
createVNode(_component_TableData, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(invoice.total), 1)
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1024),
|
||||
createVNode(_component_TableData, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(invoice.created), 1)
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1024),
|
||||
createVNode(_component_TableData, null, {
|
||||
default: withCtx(() => [
|
||||
createBaseVNode("a", {
|
||||
class: "text-primary",
|
||||
href: _ctx.route("profile.billing.invoices.pdf", invoice.id)
|
||||
}, "Download", 8, _hoisted_22)
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1024)
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1024);
|
||||
}), 128))
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})) : createCommentVNode("", true)
|
||||
])
|
||||
])
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
});
|
||||
}
|
||||
const Billing = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
export {
|
||||
Billing as default
|
||||
};
|
||||
1
public/build/assets/Billing.a7f66e85.js
vendored
1
public/build/assets/Billing.a7f66e85.js
vendored
File diff suppressed because one or more lines are too long
102
public/build/assets/BillingError.8c620683.js
vendored
Normal file
102
public/build/assets/BillingError.8c620683.js
vendored
Normal file
@@ -0,0 +1,102 @@
|
||||
import TopBar from "./TopBar.1920e57d.js";
|
||||
import { C as Container } from "./Container.23db6f9d.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout.46aebdcf.js";
|
||||
import { B as Button } from "./Button.f40f5f07.js";
|
||||
import { I as IconBox, a as IconGlobe, b as IconStorage } from "./IconStorage.3e58486a.js";
|
||||
import { I as IconArrowDown, a as IconArrowUp } from "./IconArrowDown.9b5fd04b.js";
|
||||
import { I as IconClose, M as Modal, a as ModalContainer } from "./ModalContainer.34fa6055.js";
|
||||
import { f as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode, b as createBaseVNode } from "./app.d0c43a70.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper.cdc0426e.js";
|
||||
import "./TabBar.2102e192.js";
|
||||
import "./notification.4c298cac.js";
|
||||
import "./Form.097b2c0b.js";
|
||||
const _sfc_main = {
|
||||
metaInfo() {
|
||||
return {
|
||||
title: `${this.__("Billing error")}`
|
||||
};
|
||||
},
|
||||
layout: MainLayout,
|
||||
components: {
|
||||
TopBar,
|
||||
Container,
|
||||
Content,
|
||||
Page,
|
||||
PageHeader,
|
||||
PageHeaderTitle,
|
||||
PageBody,
|
||||
Button,
|
||||
List,
|
||||
ListItem,
|
||||
StatusBubble,
|
||||
NotificationBadge,
|
||||
IconBox,
|
||||
IconGlobe,
|
||||
IconStorage,
|
||||
IconArrowDown,
|
||||
IconArrowUp,
|
||||
IconClose,
|
||||
Modal,
|
||||
ModalContainer
|
||||
},
|
||||
props: {},
|
||||
data() {
|
||||
return {
|
||||
breadcrumbs: [
|
||||
{
|
||||
title: this.$page.props.settings.name,
|
||||
to: "/"
|
||||
},
|
||||
{
|
||||
title: this.__("Billing error"),
|
||||
to: this.route("profile.billing.index")
|
||||
}
|
||||
]
|
||||
};
|
||||
}
|
||||
};
|
||||
const _hoisted_1 = /* @__PURE__ */ createBaseVNode("div", {
|
||||
class: "bg-warning text-on-warning px-4 py-3 rounded relative space-y-2",
|
||||
role: "alert"
|
||||
}, [
|
||||
/* @__PURE__ */ createBaseVNode("strong", { class: "font-bold" }, "Problem with billing provider."),
|
||||
/* @__PURE__ */ createBaseVNode("p", { class: "block" }, " There's an issue getting in touch with the payment service provider. Please check your settings and the error log or get in touch with the administrator of this software. "),
|
||||
/* @__PURE__ */ createBaseVNode("a", {
|
||||
class: "block font-bold underline",
|
||||
href: "https://docs.ploi-core.io/digging-deeper/using-stripe",
|
||||
target: "_blank"
|
||||
}, "How to setup Stripe for billing")
|
||||
], -1);
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_TopBar = resolveComponent("TopBar");
|
||||
const _component_PageBody = resolveComponent("PageBody");
|
||||
const _component_Container = resolveComponent("Container");
|
||||
const _component_Content = resolveComponent("Content");
|
||||
const _component_Page = resolveComponent("Page");
|
||||
return openBlock(), createBlock(_component_Page, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TopBar, { breadcrumbs: $data.breadcrumbs }, null, 8, ["breadcrumbs"]),
|
||||
createVNode(_component_Content, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_Container, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_PageBody, null, {
|
||||
default: withCtx(() => [
|
||||
_hoisted_1
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
});
|
||||
}
|
||||
const BillingError = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
export {
|
||||
BillingError as default
|
||||
};
|
||||
1
public/build/assets/BillingError.eb08da5b.js
vendored
1
public/build/assets/BillingError.eb08da5b.js
vendored
@@ -1 +0,0 @@
|
||||
import t from"./TopBar.51894da2.js";import i from"./Container.f87d9f62.js";import e from"./Content.e22a1fd6.js";import m from"./Page.3927bdbf.js";import n from"./PageHeader.a5f457a5.js";import p from"./PageHeaderTitle.3ed783af.js";import a from"./PageBody.dec1fae1.js";import s from"./Button.f17dffc9.js";import l from"./List.d5d221b1.js";import f from"./ListItem.ee1e88fb.js";import c from"./StatusBubble.4f1d8322.js";import g from"./NotificationBadge.b6fae3d5.js";import d from"./MainLayout.39e63d2b.js";import u from"./IconBox.e6c961ac.js";import _ from"./IconGlobe.07030b80.js";import b from"./IconStorage.ef2b2e41.js";import h from"./IconArrowUp.5ed32d30.js";import v from"./IconArrowDown.defeed18.js";import B from"./IconClose.edb7c8fd.js";import C from"./Modal.a59fc373.js";import w from"./ModalContainer.51de3ea9.js";import{n as y}from"./plugin-vue2_normalizer.000ba15c.js";import"./TopBar.f6a175cb.js";import"./Dropdown.d1060583.js";import"./DropdownList.02c48c2f.js";import"./DropdownListItem.ac31464c.js";import"./IconMoon.ade3e41b.js";import"./IconSun.8809e5d7.js";import"./IconSearch.27dac870.js";import"./IconButton.eadc8d3d.js";import"./Breadcrumbs.d39e2491.js";import"./BreadcrumbsItem.da3f8155.js";import"./TopBarTabBarContainer.3bdb2bb3.js";import"./TabBar.c1d45ed5.js";import"./TabBarItem.e9886f0a.js";import"./Confirm.888708f1.js";import"./Notification.d432029f.js";import"./IconDanger.2f6e115d.js";import"./IconWarning.ca92fb65.js";import"./IconSuccess.09b85716.js";import"./IconInfo.ad7662f9.js";import"./SearchPalette.282fdde5.js";import"./notification.f3a0f54e.js";import"./app.0131bc0c.js";import"./FormActions.83ccca91.js";import"./Form.2cdcadd9.js";const I={metaInfo(){return{title:`${this.__("Billing error")}`}},layout:d,components:{TopBar:t,Container:i,Content:e,Page:m,PageHeader:n,PageHeaderTitle:p,PageBody:a,Button:s,List:l,ListItem:f,StatusBubble:c,NotificationBadge:g,IconBox:u,IconGlobe:_,IconStorage:b,IconArrowDown:v,IconArrowUp:h,IconClose:B,Modal:C,ModalContainer:w},props:{},data(){return{breadcrumbs:[{title:this.$page.props.settings.name,to:"/"},{title:this.__("Billing error"),to:this.route("profile.billing.index")}]}}};var P=function(){var o=this,r=o._self._c;return r("Page",[r("TopBar",{attrs:{breadcrumbs:o.breadcrumbs}}),r("Content",[r("Container",[r("PageBody",[r("div",{staticClass:"bg-warning text-on-warning px-4 py-3 rounded relative space-y-2",attrs:{role:"alert"}},[r("strong",{staticClass:"font-bold"},[o._v("Problem with billing provider.")]),r("p",{staticClass:"block"},[o._v(" There's an issue getting in touch with the payment service provider. Please check your settings and the error log or get in touch with the administrator of this software. ")]),r("a",{staticClass:"block font-bold underline",attrs:{href:"https://docs.ploi-core.io/digging-deeper/using-stripe",target:"_blank"}},[o._v("How to setup Stripe for billing")])])])],1)],1)],1)},x=[],k=y(I,P,x,!1,null,null,null,null);const Cr=k.exports;export{Cr as default};
|
||||
1
public/build/assets/Breadcrumbs.d39e2491.js
vendored
1
public/build/assets/Breadcrumbs.d39e2491.js
vendored
@@ -1 +0,0 @@
|
||||
import n from"./BreadcrumbsItem.da3f8155.js";import{n as a}from"./plugin-vue2_normalizer.000ba15c.js";const l={components:{BreadcrumbsItem:n},props:{items:{type:Array,required:!0}}};var o=function(){var e=this,t=e._self._c;return t("ul",{staticClass:"flex items-center space-x-2"},e._l(e.items,function(r,s){return t("li",{key:r.title},[t("BreadcrumbsItem",{attrs:{to:r.to}},[e._v(e._s(r.title))]),s<e.items.length-1?t("span",{staticClass:"ml-2 text-low-emphasis"},[e._v("/")]):e._e()],1)}),0)},c=[],m=a(l,o,c,!1,null,null,null,null);const p=m.exports;export{p as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{n as r}from"./plugin-vue2_normalizer.000ba15c.js";const n={props:{to:{type:String,required:!0}}};var s=function(){var t=this,e=t._self._c;return e("inertia-link",{staticClass:"font-medium text-body text-breadcrumbs",attrs:{href:t.to}},[t._t("default")],2)},a=[],o=r(n,s,a,!1,null,null,null,null);const c=o.exports;export{c as default};
|
||||
1
public/build/assets/Button.f17dffc9.js
vendored
1
public/build/assets/Button.f17dffc9.js
vendored
@@ -1 +0,0 @@
|
||||
import{n}from"./plugin-vue2_normalizer.000ba15c.js";const l="items-center justify-center font-medium capitalize rounded select-none focus:outline-none",i="flex w-full text-body",r="inline-flex text-small",a={primary:"bg-primary text-on-primary shadow",danger:"bg-danger text-on-danger shadow",secondary:"bg-surface-2 text-high-emphasis"},o={sm:"h-8 px-2",md:"h-10 px-5"},d={props:{as:{default:()=>"button"},href:{default:()=>null},block:{type:Boolean,default:()=>!1},variant:{type:String,default:()=>"primary",validator:s=>Object.keys(a).includes(s)},size:{type:String,default:"md"},loading:{default:!1},disabled:{default:!1}},data(){return{baseClasses:l,flexClasses:i,inlineFlexClasses:r,variantClasses:a,sizeClasses:o}}};var c=function(){var e=this,t=e._self._c;return t(e.as,{tag:"Component",class:[e.baseClasses,e.sizeClasses[e.size],e.variantClasses[e.variant],e.block?e.flexClasses:e.inlineFlexClasses,e.disabled||e.loading?"opacity-50":"",e.loading?"cursor-wait":""],attrs:{disabled:e.loading||e.disabled,href:e.href},on:{click:function(m){return e.$emit("click")}}},[e._t("default")],2)},f=[],u=n(d,c,f,!1,null,null,null,null);const x=u.exports;export{x as default};
|
||||
76
public/build/assets/Button.f40f5f07.js
vendored
Normal file
76
public/build/assets/Button.f40f5f07.js
vendored
Normal file
@@ -0,0 +1,76 @@
|
||||
import { o as openBlock, f as createBlock, w as withCtx, h as renderSlot, n as normalizeClass, i as resolveDynamicComponent } from "./app.d0c43a70.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper.cdc0426e.js";
|
||||
const baseClasses = "items-center justify-center font-medium capitalize rounded select-none focus:outline-none";
|
||||
const flexClasses = "flex w-full text-body";
|
||||
const inlineFlexClasses = "inline-flex text-small";
|
||||
const variantClasses = {
|
||||
primary: "bg-primary text-on-primary shadow",
|
||||
danger: "bg-danger text-on-danger shadow",
|
||||
secondary: "bg-surface-2 text-high-emphasis"
|
||||
};
|
||||
const sizeClasses = {
|
||||
sm: "h-8 px-2",
|
||||
md: "h-10 px-5"
|
||||
};
|
||||
const _sfc_main = {
|
||||
props: {
|
||||
as: {
|
||||
default: () => "button"
|
||||
},
|
||||
href: {
|
||||
default: () => null
|
||||
},
|
||||
block: {
|
||||
type: Boolean,
|
||||
default: () => false
|
||||
},
|
||||
variant: {
|
||||
type: String,
|
||||
default: () => "primary",
|
||||
validator: (variant) => Object.keys(variantClasses).includes(variant)
|
||||
},
|
||||
size: {
|
||||
type: String,
|
||||
default: "md"
|
||||
},
|
||||
loading: {
|
||||
default: false
|
||||
},
|
||||
disabled: {
|
||||
default: false
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
baseClasses,
|
||||
flexClasses,
|
||||
inlineFlexClasses,
|
||||
variantClasses,
|
||||
sizeClasses
|
||||
};
|
||||
}
|
||||
};
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
return openBlock(), createBlock(resolveDynamicComponent($props.as), {
|
||||
onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("click")),
|
||||
class: normalizeClass([
|
||||
$data.baseClasses,
|
||||
$data.sizeClasses[$props.size],
|
||||
$data.variantClasses[$props.variant],
|
||||
$props.block ? $data.flexClasses : $data.inlineFlexClasses,
|
||||
$props.disabled || $props.loading ? "opacity-50" : "",
|
||||
$props.loading ? "cursor-wait" : ""
|
||||
]),
|
||||
disabled: $props.loading || $props.disabled,
|
||||
href: $props.href
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
renderSlot(_ctx.$slots, "default")
|
||||
], void 0, true),
|
||||
_: 3
|
||||
}, 8, ["class", "disabled", "href"]);
|
||||
}
|
||||
const Button = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
export {
|
||||
Button as B
|
||||
};
|
||||
1
public/build/assets/Certificates.6cdfaf09.js
vendored
1
public/build/assets/Certificates.6cdfaf09.js
vendored
File diff suppressed because one or more lines are too long
398
public/build/assets/Certificates.cddd25bd.js
vendored
Normal file
398
public/build/assets/Certificates.cddd25bd.js
vendored
Normal file
@@ -0,0 +1,398 @@
|
||||
import TopBar from "./TopBar.27e62198.js";
|
||||
import { C as Container } from "./Container.23db6f9d.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout.46aebdcf.js";
|
||||
import { B as Button } from "./Button.f40f5f07.js";
|
||||
import { S as SettingsLayout } from "./SettingsLayout.76203a2a.js";
|
||||
import { S as SettingsSegment } from "./SettingsSegment.8dedf9a4.js";
|
||||
import { F as FormInput } from "./FormInput.8ab0f203.js";
|
||||
import { F as FormSelect } from "./FormSelect.08a72bf9.js";
|
||||
import { F as FormTextarea } from "./FormTextarea.deefc03c.js";
|
||||
import { a as Form, F as FormActions } from "./Form.097b2c0b.js";
|
||||
import { P as Pagination } from "./Pagination.99c0720a.js";
|
||||
import { E as EmptyImage } from "./EmptyImage.626bec44.js";
|
||||
import { u as useConfirm } from "./confirm.c1a36d4c.js";
|
||||
import Tabs from "./Tabs.992be93e.js";
|
||||
import { T as Table, a as TableHead, b as TableHeader, c as TableRow, d as TableBody, e as TableData } from "./TableData.b232d5e4.js";
|
||||
import { f as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode, e as createTextVNode, t as toDisplayString, c as createElementBlock, d as createCommentVNode, b as createBaseVNode, g as withModifiers, k as renderList, F as Fragment } from "./app.d0c43a70.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper.cdc0426e.js";
|
||||
import "./TabBar.2102e192.js";
|
||||
import "./notification.4c298cac.js";
|
||||
const _sfc_main = {
|
||||
metaInfo() {
|
||||
return {
|
||||
title: `${this.__("Certificates")} - ${this.site.domain}`
|
||||
};
|
||||
},
|
||||
layout: MainLayout,
|
||||
components: {
|
||||
TopBar,
|
||||
Container,
|
||||
Content,
|
||||
Page,
|
||||
PageHeader,
|
||||
PageHeaderTitle,
|
||||
PageBody,
|
||||
Button,
|
||||
List,
|
||||
ListItem,
|
||||
StatusBubble,
|
||||
NotificationBadge,
|
||||
FormInput,
|
||||
FormSelect,
|
||||
FormTextarea,
|
||||
SettingsLayout,
|
||||
SettingsSegment,
|
||||
Form,
|
||||
FormActions,
|
||||
Pagination,
|
||||
Tabs,
|
||||
Table,
|
||||
TableHead,
|
||||
TableHeader,
|
||||
TableRow,
|
||||
TableBody,
|
||||
TableData,
|
||||
EmptyImage
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
sending: false,
|
||||
form: {
|
||||
domain: null,
|
||||
type: "letsencrypt",
|
||||
certificate: null,
|
||||
private: null
|
||||
},
|
||||
breadcrumbs: [
|
||||
{
|
||||
title: this.$page.props.settings.name,
|
||||
to: "/"
|
||||
},
|
||||
{
|
||||
title: this.__("Sites"),
|
||||
to: this.route("sites.index")
|
||||
},
|
||||
{
|
||||
title: this.site.domain,
|
||||
to: this.route("sites.show", this.site.id)
|
||||
},
|
||||
{
|
||||
title: this.__("Certificates"),
|
||||
to: this.route("sites.certificates.index", this.site.id)
|
||||
}
|
||||
]
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
if (this.shouldBePolling) {
|
||||
this.startPollingInterval();
|
||||
}
|
||||
this.setDomainData();
|
||||
},
|
||||
watch: {
|
||||
shouldBePolling: function(value) {
|
||||
if (!value) {
|
||||
this.clearPollingInterval();
|
||||
return;
|
||||
}
|
||||
if (!this.pollingInterval) {
|
||||
this.startPollingInterval();
|
||||
}
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
shouldBePolling() {
|
||||
return !!this.certificates.data.filter((certificate) => {
|
||||
return certificate.status === "busy";
|
||||
}).length;
|
||||
}
|
||||
},
|
||||
props: {
|
||||
site: Object,
|
||||
certificates: Object
|
||||
},
|
||||
methods: {
|
||||
startPollingInterval() {
|
||||
this.pollingInterval = setInterval(function() {
|
||||
this.poll();
|
||||
}.bind(this), 3e3);
|
||||
},
|
||||
clearPollingInterval() {
|
||||
clearTimeout(this.pollingInterval);
|
||||
this.pollingInterval = null;
|
||||
},
|
||||
poll() {
|
||||
this.$inertia.get(this.route("sites.certificates.index", this.site.id), {
|
||||
only: ["certificates"],
|
||||
preserveScroll: true
|
||||
});
|
||||
},
|
||||
submit() {
|
||||
this.sending = true;
|
||||
this.$inertia.post(this.route("sites.certificates.store", this.site.id), this.form, {
|
||||
onFinish: () => {
|
||||
this.sending = false;
|
||||
if (!Object.keys(this.$page.props.errors).length) {
|
||||
this.setDomainData();
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
confirmDelete(certificate) {
|
||||
useConfirm({
|
||||
title: this.__("Are you sure?"),
|
||||
message: `Your certificate will be deleted permanently, this action cannot be undone.`,
|
||||
onConfirm: () => this.delete(certificate)
|
||||
});
|
||||
},
|
||||
delete(certificate) {
|
||||
this.$inertia.delete(this.route("sites.certificates.delete", [this.site.id, certificate.id]), {
|
||||
preserveScroll: true
|
||||
});
|
||||
},
|
||||
setDomainData(withAliases) {
|
||||
this.form.certificate = null;
|
||||
this.form.private = null;
|
||||
if (this.site.domain.startsWith("www.")) {
|
||||
this.form.domain = this.site.domain + "," + this.site.domain.replace("www.", "");
|
||||
} else {
|
||||
this.form.domain = this.site.domain + ",www." + this.site.domain;
|
||||
}
|
||||
if (withAliases) {
|
||||
this.form.domain = this.form.domain + "," + this.site.aliases.join(",");
|
||||
}
|
||||
}
|
||||
},
|
||||
beforeDestroy() {
|
||||
this.clearPollingInterval();
|
||||
}
|
||||
};
|
||||
const _hoisted_1 = ["textContent"];
|
||||
const _hoisted_2 = ["textContent"];
|
||||
const _hoisted_3 = /* @__PURE__ */ createBaseVNode("option", { value: "letsencrypt" }, "Let's Encrypt certificate", -1);
|
||||
const _hoisted_4 = /* @__PURE__ */ createBaseVNode("option", { value: "custom" }, "Custom SSL certificate", -1);
|
||||
const _hoisted_5 = /* @__PURE__ */ createTextVNode("Delete ");
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_TopBar = resolveComponent("TopBar");
|
||||
const _component_PageHeaderTitle = resolveComponent("PageHeaderTitle");
|
||||
const _component_PageHeader = resolveComponent("PageHeader");
|
||||
const _component_Tabs = resolveComponent("Tabs");
|
||||
const _component_FormSelect = resolveComponent("FormSelect");
|
||||
const _component_FormInput = resolveComponent("FormInput");
|
||||
const _component_FormTextarea = resolveComponent("FormTextarea");
|
||||
const _component_Button = resolveComponent("Button");
|
||||
const _component_FormActions = resolveComponent("FormActions");
|
||||
const _component_SettingsSegment = resolveComponent("SettingsSegment");
|
||||
const _component_EmptyImage = resolveComponent("EmptyImage");
|
||||
const _component_TableHeader = resolveComponent("TableHeader");
|
||||
const _component_TableRow = resolveComponent("TableRow");
|
||||
const _component_TableHead = resolveComponent("TableHead");
|
||||
const _component_StatusBubble = resolveComponent("StatusBubble");
|
||||
const _component_TableData = resolveComponent("TableData");
|
||||
const _component_TableBody = resolveComponent("TableBody");
|
||||
const _component_Table = resolveComponent("Table");
|
||||
const _component_pagination = resolveComponent("pagination");
|
||||
const _component_SettingsLayout = resolveComponent("SettingsLayout");
|
||||
const _component_PageBody = resolveComponent("PageBody");
|
||||
const _component_Container = resolveComponent("Container");
|
||||
const _component_Content = resolveComponent("Content");
|
||||
const _component_Page = resolveComponent("Page");
|
||||
return openBlock(), createBlock(_component_Page, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TopBar, { breadcrumbs: $data.breadcrumbs }, null, 8, ["breadcrumbs"]),
|
||||
createVNode(_component_Content, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_Container, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_PageHeader, null, {
|
||||
start: withCtx(() => [
|
||||
createVNode(_component_PageHeaderTitle, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Certificates")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
]),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_PageBody, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_SettingsLayout, null, {
|
||||
nav: withCtx(() => [
|
||||
createVNode(_component_Tabs, { site: $props.site }, null, 8, ["site"])
|
||||
]),
|
||||
segments: withCtx(() => [
|
||||
createVNode(_component_SettingsSegment, null, {
|
||||
title: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Create")), 1)
|
||||
]),
|
||||
subtitle: withCtx(() => [
|
||||
$data.form.type === "letsencrypt" ? (openBlock(), createElementBlock("span", {
|
||||
key: 0,
|
||||
textContent: toDisplayString(_ctx.__("Request a new Let's Encrypt certificate here. Make sure that the DNS has fully propagated."))
|
||||
}, null, 8, _hoisted_1)) : createCommentVNode("", true),
|
||||
$data.form.type === "custom" ? (openBlock(), createElementBlock("span", {
|
||||
key: 1,
|
||||
textContent: toDisplayString(_ctx.__("Install your own SSL certificate here. Make sure to enter the private key and certificate."))
|
||||
}, null, 8, _hoisted_2)) : createCommentVNode("", true)
|
||||
]),
|
||||
form: withCtx(() => [
|
||||
createBaseVNode("form", {
|
||||
class: "space-y-4",
|
||||
onSubmit: _cache[5] || (_cache[5] = withModifiers((...args) => $options.submit && $options.submit(...args), ["prevent"]))
|
||||
}, [
|
||||
createVNode(_component_FormSelect, {
|
||||
label: _ctx.__("Select certificate type"),
|
||||
modelValue: $data.form.type,
|
||||
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => $data.form.type = $event)
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
_hoisted_3,
|
||||
_hoisted_4
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}, 8, ["label", "modelValue"]),
|
||||
createBaseVNode("div", null, [
|
||||
$data.form.type === "letsencrypt" ? (openBlock(), createBlock(_component_FormInput, {
|
||||
key: 0,
|
||||
label: _ctx.__("Domain"),
|
||||
errors: _ctx.$page.props.errors.domain,
|
||||
modelValue: $data.form.domain,
|
||||
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => $data.form.domain = $event)
|
||||
}, null, 8, ["label", "errors", "modelValue"])) : createCommentVNode("", true),
|
||||
createBaseVNode("button", {
|
||||
type: "button",
|
||||
onClick: _cache[2] || (_cache[2] = ($event) => $options.setDomainData(true)),
|
||||
class: "text-primary text-small border-b border-dotted"
|
||||
}, "Click here to add aliases")
|
||||
]),
|
||||
$data.form.type === "custom" ? (openBlock(), createBlock(_component_FormTextarea, {
|
||||
key: 0,
|
||||
label: _ctx.__("Private key"),
|
||||
errors: _ctx.$page.props.errors.private,
|
||||
rows: "2",
|
||||
modelValue: $data.form.private,
|
||||
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => $data.form.private = $event)
|
||||
}, null, 8, ["label", "errors", "modelValue"])) : createCommentVNode("", true),
|
||||
$data.form.type === "custom" ? (openBlock(), createBlock(_component_FormTextarea, {
|
||||
key: 1,
|
||||
label: _ctx.__("Certificate"),
|
||||
errors: _ctx.$page.props.errors.certificate,
|
||||
rows: "2",
|
||||
modelValue: $data.form.certificate,
|
||||
"onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => $data.form.certificate = $event)
|
||||
}, null, 8, ["label", "errors", "modelValue"])) : createCommentVNode("", true),
|
||||
createVNode(_component_FormActions, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_Button, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Save changes")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], 32)
|
||||
]),
|
||||
_: 1
|
||||
}),
|
||||
!$props.certificates.meta.total ? (openBlock(), createBlock(_component_EmptyImage, { key: 0 })) : createCommentVNode("", true),
|
||||
$props.certificates.meta.total ? (openBlock(), createBlock(_component_SettingsSegment, { key: 1 }, {
|
||||
title: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Certificates")), 1)
|
||||
]),
|
||||
content: withCtx(() => [
|
||||
createBaseVNode("div", null, [
|
||||
createVNode(_component_Table, { caption: "Cronjob list overview" }, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TableHead, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TableRow, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TableHeader),
|
||||
createVNode(_component_TableHeader, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Certificate")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_TableHeader)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_TableBody, null, {
|
||||
default: withCtx(() => [
|
||||
(openBlock(true), createElementBlock(Fragment, null, renderList($props.certificates.data, (certificate) => {
|
||||
return openBlock(), createBlock(_component_TableRow, {
|
||||
key: certificate.id
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TableData, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_StatusBubble, {
|
||||
variant: certificate.status === "busy" ? "gray" : "success"
|
||||
}, null, 8, ["variant"])
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1024),
|
||||
createVNode(_component_TableData, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(certificate.domain), 1)
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1024),
|
||||
createVNode(_component_TableData, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_Button, {
|
||||
disabled: certificate.status === "busy",
|
||||
variant: "danger",
|
||||
size: "sm",
|
||||
onClick: ($event) => $options.confirmDelete(certificate)
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
_hoisted_5
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1032, ["disabled", "onClick"])
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1024)
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1024);
|
||||
}), 128))
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
]),
|
||||
createVNode(_component_pagination, { links: $props.certificates }, null, 8, ["links"])
|
||||
]),
|
||||
_: 1
|
||||
})) : createCommentVNode("", true)
|
||||
]),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
});
|
||||
}
|
||||
const Certificates = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
export {
|
||||
Certificates as default
|
||||
};
|
||||
1
public/build/assets/Closed.94a0d177.js
vendored
1
public/build/assets/Closed.94a0d177.js
vendored
@@ -1 +0,0 @@
|
||||
import i from"./TopBar.5d5cd899.js";import e from"./Container.f87d9f62.js";import m from"./Content.e22a1fd6.js";import p from"./Page.3927bdbf.js";import s from"./PageHeader.a5f457a5.js";import n from"./PageHeaderTitle.3ed783af.js";import a from"./PageBody.dec1fae1.js";import u from"./Button.f17dffc9.js";import f from"./List.d5d221b1.js";import l from"./ListItem.ee1e88fb.js";import d from"./StatusBubble.4f1d8322.js";import _ from"./NotificationBadge.b6fae3d5.js";import c from"./MainLayout.39e63d2b.js";import g from"./IconBox.e6c961ac.js";import C from"./IconGlobe.07030b80.js";import b from"./IconStorage.ef2b2e41.js";import h from"./Modal.a59fc373.js";import y from"./ModalContainer.51de3ea9.js";import x from"./FormInput.e3b01057.js";import B from"./FormActions.83ccca91.js";import{n as P}from"./plugin-vue2_normalizer.000ba15c.js";import"./TopBar.f6a175cb.js";import"./Dropdown.d1060583.js";import"./DropdownList.02c48c2f.js";import"./DropdownListItem.ac31464c.js";import"./IconMoon.ade3e41b.js";import"./IconSun.8809e5d7.js";import"./IconSearch.27dac870.js";import"./IconButton.eadc8d3d.js";import"./Breadcrumbs.d39e2491.js";import"./BreadcrumbsItem.da3f8155.js";import"./TopBarTabBarContainer.3bdb2bb3.js";import"./TabBar.c1d45ed5.js";import"./TabBarItem.e9886f0a.js";import"./Confirm.888708f1.js";import"./Notification.d432029f.js";import"./IconDanger.2f6e115d.js";import"./IconWarning.ca92fb65.js";import"./IconSuccess.09b85716.js";import"./IconInfo.ad7662f9.js";import"./SearchPalette.282fdde5.js";import"./notification.f3a0f54e.js";import"./app.0131bc0c.js";import"./IconClose.edb7c8fd.js";import"./Form.2cdcadd9.js";import"./FormGroup.efd02a6a.js";import"./Label.9d0d3ee0.js";import"./ErrorText.b141a597.js";import"./HelperText.14a7ed0b.js";import"./IconClipboard.8551be1b.js";import"./IconKey.455a255f.js";const v={metaInfo(){return{title:`${this.__("Closed support requests")}`}},layout:c,components:{TopBar:i,Container:e,Content:m,Page:p,PageHeader:s,PageHeaderTitle:n,PageBody:a,Button:u,List:f,ListItem:l,StatusBubble:d,NotificationBadge:_,IconBox:g,IconGlobe:C,IconStorage:b,Modal:h,ModalContainer:y,FormInput:x,FormActions:B},props:{tickets:Object},data(){return{breadcrumbs:[{title:this.$page.props.settings.name,to:"/"},{title:this.__("Support"),to:this.route("support.index")},{title:this.__("Closed support requests"),to:this.route("support.index.closed")}]}},methods:{}};var I=function(){var t=this,o=t._self._c;return o("Page",[o("TopBar",{attrs:{breadcrumbs:t.breadcrumbs}}),o("Content",[o("Container",[o("PageHeader",{scopedSlots:t._u([{key:"start",fn:function(){return[o("PageHeaderTitle",[t._v(t._s(t.__("Closed support requests")))])]},proxy:!0}])}),o("PageBody",[o("List",t._l(t.tickets.data,function(r){return o("ListItem",{key:r.id,scopedSlots:t._u([{key:"title",fn:function(){return[o("inertia-link",{staticClass:"text-primary font-medium",attrs:{href:t.route("support.show",r.id)}},[t._v(" "+t._s(r.title)+" ")])]},proxy:!0}],null,!0)})}),1)],1)],1)],1)],1)},L=[],S=P(v,I,L,!1,null,null,null,null);const Lt=S.exports;export{Lt as default};
|
||||
134
public/build/assets/Closed.d8fe68d2.js
vendored
Normal file
134
public/build/assets/Closed.d8fe68d2.js
vendored
Normal file
@@ -0,0 +1,134 @@
|
||||
import TopBar from "./TopBar.a535e262.js";
|
||||
import { C as Container } from "./Container.23db6f9d.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout.46aebdcf.js";
|
||||
import { B as Button } from "./Button.f40f5f07.js";
|
||||
import { I as IconBox, a as IconGlobe, b as IconStorage } from "./IconStorage.3e58486a.js";
|
||||
import { M as Modal, a as ModalContainer } from "./ModalContainer.34fa6055.js";
|
||||
import { F as FormInput } from "./FormInput.8ab0f203.js";
|
||||
import { F as FormActions } from "./Form.097b2c0b.js";
|
||||
import { f as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode, e as createTextVNode, t as toDisplayString, c as createElementBlock, k as renderList, F as Fragment } from "./app.d0c43a70.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper.cdc0426e.js";
|
||||
import "./TabBar.2102e192.js";
|
||||
import "./notification.4c298cac.js";
|
||||
const _sfc_main = {
|
||||
metaInfo() {
|
||||
return {
|
||||
title: `${this.__("Closed support requests")}`
|
||||
};
|
||||
},
|
||||
layout: MainLayout,
|
||||
components: {
|
||||
TopBar,
|
||||
Container,
|
||||
Content,
|
||||
Page,
|
||||
PageHeader,
|
||||
PageHeaderTitle,
|
||||
PageBody,
|
||||
Button,
|
||||
List,
|
||||
ListItem,
|
||||
StatusBubble,
|
||||
NotificationBadge,
|
||||
IconBox,
|
||||
IconGlobe,
|
||||
IconStorage,
|
||||
Modal,
|
||||
ModalContainer,
|
||||
FormInput,
|
||||
FormActions
|
||||
},
|
||||
props: {
|
||||
tickets: Object
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
breadcrumbs: [
|
||||
{
|
||||
title: this.$page.props.settings.name,
|
||||
to: "/"
|
||||
},
|
||||
{
|
||||
title: this.__("Support"),
|
||||
to: this.route("support.index")
|
||||
},
|
||||
{
|
||||
title: this.__("Closed support requests"),
|
||||
to: this.route("support.index.closed")
|
||||
}
|
||||
]
|
||||
};
|
||||
},
|
||||
methods: {}
|
||||
};
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_TopBar = resolveComponent("TopBar");
|
||||
const _component_PageHeaderTitle = resolveComponent("PageHeaderTitle");
|
||||
const _component_PageHeader = resolveComponent("PageHeader");
|
||||
const _component_inertia_link = resolveComponent("inertia-link");
|
||||
const _component_ListItem = resolveComponent("ListItem");
|
||||
const _component_List = resolveComponent("List");
|
||||
const _component_PageBody = resolveComponent("PageBody");
|
||||
const _component_Container = resolveComponent("Container");
|
||||
const _component_Content = resolveComponent("Content");
|
||||
const _component_Page = resolveComponent("Page");
|
||||
return openBlock(), createBlock(_component_Page, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TopBar, { breadcrumbs: $data.breadcrumbs }, null, 8, ["breadcrumbs"]),
|
||||
createVNode(_component_Content, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_Container, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_PageHeader, null, {
|
||||
start: withCtx(() => [
|
||||
createVNode(_component_PageHeaderTitle, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Closed support requests")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
]),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_PageBody, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_List, null, {
|
||||
default: withCtx(() => [
|
||||
(openBlock(true), createElementBlock(Fragment, null, renderList($props.tickets.data, (ticket) => {
|
||||
return openBlock(), createBlock(_component_ListItem, {
|
||||
key: ticket.id
|
||||
}, {
|
||||
title: withCtx(() => [
|
||||
createVNode(_component_inertia_link, {
|
||||
class: "text-primary font-medium",
|
||||
href: _ctx.route("support.show", ticket.id)
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(ticket.title), 1)
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1032, ["href"])
|
||||
]),
|
||||
_: 2
|
||||
}, 1024);
|
||||
}), 128))
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
});
|
||||
}
|
||||
const Closed = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
export {
|
||||
Closed as default
|
||||
};
|
||||
1
public/build/assets/Confirm.888708f1.js
vendored
1
public/build/assets/Confirm.888708f1.js
vendored
@@ -1 +0,0 @@
|
||||
import{n as s}from"./plugin-vue2_normalizer.000ba15c.js";const i={danger:"text-danger",info:"text-primary"},r={data(){return{variantClasses:i}},computed:{confirm(){return this.$store.state.confirm}},methods:{cancelConfirm(){return this.$store.dispatch("confirm/close")}}};var a=function(){var e=this,t=e._self._c;return e.confirm.isOpen?t("div",{staticClass:"fixed inset-0 z-50 flex items-end justify-center p-2 sm:items-center"},[t("div",{directives:[{name:"click-outside",rawName:"v-click-outside",value:e.cancelConfirm,expression:"cancelConfirm"}],staticClass:"w-full max-w-xs overflow-hidden rounded shadow-2xl bg-surface-1"},[t("header",{staticClass:"px-4 py-6 space-y-2 text-center"},[t("h2",{staticClass:"font-medium text-body"},[e._v(e._s(e.confirm.title))]),t("p",{staticClass:"text-small text-medium-emphasis"},[e._v(e._s(e.confirm.message))])]),t("footer",{staticClass:"grid grid-cols-2 border-t divide-x border-low-emphasis divide-low-emphasis"},[t("button",{staticClass:"inline-flex items-center justify-center h-12 px-4 font-medium transition ease-in-out text-small focus:outline-none text-high-emphasis duration-fast",on:{click:function(n){return e.cancelConfirm()}}},[e._v(" "+e._s(e.__("Cancel"))+" ")]),t("button",{staticClass:"inline-flex items-center justify-center h-12 px-4 font-medium transition ease-in-out text-small focus:outline-none duration-fast",class:e.variantClasses[e.confirm.variant?e.confirm.variant:"danger"],on:{click:function(n){return e.confirm.onConfirm()}}},[e._v(" "+e._s(e.__("Confirm"))+" ")])])])]):e._e()},o=[],c=s(r,a,o,!1,null,null,null,null);const f=c.exports;export{f as default};
|
||||
@@ -1 +0,0 @@
|
||||
import r from"./TextDivider.54add59f.js";import i from"./FormInput.e3b01057.js";import o from"./Button.f17dffc9.js";import a from"./Container.f87d9f62.js";import{n}from"./plugin-vue2_normalizer.000ba15c.js";import"./FormGroup.efd02a6a.js";import"./Label.9d0d3ee0.js";import"./ErrorText.b141a597.js";import"./HelperText.14a7ed0b.js";import"./IconClipboard.8551be1b.js";import"./IconKey.455a255f.js";const m={metaInfo:{title:"Login"},components:{TextDivider:r,FormInput:i,Button:o,Container:a},props:{errors:Object},data(){return{sending:!1,form:{code:null}}},methods:{submit(){this.$inertia.post(this.route("auth.confirm-2fa.confirm"),this.form,{onStart:()=>this.sending=!0,onFinish:()=>this.sending=!1})}}};var p=function(){var t=this,e=t._self._c;return e("div",{staticClass:"flex items-center justify-center w-full min-h-screen"},[e("Container",{attrs:{size:"small"}},[e("form",{staticClass:"space-y-4",on:{submit:function(s){return s.preventDefault(),t.submit.apply(null,arguments)}}},[e("div",{staticClass:"flex flex-col items-center space-y-5"},[t.$page.props.settings.logo?e("img",{staticClass:"h-14",attrs:{src:t.$page.props.settings.logo}}):t._e(),e("h1",{staticClass:"font-semibold text-center text-title"},[t._v(" Confirm access to "+t._s(t.$page.props.settings.name)+" ")])]),e("FormInput",{attrs:{label:t.__("Code"),autofocus:!0,errors:t.$page.props.errors.code,id:"code",required:""},model:{value:t.form.code,callback:function(s){t.$set(t.form,"code",s)},expression:"form.code"}}),e("Button",{attrs:{variant:"primary",disabled:t.sending,block:""}},[t._v(t._s(t.__("Confirm")))]),t.$page.props.settings.has_terms?e("TextDivider",{attrs:{"without-text":!0}}):t._e(),t.$page.props.settings.has_terms||t.$page.props.settings.has_privacy?e("div",{staticClass:"flex justify-between"},[t.$page.props.settings.has_terms?e("div",[e("inertia-link",{staticClass:"text-small text-medium-emphasis hover:text-high-emphasis border-b border-dotted",attrs:{href:t.route("page.show","terms-of-service")}},[t._v(" Terms Of Service ")])],1):t._e(),t.$page.props.settings.has_privacy?e("div",[e("inertia-link",{staticClass:"text-small text-medium-emphasis hover:text-high-emphasis border-b border-dotted",attrs:{href:t.route("page.show","privacy-policy")}},[t._v(" Privacy Policy ")])],1):t._e()]):t._e()],1)])],1)},l=[],c=n(m,p,l,!1,null,null,null,null);const w=c.exports;export{w as default};
|
||||
124
public/build/assets/ConfirmTwoFactorAuthentication.a42477b3.js
vendored
Normal file
124
public/build/assets/ConfirmTwoFactorAuthentication.a42477b3.js
vendored
Normal file
@@ -0,0 +1,124 @@
|
||||
import { T as TextDivider } from "./TextDivider.5d9b42bc.js";
|
||||
import { F as FormInput } from "./FormInput.8ab0f203.js";
|
||||
import { B as Button } from "./Button.f40f5f07.js";
|
||||
import { C as Container } from "./Container.23db6f9d.js";
|
||||
import { c as createElementBlock, a as createVNode, w as withCtx, r as resolveComponent, o as openBlock, b as createBaseVNode, d as createCommentVNode, t as toDisplayString, e as createTextVNode, f as createBlock, g as withModifiers } from "./app.d0c43a70.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper.cdc0426e.js";
|
||||
const _sfc_main = {
|
||||
metaInfo: { title: "Login" },
|
||||
components: {
|
||||
TextDivider,
|
||||
FormInput,
|
||||
Button,
|
||||
Container
|
||||
},
|
||||
props: {
|
||||
errors: Object
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
sending: false,
|
||||
form: {
|
||||
code: null
|
||||
}
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
submit() {
|
||||
this.$inertia.post(this.route("auth.confirm-2fa.confirm"), this.form, {
|
||||
onStart: () => this.sending = true,
|
||||
onFinish: () => this.sending = false
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
const _hoisted_1 = { class: "flex items-center justify-center w-full min-h-screen" };
|
||||
const _hoisted_2 = { class: "flex flex-col items-center space-y-5" };
|
||||
const _hoisted_3 = ["src"];
|
||||
const _hoisted_4 = { class: "font-semibold text-center text-title" };
|
||||
const _hoisted_5 = {
|
||||
key: 1,
|
||||
class: "flex justify-between"
|
||||
};
|
||||
const _hoisted_6 = { key: 0 };
|
||||
const _hoisted_7 = /* @__PURE__ */ createTextVNode(" Terms Of Service ");
|
||||
const _hoisted_8 = { key: 1 };
|
||||
const _hoisted_9 = /* @__PURE__ */ createTextVNode(" Privacy Policy ");
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_FormInput = resolveComponent("FormInput");
|
||||
const _component_Button = resolveComponent("Button");
|
||||
const _component_TextDivider = resolveComponent("TextDivider");
|
||||
const _component_inertia_link = resolveComponent("inertia-link");
|
||||
const _component_Container = resolveComponent("Container");
|
||||
return openBlock(), createElementBlock("div", _hoisted_1, [
|
||||
createVNode(_component_Container, { size: "small" }, {
|
||||
default: withCtx(() => [
|
||||
createBaseVNode("form", {
|
||||
class: "space-y-4",
|
||||
onSubmit: _cache[1] || (_cache[1] = withModifiers((...args) => $options.submit && $options.submit(...args), ["prevent"]))
|
||||
}, [
|
||||
createBaseVNode("div", _hoisted_2, [
|
||||
_ctx.$page.props.settings.logo ? (openBlock(), createElementBlock("img", {
|
||||
key: 0,
|
||||
class: "h-14",
|
||||
src: _ctx.$page.props.settings.logo
|
||||
}, null, 8, _hoisted_3)) : createCommentVNode("", true),
|
||||
createBaseVNode("h1", _hoisted_4, " Confirm access to " + toDisplayString(_ctx.$page.props.settings.name), 1)
|
||||
]),
|
||||
createVNode(_component_FormInput, {
|
||||
label: _ctx.__("Code"),
|
||||
autofocus: true,
|
||||
errors: _ctx.$page.props.errors.code,
|
||||
modelValue: $data.form.code,
|
||||
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => $data.form.code = $event),
|
||||
id: "code",
|
||||
required: ""
|
||||
}, null, 8, ["label", "errors", "modelValue"]),
|
||||
createVNode(_component_Button, {
|
||||
variant: "primary",
|
||||
disabled: $data.sending,
|
||||
block: ""
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Confirm")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}, 8, ["disabled"]),
|
||||
_ctx.$page.props.settings.has_terms ? (openBlock(), createBlock(_component_TextDivider, {
|
||||
key: 0,
|
||||
"without-text": true
|
||||
})) : createCommentVNode("", true),
|
||||
_ctx.$page.props.settings.has_terms || _ctx.$page.props.settings.has_privacy ? (openBlock(), createElementBlock("div", _hoisted_5, [
|
||||
_ctx.$page.props.settings.has_terms ? (openBlock(), createElementBlock("div", _hoisted_6, [
|
||||
createVNode(_component_inertia_link, {
|
||||
href: _ctx.route("page.show", "terms-of-service"),
|
||||
class: "text-small text-medium-emphasis hover:text-high-emphasis border-b border-dotted"
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
_hoisted_7
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}, 8, ["href"])
|
||||
])) : createCommentVNode("", true),
|
||||
_ctx.$page.props.settings.has_privacy ? (openBlock(), createElementBlock("div", _hoisted_8, [
|
||||
createVNode(_component_inertia_link, {
|
||||
href: _ctx.route("page.show", "privacy-policy"),
|
||||
class: "text-small text-medium-emphasis hover:text-high-emphasis border-b border-dotted"
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
_hoisted_9
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}, 8, ["href"])
|
||||
])) : createCommentVNode("", true)
|
||||
])) : createCommentVNode("", true)
|
||||
], 32)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
]);
|
||||
}
|
||||
const ConfirmTwoFactorAuthentication = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
export {
|
||||
ConfirmTwoFactorAuthentication as default
|
||||
};
|
||||
36
public/build/assets/Container.23db6f9d.js
vendored
Normal file
36
public/build/assets/Container.23db6f9d.js
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
import { o as openBlock, c as createElementBlock, h as renderSlot, n as normalizeClass } from "./app.d0c43a70.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper.cdc0426e.js";
|
||||
const baseClasses = "w-full px-4 sm:px-8 mx-auto";
|
||||
const sizeClasses = {
|
||||
small: "max-w-sm",
|
||||
medium: "max-w-xl",
|
||||
base: "max-w-5xl",
|
||||
large: "max-w-screen-xl",
|
||||
fluid: "max-w-none"
|
||||
};
|
||||
const _sfc_main = {
|
||||
props: {
|
||||
size: {
|
||||
type: String,
|
||||
default: () => "base",
|
||||
validator: (size) => Object.keys(sizeClasses).includes(size)
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
baseClasses,
|
||||
sizeClasses
|
||||
};
|
||||
}
|
||||
};
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
return openBlock(), createElementBlock("div", {
|
||||
class: normalizeClass([$data.baseClasses, $data.sizeClasses[$props.size]])
|
||||
}, [
|
||||
renderSlot(_ctx.$slots, "default")
|
||||
], 2);
|
||||
}
|
||||
const Container = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
export {
|
||||
Container as C
|
||||
};
|
||||
1
public/build/assets/Container.f87d9f62.js
vendored
1
public/build/assets/Container.f87d9f62.js
vendored
@@ -1 +0,0 @@
|
||||
import{n}from"./plugin-vue2_normalizer.000ba15c.js";const t="w-full px-4 sm:px-8 mx-auto",a={small:"max-w-sm",medium:"max-w-xl",base:"max-w-5xl",large:"max-w-screen-xl",fluid:"max-w-none"},r={props:{size:{type:String,default:()=>"base",validator:e=>Object.keys(a).includes(e)}},data(){return{baseClasses:t,sizeClasses:a}}};var o=function(){var s=this,l=s._self._c;return l("div",{class:[s.baseClasses,s.sizeClasses[s.size]]},[s._t("default")],2)},m=[],i=n(r,o,m,!1,null,null,null,null);const u=i.exports;export{u as default};
|
||||
1
public/build/assets/Content.e22a1fd6.js
vendored
1
public/build/assets/Content.e22a1fd6.js
vendored
@@ -1 +0,0 @@
|
||||
import{n as e}from"./plugin-vue2_normalizer.000ba15c.js";const a={};var r=function(){var n=this,t=n._self._c;return t("main",{staticClass:"flex-1 bg-surface-1",attrs:{id:"main"}},[n._t("default")],2)},s=[],l=e(a,r,s,!1,null,null,null,null);const c=l.exports;export{c as default};
|
||||
1
public/build/assets/Copy.255a9bbc.js
vendored
1
public/build/assets/Copy.255a9bbc.js
vendored
@@ -1 +0,0 @@
|
||||
import{n as s}from"./plugin-vue2_normalizer.000ba15c.js";const r={data(){return{copied:!1}},props:{label:String,value:String},methods:{copy(){this.copied=!0,this.$copyText(this.value)}},watch:{copied(){let t=this;this.copied&&setTimeout(()=>{t.copied=!1},1250)}},computed:{copyText(){return this.copied?this.__("Copied to clipboard"):`${this.label}`}}};var i=function(){var e=this,o=e._self._c;return o("span",{staticClass:"cursor-pointer",domProps:{innerHTML:e._s(e.copyText)},on:{click:e.copy}})},n=[],c=s(r,i,n,!1,null,null,null,null);const a=c.exports;export{a as default};
|
||||
1
public/build/assets/Cronjobs.094ac0d2.js
vendored
1
public/build/assets/Cronjobs.094ac0d2.js
vendored
File diff suppressed because one or more lines are too long
472
public/build/assets/Cronjobs.d54d4304.js
vendored
Normal file
472
public/build/assets/Cronjobs.d54d4304.js
vendored
Normal file
@@ -0,0 +1,472 @@
|
||||
import TopBar from "./TopBar.27e62198.js";
|
||||
import { C as Container } from "./Container.23db6f9d.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout.46aebdcf.js";
|
||||
import { B as Button } from "./Button.f40f5f07.js";
|
||||
import { S as SettingsLayout } from "./SettingsLayout.76203a2a.js";
|
||||
import { S as SettingsSegment } from "./SettingsSegment.8dedf9a4.js";
|
||||
import { F as FormInput } from "./FormInput.8ab0f203.js";
|
||||
import { a as Form, F as FormActions } from "./Form.097b2c0b.js";
|
||||
import { P as Pagination } from "./Pagination.99c0720a.js";
|
||||
import { E as EmptyImage } from "./EmptyImage.626bec44.js";
|
||||
import { u as useNotification } from "./notification.4c298cac.js";
|
||||
import { u as useConfirm } from "./confirm.c1a36d4c.js";
|
||||
import Tabs from "./Tabs.992be93e.js";
|
||||
import { T as Table, a as TableHead, b as TableHeader, c as TableRow, d as TableBody, e as TableData } from "./TableData.b232d5e4.js";
|
||||
import { f as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode, e as createTextVNode, t as toDisplayString, b as createBaseVNode, j as withDirectives, A as vModelRadio, B as vShow, g as withModifiers, d as createCommentVNode, c as createElementBlock, k as renderList, F as Fragment } from "./app.d0c43a70.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper.cdc0426e.js";
|
||||
import "./TabBar.2102e192.js";
|
||||
const _sfc_main = {
|
||||
metaInfo() {
|
||||
return {
|
||||
title: `Cronjobs - ${this.site.domain}`
|
||||
};
|
||||
},
|
||||
layout: MainLayout,
|
||||
components: {
|
||||
TopBar,
|
||||
Container,
|
||||
Content,
|
||||
Page,
|
||||
PageHeader,
|
||||
PageHeaderTitle,
|
||||
PageBody,
|
||||
Button,
|
||||
List,
|
||||
ListItem,
|
||||
StatusBubble,
|
||||
NotificationBadge,
|
||||
FormInput,
|
||||
SettingsLayout,
|
||||
SettingsSegment,
|
||||
Form,
|
||||
FormActions,
|
||||
Pagination,
|
||||
Tabs,
|
||||
Table,
|
||||
TableHead,
|
||||
TableHeader,
|
||||
TableRow,
|
||||
TableBody,
|
||||
TableData,
|
||||
EmptyImage
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
sending: false,
|
||||
form: {
|
||||
command: `php /home/${this.$page.props.auth.user.user_name}/${this.site.domain}/script.php`,
|
||||
interval: "minutely",
|
||||
frequency: "* * * * *"
|
||||
},
|
||||
breadcrumbs: [
|
||||
{
|
||||
title: this.$page.props.settings.name,
|
||||
to: "/"
|
||||
},
|
||||
{
|
||||
title: this.__("Sites"),
|
||||
to: this.route("sites.index")
|
||||
},
|
||||
{
|
||||
title: this.site.domain,
|
||||
to: this.route("sites.show", this.site.id)
|
||||
},
|
||||
{
|
||||
title: this.__("Cronjobs"),
|
||||
to: this.route("sites.cronjobs.index", this.site.id)
|
||||
}
|
||||
]
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
if (this.shouldBePolling) {
|
||||
this.startPollingInterval();
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
shouldBePolling: function(value) {
|
||||
if (!value) {
|
||||
this.clearPollingInterval();
|
||||
return;
|
||||
}
|
||||
if (!this.pollingInterval) {
|
||||
this.startPollingInterval();
|
||||
}
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
shouldBePolling() {
|
||||
return !!this.cronjobs.data.filter((cronjob) => {
|
||||
return cronjob.status === "busy";
|
||||
}).length;
|
||||
},
|
||||
convertedFrequency: function() {
|
||||
if (this.form.interval === "minutely") {
|
||||
return this.form.frequency = "* * * * *";
|
||||
} else if (this.form.interval === "hourly") {
|
||||
return this.form.frequency = "0 * * * *";
|
||||
} else if (this.form.interval === "nightly") {
|
||||
return this.form.frequency = "0 2 * * *";
|
||||
} else if (this.form.interval === "weekly") {
|
||||
return this.form.frequency = "0 0 * * 0";
|
||||
} else if (this.form.interval === "monthly") {
|
||||
return this.form.frequency = "0 0 1 * *";
|
||||
} else {
|
||||
return this.form.frequency;
|
||||
}
|
||||
}
|
||||
},
|
||||
props: {
|
||||
site: Object,
|
||||
cronjobs: Object
|
||||
},
|
||||
methods: {
|
||||
useNotification,
|
||||
startPollingInterval() {
|
||||
this.pollingInterval = setInterval(function() {
|
||||
this.poll();
|
||||
}.bind(this), 3e3);
|
||||
},
|
||||
clearPollingInterval() {
|
||||
clearTimeout(this.pollingInterval);
|
||||
this.pollingInterval = null;
|
||||
},
|
||||
poll() {
|
||||
this.$inertia.get(this.route("sites.cronjobs.index", this.site.id), {
|
||||
only: ["cronjobs"],
|
||||
preserveScroll: true
|
||||
});
|
||||
},
|
||||
submit() {
|
||||
this.sending = true;
|
||||
this.$inertia.post(this.route("sites.cronjobs.store", this.site.id), this.form, {
|
||||
onFinish: () => {
|
||||
this.sending = false;
|
||||
if (!Object.keys(this.$page.props.errors).length) {
|
||||
this.form = {
|
||||
command: `php /home/${this.$page.props.auth.user.user_name}/${this.site.domain}/script.php`,
|
||||
interval: "minutely",
|
||||
frequency: "* * * * *"
|
||||
};
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
confirmDelete(cronjob) {
|
||||
useConfirm({
|
||||
title: this.__("Are you sure?"),
|
||||
message: this.__("Your cronjob will be deleted permanently, this action cannot be undone."),
|
||||
onConfirm: () => this.delete(cronjob)
|
||||
});
|
||||
},
|
||||
delete(cronjob) {
|
||||
this.$inertia.delete(this.route("sites.cronjobs.delete", [this.site.id, cronjob.id]), {
|
||||
preserveScroll: true
|
||||
});
|
||||
}
|
||||
},
|
||||
beforeDestroy() {
|
||||
this.clearPollingInterval();
|
||||
}
|
||||
};
|
||||
const _hoisted_1 = /* @__PURE__ */ createTextVNode("Cronjobs");
|
||||
const _hoisted_2 = { class: "inline-block text-small font-medium" };
|
||||
const _hoisted_3 = { class: "inline-flex items-center" };
|
||||
const _hoisted_4 = /* @__PURE__ */ createBaseVNode("span", { class: "ml-2" }, "Every minute", -1);
|
||||
const _hoisted_5 = { class: "inline-flex items-center" };
|
||||
const _hoisted_6 = /* @__PURE__ */ createBaseVNode("span", { class: "ml-2" }, "Hourly", -1);
|
||||
const _hoisted_7 = { class: "inline-flex items-center" };
|
||||
const _hoisted_8 = /* @__PURE__ */ createBaseVNode("span", { class: "ml-2" }, "Nightly (2AM)", -1);
|
||||
const _hoisted_9 = { class: "inline-flex items-center" };
|
||||
const _hoisted_10 = /* @__PURE__ */ createBaseVNode("span", { class: "ml-2" }, "Weekly", -1);
|
||||
const _hoisted_11 = { class: "inline-flex items-center" };
|
||||
const _hoisted_12 = /* @__PURE__ */ createBaseVNode("span", { class: "ml-2" }, "Monthly", -1);
|
||||
const _hoisted_13 = { class: "inline-flex items-center" };
|
||||
const _hoisted_14 = /* @__PURE__ */ createBaseVNode("span", { class: "ml-2" }, "Custom", -1);
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_TopBar = resolveComponent("TopBar");
|
||||
const _component_PageHeaderTitle = resolveComponent("PageHeaderTitle");
|
||||
const _component_PageHeader = resolveComponent("PageHeader");
|
||||
const _component_Tabs = resolveComponent("Tabs");
|
||||
const _component_FormInput = resolveComponent("FormInput");
|
||||
const _component_Button = resolveComponent("Button");
|
||||
const _component_FormActions = resolveComponent("FormActions");
|
||||
const _component_SettingsSegment = resolveComponent("SettingsSegment");
|
||||
const _component_EmptyImage = resolveComponent("EmptyImage");
|
||||
const _component_TableHeader = resolveComponent("TableHeader");
|
||||
const _component_TableRow = resolveComponent("TableRow");
|
||||
const _component_TableHead = resolveComponent("TableHead");
|
||||
const _component_StatusBubble = resolveComponent("StatusBubble");
|
||||
const _component_TableData = resolveComponent("TableData");
|
||||
const _component_TableBody = resolveComponent("TableBody");
|
||||
const _component_Table = resolveComponent("Table");
|
||||
const _component_pagination = resolveComponent("pagination");
|
||||
const _component_SettingsLayout = resolveComponent("SettingsLayout");
|
||||
const _component_PageBody = resolveComponent("PageBody");
|
||||
const _component_Container = resolveComponent("Container");
|
||||
const _component_Content = resolveComponent("Content");
|
||||
const _component_Page = resolveComponent("Page");
|
||||
return openBlock(), createBlock(_component_Page, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TopBar, { breadcrumbs: $data.breadcrumbs }, null, 8, ["breadcrumbs"]),
|
||||
createVNode(_component_Content, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_Container, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_PageHeader, null, {
|
||||
start: withCtx(() => [
|
||||
createVNode(_component_PageHeaderTitle, null, {
|
||||
default: withCtx(() => [
|
||||
_hoisted_1
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
]),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_PageBody, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_SettingsLayout, null, {
|
||||
nav: withCtx(() => [
|
||||
createVNode(_component_Tabs, { site: $props.site }, null, 8, ["site"])
|
||||
]),
|
||||
segments: withCtx(() => [
|
||||
createVNode(_component_SettingsSegment, null, {
|
||||
title: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Create")), 1)
|
||||
]),
|
||||
subtitle: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Add a new cronjob here to run your background tasks with.")), 1)
|
||||
]),
|
||||
form: withCtx(() => [
|
||||
createBaseVNode("form", {
|
||||
class: "space-y-4",
|
||||
onSubmit: _cache[8] || (_cache[8] = withModifiers((...args) => $options.submit && $options.submit(...args), ["prevent"]))
|
||||
}, [
|
||||
createVNode(_component_FormInput, {
|
||||
label: _ctx.__("Command"),
|
||||
errors: _ctx.$page.props.errors.command,
|
||||
modelValue: $data.form.command,
|
||||
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => $data.form.command = $event)
|
||||
}, null, 8, ["label", "errors", "modelValue"]),
|
||||
createBaseVNode("div", null, [
|
||||
createBaseVNode("label", _hoisted_2, " Frequency (" + toDisplayString($options.convertedFrequency) + ") ", 1),
|
||||
createBaseVNode("div", null, [
|
||||
createBaseVNode("label", _hoisted_3, [
|
||||
withDirectives(createBaseVNode("input", {
|
||||
class: "form-radio",
|
||||
type: "radio",
|
||||
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => $data.form.interval = $event),
|
||||
value: "minutely"
|
||||
}, null, 512), [
|
||||
[vModelRadio, $data.form.interval]
|
||||
]),
|
||||
_hoisted_4
|
||||
])
|
||||
]),
|
||||
createBaseVNode("div", null, [
|
||||
createBaseVNode("label", _hoisted_5, [
|
||||
withDirectives(createBaseVNode("input", {
|
||||
type: "radio",
|
||||
class: "form-radio",
|
||||
name: "radio",
|
||||
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => $data.form.interval = $event),
|
||||
value: "hourly"
|
||||
}, null, 512), [
|
||||
[vModelRadio, $data.form.interval]
|
||||
]),
|
||||
_hoisted_6
|
||||
])
|
||||
]),
|
||||
createBaseVNode("div", null, [
|
||||
createBaseVNode("label", _hoisted_7, [
|
||||
withDirectives(createBaseVNode("input", {
|
||||
type: "radio",
|
||||
class: "form-radio",
|
||||
name: "radio",
|
||||
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => $data.form.interval = $event),
|
||||
value: "nightly"
|
||||
}, null, 512), [
|
||||
[vModelRadio, $data.form.interval]
|
||||
]),
|
||||
_hoisted_8
|
||||
])
|
||||
]),
|
||||
createBaseVNode("div", null, [
|
||||
createBaseVNode("label", _hoisted_9, [
|
||||
withDirectives(createBaseVNode("input", {
|
||||
type: "radio",
|
||||
class: "form-radio",
|
||||
name: "radio",
|
||||
"onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => $data.form.interval = $event),
|
||||
value: "weekly"
|
||||
}, null, 512), [
|
||||
[vModelRadio, $data.form.interval]
|
||||
]),
|
||||
_hoisted_10
|
||||
])
|
||||
]),
|
||||
createBaseVNode("div", null, [
|
||||
createBaseVNode("label", _hoisted_11, [
|
||||
withDirectives(createBaseVNode("input", {
|
||||
type: "radio",
|
||||
class: "form-radio",
|
||||
name: "radio",
|
||||
"onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => $data.form.interval = $event),
|
||||
value: "monthly"
|
||||
}, null, 512), [
|
||||
[vModelRadio, $data.form.interval]
|
||||
]),
|
||||
_hoisted_12
|
||||
])
|
||||
]),
|
||||
createBaseVNode("div", null, [
|
||||
createBaseVNode("label", _hoisted_13, [
|
||||
withDirectives(createBaseVNode("input", {
|
||||
type: "radio",
|
||||
class: "form-radio",
|
||||
name: "radio",
|
||||
"onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => $data.form.interval = $event),
|
||||
value: "custom"
|
||||
}, null, 512), [
|
||||
[vModelRadio, $data.form.interval]
|
||||
]),
|
||||
_hoisted_14
|
||||
])
|
||||
]),
|
||||
withDirectives(createVNode(_component_FormInput, {
|
||||
"helper-text": "min | hour | day/month | month | day/week",
|
||||
modelValue: $data.form.frequency,
|
||||
"onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => $data.form.frequency = $event),
|
||||
errors: _ctx.$page.props.errors.frequency,
|
||||
label: _ctx.__("Custom frequency")
|
||||
}, null, 8, ["modelValue", "errors", "label"]), [
|
||||
[vShow, $data.form.interval === "custom"]
|
||||
])
|
||||
]),
|
||||
createVNode(_component_FormActions, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_Button, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Save")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], 32)
|
||||
]),
|
||||
_: 1
|
||||
}),
|
||||
!$props.cronjobs.meta.total ? (openBlock(), createBlock(_component_EmptyImage, { key: 0 })) : createCommentVNode("", true),
|
||||
$props.cronjobs.meta.total ? (openBlock(), createBlock(_component_SettingsSegment, { key: 1 }, {
|
||||
title: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Cronjobs")), 1)
|
||||
]),
|
||||
content: withCtx(() => [
|
||||
createBaseVNode("div", null, [
|
||||
createVNode(_component_Table, { caption: "Cronjob list overview" }, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TableHead, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TableRow, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TableHeader),
|
||||
createVNode(_component_TableHeader, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Command")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_TableHeader, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Frequency")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_TableHeader)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_TableBody, null, {
|
||||
default: withCtx(() => [
|
||||
(openBlock(true), createElementBlock(Fragment, null, renderList($props.cronjobs.data, (cronjob) => {
|
||||
return openBlock(), createBlock(_component_TableRow, {
|
||||
key: cronjob.id
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TableData, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_StatusBubble, {
|
||||
variant: cronjob.status === "busy" ? "gray" : "success"
|
||||
}, null, 8, ["variant"])
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1024),
|
||||
createVNode(_component_TableData, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(cronjob.command), 1)
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1024),
|
||||
createVNode(_component_TableData, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(cronjob.frequency), 1)
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1024),
|
||||
createVNode(_component_TableData, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_Button, {
|
||||
disabled: cronjob.status === "busy",
|
||||
variant: "danger",
|
||||
size: "sm",
|
||||
onClick: ($event) => $options.confirmDelete(cronjob)
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Delete")), 1)
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1032, ["disabled", "onClick"])
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1024)
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1024);
|
||||
}), 128))
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
]),
|
||||
createVNode(_component_pagination, { links: $props.cronjobs }, null, 8, ["links"])
|
||||
]),
|
||||
_: 1
|
||||
})) : createCommentVNode("", true)
|
||||
]),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
});
|
||||
}
|
||||
const Cronjobs = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
export {
|
||||
Cronjobs as default
|
||||
};
|
||||
346
public/build/assets/Databases.3422ec5d.js
vendored
Normal file
346
public/build/assets/Databases.3422ec5d.js
vendored
Normal file
@@ -0,0 +1,346 @@
|
||||
import TopBar from "./TopBar.27e62198.js";
|
||||
import { C as Container } from "./Container.23db6f9d.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout.46aebdcf.js";
|
||||
import { B as Button } from "./Button.f40f5f07.js";
|
||||
import { S as SettingsLayout } from "./SettingsLayout.76203a2a.js";
|
||||
import { S as SettingsSegment } from "./SettingsSegment.8dedf9a4.js";
|
||||
import { F as FormInput } from "./FormInput.8ab0f203.js";
|
||||
import { a as Form, F as FormActions } from "./Form.097b2c0b.js";
|
||||
import { P as Pagination } from "./Pagination.99c0720a.js";
|
||||
import { E as EmptyImage } from "./EmptyImage.626bec44.js";
|
||||
import { u as useConfirm } from "./confirm.c1a36d4c.js";
|
||||
import Tabs from "./Tabs.992be93e.js";
|
||||
import { T as Table, a as TableHead, b as TableHeader, c as TableRow, d as TableBody, e as TableData } from "./TableData.b232d5e4.js";
|
||||
import { f as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode, e as createTextVNode, t as toDisplayString, b as createBaseVNode, g as withModifiers, d as createCommentVNode, c as createElementBlock, k as renderList, F as Fragment } from "./app.d0c43a70.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper.cdc0426e.js";
|
||||
import "./TabBar.2102e192.js";
|
||||
import "./notification.4c298cac.js";
|
||||
const _sfc_main = {
|
||||
metaInfo() {
|
||||
return {
|
||||
title: `Databases - ${this.site.domain}`
|
||||
};
|
||||
},
|
||||
layout: MainLayout,
|
||||
components: {
|
||||
TopBar,
|
||||
Container,
|
||||
Content,
|
||||
Page,
|
||||
PageHeader,
|
||||
PageHeaderTitle,
|
||||
PageBody,
|
||||
Button,
|
||||
List,
|
||||
ListItem,
|
||||
StatusBubble,
|
||||
NotificationBadge,
|
||||
FormInput,
|
||||
SettingsLayout,
|
||||
SettingsSegment,
|
||||
Form,
|
||||
FormActions,
|
||||
Pagination,
|
||||
Tabs,
|
||||
Table,
|
||||
TableHead,
|
||||
TableHeader,
|
||||
TableRow,
|
||||
TableBody,
|
||||
TableData,
|
||||
EmptyImage
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
sending: false,
|
||||
form: {
|
||||
name: null,
|
||||
user_name: null,
|
||||
password: null
|
||||
},
|
||||
breadcrumbs: [
|
||||
{
|
||||
title: this.$page.props.settings.name,
|
||||
to: "/"
|
||||
},
|
||||
{
|
||||
title: this.__("Sites"),
|
||||
to: this.route("sites.index")
|
||||
},
|
||||
{
|
||||
title: this.site.domain,
|
||||
to: this.route("sites.show", this.site.id)
|
||||
},
|
||||
{
|
||||
title: this.__("Databases"),
|
||||
to: this.route("sites.databases.index", this.site.id)
|
||||
}
|
||||
]
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
if (this.shouldBePolling) {
|
||||
this.startPollingInterval();
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
shouldBePolling: function(value) {
|
||||
if (!value) {
|
||||
this.clearPollingInterval();
|
||||
return;
|
||||
}
|
||||
if (!this.pollingInterval) {
|
||||
this.startPollingInterval();
|
||||
}
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
shouldBePolling() {
|
||||
return !!this.databases.data.filter((database) => {
|
||||
return database.status === "busy";
|
||||
}).length;
|
||||
}
|
||||
},
|
||||
props: {
|
||||
site: Object,
|
||||
databases: Object
|
||||
},
|
||||
methods: {
|
||||
startPollingInterval() {
|
||||
this.pollingInterval = setInterval(function() {
|
||||
this.poll();
|
||||
}.bind(this), 3e3);
|
||||
},
|
||||
clearPollingInterval() {
|
||||
clearTimeout(this.pollingInterval);
|
||||
this.pollingInterval = null;
|
||||
},
|
||||
poll() {
|
||||
this.$inertia.get(this.route("sites.databases.index", this.site.id), {
|
||||
only: ["databases"],
|
||||
preserveScroll: true
|
||||
});
|
||||
},
|
||||
submit() {
|
||||
this.sending = true;
|
||||
this.$inertia.post(this.route("sites.databases.store", this.site.id), this.form, {
|
||||
onFinish: () => {
|
||||
this.sending = false;
|
||||
if (!Object.keys(this.$page.props.errors).length) {
|
||||
this.form.name = null;
|
||||
this.form.user_name = null;
|
||||
this.form.password = null;
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
confirmDelete(database) {
|
||||
useConfirm({
|
||||
title: this.__("Are you sure?"),
|
||||
message: this.__("Your database will be deleted permanently, this action cannot be undone."),
|
||||
onConfirm: () => this.delete(database)
|
||||
});
|
||||
},
|
||||
delete(database) {
|
||||
this.$inertia.delete(this.route("sites.databases.delete", [this.site.id, database.id]), {
|
||||
preserveScroll: true
|
||||
});
|
||||
}
|
||||
},
|
||||
beforeDestroy() {
|
||||
this.clearPollingInterval();
|
||||
}
|
||||
};
|
||||
const _hoisted_1 = /* @__PURE__ */ createTextVNode("Databases");
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_TopBar = resolveComponent("TopBar");
|
||||
const _component_PageHeaderTitle = resolveComponent("PageHeaderTitle");
|
||||
const _component_PageHeader = resolveComponent("PageHeader");
|
||||
const _component_Tabs = resolveComponent("Tabs");
|
||||
const _component_FormInput = resolveComponent("FormInput");
|
||||
const _component_Button = resolveComponent("Button");
|
||||
const _component_FormActions = resolveComponent("FormActions");
|
||||
const _component_SettingsSegment = resolveComponent("SettingsSegment");
|
||||
const _component_EmptyImage = resolveComponent("EmptyImage");
|
||||
const _component_TableHeader = resolveComponent("TableHeader");
|
||||
const _component_TableRow = resolveComponent("TableRow");
|
||||
const _component_TableHead = resolveComponent("TableHead");
|
||||
const _component_StatusBubble = resolveComponent("StatusBubble");
|
||||
const _component_TableData = resolveComponent("TableData");
|
||||
const _component_TableBody = resolveComponent("TableBody");
|
||||
const _component_Table = resolveComponent("Table");
|
||||
const _component_pagination = resolveComponent("pagination");
|
||||
const _component_SettingsLayout = resolveComponent("SettingsLayout");
|
||||
const _component_PageBody = resolveComponent("PageBody");
|
||||
const _component_Container = resolveComponent("Container");
|
||||
const _component_Content = resolveComponent("Content");
|
||||
const _component_Page = resolveComponent("Page");
|
||||
return openBlock(), createBlock(_component_Page, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TopBar, { breadcrumbs: $data.breadcrumbs }, null, 8, ["breadcrumbs"]),
|
||||
createVNode(_component_Content, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_Container, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_PageHeader, null, {
|
||||
start: withCtx(() => [
|
||||
createVNode(_component_PageHeaderTitle, null, {
|
||||
default: withCtx(() => [
|
||||
_hoisted_1
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
]),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_PageBody, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_SettingsLayout, null, {
|
||||
nav: withCtx(() => [
|
||||
createVNode(_component_Tabs, { site: $props.site }, null, 8, ["site"])
|
||||
]),
|
||||
segments: withCtx(() => [
|
||||
createVNode(_component_SettingsSegment, null, {
|
||||
title: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Create")), 1)
|
||||
]),
|
||||
subtitle: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Create a new database here to store your application data in.")), 1)
|
||||
]),
|
||||
form: withCtx(() => [
|
||||
createBaseVNode("form", {
|
||||
class: "space-y-4",
|
||||
onSubmit: _cache[3] || (_cache[3] = withModifiers((...args) => $options.submit && $options.submit(...args), ["prevent"]))
|
||||
}, [
|
||||
createVNode(_component_FormInput, {
|
||||
label: _ctx.__("Name"),
|
||||
errors: _ctx.$page.props.errors.name,
|
||||
modelValue: $data.form.name,
|
||||
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => $data.form.name = $event)
|
||||
}, null, 8, ["label", "errors", "modelValue"]),
|
||||
createVNode(_component_FormInput, {
|
||||
label: _ctx.__("User"),
|
||||
errors: _ctx.$page.props.errors.user_name,
|
||||
modelValue: $data.form.user_name,
|
||||
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => $data.form.user_name = $event)
|
||||
}, null, 8, ["label", "errors", "modelValue"]),
|
||||
createVNode(_component_FormInput, {
|
||||
label: _ctx.__("Password"),
|
||||
errors: _ctx.$page.props.errors.password,
|
||||
modelValue: $data.form.password,
|
||||
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => $data.form.password = $event)
|
||||
}, null, 8, ["label", "errors", "modelValue"]),
|
||||
createVNode(_component_FormActions, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_Button, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Save")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], 32)
|
||||
]),
|
||||
_: 1
|
||||
}),
|
||||
!$props.databases.meta.total ? (openBlock(), createBlock(_component_EmptyImage, { key: 0 })) : createCommentVNode("", true),
|
||||
$props.databases.meta.total ? (openBlock(), createBlock(_component_SettingsSegment, { key: 1 }, {
|
||||
title: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Databases")), 1)
|
||||
]),
|
||||
content: withCtx(() => [
|
||||
createBaseVNode("div", null, [
|
||||
createVNode(_component_Table, { caption: "Database list overview" }, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TableHead, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TableRow, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TableHeader),
|
||||
createVNode(_component_TableHeader, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Name")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_TableHeader)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_TableBody, null, {
|
||||
default: withCtx(() => [
|
||||
(openBlock(true), createElementBlock(Fragment, null, renderList($props.databases.data, (database) => {
|
||||
return openBlock(), createBlock(_component_TableRow, {
|
||||
key: database.id
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TableData, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_StatusBubble, {
|
||||
variant: database.status === "busy" ? "gray" : "success"
|
||||
}, null, 8, ["variant"])
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1024),
|
||||
createVNode(_component_TableData, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(database.name), 1)
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1024),
|
||||
createVNode(_component_TableData, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_Button, {
|
||||
disabled: database.status === "busy",
|
||||
variant: "danger",
|
||||
size: "sm",
|
||||
onClick: ($event) => $options.confirmDelete(database)
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Delete")), 1)
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1032, ["disabled", "onClick"])
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1024)
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1024);
|
||||
}), 128))
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
]),
|
||||
createVNode(_component_pagination, { links: $props.databases }, null, 8, ["links"])
|
||||
]),
|
||||
_: 1
|
||||
})) : createCommentVNode("", true)
|
||||
]),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
});
|
||||
}
|
||||
const Databases = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
export {
|
||||
Databases as default
|
||||
};
|
||||
1
public/build/assets/Databases.9b73afcc.js
vendored
1
public/build/assets/Databases.9b73afcc.js
vendored
File diff suppressed because one or more lines are too long
1
public/build/assets/Dns.ab0f0ee7.js
vendored
1
public/build/assets/Dns.ab0f0ee7.js
vendored
File diff suppressed because one or more lines are too long
350
public/build/assets/Dns.f532d803.js
vendored
Normal file
350
public/build/assets/Dns.f532d803.js
vendored
Normal file
@@ -0,0 +1,350 @@
|
||||
import TopBar from "./TopBar.27e62198.js";
|
||||
import { C as Container } from "./Container.23db6f9d.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout.46aebdcf.js";
|
||||
import { B as Button } from "./Button.f40f5f07.js";
|
||||
import { S as SettingsLayout } from "./SettingsLayout.76203a2a.js";
|
||||
import { S as SettingsSegment } from "./SettingsSegment.8dedf9a4.js";
|
||||
import { F as FormInput } from "./FormInput.8ab0f203.js";
|
||||
import { a as Form, F as FormActions } from "./Form.097b2c0b.js";
|
||||
import { P as Pagination } from "./Pagination.99c0720a.js";
|
||||
import { u as useConfirm } from "./confirm.c1a36d4c.js";
|
||||
import { u as useNotification } from "./notification.4c298cac.js";
|
||||
import Tabs from "./Tabs.992be93e.js";
|
||||
import { T as Table, a as TableHead, b as TableHeader, c as TableRow, d as TableBody, e as TableData } from "./TableData.b232d5e4.js";
|
||||
import { E as EmptyImage } from "./EmptyImage.626bec44.js";
|
||||
import { f as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode, e as createTextVNode, t as toDisplayString, b as createBaseVNode, g as withModifiers, d as createCommentVNode, c as createElementBlock, k as renderList, F as Fragment } from "./app.d0c43a70.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper.cdc0426e.js";
|
||||
import "./TabBar.2102e192.js";
|
||||
const _sfc_main = {
|
||||
metaInfo() {
|
||||
return {
|
||||
title: `${this.__("DNS")} - ${this.site.domain}`
|
||||
};
|
||||
},
|
||||
layout: MainLayout,
|
||||
components: {
|
||||
TopBar,
|
||||
Container,
|
||||
Content,
|
||||
Page,
|
||||
PageHeader,
|
||||
PageHeaderTitle,
|
||||
PageBody,
|
||||
Button,
|
||||
List,
|
||||
ListItem,
|
||||
StatusBubble,
|
||||
NotificationBadge,
|
||||
FormInput,
|
||||
SettingsLayout,
|
||||
SettingsSegment,
|
||||
Form,
|
||||
FormActions,
|
||||
Pagination,
|
||||
Tabs,
|
||||
Table,
|
||||
TableHead,
|
||||
TableHeader,
|
||||
TableRow,
|
||||
TableBody,
|
||||
TableData,
|
||||
EmptyImage
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
sending: false,
|
||||
loading: true,
|
||||
records: [],
|
||||
form: {
|
||||
name: null,
|
||||
address: null
|
||||
},
|
||||
breadcrumbs: [
|
||||
{
|
||||
title: this.$page.props.settings.name,
|
||||
to: "/"
|
||||
},
|
||||
{
|
||||
title: this.__("Sites"),
|
||||
to: this.route("sites.index")
|
||||
},
|
||||
{
|
||||
title: this.site.domain,
|
||||
to: this.route("sites.show", this.site.id)
|
||||
},
|
||||
{
|
||||
title: this.__("DNS"),
|
||||
to: this.route("sites.dns.index", this.site.id)
|
||||
}
|
||||
]
|
||||
};
|
||||
},
|
||||
props: {
|
||||
site: Object
|
||||
},
|
||||
mounted() {
|
||||
this.getRecords();
|
||||
},
|
||||
methods: {
|
||||
useNotification,
|
||||
submit() {
|
||||
this.$inertia.post(this.route("sites.dns.store", this.site.id), this.form, {
|
||||
onStart: () => this.sending = true,
|
||||
onFinish: () => {
|
||||
this.sending = false;
|
||||
this.records = [];
|
||||
this.getRecords();
|
||||
this.form = {
|
||||
name: null,
|
||||
address: null
|
||||
};
|
||||
}
|
||||
});
|
||||
},
|
||||
getRecords() {
|
||||
this.loading = true;
|
||||
window.axios.get(this.route("sites.dns.records", this.site.id)).then((response) => {
|
||||
this.loading = false;
|
||||
this.records = response.data;
|
||||
}).catch((error) => {
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
confirmDelete(record) {
|
||||
useConfirm({
|
||||
title: this.__("Are you sure?"),
|
||||
message: this.__("Your DNS will be completely removed."),
|
||||
onConfirm: () => this.delete(record)
|
||||
});
|
||||
},
|
||||
delete(record) {
|
||||
this.$inertia.delete(this.route("sites.dns.delete", [this.site.id, record.id]), {
|
||||
preserveScroll: true,
|
||||
onStart: () => this.sending = true,
|
||||
onFinish: () => {
|
||||
this.sending = false;
|
||||
this.records = [];
|
||||
this.getRecords();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
const _hoisted_1 = {
|
||||
key: 1,
|
||||
class: "inline-flex px-4"
|
||||
};
|
||||
const _hoisted_2 = /* @__PURE__ */ createBaseVNode("svg", {
|
||||
class: "animate-spin -ml-1 mr-3 h-5 w-5 text-white",
|
||||
xmlns: "http://www.w3.org/2000/svg",
|
||||
fill: "none",
|
||||
viewBox: "0 0 24 24"
|
||||
}, [
|
||||
/* @__PURE__ */ createBaseVNode("circle", {
|
||||
class: "opacity-25",
|
||||
cx: "12",
|
||||
cy: "12",
|
||||
r: "10",
|
||||
stroke: "currentColor",
|
||||
"stroke-width": "4"
|
||||
}),
|
||||
/* @__PURE__ */ createBaseVNode("path", {
|
||||
class: "opacity-75",
|
||||
fill: "currentColor",
|
||||
d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
|
||||
})
|
||||
], -1);
|
||||
const _hoisted_3 = /* @__PURE__ */ createTextVNode(" Loading records.. ");
|
||||
const _hoisted_4 = [
|
||||
_hoisted_2,
|
||||
_hoisted_3
|
||||
];
|
||||
const _hoisted_5 = /* @__PURE__ */ createTextVNode("Delete");
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_TopBar = resolveComponent("TopBar");
|
||||
const _component_PageHeaderTitle = resolveComponent("PageHeaderTitle");
|
||||
const _component_PageHeader = resolveComponent("PageHeader");
|
||||
const _component_Tabs = resolveComponent("Tabs");
|
||||
const _component_FormInput = resolveComponent("FormInput");
|
||||
const _component_Button = resolveComponent("Button");
|
||||
const _component_FormActions = resolveComponent("FormActions");
|
||||
const _component_SettingsSegment = resolveComponent("SettingsSegment");
|
||||
const _component_EmptyImage = resolveComponent("EmptyImage");
|
||||
const _component_TableHeader = resolveComponent("TableHeader");
|
||||
const _component_TableRow = resolveComponent("TableRow");
|
||||
const _component_TableHead = resolveComponent("TableHead");
|
||||
const _component_TableData = resolveComponent("TableData");
|
||||
const _component_TableBody = resolveComponent("TableBody");
|
||||
const _component_Table = resolveComponent("Table");
|
||||
const _component_SettingsLayout = resolveComponent("SettingsLayout");
|
||||
const _component_PageBody = resolveComponent("PageBody");
|
||||
const _component_Container = resolveComponent("Container");
|
||||
const _component_Content = resolveComponent("Content");
|
||||
const _component_Page = resolveComponent("Page");
|
||||
return openBlock(), createBlock(_component_Page, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TopBar, { breadcrumbs: $data.breadcrumbs }, null, 8, ["breadcrumbs"]),
|
||||
createVNode(_component_Content, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_Container, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_PageHeader, null, {
|
||||
start: withCtx(() => [
|
||||
createVNode(_component_PageHeaderTitle, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("DNS")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
]),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_PageBody, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_SettingsLayout, null, {
|
||||
nav: withCtx(() => [
|
||||
createVNode(_component_Tabs, { site: $props.site }, null, 8, ["site"])
|
||||
]),
|
||||
segments: withCtx(() => [
|
||||
createVNode(_component_SettingsSegment, null, {
|
||||
title: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Create")), 1)
|
||||
]),
|
||||
subtitle: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Create a new DNS record here.")), 1)
|
||||
]),
|
||||
form: withCtx(() => [
|
||||
createBaseVNode("form", {
|
||||
class: "space-y-4",
|
||||
onSubmit: _cache[2] || (_cache[2] = withModifiers((...args) => $options.submit && $options.submit(...args), ["prevent"]))
|
||||
}, [
|
||||
createVNode(_component_FormInput, {
|
||||
disabled: $data.sending,
|
||||
label: _ctx.__("Name"),
|
||||
errors: _ctx.$page.props.errors.name,
|
||||
modelValue: $data.form.name,
|
||||
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => $data.form.name = $event)
|
||||
}, null, 8, ["disabled", "label", "errors", "modelValue"]),
|
||||
createVNode(_component_FormInput, {
|
||||
disabled: $data.sending,
|
||||
label: _ctx.__("IPv4 address"),
|
||||
errors: _ctx.$page.props.errors.address,
|
||||
modelValue: $data.form.address,
|
||||
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => $data.form.address = $event)
|
||||
}, null, 8, ["disabled", "label", "errors", "modelValue"]),
|
||||
createVNode(_component_FormActions, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_Button, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Save")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], 32)
|
||||
]),
|
||||
_: 1
|
||||
}),
|
||||
!$data.records.length && !$data.loading ? (openBlock(), createBlock(_component_EmptyImage, { key: 0 })) : createCommentVNode("", true),
|
||||
$data.loading ? (openBlock(), createElementBlock("div", _hoisted_1, _hoisted_4)) : createCommentVNode("", true),
|
||||
$data.records.length ? (openBlock(), createBlock(_component_SettingsSegment, { key: 2 }, {
|
||||
title: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Records")), 1)
|
||||
]),
|
||||
content: withCtx(() => [
|
||||
createBaseVNode("div", null, [
|
||||
createVNode(_component_Table, { caption: "DNS records list overview" }, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TableHead, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TableRow, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TableHeader, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Name")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_TableHeader, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Content")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_TableHeader)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_TableBody, null, {
|
||||
default: withCtx(() => [
|
||||
(openBlock(true), createElementBlock(Fragment, null, renderList($data.records, (record) => {
|
||||
return openBlock(), createBlock(_component_TableRow, {
|
||||
key: record.id
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TableData, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(record.name), 1)
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1024),
|
||||
createVNode(_component_TableData, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(record.display_content), 1)
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1024),
|
||||
createVNode(_component_TableData, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_Button, {
|
||||
onClick: ($event) => $options.confirmDelete(record),
|
||||
variant: "danger",
|
||||
size: "sm"
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
_hoisted_5
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1032, ["onClick"])
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1024)
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1024);
|
||||
}), 128))
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
])
|
||||
]),
|
||||
_: 1
|
||||
})) : createCommentVNode("", true)
|
||||
]),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
});
|
||||
}
|
||||
const Dns = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
export {
|
||||
Dns as default
|
||||
};
|
||||
1
public/build/assets/Dropdown.d1060583.js
vendored
1
public/build/assets/Dropdown.d1060583.js
vendored
@@ -1 +0,0 @@
|
||||
import{n as o}from"./plugin-vue2_normalizer.000ba15c.js";const s={data:()=>({isOpen:!1,position:"top"}),methods:{open(){this.isOpen=!0,this.calculatePosition()},close(){this.isOpen=!1,this.calculatePosition()},toggle(){this.isOpen=!this.isOpen,this.calculatePosition()},outsideClickListener(t){this.$refs.dropdown!==t.target.closest(this.$refs.dropdown.tagName)&&this.close()},calculatePosition(){const t=this.$refs.dropdown.getBoundingClientRect().top,e=window.innerHeight;if(t>e*.75){this.position="bottom";return}this.position="top"}},mounted(){window.addEventListener("click",this.outsideClickListener)},beforeDestroy(){window.removeEventListener("click",this.outsideClickListener)}};var n=function(){var e=this,i=e._self._c;return i("div",{directives:[{name:"click-outside",rawName:"v-click-outside",value:e.close,expression:"close"}],ref:"dropdown",staticClass:"relative"},[e._t("default",null,null,{isOpen:e.isOpen,open:e.open,close:e.close,toggle:e.toggle,position:e.position})],2)},l=[],r=o(s,n,l,!1,null,null,null,null);const a=r.exports;export{a as default};
|
||||
1
public/build/assets/DropdownList.02c48c2f.js
vendored
1
public/build/assets/DropdownList.02c48c2f.js
vendored
@@ -1 +0,0 @@
|
||||
import{n}from"./plugin-vue2_normalizer.000ba15c.js";const s={top:"right-0 top-0 mt-8",bottom:"right-0 bottom-0 mb-8"},r={props:{position:{type:String,default:()=>"top",validator:t=>Object.keys(s).includes(t)}},computed:{positionClasses(){return s[this.position]}}};var l=function(){var o=this,e=o._self._c;return e("div",{class:["absolute flex flex-col py-1 overflow-hidden rounded shadow-2xl z-20 bg-surface-1",o.positionClasses]},[o._t("default")],2)},i=[],a=n(r,l,i,!1,null,null,null,null);const c=a.exports;export{c as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{n}from"./plugin-vue2_normalizer.000ba15c.js";const r={props:{to:{type:String,required:!0},componentIs:{type:String,default:"a"},method:{required:!1,default:"get"}}};var s=function(){var e=this,t=e._self._c;return t("inertia-link",{staticClass:"flex items-center w-full h-10 px-6 whitespace-nowrap text-medium-emphasis text-small focus:bg-primary focus:text-on-primary hover:text-high-emphasis focus:outline-none",attrs:{as:e.componentIs,href:e.to,method:e.method}},[e._t("default")],2)},o=[],a=n(r,s,o,!1,null,null,null,null);const m=a.exports;export{m as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{n}from"./plugin-vue2_normalizer.000ba15c.js";const r={props:{as:{default:"inertia-link"},to:{type:String,required:!1},method:{required:!1,default:"get"}}};var s=function(){var e=this,t=e._self._c;return t("button",{staticClass:"flex items-center w-full h-10 px-6 whitespace-nowrap text-medium-emphasis text-small focus:bg-primary focus:text-on-primary hover:text-high-emphasis focus:outline-none",on:{click:function(l){return e.$emit("click")}}},[e._t("default")],2)},o=[],a=n(r,s,o,!1,null,null,null,null);const c=a.exports;export{c as default};
|
||||
49
public/build/assets/DropdownListItemButton.b3b80236.js
vendored
Normal file
49
public/build/assets/DropdownListItemButton.b3b80236.js
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
import { o as openBlock, c as createElementBlock, b as createBaseVNode, h as renderSlot } from "./app.d0c43a70.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper.cdc0426e.js";
|
||||
const _sfc_main$1 = {};
|
||||
const _hoisted_1 = {
|
||||
width: "1em",
|
||||
height: "1em",
|
||||
viewBox: "0 0 16 16",
|
||||
fill: "currentColor",
|
||||
xmlns: "http://www.w3.org/2000/svg"
|
||||
};
|
||||
const _hoisted_2 = /* @__PURE__ */ createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M3 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z"
|
||||
}, null, -1);
|
||||
const _hoisted_3 = [
|
||||
_hoisted_2
|
||||
];
|
||||
function _sfc_render$1(_ctx, _cache) {
|
||||
return openBlock(), createElementBlock("svg", _hoisted_1, _hoisted_3);
|
||||
}
|
||||
const IconMore = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1]]);
|
||||
const _sfc_main = {
|
||||
props: {
|
||||
as: {
|
||||
default: "inertia-link"
|
||||
},
|
||||
to: {
|
||||
type: String,
|
||||
required: false
|
||||
},
|
||||
method: {
|
||||
required: false,
|
||||
default: "get"
|
||||
}
|
||||
}
|
||||
};
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
return openBlock(), createElementBlock("button", {
|
||||
onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("click")),
|
||||
class: "flex items-center w-full h-10 px-6 whitespace-nowrap text-medium-emphasis text-small focus:bg-primary focus:text-on-primary hover:text-high-emphasis focus:outline-none"
|
||||
}, [
|
||||
renderSlot(_ctx.$slots, "default")
|
||||
]);
|
||||
}
|
||||
const DropdownListItemButton = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
export {
|
||||
DropdownListItemButton as D,
|
||||
IconMore as I
|
||||
};
|
||||
125
public/build/assets/Email.08f86537.js
vendored
Normal file
125
public/build/assets/Email.08f86537.js
vendored
Normal file
@@ -0,0 +1,125 @@
|
||||
import { T as TextDivider } from "./TextDivider.5d9b42bc.js";
|
||||
import { F as FormInput } from "./FormInput.8ab0f203.js";
|
||||
import { B as Button } from "./Button.f40f5f07.js";
|
||||
import { C as Container } from "./Container.23db6f9d.js";
|
||||
import { u as useNotification } from "./notification.4c298cac.js";
|
||||
import { c as createElementBlock, a as createVNode, w as withCtx, r as resolveComponent, o as openBlock, b as createBaseVNode, d as createCommentVNode, t as toDisplayString, e as createTextVNode, g as withModifiers } from "./app.d0c43a70.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper.cdc0426e.js";
|
||||
const _sfc_main = {
|
||||
metaInfo() {
|
||||
return {
|
||||
title: `${this.__("Reset password")}`
|
||||
};
|
||||
},
|
||||
components: {
|
||||
TextDivider,
|
||||
FormInput,
|
||||
Button,
|
||||
Container
|
||||
},
|
||||
props: {
|
||||
errors: Object
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
sending: false,
|
||||
form: {
|
||||
email: null
|
||||
}
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
useNotification,
|
||||
submit() {
|
||||
this.sending = true;
|
||||
this.$inertia.post(this.route("password.email"), {
|
||||
email: this.form.email
|
||||
}, {
|
||||
onFinish: () => {
|
||||
this.sending = false;
|
||||
if (!Object.keys(this.$page.props.errors).length) {
|
||||
this.form.email = null;
|
||||
useNotification({
|
||||
variant: "success",
|
||||
title: this.__("Reset password"),
|
||||
message: this.$page.props.flash.success
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
const _hoisted_1 = { class: "flex items-center justify-center w-full min-h-screen" };
|
||||
const _hoisted_2 = { class: "flex flex-col items-center space-y-5" };
|
||||
const _hoisted_3 = ["src"];
|
||||
const _hoisted_4 = { class: "font-semibold text-center text-title" };
|
||||
const _hoisted_5 = { class: "space-y-3" };
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_FormInput = resolveComponent("FormInput");
|
||||
const _component_Button = resolveComponent("Button");
|
||||
const _component_TextDivider = resolveComponent("TextDivider");
|
||||
const _component_Container = resolveComponent("Container");
|
||||
return openBlock(), createElementBlock("div", _hoisted_1, [
|
||||
createVNode(_component_Container, { size: "small" }, {
|
||||
default: withCtx(() => [
|
||||
createBaseVNode("form", {
|
||||
class: "space-y-4",
|
||||
onSubmit: _cache[1] || (_cache[1] = withModifiers((...args) => $options.submit && $options.submit(...args), ["prevent"]))
|
||||
}, [
|
||||
createBaseVNode("div", _hoisted_2, [
|
||||
_ctx.$page.props.settings.logo ? (openBlock(), createElementBlock("img", {
|
||||
key: 0,
|
||||
class: "h-14",
|
||||
src: _ctx.$page.props.settings.logo
|
||||
}, null, 8, _hoisted_3)) : createCommentVNode("", true),
|
||||
createBaseVNode("h1", _hoisted_4, toDisplayString(_ctx.__("Reset password")), 1)
|
||||
]),
|
||||
createVNode(_component_FormInput, {
|
||||
label: _ctx.__("Email"),
|
||||
errors: _ctx.$page.props.errors.email,
|
||||
modelValue: $data.form.email,
|
||||
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => $data.form.email = $event),
|
||||
id: "email",
|
||||
type: "email",
|
||||
required: ""
|
||||
}, null, 8, ["label", "errors", "modelValue"]),
|
||||
createVNode(_component_Button, {
|
||||
variant: "primary",
|
||||
disabled: $data.sending,
|
||||
block: ""
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Reset")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}, 8, ["disabled"]),
|
||||
createVNode(_component_TextDivider, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Or")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}),
|
||||
createBaseVNode("div", _hoisted_5, [
|
||||
createVNode(_component_Button, {
|
||||
as: "inertia-link",
|
||||
href: _ctx.route("login"),
|
||||
variant: "secondary",
|
||||
block: ""
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Login")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}, 8, ["href"])
|
||||
])
|
||||
], 32)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
]);
|
||||
}
|
||||
const Email = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
export {
|
||||
Email as default
|
||||
};
|
||||
1
public/build/assets/Email.5741ca80.js
vendored
1
public/build/assets/Email.5741ca80.js
vendored
@@ -1 +0,0 @@
|
||||
import i from"./TextDivider.54add59f.js";import a from"./FormInput.e3b01057.js";import o from"./Button.f17dffc9.js";import n from"./Container.f87d9f62.js";import{u as r}from"./notification.f3a0f54e.js";import{n as l}from"./plugin-vue2_normalizer.000ba15c.js";import"./FormGroup.efd02a6a.js";import"./Label.9d0d3ee0.js";import"./ErrorText.b141a597.js";import"./HelperText.14a7ed0b.js";import"./IconClipboard.8551be1b.js";import"./IconKey.455a255f.js";import"./app.0131bc0c.js";const m={metaInfo(){return{title:`${this.__("Reset password")}`}},components:{TextDivider:i,FormInput:a,Button:o,Container:n},props:{errors:Object},data(){return{sending:!1,form:{email:null}}},methods:{useNotification:r,submit(){this.sending=!0,this.$inertia.post(this.route("password.email"),{email:this.form.email},{onFinish:()=>{this.sending=!1,Object.keys(this.$page.props.errors).length||(this.form.email=null,r({variant:"success",title:this.__("Reset password"),message:this.$page.props.flash.success}))}})}}};var p=function(){var t=this,e=t._self._c;return e("div",{staticClass:"flex items-center justify-center w-full min-h-screen"},[e("Container",{attrs:{size:"small"}},[e("form",{staticClass:"space-y-4",on:{submit:function(s){return s.preventDefault(),t.submit.apply(null,arguments)}}},[e("div",{staticClass:"flex flex-col items-center space-y-5"},[t.$page.props.settings.logo?e("img",{staticClass:"h-14",attrs:{src:t.$page.props.settings.logo}}):t._e(),e("h1",{staticClass:"font-semibold text-center text-title"},[t._v(" "+t._s(t.__("Reset password"))+" ")])]),e("FormInput",{attrs:{label:t.__("Email"),errors:t.$page.props.errors.email,id:"email",type:"email",required:""},model:{value:t.form.email,callback:function(s){t.$set(t.form,"email",s)},expression:"form.email"}}),e("Button",{attrs:{variant:"primary",disabled:t.sending,block:""}},[t._v(t._s(t.__("Reset")))]),e("TextDivider",[t._v(t._s(t.__("Or")))]),e("div",{staticClass:"space-y-3"},[e("Button",{attrs:{as:"inertia-link",href:t.route("login"),variant:"secondary",block:""}},[t._v(t._s(t.__("Login")))])],1)],1)])],1)},c=[],_=l(m,p,c,!1,null,null,null,null);const F=_.exports;export{F as default};
|
||||
1
public/build/assets/EmptyImage.4bfdf9ac.js
vendored
1
public/build/assets/EmptyImage.4bfdf9ac.js
vendored
@@ -1 +0,0 @@
|
||||
import{n}from"./plugin-vue2_normalizer.000ba15c.js";const a={};var r=function(){var t=this,e=t._self._c;return e("img",{staticClass:"w-32 md:w-48 m-auto",attrs:{src:"/images/empty.png",alt:"Decorative image for empty list."}})},s=[],m=n(a,r,s,!1,null,null,null,null);const _=m.exports;export{_ as default};
|
||||
15
public/build/assets/EmptyImage.626bec44.js
vendored
Normal file
15
public/build/assets/EmptyImage.626bec44.js
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
import { o as openBlock, c as createElementBlock } from "./app.d0c43a70.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper.cdc0426e.js";
|
||||
const _sfc_main = {};
|
||||
const _hoisted_1 = {
|
||||
src: "/images/empty.png",
|
||||
class: "w-32 md:w-48 m-auto",
|
||||
alt: "Decorative image for empty list."
|
||||
};
|
||||
function _sfc_render(_ctx, _cache) {
|
||||
return openBlock(), createElementBlock("img", _hoisted_1);
|
||||
}
|
||||
const EmptyImage = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
export {
|
||||
EmptyImage as E
|
||||
};
|
||||
1
public/build/assets/ErrorText.b141a597.js
vendored
1
public/build/assets/ErrorText.b141a597.js
vendored
@@ -1 +0,0 @@
|
||||
import{n as t}from"./plugin-vue2_normalizer.000ba15c.js";const e={};var s=function(){var n=this,r=n._self._c;return r("p",{staticClass:"text-danger"},[n._t("default")],2)},a=[],_=t(e,s,a,!1,null,null,null,null);const c=_.exports;export{c as default};
|
||||
1
public/build/assets/FeatureCard.8a4dd743.js
vendored
1
public/build/assets/FeatureCard.8a4dd743.js
vendored
@@ -1 +0,0 @@
|
||||
import{n as e}from"./plugin-vue2_normalizer.000ba15c.js";const a={};var l=function(){var s=this,t=s._self._c;return t("div",{staticClass:"p-6 rounded shadow bg-surface-3"},[t("div",{staticClass:"flex space-x-4"},[t("div",[s._t("prefix")],2),t("div",[t("h3",{staticClass:"font-semibold text-body"},[s._t("title")],2),t("p",{staticClass:"text-medium-emphasis text-small"},[s._t("subtitle")],2)])])])},n=[],r=e(a,l,n,!1,null,null,null,null);const _=r.exports;export{_ as default};
|
||||
32
public/build/assets/Form.097b2c0b.js
vendored
Normal file
32
public/build/assets/Form.097b2c0b.js
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
import { o as openBlock, c as createElementBlock, h as renderSlot, n as normalizeClass, g as withModifiers } from "./app.d0c43a70.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper.cdc0426e.js";
|
||||
const _sfc_main$1 = {
|
||||
props: {
|
||||
justify: {
|
||||
type: String,
|
||||
default: "justify-start"
|
||||
}
|
||||
}
|
||||
};
|
||||
function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
return openBlock(), createElementBlock("div", {
|
||||
class: normalizeClass(["flex items-center space-x-2", [$props.justify]])
|
||||
}, [
|
||||
renderSlot(_ctx.$slots, "default")
|
||||
], 2);
|
||||
}
|
||||
const FormActions = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1]]);
|
||||
const _sfc_main = {};
|
||||
function _sfc_render(_ctx, _cache) {
|
||||
return openBlock(), createElementBlock("form", {
|
||||
class: "space-y-4",
|
||||
onSubmit: _cache[0] || (_cache[0] = withModifiers(($event) => _ctx.$emit("submit"), ["prevent"]))
|
||||
}, [
|
||||
renderSlot(_ctx.$slots, "default")
|
||||
], 32);
|
||||
}
|
||||
const Form = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
export {
|
||||
FormActions as F,
|
||||
Form as a
|
||||
};
|
||||
1
public/build/assets/Form.2cdcadd9.js
vendored
1
public/build/assets/Form.2cdcadd9.js
vendored
@@ -1 +0,0 @@
|
||||
import{n as r}from"./plugin-vue2_normalizer.000ba15c.js";const s={};var a=function(){var n=this,t=n._self._c;return t("form",{staticClass:"space-y-4",on:{submit:function(e){return e.preventDefault(),n.$emit("submit")}}},[n._t("default")],2)},o=[],l=r(s,a,o,!1,null,null,null,null);const u=l.exports;export{u as default};
|
||||
1
public/build/assets/FormActions.83ccca91.js
vendored
1
public/build/assets/FormActions.83ccca91.js
vendored
@@ -1 +0,0 @@
|
||||
import{n as e}from"./plugin-vue2_normalizer.000ba15c.js";const n={props:{justify:{type:String,default:"justify-start"}}};var r=function(){var t=this,s=t._self._c;return s("div",{staticClass:"flex items-center space-x-2",class:[t.justify]},[t._t("default")],2)},a=[],l=e(n,r,a,!1,null,null,null,null);const _=l.exports;export{_ as default};
|
||||
1
public/build/assets/FormCheckbox.ac706c95.js
vendored
1
public/build/assets/FormCheckbox.ac706c95.js
vendored
@@ -1 +0,0 @@
|
||||
import a from"./FormGroup.efd02a6a.js";import l from"./Label.9d0d3ee0.js";import s from"./ErrorText.b141a597.js";import i from"./HelperText.14a7ed0b.js";import d from"./IconClipboard.8551be1b.js";import u from"./IconKey.455a255f.js";import{n as p}from"./plugin-vue2_normalizer.000ba15c.js";const n="",f={props:{id:{type:String,required:!1},label:{type:String,required:!0},required:{type:Boolean,default:()=>!1},errors:{type:Array},helperText:{type:String},placeholder:{type:String},value:{required:!1,default:""},loading:{type:Boolean,required:!1,default:!1},disabled:{type:Boolean,required:!1,default:!1},autofocus:{type:Boolean,required:!1,default:!1}},components:{FormGroup:a,Label:l,ErrorText:s,HelperText:i,IconClipboard:d,IconKey:u},data(){return{defaultClasses:n,copied:!1}},watch:{copied(){let t=this;this.copied&&setTimeout(()=>{t.copied=!1},1250)}},methods:{updateValue(t){this.$emit("input",t)}},computed:{}};var c=function(){var e=this,r=e._self._c;return r("FormGroup",{},[r("div",{staticClass:"flex flex-row items-center"},[r("input",{class:[e.defaultClasses,e.disabled||e.loading?"opacity-50":"",e.loading?"cursor-wait":""],attrs:{id:e.id,type:"checkbox",required:e.required,disabled:e.loading||e.disabled,autofocus:e.autofocus,placeholder:e.placeholder},domProps:{value:e.value},on:{input:function(o){return e.updateValue(o.target.value)}}}),e.errors?r("ErrorText",[e._v(e._s(e.errors[0]))]):e._e(),e.helperText&&!e.errors?r("HelperText",[e._v(e._s(e.helperText))]):e._e(),r("Label",{staticClass:"ml-2",attrs:{errors:e.errors,forId:e.id}},[e._v(e._s(e.label))])],1)])},m=[],_=p(f,c,m,!1,null,null,null,null);const T=_.exports;export{T as default};
|
||||
1
public/build/assets/FormCustom.efc766cd.js
vendored
1
public/build/assets/FormCustom.efc766cd.js
vendored
@@ -1 +0,0 @@
|
||||
import o from"./FormGroup.efd02a6a.js";import l from"./Label.9d0d3ee0.js";import s from"./ErrorText.b141a597.js";import a from"./HelperText.14a7ed0b.js";import{n}from"./plugin-vue2_normalizer.000ba15c.js";const u="w-full border-medium-emphasis text-body max-w-lg px-2 border rounded bg-surface-1 focus:outline-none focus:border-primary",p={props:{id:{type:String,required:!1},label:{type:String,required:!0},required:{type:Boolean,default:()=>!1},errors:{type:Array},placeholder:{type:String},value:{required:!1,default:""},rows:{default:3,required:!1},helperText:{type:String}},components:{FormGroup:o,Label:l,ErrorText:s,HelperText:a},data(){return{defaultClasses:u}},methods:{updateValue(t){this.$emit("input",t)}}};var d=function(){var r=this,e=r._self._c;return e("FormGroup",[e("Label",{attrs:{errors:r.errors,forId:r.id}},[r._v(r._s(r.label))]),r._t("default"),r.errors?e("ErrorText",[r._v(r._s(r.errors[0]))]):r._e(),r.helperText&&!r.errors?e("HelperText",[r._v(r._s(r.helperText))]):r._e()],2)},i=[],m=n(p,d,i,!1,null,null,null,null);const v=m.exports;export{v as default};
|
||||
@@ -1 +0,0 @@
|
||||
import s from"./FormGroup.efd02a6a.js";import a from"./Label.9d0d3ee0.js";import o from"./Button.f17dffc9.js";import l from"./ErrorText.b141a597.js";import i from"./HelperText.14a7ed0b.js";import n from"./IconClipboard.8551be1b.js";import p from"./IconKey.455a255f.js";import{n as u}from"./plugin-vue2_normalizer.000ba15c.js";const d="w-full border-medium-emphasis text-body h-10 px-2 border rounded bg-surface-1 focus:outline-none focus:border-primary",f={props:{id:{type:String,required:!1},label:{type:String,required:!0},required:{type:Boolean,default:()=>!1},errors:{type:Array},helperText:{type:String},placeholder:{type:String},value:File,loading:{type:Boolean,required:!1,default:!1},disabled:{type:Boolean,required:!1,default:!1},accept:String},components:{FormGroup:s,Label:a,ErrorText:l,HelperText:i,IconClipboard:n,IconKey:p,Button:o},data(){return{defaultClasses:d}},watch:{value(r){r||(this.$refs.file.value="")}},methods:{filesize(r){var e=Math.floor(Math.log(r)/Math.log(1024));return(r/Math.pow(1024,e)).toFixed(2)*1+" "+["B","kB","MB","GB","TB"][e]},browse(){this.$refs.file.click()},change(r){this.$emit("input",r.target.files[0])},remove(){this.$emit("input",null)}}};var c=function(){var e=this,t=e._self._c;return t("FormGroup",{staticClass:"relative max-w-lg"},[t("Label",{attrs:{errors:e.errors,forId:e.id}},[e._v(e._s(e.label))]),t("input",{ref:"file",staticClass:"hidden",class:[e.defaultClasses,e.disabled||e.loading?"opacity-50":"",e.loading?"cursor-wait":""],attrs:{id:e.id,type:"file",accept:e.accept},on:{change:e.change}}),e.value?t("div",{staticClass:"flex items-center justify-between p-2"},[t("div",{staticClass:"flex-1 pr-1"},[e._v(e._s(e.value.name)+" "),t("span",{staticClass:"text-gray-500 text-xs"},[e._v("("+e._s(e.filesize(e.value.size))+")")])]),t("Button",{staticClass:"px-4 py-1 rounded-sm text-xs font-medium text-white",attrs:{variant:"danger",type:"button"},on:{click:e.remove}},[e._v(" Remove ")])],1):t("div",{staticClass:"p-2"},[t("Button",{staticClass:"px-4 py-1 rounded-sm text-xs font-medium text-white",attrs:{type:"button"},on:{click:e.browse}},[e._v(" Browse ")])],1),e.errors?t("ErrorText",[e._v(e._s(e.errors[0]))]):e._e(),e.helperText&&!e.errors?t("HelperText",[e._v(e._s(e.helperText))]):e._e()],1)},m=[],_=u(f,c,m,!1,null,null,null,null);const w=_.exports;export{w as default};
|
||||
1
public/build/assets/FormGroup.efd02a6a.js
vendored
1
public/build/assets/FormGroup.efd02a6a.js
vendored
@@ -1 +0,0 @@
|
||||
import{n as r}from"./plugin-vue2_normalizer.000ba15c.js";const l={};var s=function(){var n=this,e=n._self._c;return e("div",{staticClass:"flex flex-col space-y-1"},[n._t("default")],2)},t=[],a=r(l,s,t,!1,null,null,null,null);const c=a.exports;export{c as default};
|
||||
274
public/build/assets/FormInput.8ab0f203.js
vendored
Normal file
274
public/build/assets/FormInput.8ab0f203.js
vendored
Normal file
@@ -0,0 +1,274 @@
|
||||
import { o as openBlock, c as createElementBlock, h as renderSlot, n as normalizeClass, b as createBaseVNode, f as createBlock, w as withCtx, e as createTextVNode, t as toDisplayString, d as createCommentVNode, a as createVNode, r as resolveComponent } from "./app.d0c43a70.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper.cdc0426e.js";
|
||||
const _sfc_main$6 = {};
|
||||
const _hoisted_1$6 = { class: "flex flex-col space-y-1" };
|
||||
function _sfc_render$6(_ctx, _cache) {
|
||||
return openBlock(), createElementBlock("div", _hoisted_1$6, [
|
||||
renderSlot(_ctx.$slots, "default")
|
||||
]);
|
||||
}
|
||||
const FormGroup = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["render", _sfc_render$6]]);
|
||||
const _sfc_main$5 = {
|
||||
props: {
|
||||
forId: {
|
||||
type: String,
|
||||
required: false
|
||||
},
|
||||
errors: {
|
||||
type: Array
|
||||
}
|
||||
}
|
||||
};
|
||||
const _hoisted_1$5 = ["for"];
|
||||
function _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
return openBlock(), createElementBlock("label", {
|
||||
class: normalizeClass(["text-small"]),
|
||||
for: $props.forId
|
||||
}, [
|
||||
renderSlot(_ctx.$slots, "default")
|
||||
], 8, _hoisted_1$5);
|
||||
}
|
||||
const Label = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["render", _sfc_render$5]]);
|
||||
const _sfc_main$4 = {};
|
||||
const _hoisted_1$4 = { class: "text-danger" };
|
||||
function _sfc_render$4(_ctx, _cache) {
|
||||
return openBlock(), createElementBlock("p", _hoisted_1$4, [
|
||||
renderSlot(_ctx.$slots, "default")
|
||||
]);
|
||||
}
|
||||
const ErrorText = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["render", _sfc_render$4]]);
|
||||
const _sfc_main$3 = {};
|
||||
const _hoisted_1$3 = { class: "text-medium-emphasis text-small" };
|
||||
function _sfc_render$3(_ctx, _cache) {
|
||||
return openBlock(), createElementBlock("p", _hoisted_1$3, [
|
||||
renderSlot(_ctx.$slots, "default")
|
||||
]);
|
||||
}
|
||||
const HelperText = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["render", _sfc_render$3]]);
|
||||
const _sfc_main$2 = {};
|
||||
const _hoisted_1$2 = {
|
||||
width: "1em",
|
||||
height: "1em",
|
||||
viewBox: "0 0 16 16",
|
||||
class: "bi bi-clipboard",
|
||||
fill: "currentColor",
|
||||
xmlns: "http://www.w3.org/2000/svg"
|
||||
};
|
||||
const _hoisted_2$1 = /* @__PURE__ */ createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z"
|
||||
}, null, -1);
|
||||
const _hoisted_3$1 = /* @__PURE__ */ createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M9.5 1h-3a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z"
|
||||
}, null, -1);
|
||||
const _hoisted_4$1 = [
|
||||
_hoisted_2$1,
|
||||
_hoisted_3$1
|
||||
];
|
||||
function _sfc_render$2(_ctx, _cache) {
|
||||
return openBlock(), createElementBlock("svg", _hoisted_1$2, _hoisted_4$1);
|
||||
}
|
||||
const IconClipboard = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["render", _sfc_render$2]]);
|
||||
const _sfc_main$1 = {};
|
||||
const _hoisted_1$1 = {
|
||||
width: "1em",
|
||||
height: "1em",
|
||||
viewBox: "0 0 16 16",
|
||||
class: "bi bi-key",
|
||||
fill: "currentColor",
|
||||
xmlns: "http://www.w3.org/2000/svg"
|
||||
};
|
||||
const _hoisted_2 = /* @__PURE__ */ createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M0 8a4 4 0 0 1 7.465-2H14a.5.5 0 0 1 .354.146l1.5 1.5a.5.5 0 0 1 0 .708l-1.5 1.5a.5.5 0 0 1-.708 0L13 9.207l-.646.647a.5.5 0 0 1-.708 0L11 9.207l-.646.647a.5.5 0 0 1-.708 0L9 9.207l-.646.647A.5.5 0 0 1 8 10h-.535A4 4 0 0 1 0 8zm4-3a3 3 0 1 0 2.712 4.285A.5.5 0 0 1 7.163 9h.63l.853-.854a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 0 1 .708 0l.646.647.793-.793-1-1h-6.63a.5.5 0 0 1-.451-.285A3 3 0 0 0 4 5z"
|
||||
}, null, -1);
|
||||
const _hoisted_3 = /* @__PURE__ */ createBaseVNode("path", { d: "M4 8a1 1 0 1 1-2 0 1 1 0 0 1 2 0z" }, null, -1);
|
||||
const _hoisted_4 = [
|
||||
_hoisted_2,
|
||||
_hoisted_3
|
||||
];
|
||||
function _sfc_render$1(_ctx, _cache) {
|
||||
return openBlock(), createElementBlock("svg", _hoisted_1$1, _hoisted_4);
|
||||
}
|
||||
const IconKey = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1]]);
|
||||
const defaultClasses = "w-full border-medium-emphasis text-body h-10 px-2 border rounded bg-surface-1 focus:outline-none focus:border-primary";
|
||||
const _sfc_main = {
|
||||
props: {
|
||||
id: {
|
||||
type: String,
|
||||
required: false
|
||||
},
|
||||
label: {
|
||||
type: String,
|
||||
required: false
|
||||
},
|
||||
type: {
|
||||
type: String,
|
||||
default: () => "text"
|
||||
},
|
||||
required: {
|
||||
type: Boolean,
|
||||
default: () => false
|
||||
},
|
||||
errors: {
|
||||
type: Array
|
||||
},
|
||||
helperText: {
|
||||
type: String
|
||||
},
|
||||
placeholder: {
|
||||
type: String
|
||||
},
|
||||
value: {
|
||||
required: false,
|
||||
default: ""
|
||||
},
|
||||
allowCopy: {
|
||||
required: false,
|
||||
default: false,
|
||||
type: Boolean
|
||||
},
|
||||
allowRandomString: {
|
||||
required: false,
|
||||
default: false,
|
||||
type: Boolean
|
||||
},
|
||||
loading: {
|
||||
type: Boolean,
|
||||
required: false,
|
||||
default: false
|
||||
},
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
required: false,
|
||||
default: false
|
||||
},
|
||||
autofocus: {
|
||||
type: Boolean,
|
||||
required: false,
|
||||
default: false
|
||||
}
|
||||
},
|
||||
components: {
|
||||
FormGroup,
|
||||
Label,
|
||||
ErrorText,
|
||||
HelperText,
|
||||
IconClipboard,
|
||||
IconKey
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
defaultClasses,
|
||||
copied: false
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
copied() {
|
||||
let vm = this;
|
||||
if (this.copied) {
|
||||
setTimeout(() => {
|
||||
vm.copied = false;
|
||||
}, 1250);
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
updateValue(value) {
|
||||
this.$emit("input", value);
|
||||
},
|
||||
copy() {
|
||||
this.copied = true;
|
||||
this.$copyText(this.value);
|
||||
},
|
||||
generateString() {
|
||||
this.$emit("input", this.randomString());
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
copyText() {
|
||||
if (this.copied) {
|
||||
return this.__("Copied to clipboard");
|
||||
}
|
||||
return this.__("Copy");
|
||||
}
|
||||
}
|
||||
};
|
||||
const _hoisted_1 = ["id", "type", "required", "value", "disabled", "autofocus", "placeholder"];
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_Label = resolveComponent("Label");
|
||||
const _component_IconClipboard = resolveComponent("IconClipboard");
|
||||
const _component_IconKey = resolveComponent("IconKey");
|
||||
const _component_ErrorText = resolveComponent("ErrorText");
|
||||
const _component_HelperText = resolveComponent("HelperText");
|
||||
const _component_FormGroup = resolveComponent("FormGroup");
|
||||
return openBlock(), createBlock(_component_FormGroup, { class: "relative" }, {
|
||||
default: withCtx(() => [
|
||||
$props.label ? (openBlock(), createBlock(_component_Label, {
|
||||
key: 0,
|
||||
errors: $props.errors,
|
||||
forId: $props.id
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString($props.label), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}, 8, ["errors", "forId"])) : createCommentVNode("", true),
|
||||
$props.allowCopy ? (openBlock(), createElementBlock("button", {
|
||||
key: 1,
|
||||
type: "button",
|
||||
onClick: _cache[0] || (_cache[0] = (...args) => $options.copy && $options.copy(...args)),
|
||||
class: "flex items-center right-0 absolute text-xs text-medium-emphasis"
|
||||
}, [
|
||||
createVNode(_component_IconClipboard, { class: "mr-2" }),
|
||||
createTextVNode(" " + toDisplayString($options.copyText), 1)
|
||||
])) : createCommentVNode("", true),
|
||||
$props.allowRandomString ? (openBlock(), createElementBlock("button", {
|
||||
key: 2,
|
||||
type: "button",
|
||||
onClick: _cache[1] || (_cache[1] = (...args) => $options.generateString && $options.generateString(...args)),
|
||||
class: "flex items-center right-0 absolute text-xs text-medium-emphasis"
|
||||
}, [
|
||||
createVNode(_component_IconKey, { class: "mr-2" }),
|
||||
createTextVNode(" " + toDisplayString(_ctx.__("Generate")), 1)
|
||||
])) : createCommentVNode("", true),
|
||||
createBaseVNode("input", {
|
||||
id: $props.id,
|
||||
class: normalizeClass([
|
||||
$data.defaultClasses,
|
||||
$props.disabled || $props.loading ? "opacity-50" : "",
|
||||
$props.loading ? "cursor-wait" : ""
|
||||
]),
|
||||
type: $props.type,
|
||||
required: $props.required,
|
||||
value: $props.value,
|
||||
onInput: _cache[2] || (_cache[2] = ($event) => $options.updateValue($event.target.value)),
|
||||
disabled: $props.loading || $props.disabled,
|
||||
autofocus: $props.autofocus,
|
||||
placeholder: $props.placeholder
|
||||
}, null, 42, _hoisted_1),
|
||||
$props.errors ? (openBlock(), createBlock(_component_ErrorText, { key: 3 }, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString($props.errors[0]), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})) : createCommentVNode("", true),
|
||||
$props.helperText && !$props.errors ? (openBlock(), createBlock(_component_HelperText, { key: 4 }, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString($props.helperText), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})) : createCommentVNode("", true)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
});
|
||||
}
|
||||
const FormInput = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
export {
|
||||
ErrorText as E,
|
||||
FormInput as F,
|
||||
HelperText as H,
|
||||
Label as L,
|
||||
FormGroup as a
|
||||
};
|
||||
1
public/build/assets/FormInput.e3b01057.js
vendored
1
public/build/assets/FormInput.e3b01057.js
vendored
@@ -1 +0,0 @@
|
||||
import a from"./FormGroup.efd02a6a.js";import l from"./Label.9d0d3ee0.js";import s from"./ErrorText.b141a597.js";import i from"./HelperText.14a7ed0b.js";import n from"./IconClipboard.8551be1b.js";import p from"./IconKey.455a255f.js";import{n as u}from"./plugin-vue2_normalizer.000ba15c.js";const d="w-full border-medium-emphasis text-body h-10 px-2 border rounded bg-surface-1 focus:outline-none focus:border-primary",c={props:{id:{type:String,required:!1},label:{type:String,required:!1},type:{type:String,default:()=>"text"},required:{type:Boolean,default:()=>!1},errors:{type:Array},helperText:{type:String},placeholder:{type:String},value:{required:!1,default:""},allowCopy:{required:!1,default:!1,type:Boolean},allowRandomString:{required:!1,default:!1,type:Boolean},loading:{type:Boolean,required:!1,default:!1},disabled:{type:Boolean,required:!1,default:!1},autofocus:{type:Boolean,required:!1,default:!1}},components:{FormGroup:a,Label:l,ErrorText:s,HelperText:i,IconClipboard:n,IconKey:p},data(){return{defaultClasses:d,copied:!1}},watch:{copied(){let r=this;this.copied&&setTimeout(()=>{r.copied=!1},1250)}},methods:{updateValue(r){this.$emit("input",r)},copy(){this.copied=!0,this.$copyText(this.value)},generateString(){this.$emit("input",this.randomString())}},computed:{copyText(){return this.copied?this.__("Copied to clipboard"):this.__("Copy")}}};var f=function(){var e=this,t=e._self._c;return t("FormGroup",{staticClass:"relative"},[e.label?t("Label",{attrs:{errors:e.errors,forId:e.id}},[e._v(e._s(e.label))]):e._e(),e.allowCopy?t("button",{staticClass:"flex items-center right-0 absolute text-xs text-medium-emphasis",attrs:{type:"button"},on:{click:e.copy}},[t("IconClipboard",{staticClass:"mr-2"}),e._v(" "+e._s(e.copyText)+" ")],1):e._e(),e.allowRandomString?t("button",{staticClass:"flex items-center right-0 absolute text-xs text-medium-emphasis",attrs:{type:"button"},on:{click:e.generateString}},[t("IconKey",{staticClass:"mr-2"}),e._v(" "+e._s(e.__("Generate"))+" ")],1):e._e(),t("input",{class:[e.defaultClasses,e.disabled||e.loading?"opacity-50":"",e.loading?"cursor-wait":""],attrs:{id:e.id,type:e.type,required:e.required,disabled:e.loading||e.disabled,autofocus:e.autofocus,placeholder:e.placeholder},domProps:{value:e.value},on:{input:function(o){return e.updateValue(o.target.value)}}}),e.errors?t("ErrorText",[e._v(e._s(e.errors[0]))]):e._e(),e.helperText&&!e.errors?t("HelperText",[e._v(e._s(e.helperText))]):e._e()],1)},m=[],_=u(c,f,m,!1,null,null,null,null);const q=_.exports;export{q as default};
|
||||
119
public/build/assets/FormSelect.08a72bf9.js
vendored
Normal file
119
public/build/assets/FormSelect.08a72bf9.js
vendored
Normal file
@@ -0,0 +1,119 @@
|
||||
import { a as FormGroup, L as Label, E as ErrorText, H as HelperText } from "./FormInput.8ab0f203.js";
|
||||
import { o as openBlock, f as createBlock, w as withCtx, e as createTextVNode, t as toDisplayString, d as createCommentVNode, j as withDirectives, x as vModelSelect, b as createBaseVNode, h as renderSlot, n as normalizeClass, r as resolveComponent } from "./app.d0c43a70.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper.cdc0426e.js";
|
||||
const defaultClasses = "w-full border-medium-emphasis text-body h-10 px-2 border rounded bg-surface-1 focus:outline-none focus:border-primary";
|
||||
const _sfc_main = {
|
||||
props: {
|
||||
id: {
|
||||
type: String,
|
||||
required: false
|
||||
},
|
||||
label: {
|
||||
type: String,
|
||||
required: false
|
||||
},
|
||||
type: {
|
||||
type: String,
|
||||
default: () => "text"
|
||||
},
|
||||
required: {
|
||||
type: Boolean,
|
||||
default: () => false
|
||||
},
|
||||
helperText: {
|
||||
type: String
|
||||
},
|
||||
errors: {
|
||||
type: Array
|
||||
},
|
||||
placeholder: {
|
||||
type: String
|
||||
},
|
||||
value: {
|
||||
required: false,
|
||||
default: ""
|
||||
},
|
||||
loading: {
|
||||
type: Boolean,
|
||||
required: false,
|
||||
default: false
|
||||
},
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
required: false,
|
||||
default: false
|
||||
}
|
||||
},
|
||||
components: {
|
||||
FormGroup,
|
||||
Label,
|
||||
ErrorText,
|
||||
HelperText
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
defaultClasses,
|
||||
selected: this.value
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
updateValue(value) {
|
||||
this.$emit("input", value);
|
||||
}
|
||||
}
|
||||
};
|
||||
const _hoisted_1 = ["disabled", "id", "required", "placeholder"];
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_Label = resolveComponent("Label");
|
||||
const _component_ErrorText = resolveComponent("ErrorText");
|
||||
const _component_HelperText = resolveComponent("HelperText");
|
||||
const _component_FormGroup = resolveComponent("FormGroup");
|
||||
return openBlock(), createBlock(_component_FormGroup, null, {
|
||||
default: withCtx(() => [
|
||||
$props.label ? (openBlock(), createBlock(_component_Label, {
|
||||
key: 0,
|
||||
errors: $props.errors,
|
||||
forId: $props.id
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString($props.label), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}, 8, ["errors", "forId"])) : createCommentVNode("", true),
|
||||
withDirectives(createBaseVNode("select", {
|
||||
disabled: $props.loading || $props.disabled,
|
||||
class: normalizeClass([
|
||||
$data.defaultClasses,
|
||||
$props.disabled || $props.loading ? "opacity-50" : "",
|
||||
$props.loading ? "cursor-wait" : ""
|
||||
]),
|
||||
id: $props.id,
|
||||
required: $props.required,
|
||||
placeholder: $props.placeholder,
|
||||
onInput: _cache[0] || (_cache[0] = ($event) => $options.updateValue($event.target.value)),
|
||||
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => $props.value = $event)
|
||||
}, [
|
||||
renderSlot(_ctx.$slots, "default")
|
||||
], 42, _hoisted_1), [
|
||||
[vModelSelect, $props.value]
|
||||
]),
|
||||
$props.errors ? (openBlock(), createBlock(_component_ErrorText, { key: 1 }, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString($props.errors[0]), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})) : createCommentVNode("", true),
|
||||
$props.helperText && !$props.errors ? (openBlock(), createBlock(_component_HelperText, { key: 2 }, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString($props.helperText), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})) : createCommentVNode("", true)
|
||||
], void 0, true),
|
||||
_: 3
|
||||
});
|
||||
}
|
||||
const FormSelect = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
export {
|
||||
FormSelect as F
|
||||
};
|
||||
1
public/build/assets/FormSelect.9822372e.js
vendored
1
public/build/assets/FormSelect.9822372e.js
vendored
@@ -1 +0,0 @@
|
||||
import n from"./FormGroup.efd02a6a.js";import u from"./Label.9d0d3ee0.js";import d from"./ErrorText.b141a597.js";import i from"./HelperText.14a7ed0b.js";import{n as p}from"./plugin-vue2_normalizer.000ba15c.js";const f="w-full border-medium-emphasis text-body h-10 px-2 border rounded bg-surface-1 focus:outline-none focus:border-primary",c={props:{id:{type:String,required:!1},label:{type:String,required:!1},type:{type:String,default:()=>"text"},required:{type:Boolean,default:()=>!1},helperText:{type:String},errors:{type:Array},placeholder:{type:String},value:{required:!1,default:""},loading:{type:Boolean,required:!1,default:!1},disabled:{type:Boolean,required:!1,default:!1}},components:{FormGroup:n,Label:u,ErrorText:d,HelperText:i},data(){return{defaultClasses:f,selected:this.value}},methods:{updateValue(a){this.$emit("input",a)}}};var m=function(){var e=this,r=e._self._c;return r("FormGroup",[e.label?r("Label",{attrs:{errors:e.errors,forId:e.id}},[e._v(e._s(e.label))]):e._e(),r("select",{directives:[{name:"model",rawName:"v-model",value:e.value,expression:"value"}],class:[e.defaultClasses,e.disabled||e.loading?"opacity-50":"",e.loading?"cursor-wait":""],attrs:{disabled:e.loading||e.disabled,id:e.id,required:e.required,placeholder:e.placeholder},on:{input:function(l){return e.updateValue(l.target.value)},change:function(l){var o=Array.prototype.filter.call(l.target.options,function(t){return t.selected}).map(function(t){var s="_value"in t?t._value:t.value;return s});e.value=l.target.multiple?o:o[0]}}},[e._t("default")],2),e.errors?r("ErrorText",[e._v(e._s(e.errors[0]))]):e._e(),e.helperText&&!e.errors?r("HelperText",[e._v(e._s(e.helperText))]):e._e()],1)},_=[],v=p(c,m,_,!1,null,null,null,null);const q=v.exports;export{q as default};
|
||||
1
public/build/assets/FormTextarea.5b8e3d32.js
vendored
1
public/build/assets/FormTextarea.5b8e3d32.js
vendored
@@ -1 +0,0 @@
|
||||
import a from"./FormGroup.efd02a6a.js";import l from"./Label.9d0d3ee0.js";import s from"./ErrorText.b141a597.js";import u from"./HelperText.14a7ed0b.js";import{n}from"./plugin-vue2_normalizer.000ba15c.js";const d="w-full border-medium-emphasis text-body px-2 border rounded bg-surface-1 focus:outline-none focus:border-primary",p={props:{id:{type:String,required:!1},label:{type:String,required:!0},required:{type:Boolean,default:()=>!1},errors:{type:Array},placeholder:{type:String},value:{required:!1,default:""},rows:{default:3,required:!1},helperText:{type:String}},components:{FormGroup:a,Label:l,ErrorText:s,HelperText:u},data(){return{defaultClasses:d}},methods:{updateValue(t){this.$emit("input",t)}}};var i=function(){var e=this,r=e._self._c;return r("FormGroup",[r("Label",{attrs:{errors:e.errors,forId:e.id}},[e._v(e._s(e.label))]),r("textarea",{class:[e.defaultClasses],attrs:{id:e.id,required:e.required,rows:e.rows,placeholder:e.placeholder},domProps:{value:e.value},on:{input:function(o){return e.updateValue(o.target.value)}}}),e.errors?r("ErrorText",[e._v(e._s(e.errors[0]))]):e._e(),e.helperText&&!e.errors?r("HelperText",[e._v(e._s(e.helperText))]):e._e()],1)},f=[],m=n(p,i,f,!1,null,null,null,null);const b=m.exports;export{b as default};
|
||||
99
public/build/assets/FormTextarea.deefc03c.js
vendored
Normal file
99
public/build/assets/FormTextarea.deefc03c.js
vendored
Normal file
@@ -0,0 +1,99 @@
|
||||
import { a as FormGroup, L as Label, E as ErrorText, H as HelperText } from "./FormInput.8ab0f203.js";
|
||||
import { o as openBlock, f as createBlock, w as withCtx, a as createVNode, e as createTextVNode, t as toDisplayString, b as createBaseVNode, n as normalizeClass, d as createCommentVNode, r as resolveComponent } from "./app.d0c43a70.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper.cdc0426e.js";
|
||||
const defaultClasses = "w-full border-medium-emphasis text-body px-2 border rounded bg-surface-1 focus:outline-none focus:border-primary";
|
||||
const _sfc_main = {
|
||||
props: {
|
||||
id: {
|
||||
type: String,
|
||||
required: false
|
||||
},
|
||||
label: {
|
||||
type: String,
|
||||
required: true
|
||||
},
|
||||
required: {
|
||||
type: Boolean,
|
||||
default: () => false
|
||||
},
|
||||
errors: {
|
||||
type: Array
|
||||
},
|
||||
placeholder: {
|
||||
type: String
|
||||
},
|
||||
value: {
|
||||
required: false,
|
||||
default: ""
|
||||
},
|
||||
rows: {
|
||||
default: 3,
|
||||
required: false
|
||||
},
|
||||
helperText: {
|
||||
type: String
|
||||
}
|
||||
},
|
||||
components: {
|
||||
FormGroup,
|
||||
Label,
|
||||
ErrorText,
|
||||
HelperText
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
defaultClasses
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
updateValue(value) {
|
||||
this.$emit("input", value);
|
||||
}
|
||||
}
|
||||
};
|
||||
const _hoisted_1 = ["id", "required", "value", "rows", "placeholder"];
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_Label = resolveComponent("Label");
|
||||
const _component_ErrorText = resolveComponent("ErrorText");
|
||||
const _component_HelperText = resolveComponent("HelperText");
|
||||
const _component_FormGroup = resolveComponent("FormGroup");
|
||||
return openBlock(), createBlock(_component_FormGroup, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_Label, {
|
||||
errors: $props.errors,
|
||||
forId: $props.id
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString($props.label), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}, 8, ["errors", "forId"]),
|
||||
createBaseVNode("textarea", {
|
||||
id: $props.id,
|
||||
class: normalizeClass([$data.defaultClasses]),
|
||||
required: $props.required,
|
||||
value: $props.value,
|
||||
rows: $props.rows,
|
||||
onInput: _cache[0] || (_cache[0] = ($event) => $options.updateValue($event.target.value)),
|
||||
placeholder: $props.placeholder
|
||||
}, null, 42, _hoisted_1),
|
||||
$props.errors ? (openBlock(), createBlock(_component_ErrorText, { key: 0 }, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString($props.errors[0]), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})) : createCommentVNode("", true),
|
||||
$props.helperText && !$props.errors ? (openBlock(), createBlock(_component_HelperText, { key: 1 }, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString($props.helperText), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})) : createCommentVNode("", true)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
});
|
||||
}
|
||||
const FormTextarea = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
export {
|
||||
FormTextarea as F
|
||||
};
|
||||
1
public/build/assets/HelperText.14a7ed0b.js
vendored
1
public/build/assets/HelperText.14a7ed0b.js
vendored
@@ -1 +0,0 @@
|
||||
import{n}from"./plugin-vue2_normalizer.000ba15c.js";const s={};var l=function(){var e=this,t=e._self._c;return t("p",{staticClass:"text-medium-emphasis text-small"},[e._t("default")],2)},r=[],a=n(s,l,r,!1,null,null,null,null);const c=a.exports;export{c as default};
|
||||
46
public/build/assets/IconArrowDown.9b5fd04b.js
vendored
Normal file
46
public/build/assets/IconArrowDown.9b5fd04b.js
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
import { o as openBlock, c as createElementBlock, b as createBaseVNode } from "./app.d0c43a70.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper.cdc0426e.js";
|
||||
const _sfc_main$1 = {};
|
||||
const _hoisted_1$1 = {
|
||||
width: "1em",
|
||||
height: "1em",
|
||||
viewBox: "0 0 16 16",
|
||||
class: "bi bi-arrow-up",
|
||||
fill: "currentColor",
|
||||
xmlns: "http://www.w3.org/2000/svg"
|
||||
};
|
||||
const _hoisted_2$1 = /* @__PURE__ */ createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M8 15a.5.5 0 0 0 .5-.5V2.707l3.146 3.147a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 1 0 .708.708L7.5 2.707V14.5a.5.5 0 0 0 .5.5z"
|
||||
}, null, -1);
|
||||
const _hoisted_3$1 = [
|
||||
_hoisted_2$1
|
||||
];
|
||||
function _sfc_render$1(_ctx, _cache) {
|
||||
return openBlock(), createElementBlock("svg", _hoisted_1$1, _hoisted_3$1);
|
||||
}
|
||||
const IconArrowUp = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1]]);
|
||||
const _sfc_main = {};
|
||||
const _hoisted_1 = {
|
||||
width: "1em",
|
||||
height: "1em",
|
||||
viewBox: "0 0 16 16",
|
||||
class: "bi bi-arrow-down",
|
||||
fill: "currentColor",
|
||||
xmlns: "http://www.w3.org/2000/svg"
|
||||
};
|
||||
const _hoisted_2 = /* @__PURE__ */ createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M8 1a.5.5 0 0 1 .5.5v11.793l3.146-3.147a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 .708-.708L7.5 13.293V1.5A.5.5 0 0 1 8 1z"
|
||||
}, null, -1);
|
||||
const _hoisted_3 = [
|
||||
_hoisted_2
|
||||
];
|
||||
function _sfc_render(_ctx, _cache) {
|
||||
return openBlock(), createElementBlock("svg", _hoisted_1, _hoisted_3);
|
||||
}
|
||||
const IconArrowDown = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
export {
|
||||
IconArrowDown as I,
|
||||
IconArrowUp as a
|
||||
};
|
||||
@@ -1 +0,0 @@
|
||||
import{n as t}from"./plugin-vue2_normalizer.000ba15c.js";const e={};var l=function(){var n=this,r=n._self._c;return r("svg",{staticClass:"bi bi-arrow-down",attrs:{width:"1em",height:"1em",viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[r("path",{attrs:{"fill-rule":"evenodd",d:"M8 1a.5.5 0 0 1 .5.5v11.793l3.146-3.147a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 .708-.708L7.5 13.293V1.5A.5.5 0 0 1 8 1z"}})])},o=[],a=t(e,l,o,!1,null,null,null,null);const _=a.exports;export{_ as default};
|
||||
1
public/build/assets/IconArrowUp.5ed32d30.js
vendored
1
public/build/assets/IconArrowUp.5ed32d30.js
vendored
@@ -1 +0,0 @@
|
||||
import{n}from"./plugin-vue2_normalizer.000ba15c.js";const e={};var l=function(){var t=this,r=t._self._c;return r("svg",{staticClass:"bi bi-arrow-up",attrs:{width:"1em",height:"1em",viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[r("path",{attrs:{"fill-rule":"evenodd",d:"M8 15a.5.5 0 0 0 .5-.5V2.707l3.146 3.147a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 1 0 .708.708L7.5 2.707V14.5a.5.5 0 0 0 .5.5z"}})])},a=[],s=n(e,l,a,!1,null,null,null,null);const _=s.exports;export{_ as default};
|
||||
1
public/build/assets/IconBox.e6c961ac.js
vendored
1
public/build/assets/IconBox.e6c961ac.js
vendored
@@ -1 +0,0 @@
|
||||
import{n as e}from"./plugin-vue2_normalizer.000ba15c.js";const r={};var t=function(){var n=this,l=n._self._c;return l("svg",{attrs:{width:"1em",height:"1em",viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[l("path",{attrs:{"fill-rule":"evenodd",d:"M8.186 1.113a.5.5 0 0 0-.372 0L1.846 3.5l2.404.961L10.404 2l-2.218-.887zm3.564 1.426L5.596 5 8 5.961 14.154 3.5l-2.404-.961zm3.25 1.7l-6.5 2.6v7.922l6.5-2.6V4.24zM7.5 14.762V6.838L1 4.239v7.923l6.5 2.6zM7.443.184a1.5 1.5 0 0 1 1.114 0l7.129 2.852A.5.5 0 0 1 16 3.5v8.662a1 1 0 0 1-.629.928l-7.185 2.874a.5.5 0 0 1-.372 0L.63 13.09a1 1 0 0 1-.63-.928V3.5a.5.5 0 0 1 .314-.464L7.443.184z"}})])},a=[],o=e(r,t,a,!1,null,null,null,null);const c=o.exports;export{c as default};
|
||||
1
public/build/assets/IconButton.eadc8d3d.js
vendored
1
public/build/assets/IconButton.eadc8d3d.js
vendored
@@ -1 +0,0 @@
|
||||
import{n as t}from"./plugin-vue2_normalizer.000ba15c.js";const s={};var c=function(){var e=this,n=e._self._c;return n("button",{staticClass:"inline-flex items-center justify-center w-10 h-10 text-medium-emphasis rounded-circle focus:outline-none focus:text-high-emphasis",on:{click:function(l){return e.$emit("click")}}},[e._t("default")],2)},o=[],r=t(s,c,o,!1,null,null,null,null);const a=r.exports;export{a as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{n as r}from"./plugin-vue2_normalizer.000ba15c.js";const t={};var l=function(){var n=this,e=n._self._c;return e("svg",{attrs:{width:"1em",height:"1em",viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[e("path",{attrs:{"fill-rule":"evenodd",d:"M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z"}})])},o=[],a=r(t,l,o,!1,null,null,null,null);const c=a.exports;export{c as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{n as r}from"./plugin-vue2_normalizer.000ba15c.js";const e={};var l=function(){var t=this,a=t._self._c;return a("svg",{staticClass:"bi bi-clipboard",attrs:{width:"1em",height:"1em",viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[a("path",{attrs:{"fill-rule":"evenodd",d:"M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z"}}),a("path",{attrs:{"fill-rule":"evenodd",d:"M9.5 1h-3a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z"}})])},n=[],s=r(e,l,n,!1,null,null,null,null);const v=s.exports;export{v as default};
|
||||
1
public/build/assets/IconClose.edb7c8fd.js
vendored
1
public/build/assets/IconClose.edb7c8fd.js
vendored
@@ -1 +0,0 @@
|
||||
import{n as t}from"./plugin-vue2_normalizer.000ba15c.js";const n={};var r=function(){var l=this,e=l._self._c;return e("svg",{attrs:{width:"1em",height:"1em",viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[e("path",{attrs:{"fill-rule":"evenodd",d:"M11.854 4.146a.5.5 0 0 1 0 .708l-7 7a.5.5 0 0 1-.708-.708l7-7a.5.5 0 0 1 .708 0z"}}),e("path",{attrs:{"fill-rule":"evenodd",d:"M4.146 4.146a.5.5 0 0 0 0 .708l7 7a.5.5 0 0 0 .708-.708l-7-7a.5.5 0 0 0-.708 0z"}})])},a=[],o=t(n,r,a,!1,null,null,null,null);const c=o.exports;export{c as default};
|
||||
1
public/build/assets/IconDanger.2f6e115d.js
vendored
1
public/build/assets/IconDanger.2f6e115d.js
vendored
@@ -1 +0,0 @@
|
||||
import{n}from"./plugin-vue2_normalizer.000ba15c.js";const r={};var e=function(){var t=this,a=t._self._c;return a("svg",{attrs:{width:"1em",height:"1em",viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[a("path",{attrs:{"fill-rule":"evenodd",d:"M7.938 2.016a.146.146 0 0 0-.054.057L1.027 13.74a.176.176 0 0 0-.002.183c.016.03.037.05.054.06.015.01.034.017.066.017h13.713a.12.12 0 0 0 .066-.017.163.163 0 0 0 .055-.06.176.176 0 0 0-.003-.183L8.12 2.073a.146.146 0 0 0-.054-.057A.13.13 0 0 0 8.002 2a.13.13 0 0 0-.064.016zm1.044-.45a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566z"}}),a("path",{attrs:{d:"M7.002 12a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 5.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 5.995z"}})])},l=[],s=n(r,e,l,!1,null,null,null,null);const _=s.exports;export{_ as default};
|
||||
1
public/build/assets/IconGlobe.07030b80.js
vendored
1
public/build/assets/IconGlobe.07030b80.js
vendored
@@ -1 +0,0 @@
|
||||
import{n as e}from"./plugin-vue2_normalizer.000ba15c.js";const n={};var m=function(){var c=this,a=c._self._c;return a("svg",{attrs:{width:"1em",height:"1em",viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[a("path",{attrs:{"fill-rule":"evenodd",d:"M1.018 7.5h2.49c.037-1.07.189-2.087.437-3.008a9.124 9.124 0 0 1-1.565-.667A6.964 6.964 0 0 0 1.018 7.5zM3.05 3.049c.362.184.763.349 1.198.49.142-.384.304-.744.481-1.078a6.7 6.7 0 0 1 .597-.933A7.01 7.01 0 0 0 3.051 3.05zM8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm-.5 1.077c-.67.204-1.335.82-1.887 1.855-.143.268-.276.56-.395.872.705.157 1.473.257 2.282.287V1.077zm0 4.014c-.91-.03-1.783-.145-2.591-.332a12.344 12.344 0 0 0-.4 2.741H7.5V5.091zm1 2.409V5.091c.91-.03 1.783-.145 2.591-.332.223.827.364 1.754.4 2.741H8.5zm-1 1H4.51c.035.987.176 1.914.399 2.741A13.596 13.596 0 0 1 7.5 10.91V8.5zm1 2.409V8.5h2.99a12.343 12.343 0 0 1-.399 2.741A13.596 13.596 0 0 0 8.5 10.91zm-1 1c-.81.03-1.577.13-2.282.287.12.312.252.604.395.872.552 1.035 1.218 1.65 1.887 1.855V11.91zm-2.173 2.563a6.695 6.695 0 0 1-.597-.933 8.857 8.857 0 0 1-.481-1.078 8.356 8.356 0 0 0-1.198.49 7.01 7.01 0 0 0 2.276 1.52zM2.38 12.175c.47-.258.995-.482 1.565-.667A13.36 13.36 0 0 1 3.508 8.5h-2.49a6.964 6.964 0 0 0 1.362 3.675zm8.293 2.297a7.01 7.01 0 0 0 2.275-1.521 8.353 8.353 0 0 0-1.197-.49 8.859 8.859 0 0 1-.481 1.078 6.688 6.688 0 0 1-.597.933zm.11-2.276A12.63 12.63 0 0 0 8.5 11.91v3.014c.67-.204 1.335-.82 1.887-1.855.143-.268.276-.56.395-.872zm1.272-.688c.57.185 1.095.409 1.565.667A6.964 6.964 0 0 0 14.982 8.5h-2.49a13.355 13.355 0 0 1-.437 3.008zm.437-4.008h2.49a6.963 6.963 0 0 0-1.362-3.675c-.47.258-.995.482-1.565.667.248.92.4 1.938.437 3.008zm-.74-3.96a8.854 8.854 0 0 0-.482-1.079 6.692 6.692 0 0 0-.597-.933c.857.355 1.63.875 2.275 1.521a8.368 8.368 0 0 1-1.197.49zm-.97.264c-.705.157-1.473.257-2.282.287V1.077c.67.204 1.335.82 1.887 1.855.143.268.276.56.395.872z"}})])},r=[],t=e(n,m,r,!1,null,null,null,null);const s=t.exports;export{s as default};
|
||||
1
public/build/assets/IconHarddisk.ca1952a6.js
vendored
1
public/build/assets/IconHarddisk.ca1952a6.js
vendored
@@ -1 +0,0 @@
|
||||
import{n as r}from"./plugin-vue2_normalizer.000ba15c.js";const e={};var l=function(){var t=this,a=t._self._c;return a("svg",{staticClass:"bi bi-hdd",attrs:{width:"1em",height:"1em",viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[a("path",{attrs:{"fill-rule":"evenodd",d:"M14 9H2a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1zM2 8a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-1a2 2 0 0 0-2-2H2z"}}),a("path",{attrs:{d:"M5 10.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm-2 0a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0z"}}),a("path",{attrs:{"fill-rule":"evenodd",d:"M4.094 4a.5.5 0 0 0-.44.26l-2.47 4.532A1.5 1.5 0 0 0 1 9.51v.99H0v-.99c0-.418.105-.83.305-1.197l2.472-4.531A1.5 1.5 0 0 1 4.094 3h7.812a1.5 1.5 0 0 1 1.317.782l2.472 4.53c.2.368.305.78.305 1.198v.99h-1v-.99a1.5 1.5 0 0 0-.183-.718L12.345 4.26a.5.5 0 0 0-.439-.26H4.094z"}})])},n=[],s=r(e,l,n,!1,null,null,null,null);const d=s.exports;export{d as default};
|
||||
1
public/build/assets/IconInfo.ad7662f9.js
vendored
1
public/build/assets/IconInfo.ad7662f9.js
vendored
@@ -1 +0,0 @@
|
||||
import{n}from"./plugin-vue2_normalizer.000ba15c.js";const e={};var l=function(){var r=this,t=r._self._c;return t("svg",{staticClass:"bi bi-info-circle",attrs:{width:"1em",height:"1em",viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[t("path",{attrs:{"fill-rule":"evenodd",d:"M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z"}}),t("path",{attrs:{d:"M8.93 6.588l-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533L8.93 6.588z"}}),t("circle",{attrs:{cx:"8",cy:"4.5",r:"1"}})])},s=[],c=n(e,l,s,!1,null,null,null,null);const i=c.exports;export{i as default};
|
||||
1
public/build/assets/IconKey.455a255f.js
vendored
1
public/build/assets/IconKey.455a255f.js
vendored
@@ -1 +0,0 @@
|
||||
import{n as t}from"./plugin-vue2_normalizer.000ba15c.js";const e={};var n=function(){var l=this,a=l._self._c;return a("svg",{staticClass:"bi bi-key",attrs:{width:"1em",height:"1em",viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[a("path",{attrs:{"fill-rule":"evenodd",d:"M0 8a4 4 0 0 1 7.465-2H14a.5.5 0 0 1 .354.146l1.5 1.5a.5.5 0 0 1 0 .708l-1.5 1.5a.5.5 0 0 1-.708 0L13 9.207l-.646.647a.5.5 0 0 1-.708 0L11 9.207l-.646.647a.5.5 0 0 1-.708 0L9 9.207l-.646.647A.5.5 0 0 1 8 10h-.535A4 4 0 0 1 0 8zm4-3a3 3 0 1 0 2.712 4.285A.5.5 0 0 1 7.163 9h.63l.853-.854a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 0 1 .708 0l.646.647.793-.793-1-1h-6.63a.5.5 0 0 1-.451-.285A3 3 0 0 0 4 5z"}}),a("path",{attrs:{d:"M4 8a1 1 0 1 1-2 0 1 1 0 0 1 2 0z"}})])},r=[],s=t(e,n,r,!1,null,null,null,null);const _=s.exports;export{_ as default};
|
||||
1
public/build/assets/IconMoon.ade3e41b.js
vendored
1
public/build/assets/IconMoon.ade3e41b.js
vendored
@@ -1 +0,0 @@
|
||||
import{n as e}from"./plugin-vue2_normalizer.000ba15c.js";const r={};var o=function(){var t=this,n=t._self._c;return n("svg",{staticClass:"bi bi-moon",attrs:{width:"1em",height:"1em",viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[n("path",{attrs:{"fill-rule":"evenodd",d:"M14.53 10.53a7 7 0 0 1-9.058-9.058A7.003 7.003 0 0 0 8 15a7.002 7.002 0 0 0 6.53-4.47z"}})])},s=[],l=e(r,o,s,!1,null,null,null,null);const _=l.exports;export{_ as default};
|
||||
1
public/build/assets/IconMore.eb5410da.js
vendored
1
public/build/assets/IconMore.eb5410da.js
vendored
@@ -1 +0,0 @@
|
||||
import{n as r}from"./plugin-vue2_normalizer.000ba15c.js";const t={};var l=function(){var n=this,e=n._self._c;return e("svg",{attrs:{width:"1em",height:"1em",viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[e("path",{attrs:{"fill-rule":"evenodd",d:"M3 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z"}})])},o=[],s=r(t,l,o,!1,null,null,null,null);const c=s.exports;export{c as default};
|
||||
1
public/build/assets/IconPerson.ed5ea8af.js
vendored
1
public/build/assets/IconPerson.ed5ea8af.js
vendored
@@ -1 +0,0 @@
|
||||
import{n as r}from"./plugin-vue2_normalizer.000ba15c.js";const t={};var s=function(){var e=this,n=e._self._c;return n("svg",{staticClass:"bi bi-person",attrs:{width:"1em",height:"1em",viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[n("path",{attrs:{"fill-rule":"evenodd",d:"M13 14s1 0 1-1-1-4-6-4-6 3-6 4 1 1 1 1h10zm-9.995-.944v-.002.002zM3.022 13h9.956a.274.274 0 0 0 .014-.002l.008-.002c-.001-.246-.154-.986-.832-1.664C11.516 10.68 10.289 10 8 10c-2.29 0-3.516.68-4.168 1.332-.678.678-.83 1.418-.832 1.664a1.05 1.05 0 0 0 .022.004zm9.974.056v-.002.002zM8 7a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm3-2a3 3 0 1 1-6 0 3 3 0 0 1 6 0z"}})])},l=[],a=r(t,s,l,!1,null,null,null,null);const i=a.exports;export{i as default};
|
||||
1
public/build/assets/IconPhp.bf31d2c3.js
vendored
1
public/build/assets/IconPhp.bf31d2c3.js
vendored
@@ -1 +0,0 @@
|
||||
import{n as t}from"./plugin-vue2_normalizer.000ba15c.js";const c={};var r=function(){var n=this,l=n._self._c;return l("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 640 512",width:"1.5em",height:"1.5em",fill:"currentColor"}},[l("path",{attrs:{d:"M320 104.5c171.4 0 303.2 72.2 303.2 151.5S491.3 407.5 320 407.5c-171.4 0-303.2-72.2-303.2-151.5S148.7 104.5 320 104.5m0-16.8C143.3 87.7 0 163 0 256s143.3 168.3 320 168.3S640 349 640 256 496.7 87.7 320 87.7zM218.2 242.5c-7.9 40.5-35.8 36.3-70.1 36.3l13.7-70.6c38 0 63.8-4.1 56.4 34.3zM97.4 350.3h36.7l8.7-44.8c41.1 0 66.6 3 90.2-19.1 26.1-24 32.9-66.7 14.3-88.1-9.7-11.2-25.3-16.7-46.5-16.7h-70.7L97.4 350.3zm185.7-213.6h36.5l-8.7 44.8c31.5 0 60.7-2.3 74.8 10.7 14.8 13.6 7.7 31-8.3 113.1h-37c15.4-79.4 18.3-86 12.7-92-5.4-5.8-17.7-4.6-47.4-4.6l-18.8 96.6h-36.5l32.7-168.6zM505 242.5c-8 41.1-36.7 36.3-70.1 36.3l13.7-70.6c38.2 0 63.8-4.1 56.4 34.3zM384.2 350.3H421l8.7-44.8c43.2 0 67.1 2.5 90.2-19.1 26.1-24 32.9-66.7 14.3-88.1-9.7-11.2-25.3-16.7-46.5-16.7H417l-32.8 168.7z"}})])},e=[],s=t(c,r,e,!1,null,null,null,null);const _=s.exports;export{_ as default};
|
||||
1
public/build/assets/IconSearch.27dac870.js
vendored
1
public/build/assets/IconSearch.27dac870.js
vendored
@@ -1 +0,0 @@
|
||||
import{n as r}from"./plugin-vue2_normalizer.000ba15c.js";const a={};var l=function(){var t=this,e=t._self._c;return e("svg",{staticClass:"bi bi-search",attrs:{width:"1em",height:"1em",viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[e("path",{attrs:{"fill-rule":"evenodd",d:"M10.442 10.442a1 1 0 0 1 1.415 0l3.85 3.85a1 1 0 0 1-1.414 1.415l-3.85-3.85a1 1 0 0 1 0-1.415z"}}),e("path",{attrs:{"fill-rule":"evenodd",d:"M6.5 12a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11zM13 6.5a6.5 6.5 0 1 1-13 0 6.5 6.5 0 0 1 13 0z"}})])},n=[],s=r(a,l,n,!1,null,null,null,null);const i=s.exports;export{i as default};
|
||||
71
public/build/assets/IconStorage.3e58486a.js
vendored
Normal file
71
public/build/assets/IconStorage.3e58486a.js
vendored
Normal file
@@ -0,0 +1,71 @@
|
||||
import { o as openBlock, c as createElementBlock, b as createBaseVNode } from "./app.d0c43a70.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper.cdc0426e.js";
|
||||
const _sfc_main$2 = {};
|
||||
const _hoisted_1$2 = {
|
||||
width: "1em",
|
||||
height: "1em",
|
||||
viewBox: "0 0 16 16",
|
||||
fill: "currentColor",
|
||||
xmlns: "http://www.w3.org/2000/svg"
|
||||
};
|
||||
const _hoisted_2$2 = /* @__PURE__ */ createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M8.186 1.113a.5.5 0 0 0-.372 0L1.846 3.5l2.404.961L10.404 2l-2.218-.887zm3.564 1.426L5.596 5 8 5.961 14.154 3.5l-2.404-.961zm3.25 1.7l-6.5 2.6v7.922l6.5-2.6V4.24zM7.5 14.762V6.838L1 4.239v7.923l6.5 2.6zM7.443.184a1.5 1.5 0 0 1 1.114 0l7.129 2.852A.5.5 0 0 1 16 3.5v8.662a1 1 0 0 1-.629.928l-7.185 2.874a.5.5 0 0 1-.372 0L.63 13.09a1 1 0 0 1-.63-.928V3.5a.5.5 0 0 1 .314-.464L7.443.184z"
|
||||
}, null, -1);
|
||||
const _hoisted_3$2 = [
|
||||
_hoisted_2$2
|
||||
];
|
||||
function _sfc_render$2(_ctx, _cache) {
|
||||
return openBlock(), createElementBlock("svg", _hoisted_1$2, _hoisted_3$2);
|
||||
}
|
||||
const IconBox = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["render", _sfc_render$2]]);
|
||||
const _sfc_main$1 = {};
|
||||
const _hoisted_1$1 = {
|
||||
width: "1em",
|
||||
height: "1em",
|
||||
viewBox: "0 0 16 16",
|
||||
fill: "currentColor",
|
||||
xmlns: "http://www.w3.org/2000/svg"
|
||||
};
|
||||
const _hoisted_2$1 = /* @__PURE__ */ createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M1.018 7.5h2.49c.037-1.07.189-2.087.437-3.008a9.124 9.124 0 0 1-1.565-.667A6.964 6.964 0 0 0 1.018 7.5zM3.05 3.049c.362.184.763.349 1.198.49.142-.384.304-.744.481-1.078a6.7 6.7 0 0 1 .597-.933A7.01 7.01 0 0 0 3.051 3.05zM8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm-.5 1.077c-.67.204-1.335.82-1.887 1.855-.143.268-.276.56-.395.872.705.157 1.473.257 2.282.287V1.077zm0 4.014c-.91-.03-1.783-.145-2.591-.332a12.344 12.344 0 0 0-.4 2.741H7.5V5.091zm1 2.409V5.091c.91-.03 1.783-.145 2.591-.332.223.827.364 1.754.4 2.741H8.5zm-1 1H4.51c.035.987.176 1.914.399 2.741A13.596 13.596 0 0 1 7.5 10.91V8.5zm1 2.409V8.5h2.99a12.343 12.343 0 0 1-.399 2.741A13.596 13.596 0 0 0 8.5 10.91zm-1 1c-.81.03-1.577.13-2.282.287.12.312.252.604.395.872.552 1.035 1.218 1.65 1.887 1.855V11.91zm-2.173 2.563a6.695 6.695 0 0 1-.597-.933 8.857 8.857 0 0 1-.481-1.078 8.356 8.356 0 0 0-1.198.49 7.01 7.01 0 0 0 2.276 1.52zM2.38 12.175c.47-.258.995-.482 1.565-.667A13.36 13.36 0 0 1 3.508 8.5h-2.49a6.964 6.964 0 0 0 1.362 3.675zm8.293 2.297a7.01 7.01 0 0 0 2.275-1.521 8.353 8.353 0 0 0-1.197-.49 8.859 8.859 0 0 1-.481 1.078 6.688 6.688 0 0 1-.597.933zm.11-2.276A12.63 12.63 0 0 0 8.5 11.91v3.014c.67-.204 1.335-.82 1.887-1.855.143-.268.276-.56.395-.872zm1.272-.688c.57.185 1.095.409 1.565.667A6.964 6.964 0 0 0 14.982 8.5h-2.49a13.355 13.355 0 0 1-.437 3.008zm.437-4.008h2.49a6.963 6.963 0 0 0-1.362-3.675c-.47.258-.995.482-1.565.667.248.92.4 1.938.437 3.008zm-.74-3.96a8.854 8.854 0 0 0-.482-1.079 6.692 6.692 0 0 0-.597-.933c.857.355 1.63.875 2.275 1.521a8.368 8.368 0 0 1-1.197.49zm-.97.264c-.705.157-1.473.257-2.282.287V1.077c.67.204 1.335.82 1.887 1.855.143.268.276.56.395.872z"
|
||||
}, null, -1);
|
||||
const _hoisted_3$1 = [
|
||||
_hoisted_2$1
|
||||
];
|
||||
function _sfc_render$1(_ctx, _cache) {
|
||||
return openBlock(), createElementBlock("svg", _hoisted_1$1, _hoisted_3$1);
|
||||
}
|
||||
const IconGlobe = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1]]);
|
||||
const _sfc_main = {};
|
||||
const _hoisted_1 = {
|
||||
width: "1em",
|
||||
height: "1em",
|
||||
viewBox: "0 0 16 16",
|
||||
fill: "currentColor",
|
||||
xmlns: "http://www.w3.org/2000/svg"
|
||||
};
|
||||
const _hoisted_2 = /* @__PURE__ */ createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M14 9H2a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1zM2 8a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-1a2 2 0 0 0-2-2H2z"
|
||||
}, null, -1);
|
||||
const _hoisted_3 = /* @__PURE__ */ createBaseVNode("path", { d: "M5 10.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm-2 0a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0z" }, null, -1);
|
||||
const _hoisted_4 = /* @__PURE__ */ createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
d: "M4.094 4a.5.5 0 0 0-.44.26l-2.47 4.532A1.5 1.5 0 0 0 1 9.51v.99H0v-.99c0-.418.105-.83.305-1.197l2.472-4.531A1.5 1.5 0 0 1 4.094 3h7.812a1.5 1.5 0 0 1 1.317.782l2.472 4.53c.2.368.305.78.305 1.198v.99h-1v-.99a1.5 1.5 0 0 0-.183-.718L12.345 4.26a.5.5 0 0 0-.439-.26H4.094z"
|
||||
}, null, -1);
|
||||
const _hoisted_5 = [
|
||||
_hoisted_2,
|
||||
_hoisted_3,
|
||||
_hoisted_4
|
||||
];
|
||||
function _sfc_render(_ctx, _cache) {
|
||||
return openBlock(), createElementBlock("svg", _hoisted_1, _hoisted_5);
|
||||
}
|
||||
const IconStorage = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
export {
|
||||
IconBox as I,
|
||||
IconGlobe as a,
|
||||
IconStorage as b
|
||||
};
|
||||
1
public/build/assets/IconStorage.ef2b2e41.js
vendored
1
public/build/assets/IconStorage.ef2b2e41.js
vendored
@@ -1 +0,0 @@
|
||||
import{n as e}from"./plugin-vue2_normalizer.000ba15c.js";const r={};var l=function(){var t=this,a=t._self._c;return a("svg",{attrs:{width:"1em",height:"1em",viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[a("path",{attrs:{"fill-rule":"evenodd",d:"M14 9H2a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1zM2 8a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-1a2 2 0 0 0-2-2H2z"}}),a("path",{attrs:{d:"M5 10.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm-2 0a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0z"}}),a("path",{attrs:{"fill-rule":"evenodd",d:"M4.094 4a.5.5 0 0 0-.44.26l-2.47 4.532A1.5 1.5 0 0 0 1 9.51v.99H0v-.99c0-.418.105-.83.305-1.197l2.472-4.531A1.5 1.5 0 0 1 4.094 3h7.812a1.5 1.5 0 0 1 1.317.782l2.472 4.53c.2.368.305.78.305 1.198v.99h-1v-.99a1.5 1.5 0 0 0-.183-.718L12.345 4.26a.5.5 0 0 0-.439-.26H4.094z"}})])},n=[],o=e(r,l,n,!1,null,null,null,null);const c=o.exports;export{c as default};
|
||||
1
public/build/assets/IconSuccess.09b85716.js
vendored
1
public/build/assets/IconSuccess.09b85716.js
vendored
@@ -1 +0,0 @@
|
||||
import{n}from"./plugin-vue2_normalizer.000ba15c.js";const r={};var l=function(){var t=this,e=t._self._c;return e("svg",{attrs:{width:"1em",height:"1em",viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[e("path",{attrs:{"fill-rule":"evenodd",d:"M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z"}}),e("path",{attrs:{"fill-rule":"evenodd",d:"M10.97 4.97a.75.75 0 0 1 1.071 1.05l-3.992 4.99a.75.75 0 0 1-1.08.02L4.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093 3.473-4.425a.236.236 0 0 1 .02-.022z"}})])},a=[],s=n(r,l,a,!1,null,null,null,null);const _=s.exports;export{_ as default};
|
||||
1
public/build/assets/IconSun.8809e5d7.js
vendored
1
public/build/assets/IconSun.8809e5d7.js
vendored
@@ -1 +0,0 @@
|
||||
import{n as t}from"./plugin-vue2_normalizer.000ba15c.js";const n={};var r=function(){var l=this,a=l._self._c;return a("svg",{staticClass:"bi bi-sun",attrs:{width:"1em",height:"1em",viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[a("path",{attrs:{d:"M3.5 8a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0z"}}),a("path",{attrs:{"fill-rule":"evenodd",d:"M8.202.28a.25.25 0 0 0-.404 0l-.91 1.255a.25.25 0 0 1-.334.067L5.232.79a.25.25 0 0 0-.374.155l-.36 1.508a.25.25 0 0 1-.282.19l-1.532-.245a.25.25 0 0 0-.286.286l.244 1.532a.25.25 0 0 1-.189.282l-1.509.36a.25.25 0 0 0-.154.374l.812 1.322a.25.25 0 0 1-.067.333l-1.256.91a.25.25 0 0 0 0 .405l1.256.91a.25.25 0 0 1 .067.334L.79 10.768a.25.25 0 0 0 .154.374l1.51.36a.25.25 0 0 1 .188.282l-.244 1.532a.25.25 0 0 0 .286.286l1.532-.244a.25.25 0 0 1 .282.189l.36 1.508a.25.25 0 0 0 .374.155l1.322-.812a.25.25 0 0 1 .333.067l.91 1.256a.25.25 0 0 0 .405 0l.91-1.256a.25.25 0 0 1 .334-.067l1.322.812a.25.25 0 0 0 .374-.155l.36-1.508a.25.25 0 0 1 .282-.19l1.532.245a.25.25 0 0 0 .286-.286l-.244-1.532a.25.25 0 0 1 .189-.282l1.508-.36a.25.25 0 0 0 .155-.374l-.812-1.322a.25.25 0 0 1 .067-.333l1.256-.91a.25.25 0 0 0 0-.405l-1.256-.91a.25.25 0 0 1-.067-.334l.812-1.322a.25.25 0 0 0-.155-.374l-1.508-.36a.25.25 0 0 1-.19-.282l.245-1.532a.25.25 0 0 0-.286-.286l-1.532.244a.25.25 0 0 1-.282-.189l-.36-1.508a.25.25 0 0 0-.374-.155l-1.322.812a.25.25 0 0 1-.333-.067L8.203.28zM8 2.5a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11z"}})])},e=[],s=t(n,r,e,!1,null,null,null,null);const _=s.exports;export{_ as default};
|
||||
1
public/build/assets/IconWarning.ca92fb65.js
vendored
1
public/build/assets/IconWarning.ca92fb65.js
vendored
@@ -1 +0,0 @@
|
||||
import{n as r}from"./plugin-vue2_normalizer.000ba15c.js";const e={};var a=function(){var t=this,n=t._self._c;return n("svg",{attrs:{width:"1em",height:"1em",viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"}},[n("path",{attrs:{"fill-rule":"evenodd",d:"M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z"}}),n("path",{attrs:{d:"M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z"}})])},l=[],s=r(e,a,l,!1,null,null,null,null);const c=s.exports;export{c as default};
|
||||
124
public/build/assets/Index.0cf7e40f.js
vendored
Normal file
124
public/build/assets/Index.0cf7e40f.js
vendored
Normal file
@@ -0,0 +1,124 @@
|
||||
import TopBar from "./TopBar.cc8ad583.js";
|
||||
import { C as Container } from "./Container.23db6f9d.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout.46aebdcf.js";
|
||||
import { B as Button } from "./Button.f40f5f07.js";
|
||||
import { E as EmptyImage } from "./EmptyImage.626bec44.js";
|
||||
import { I as IconBox, a as IconGlobe, b as IconStorage } from "./IconStorage.3e58486a.js";
|
||||
import { M as Modal, a as ModalContainer } from "./ModalContainer.34fa6055.js";
|
||||
import { F as FormInput } from "./FormInput.8ab0f203.js";
|
||||
import { F as FormTextarea } from "./FormTextarea.deefc03c.js";
|
||||
import { F as FormActions } from "./Form.097b2c0b.js";
|
||||
import { S as SettingsSegment } from "./SettingsSegment.8dedf9a4.js";
|
||||
import { S as SettingsLayout } from "./SettingsLayout.76203a2a.js";
|
||||
import Tabs from "./Tabs.f7955794.js";
|
||||
import { f as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode, e as createTextVNode, t as toDisplayString } from "./app.d0c43a70.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper.cdc0426e.js";
|
||||
import "./TabBar.2102e192.js";
|
||||
import "./notification.4c298cac.js";
|
||||
const _sfc_main = {
|
||||
metaInfo() {
|
||||
return {
|
||||
title: `${this.__("Documentation")}`
|
||||
};
|
||||
},
|
||||
layout: MainLayout,
|
||||
components: {
|
||||
TopBar,
|
||||
Container,
|
||||
Content,
|
||||
Page,
|
||||
PageHeader,
|
||||
PageHeaderTitle,
|
||||
PageBody,
|
||||
Button,
|
||||
List,
|
||||
ListItem,
|
||||
StatusBubble,
|
||||
NotificationBadge,
|
||||
IconBox,
|
||||
IconGlobe,
|
||||
IconStorage,
|
||||
Modal,
|
||||
ModalContainer,
|
||||
FormInput,
|
||||
FormTextarea,
|
||||
FormActions,
|
||||
EmptyImage,
|
||||
Tabs,
|
||||
SettingsLayout,
|
||||
SettingsSegment
|
||||
},
|
||||
props: {
|
||||
items: Object
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
breadcrumbs: [
|
||||
{
|
||||
title: this.$page.props.settings.name,
|
||||
to: "/"
|
||||
},
|
||||
{
|
||||
title: this.__("Documentation"),
|
||||
to: this.route("documentation.index")
|
||||
}
|
||||
]
|
||||
};
|
||||
}
|
||||
};
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_TopBar = resolveComponent("TopBar");
|
||||
const _component_PageHeaderTitle = resolveComponent("PageHeaderTitle");
|
||||
const _component_PageHeader = resolveComponent("PageHeader");
|
||||
const _component_Tabs = resolveComponent("Tabs");
|
||||
const _component_SettingsLayout = resolveComponent("SettingsLayout");
|
||||
const _component_PageBody = resolveComponent("PageBody");
|
||||
const _component_Container = resolveComponent("Container");
|
||||
const _component_Content = resolveComponent("Content");
|
||||
const _component_Page = resolveComponent("Page");
|
||||
return openBlock(), createBlock(_component_Page, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TopBar, { breadcrumbs: $data.breadcrumbs }, null, 8, ["breadcrumbs"]),
|
||||
createVNode(_component_Content, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_Container, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_PageHeader, null, {
|
||||
start: withCtx(() => [
|
||||
createVNode(_component_PageHeaderTitle, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Documentation")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
]),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_PageBody, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_SettingsLayout, null, {
|
||||
nav: withCtx(() => [
|
||||
createVNode(_component_Tabs, {
|
||||
items: $props.items.data
|
||||
}, null, 8, ["items"])
|
||||
]),
|
||||
segments: withCtx(() => []),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
});
|
||||
}
|
||||
const Index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
export {
|
||||
Index as default
|
||||
};
|
||||
1
public/build/assets/Index.28b60ab5.js
vendored
1
public/build/assets/Index.28b60ab5.js
vendored
@@ -1 +0,0 @@
|
||||
import i from"./TopBar.51894da2.js";import m from"./Container.f87d9f62.js";import a from"./Content.e22a1fd6.js";import p from"./Page.3927bdbf.js";import s from"./PageHeader.a5f457a5.js";import n from"./PageHeaderTitle.3ed783af.js";import l from"./PageBody.dec1fae1.js";import f from"./Button.f17dffc9.js";import u from"./List.d5d221b1.js";import c from"./ListItem.ee1e88fb.js";import d from"./StatusBubble.4f1d8322.js";import _ from"./NotificationBadge.b6fae3d5.js";import g from"./MainLayout.39e63d2b.js";import b from"./IconBox.e6c961ac.js";import v from"./IconGlobe.07030b80.js";import h from"./IconStorage.ef2b2e41.js";import y from"./Modal.a59fc373.js";import $ from"./ModalContainer.51de3ea9.js";import x from"./FormInput.e3b01057.js";import F from"./FormSelect.9822372e.js";import I from"./FormActions.83ccca91.js";import{n as P}from"./plugin-vue2_normalizer.000ba15c.js";import"./TopBar.f6a175cb.js";import"./Dropdown.d1060583.js";import"./DropdownList.02c48c2f.js";import"./DropdownListItem.ac31464c.js";import"./IconMoon.ade3e41b.js";import"./IconSun.8809e5d7.js";import"./IconSearch.27dac870.js";import"./IconButton.eadc8d3d.js";import"./Breadcrumbs.d39e2491.js";import"./BreadcrumbsItem.da3f8155.js";import"./TopBarTabBarContainer.3bdb2bb3.js";import"./TabBar.c1d45ed5.js";import"./TabBarItem.e9886f0a.js";import"./Confirm.888708f1.js";import"./Notification.d432029f.js";import"./IconDanger.2f6e115d.js";import"./IconWarning.ca92fb65.js";import"./IconSuccess.09b85716.js";import"./IconInfo.ad7662f9.js";import"./SearchPalette.282fdde5.js";import"./notification.f3a0f54e.js";import"./app.0131bc0c.js";import"./IconClose.edb7c8fd.js";import"./Form.2cdcadd9.js";import"./FormGroup.efd02a6a.js";import"./Label.9d0d3ee0.js";import"./ErrorText.b141a597.js";import"./HelperText.14a7ed0b.js";import"./IconClipboard.8551be1b.js";import"./IconKey.455a255f.js";const C={metaInfo(){return{title:`${this.__("Profile")}`}},layout:g,components:{TopBar:i,Container:m,Content:a,Page:p,PageHeader:s,PageHeaderTitle:n,PageBody:l,Button:f,List:u,ListItem:c,StatusBubble:d,NotificationBadge:_,IconBox:b,IconGlobe:v,IconStorage:h,Modal:y,ModalContainer:$,FormInput:x,FormSelect:F,FormActions:I},props:{profile:Object,countries:Object},data(){return{form:{name:this.profile.name,email:this.profile.email,language:this.profile.language,address:this.profile.address,country:this.profile.country,zip:this.profile.zip,city:this.profile.city},breadcrumbs:[{title:this.$page.props.settings.name,to:"/"},{title:this.__("Profile"),to:this.route("profile.index")}]}},methods:{submit(){this.$inertia.patch(this.route("profile.update"),this.form,{onStart:()=>this.sending=!0,onFinish:()=>this.sending=!1})}}};var B=function(){var r=this,o=r._self._c;return o("Page",[o("TopBar",{attrs:{breadcrumbs:r.breadcrumbs}}),o("Content",[o("Container",[o("PageBody",[o("form",{staticClass:"space-y-4",on:{submit:function(t){return t.preventDefault(),r.submit.apply(null,arguments)}}},[o("FormInput",{attrs:{label:r.__("Name"),errors:r.$page.props.errors.name},model:{value:r.form.name,callback:function(t){r.$set(r.form,"name",t)},expression:"form.name"}}),o("FormInput",{attrs:{label:r.__("Email"),type:"email",errors:r.$page.props.errors.email},model:{value:r.form.email,callback:function(t){r.$set(r.form,"email",t)},expression:"form.email"}}),o("FormSelect",{attrs:{label:r.__("Language"),errors:r.$page.props.errors.language},model:{value:r.form.language,callback:function(t){r.$set(r.form,"language",t)},expression:"form.language"}},[o("option",{attrs:{value:"en"}},[r._v("English")]),o("option",{attrs:{value:"nl"}},[r._v("Dutch")]),o("option",{attrs:{value:"fr"}},[r._v("French")]),o("option",{attrs:{value:"da"}},[r._v("Danish")]),o("option",{attrs:{value:"nb-no"}},[r._v("Norwegian")]),o("option",{attrs:{value:"pt"}},[r._v("Portuguese")])]),o("FormInput",{attrs:{label:r.__("Address"),type:"text",errors:r.$page.props.errors.address},model:{value:r.form.address,callback:function(t){r.$set(r.form,"address",t)},expression:"form.address"}}),o("FormSelect",{attrs:{label:r.__("Country"),errors:r.$page.props.errors.country},model:{value:r.form.country,callback:function(t){r.$set(r.form,"country",t)},expression:"form.country"}},r._l(r.countries,function(t,e){return o("option",{domProps:{value:e,textContent:r._s(t)}})}),0),o("FormInput",{attrs:{label:r.__("ZIP"),type:"text",errors:r.$page.props.errors.zip},model:{value:r.form.zip,callback:function(t){r.$set(r.form,"zip",t)},expression:"form.zip"}}),o("FormInput",{attrs:{label:r.__("City"),type:"text",errors:r.$page.props.errors.city},model:{value:r.form.city,callback:function(t){r.$set(r.form,"city",t)},expression:"form.city"}}),o("FormActions",[o("Button",[r._v(r._s(r.__("Save")))])],1)],1)])],1)],1)],1)},k=[],z=P(C,B,k,!1,null,null,null,null);const zr=z.exports;export{zr as default};
|
||||
1
public/build/assets/Index.2ad712ca.js
vendored
1
public/build/assets/Index.2ad712ca.js
vendored
@@ -1 +0,0 @@
|
||||
import a from"./TopBar.d1947609.js";import i from"./Container.f87d9f62.js";import o from"./Content.e22a1fd6.js";import n from"./Page.3927bdbf.js";import p from"./PageHeader.a5f457a5.js";import m from"./PageHeaderTitle.3ed783af.js";import l from"./PageBody.dec1fae1.js";import c from"./Button.f17dffc9.js";import u from"./List.d5d221b1.js";import f from"./ListItem.ee1e88fb.js";import d from"./StatusBubble.4f1d8322.js";import _ from"./NotificationBadge.b6fae3d5.js";import h from"./MainLayout.39e63d2b.js";import g from"./IconBox.e6c961ac.js";import v from"./IconGlobe.07030b80.js";import x from"./IconStorage.ef2b2e41.js";import{u as r}from"./notification.f3a0f54e.js";import{n as b}from"./plugin-vue2_normalizer.000ba15c.js";import"./TopBar.f6a175cb.js";import"./Dropdown.d1060583.js";import"./DropdownList.02c48c2f.js";import"./DropdownListItem.ac31464c.js";import"./IconMoon.ade3e41b.js";import"./IconSun.8809e5d7.js";import"./IconSearch.27dac870.js";import"./IconButton.eadc8d3d.js";import"./Breadcrumbs.d39e2491.js";import"./BreadcrumbsItem.da3f8155.js";import"./TopBarTabBarContainer.3bdb2bb3.js";import"./TabBar.c1d45ed5.js";import"./TabBarItem.e9886f0a.js";import"./Confirm.888708f1.js";import"./Notification.d432029f.js";import"./IconDanger.2f6e115d.js";import"./IconWarning.ca92fb65.js";import"./IconSuccess.09b85716.js";import"./IconInfo.ad7662f9.js";import"./SearchPalette.282fdde5.js";import"./app.0131bc0c.js";const C={metaInfo(){return{title:`${this.__("Dashboard")}`}},layout:h,components:{TopBar:a,Container:i,Content:o,Page:n,PageHeader:p,PageHeaderTitle:m,PageBody:l,Button:c,List:u,ListItem:f,StatusBubble:d,NotificationBadge:_,IconBox:g,IconGlobe:v,IconStorage:x},props:{sites:Number,servers:Number,package:Object,logs:Array},methods:{useNotification:r},data(){return{breadcrumbs:[{title:this.$page.props.settings.name,to:"/"},{title:"Dashboard",to:"/"}]}},computed:{hasAccessToServers(){return Object.keys(this.$page.props.auth.can).length&&(this.$page.props.auth.can.servers.create||this.$page.props.auth.can.servers.update||this.$page.props.auth.can.servers.delete)}},mounted(){this.$page.props.flash.info&&r({variant:"info",title:"Information",message:this.$page.props.flash.info})}};var y=function(){var t=this,e=t._self._c;return e("Page",[e("TopBar",{attrs:{breadcrumbs:t.breadcrumbs}}),e("Content",[e("Container",[e("PageHeader",{scopedSlots:t._u([{key:"start",fn:function(){return[e("PageHeaderTitle",[t._v(t._s(t.__("Dashboard")))])]},proxy:!0}])}),e("PageBody",[e("div",[e("ul",{staticClass:"grid grid-cols-1 gap-4",class:{"md:grid-cols-3":t.hasAccessToServers,"md:grid-cols-2":!t.hasAccessToServers}},[e("li",{staticClass:"p-6 rounded shadow bg-surface-3 transform transition duration-fast ease-in-out hover:scale-95"},[e("inertia-link",{staticClass:"flex space-x-4",attrs:{href:t.route("sites.index")}},[e("div",[e("IconGlobe",{staticClass:"w-6 h-6"})],1),e("div",[e("h3",{staticClass:"font-semibold text-body"},[t._v(t._s(t.sites))]),e("p",{staticClass:"text-medium-emphasis text-small"},[t._v(t._s(t.__("Sites")))])])])],1),t.hasAccessToServers?e("li",{staticClass:"p-6 rounded shadow bg-surface-3 transform transition duration-fast ease-in-out hover:scale-95"},[e("inertia-link",{staticClass:"flex space-x-4",attrs:{href:t.route("servers.index")}},[e("div",[e("IconStorage",{staticClass:"w-6 h-6"})],1),e("div",[e("h3",{staticClass:"font-semibold text-body"},[t._v(t._s(t.servers))]),e("p",{staticClass:"text-medium-emphasis text-small"},[t._v(t._s(t.__("Servers")))])])])],1):t._e(),e("li",{staticClass:"p-6 rounded shadow bg-surface-3 transform transition duration-fast ease-in-out hover:scale-95"},[e("inertia-link",{staticClass:"flex space-x-4",attrs:{href:t.$page.props.settings.billing?t.route("profile.billing.index"):t.route("profile.index")}},[e("div",[e("IconBox",{staticClass:"w-6 h-6"})],1),e("div",{staticClass:"w-full"},[e("div",{staticClass:"flex justify-between"},[e("h3",{staticClass:"font-semibold text-body"},[t._v(t._s(t.$page.props.auth.package.name))]),t.$page.props.auth.package.trial?e("span",{staticClass:"inline-flex items-center justify-center h-6 px-2 text-xs font-semibold tracking-tight text-blue-700 rounded-full bg-blue-500/10"},[t._v(" Trial ")]):t._e()]),e("p",{staticClass:"text-medium-emphasis text-small"},[t._v(t._s(t.__("Package")))])])])],1)])]),e("List",t._l(t.logs,function(s){return e("ListItem",{key:s.id,scopedSlots:t._u([{key:"title",fn:function(){return[t._v(" "+t._s(s.title)+" ")]},proxy:!0},{key:"subtitle",fn:function(){return[t._v(t._s(s.description))]},proxy:!0},{key:"suffix",fn:function(){return[e("span",{staticClass:"text-medium-emphasis"},[t._v(t._s(s.created_at_human))])]},proxy:!0}],null,!0)})}),1)],1)],1)],1)],1)},k=[],I=b(C,y,k,!1,null,null,null,null);const ct=I.exports;export{ct as default};
|
||||
431
public/build/assets/Index.42665b14.js
vendored
Normal file
431
public/build/assets/Index.42665b14.js
vendored
Normal file
@@ -0,0 +1,431 @@
|
||||
import TopBar from "./TopBar.c224fedc.js";
|
||||
import { C as Container } from "./Container.23db6f9d.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout.46aebdcf.js";
|
||||
import { B as Button } from "./Button.f40f5f07.js";
|
||||
import { I as IconBox, a as IconGlobe, b as IconStorage } from "./IconStorage.3e58486a.js";
|
||||
import { I as IconButton, D as Dropdown, c as DropdownList, d as DropdownListItem } from "./TabBar.2102e192.js";
|
||||
import { I as IconMore, D as DropdownListItemButton } from "./DropdownListItemButton.b3b80236.js";
|
||||
import { E as EmptyImage } from "./EmptyImage.626bec44.js";
|
||||
import { M as Modal, a as ModalContainer } from "./ModalContainer.34fa6055.js";
|
||||
import { F as FormInput } from "./FormInput.8ab0f203.js";
|
||||
import { F as FormSelect } from "./FormSelect.08a72bf9.js";
|
||||
import { F as FormActions } from "./Form.097b2c0b.js";
|
||||
import { u as useConfirm } from "./confirm.c1a36d4c.js";
|
||||
import { f as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode, e as createTextVNode, t as toDisplayString, b as createBaseVNode, c as createElementBlock, k as renderList, F as Fragment, d as createCommentVNode, z as createSlots } from "./app.d0c43a70.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper.cdc0426e.js";
|
||||
import "./notification.4c298cac.js";
|
||||
const _sfc_main = {
|
||||
metaInfo() {
|
||||
return {
|
||||
title: `${this.__("Servers")}`
|
||||
};
|
||||
},
|
||||
layout: MainLayout,
|
||||
components: {
|
||||
TopBar,
|
||||
Container,
|
||||
Content,
|
||||
Page,
|
||||
PageHeader,
|
||||
PageHeaderTitle,
|
||||
PageBody,
|
||||
Button,
|
||||
List,
|
||||
IconButton,
|
||||
IconMore,
|
||||
ListItem,
|
||||
StatusBubble,
|
||||
NotificationBadge,
|
||||
IconBox,
|
||||
IconGlobe,
|
||||
IconStorage,
|
||||
EmptyImage,
|
||||
Modal,
|
||||
ModalContainer,
|
||||
FormInput,
|
||||
FormActions,
|
||||
FormSelect,
|
||||
Dropdown,
|
||||
DropdownList,
|
||||
DropdownListItem,
|
||||
DropdownListItemButton
|
||||
},
|
||||
props: {
|
||||
servers: Object,
|
||||
dataProviders: [Array, Object]
|
||||
},
|
||||
computed: {
|
||||
shouldBePolling() {
|
||||
return !!this.servers.data.filter((server) => {
|
||||
return server.status === "busy";
|
||||
}).length;
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
if (this.shouldBePolling) {
|
||||
this.startPollingInterval();
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
shouldBePolling: function(value) {
|
||||
if (!value) {
|
||||
this.clearPollingInterval();
|
||||
return;
|
||||
}
|
||||
if (!this.pollingInterval) {
|
||||
this.startPollingInterval();
|
||||
}
|
||||
},
|
||||
"form.provider": function(value) {
|
||||
if (!value) {
|
||||
this.regions = [];
|
||||
this.plans = [];
|
||||
return;
|
||||
}
|
||||
this.loading = true;
|
||||
window.axios.get(this.route("servers.plans-and-regions", value)).then((response) => {
|
||||
this.loading = false;
|
||||
this.regions = response.data.regions;
|
||||
this.plans = response.data.plans;
|
||||
}).catch((error) => {
|
||||
this.loading = false;
|
||||
});
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
form: {
|
||||
name: null,
|
||||
provider_id: null,
|
||||
provider_region_id: null,
|
||||
provider_plan_id: null,
|
||||
database_type: "mysql"
|
||||
},
|
||||
providers: this.dataProviders,
|
||||
regions: [],
|
||||
plans: [],
|
||||
pollingInterval: null,
|
||||
modalIsOpen: false,
|
||||
breadcrumbs: [
|
||||
{
|
||||
title: this.$page.props.settings.name,
|
||||
to: "/"
|
||||
},
|
||||
{
|
||||
title: this.__("Servers"),
|
||||
to: this.route("servers.index")
|
||||
}
|
||||
]
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
startPollingInterval() {
|
||||
this.pollingInterval = setInterval(function() {
|
||||
this.poll();
|
||||
}.bind(this), 12e4);
|
||||
},
|
||||
clearPollingInterval() {
|
||||
clearTimeout(this.pollingInterval);
|
||||
this.pollingInterval = null;
|
||||
},
|
||||
poll() {
|
||||
this.$inertia.get(this.route("servers.index"), {}, {
|
||||
only: ["servers"],
|
||||
preserveScroll: true
|
||||
});
|
||||
},
|
||||
submit() {
|
||||
this.$inertia.post(this.route("servers.store"), this.form, {
|
||||
only: ["errors", "flash", "servers"],
|
||||
onStart: () => this.loading = true,
|
||||
onSuccess: () => {
|
||||
if (!Object.keys(this.$page.props.errors).length) {
|
||||
this.form.domain = null;
|
||||
this.modalIsOpen = false;
|
||||
this.form = {
|
||||
name: null,
|
||||
provider_id: null,
|
||||
provider_region_id: null,
|
||||
provider_plan_id: null
|
||||
};
|
||||
}
|
||||
},
|
||||
onFinish: () => this.loading = false
|
||||
});
|
||||
},
|
||||
confirmDelete(server) {
|
||||
useConfirm({
|
||||
title: this.__("Are you sure?"),
|
||||
message: `Your server will be deleted completely, this action is irreversible.`,
|
||||
onConfirm: () => this.delete(server)
|
||||
});
|
||||
},
|
||||
delete(server) {
|
||||
this.$inertia.delete(this.route("servers.delete", server.id));
|
||||
}
|
||||
},
|
||||
beforeDestroy() {
|
||||
this.clearPollingInterval();
|
||||
}
|
||||
};
|
||||
const _hoisted_1 = { value: `${null}` };
|
||||
const _hoisted_2 = ["value"];
|
||||
const _hoisted_3 = { value: `${null}` };
|
||||
const _hoisted_4 = ["value"];
|
||||
const _hoisted_5 = { value: `${null}` };
|
||||
const _hoisted_6 = ["value"];
|
||||
const _hoisted_7 = { value: "mysql" };
|
||||
const _hoisted_8 = { value: "mariadb" };
|
||||
const _hoisted_9 = { value: "postgresql" };
|
||||
const _hoisted_10 = { value: "postgresql13" };
|
||||
const _hoisted_11 = { key: 0 };
|
||||
const _hoisted_12 = /* @__PURE__ */ createTextVNode("View");
|
||||
const _hoisted_13 = /* @__PURE__ */ createTextVNode(" Delete ");
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_FormInput = resolveComponent("FormInput");
|
||||
const _component_FormSelect = resolveComponent("FormSelect");
|
||||
const _component_Button = resolveComponent("Button");
|
||||
const _component_Modal = resolveComponent("Modal");
|
||||
const _component_ModalContainer = resolveComponent("ModalContainer");
|
||||
const _component_Portal = resolveComponent("Portal");
|
||||
const _component_TopBar = resolveComponent("TopBar");
|
||||
const _component_PageHeaderTitle = resolveComponent("PageHeaderTitle");
|
||||
const _component_PageHeader = resolveComponent("PageHeader");
|
||||
const _component_EmptyImage = resolveComponent("EmptyImage");
|
||||
const _component_StatusBubble = resolveComponent("StatusBubble");
|
||||
const _component_inertia_link = resolveComponent("inertia-link");
|
||||
const _component_IconMore = resolveComponent("IconMore");
|
||||
const _component_IconButton = resolveComponent("IconButton");
|
||||
const _component_DropdownListItem = resolveComponent("DropdownListItem");
|
||||
const _component_DropdownListItemButton = resolveComponent("DropdownListItemButton");
|
||||
const _component_DropdownList = resolveComponent("DropdownList");
|
||||
const _component_Dropdown = resolveComponent("Dropdown");
|
||||
const _component_ListItem = resolveComponent("ListItem");
|
||||
const _component_List = resolveComponent("List");
|
||||
const _component_PageBody = resolveComponent("PageBody");
|
||||
const _component_Container = resolveComponent("Container");
|
||||
const _component_Content = resolveComponent("Content");
|
||||
const _component_Page = resolveComponent("Page");
|
||||
return openBlock(), createBlock(_component_Page, null, {
|
||||
default: withCtx(() => [
|
||||
_ctx.can("servers", "create") ? (openBlock(), createBlock(_component_Portal, {
|
||||
key: 0,
|
||||
to: "modals"
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_ModalContainer, null, {
|
||||
default: withCtx(() => [
|
||||
$data.modalIsOpen ? (openBlock(), createBlock(_component_Modal, {
|
||||
key: 0,
|
||||
onClose: _cache[5] || (_cache[5] = ($event) => $data.modalIsOpen = false),
|
||||
onSubmit: $options.submit
|
||||
}, {
|
||||
title: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Create a server")), 1)
|
||||
]),
|
||||
form: withCtx(() => [
|
||||
createVNode(_component_FormInput, {
|
||||
loading: $data.loading,
|
||||
label: _ctx.__("Name"),
|
||||
placeholder: "webserver-01",
|
||||
errors: _ctx.$page.props.errors.name,
|
||||
modelValue: $data.form.name,
|
||||
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => $data.form.name = $event)
|
||||
}, null, 8, ["loading", "label", "errors", "modelValue"]),
|
||||
createVNode(_component_FormSelect, {
|
||||
loading: $data.loading,
|
||||
errors: _ctx.$page.props.errors.provider_id,
|
||||
label: _ctx.__("Select provider"),
|
||||
modelValue: $data.form.provider_id,
|
||||
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => $data.form.provider_id = $event)
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createBaseVNode("option", _hoisted_1, toDisplayString(_ctx.__("Select random provider")), 1),
|
||||
(openBlock(true), createElementBlock(Fragment, null, renderList($data.providers, (name, id) => {
|
||||
return openBlock(), createElementBlock("option", { value: id }, toDisplayString(name), 9, _hoisted_2);
|
||||
}), 256))
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}, 8, ["loading", "errors", "label", "modelValue"]),
|
||||
createVNode(_component_FormSelect, {
|
||||
loading: $data.loading,
|
||||
errors: _ctx.$page.props.errors.provider_region_id,
|
||||
label: _ctx.__("Select region"),
|
||||
modelValue: $data.form.provider_region_id,
|
||||
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => $data.form.provider_region_id = $event)
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createBaseVNode("option", _hoisted_3, toDisplayString(_ctx.__("Select random region")), 1),
|
||||
(openBlock(true), createElementBlock(Fragment, null, renderList($data.regions, (name, id) => {
|
||||
return openBlock(), createElementBlock("option", { value: id }, toDisplayString(name), 9, _hoisted_4);
|
||||
}), 256))
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}, 8, ["loading", "errors", "label", "modelValue"]),
|
||||
createVNode(_component_FormSelect, {
|
||||
loading: $data.loading,
|
||||
errors: _ctx.$page.props.errors.provider_plan_id,
|
||||
label: _ctx.__("Select plan"),
|
||||
modelValue: $data.form.provider_plan_id,
|
||||
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => $data.form.provider_plan_id = $event)
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createBaseVNode("option", _hoisted_5, toDisplayString(_ctx.__("Select random plan")), 1),
|
||||
(openBlock(true), createElementBlock(Fragment, null, renderList($data.plans, (name, id) => {
|
||||
return openBlock(), createElementBlock("option", { value: id }, toDisplayString(name), 9, _hoisted_6);
|
||||
}), 256))
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}, 8, ["loading", "errors", "label", "modelValue"]),
|
||||
createVNode(_component_FormSelect, {
|
||||
loading: $data.loading,
|
||||
errors: _ctx.$page.props.errors.database_type,
|
||||
label: _ctx.__("Select database type"),
|
||||
modelValue: $data.form.database_type,
|
||||
"onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => $data.form.database_type = $event)
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createBaseVNode("option", _hoisted_7, toDisplayString(_ctx.__("MySQL 5.7")), 1),
|
||||
createBaseVNode("option", _hoisted_8, toDisplayString(_ctx.__("MariaDB")), 1),
|
||||
createBaseVNode("option", _hoisted_9, toDisplayString(_ctx.__("PostgreSQL")), 1),
|
||||
createBaseVNode("option", _hoisted_10, toDisplayString(_ctx.__("PostgreSQL 13")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}, 8, ["loading", "errors", "label", "modelValue"])
|
||||
]),
|
||||
"form-actions": withCtx(() => [
|
||||
createVNode(_component_Button, {
|
||||
textContent: toDisplayString(_ctx.__("Create"))
|
||||
}, null, 8, ["textContent"])
|
||||
]),
|
||||
_: 1
|
||||
}, 8, ["onSubmit"])) : createCommentVNode("", true)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})) : createCommentVNode("", true),
|
||||
createVNode(_component_TopBar, { breadcrumbs: $data.breadcrumbs }, null, 8, ["breadcrumbs"]),
|
||||
createVNode(_component_Content, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_Container, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_PageHeader, null, createSlots({
|
||||
start: withCtx(() => [
|
||||
createVNode(_component_PageHeaderTitle, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Servers")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
]),
|
||||
_: 2
|
||||
}, [
|
||||
_ctx.can("servers", "create") ? {
|
||||
name: "end",
|
||||
fn: withCtx(() => [
|
||||
createVNode(_component_Button, {
|
||||
onClick: _cache[6] || (_cache[6] = ($event) => $data.modalIsOpen = true)
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Create server")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
])
|
||||
} : void 0
|
||||
]), 1024),
|
||||
createVNode(_component_PageBody, null, {
|
||||
default: withCtx(() => [
|
||||
!$props.servers.meta.total ? (openBlock(), createBlock(_component_EmptyImage, { key: 0 })) : createCommentVNode("", true),
|
||||
createVNode(_component_List, null, {
|
||||
default: withCtx(() => [
|
||||
(openBlock(true), createElementBlock(Fragment, null, renderList($props.servers.data, (server) => {
|
||||
return openBlock(), createBlock(_component_ListItem, {
|
||||
key: server.id
|
||||
}, {
|
||||
prefix: withCtx(() => [
|
||||
createVNode(_component_StatusBubble, {
|
||||
variant: server.status === "busy" ? "gray" : "success"
|
||||
}, null, 8, ["variant"])
|
||||
]),
|
||||
title: withCtx(() => [
|
||||
createVNode(_component_inertia_link, {
|
||||
class: "text-primary font-medium",
|
||||
href: _ctx.route("servers.show", server.id)
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(server.name), 1)
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1032, ["href"])
|
||||
]),
|
||||
subtitle: withCtx(() => [
|
||||
createTextVNode(toDisplayString(server.ip) + " ", 1),
|
||||
server.ip ? (openBlock(), createElementBlock("span", _hoisted_11, "\xB7")) : createCommentVNode("", true),
|
||||
createTextVNode(" " + toDisplayString(server.sites_count) + " " + toDisplayString(_ctx.__choice("site|sites", server.sites_count)), 1)
|
||||
]),
|
||||
suffix: withCtx(() => [
|
||||
createVNode(_component_Dropdown, null, {
|
||||
default: withCtx(({ isOpen, toggle, position }) => [
|
||||
createVNode(_component_IconButton, { onClick: toggle }, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_IconMore, { class: "w-5 h-5" })
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1032, ["onClick"]),
|
||||
isOpen ? (openBlock(), createBlock(_component_DropdownList, {
|
||||
key: 0,
|
||||
position
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_DropdownListItem, {
|
||||
to: _ctx.route("servers.show", server.id)
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
_hoisted_12
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1032, ["to"]),
|
||||
_ctx.can("servers", "delete") ? (openBlock(), createBlock(_component_DropdownListItemButton, {
|
||||
key: 0,
|
||||
class: "!text-danger",
|
||||
onClick: ($event) => $options.confirmDelete(server)
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
_hoisted_13
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1032, ["onClick"])) : createCommentVNode("", true)
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1032, ["position"])) : createCommentVNode("", true)
|
||||
]),
|
||||
_: 2
|
||||
}, 1024)
|
||||
]),
|
||||
_: 2
|
||||
}, 1024);
|
||||
}), 128))
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
});
|
||||
}
|
||||
const Index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
export {
|
||||
Index as default
|
||||
};
|
||||
1
public/build/assets/Index.6dd5a67f.js
vendored
1
public/build/assets/Index.6dd5a67f.js
vendored
File diff suppressed because one or more lines are too long
395
public/build/assets/Index.72aae7d1.js
vendored
Normal file
395
public/build/assets/Index.72aae7d1.js
vendored
Normal file
@@ -0,0 +1,395 @@
|
||||
import TopBar from "./TopBar.27e62198.js";
|
||||
import { C as Container } from "./Container.23db6f9d.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout.46aebdcf.js";
|
||||
import { B as Button } from "./Button.f40f5f07.js";
|
||||
import { E as EmptyImage } from "./EmptyImage.626bec44.js";
|
||||
import { I as IconBox, a as IconGlobe, b as IconStorage } from "./IconStorage.3e58486a.js";
|
||||
import { I as IconButton, D as Dropdown, c as DropdownList, d as DropdownListItem } from "./TabBar.2102e192.js";
|
||||
import { I as IconMore, D as DropdownListItemButton } from "./DropdownListItemButton.b3b80236.js";
|
||||
import { o as openBlock, c as createElementBlock, b as createBaseVNode, f as createBlock, w as withCtx, r as resolveComponent, a as createVNode, e as createTextVNode, t as toDisplayString, k as renderList, F as Fragment, d as createCommentVNode, z as createSlots } from "./app.d0c43a70.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper.cdc0426e.js";
|
||||
import { M as Modal, a as ModalContainer } from "./ModalContainer.34fa6055.js";
|
||||
import { F as FormInput } from "./FormInput.8ab0f203.js";
|
||||
import { F as FormSelect } from "./FormSelect.08a72bf9.js";
|
||||
import { F as FormActions } from "./Form.097b2c0b.js";
|
||||
import { u as useConfirm } from "./confirm.c1a36d4c.js";
|
||||
import { P as Pagination } from "./Pagination.99c0720a.js";
|
||||
import "./notification.4c298cac.js";
|
||||
const _sfc_main$1 = {};
|
||||
const _hoisted_1$1 = {
|
||||
xmlns: "http://www.w3.org/2000/svg",
|
||||
viewBox: "0 0 640 512",
|
||||
width: "1.5em",
|
||||
height: "1.5em",
|
||||
fill: "currentColor"
|
||||
};
|
||||
const _hoisted_2$1 = /* @__PURE__ */ createBaseVNode("path", { d: "M320 104.5c171.4 0 303.2 72.2 303.2 151.5S491.3 407.5 320 407.5c-171.4 0-303.2-72.2-303.2-151.5S148.7 104.5 320 104.5m0-16.8C143.3 87.7 0 163 0 256s143.3 168.3 320 168.3S640 349 640 256 496.7 87.7 320 87.7zM218.2 242.5c-7.9 40.5-35.8 36.3-70.1 36.3l13.7-70.6c38 0 63.8-4.1 56.4 34.3zM97.4 350.3h36.7l8.7-44.8c41.1 0 66.6 3 90.2-19.1 26.1-24 32.9-66.7 14.3-88.1-9.7-11.2-25.3-16.7-46.5-16.7h-70.7L97.4 350.3zm185.7-213.6h36.5l-8.7 44.8c31.5 0 60.7-2.3 74.8 10.7 14.8 13.6 7.7 31-8.3 113.1h-37c15.4-79.4 18.3-86 12.7-92-5.4-5.8-17.7-4.6-47.4-4.6l-18.8 96.6h-36.5l32.7-168.6zM505 242.5c-8 41.1-36.7 36.3-70.1 36.3l13.7-70.6c38.2 0 63.8-4.1 56.4 34.3zM384.2 350.3H421l8.7-44.8c43.2 0 67.1 2.5 90.2-19.1 26.1-24 32.9-66.7 14.3-88.1-9.7-11.2-25.3-16.7-46.5-16.7H417l-32.8 168.7z" }, null, -1);
|
||||
const _hoisted_3$1 = [
|
||||
_hoisted_2$1
|
||||
];
|
||||
function _sfc_render$1(_ctx, _cache) {
|
||||
return openBlock(), createElementBlock("svg", _hoisted_1$1, _hoisted_3$1);
|
||||
}
|
||||
const IconPhp = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1]]);
|
||||
const _sfc_main = {
|
||||
metaInfo() {
|
||||
return {
|
||||
title: `${this.__("Sites")}`
|
||||
};
|
||||
},
|
||||
layout: MainLayout,
|
||||
components: {
|
||||
TopBar,
|
||||
Container,
|
||||
Content,
|
||||
Page,
|
||||
PageHeader,
|
||||
PageHeaderTitle,
|
||||
PageBody,
|
||||
Button,
|
||||
List,
|
||||
IconButton,
|
||||
IconMore,
|
||||
IconPhp,
|
||||
ListItem,
|
||||
StatusBubble,
|
||||
NotificationBadge,
|
||||
EmptyImage,
|
||||
IconBox,
|
||||
IconGlobe,
|
||||
IconStorage,
|
||||
Modal,
|
||||
ModalContainer,
|
||||
FormInput,
|
||||
FormActions,
|
||||
FormSelect,
|
||||
Dropdown,
|
||||
DropdownList,
|
||||
DropdownListItem,
|
||||
DropdownListItemButton,
|
||||
Pagination
|
||||
},
|
||||
props: {
|
||||
sites: Object,
|
||||
availableServers: [Array, Object]
|
||||
},
|
||||
computed: {
|
||||
shouldBePolling() {
|
||||
return !!this.sites.data.filter((site) => {
|
||||
return site.status === "busy";
|
||||
}).length;
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
if (this.shouldBePolling) {
|
||||
this.startPollingInterval();
|
||||
}
|
||||
if (window.location.search.includes("create=")) {
|
||||
this.modalIsOpen = true;
|
||||
}
|
||||
if (window.location.search.includes("server=")) {
|
||||
let urlParams = new URLSearchParams(window.location.search);
|
||||
this.form.server_id = urlParams.get("server");
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
shouldBePolling: function(value) {
|
||||
if (!value) {
|
||||
this.clearPollingInterval();
|
||||
return;
|
||||
}
|
||||
if (!this.pollingInterval) {
|
||||
this.startPollingInterval();
|
||||
}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
form: {
|
||||
domain: null,
|
||||
server_id: null
|
||||
},
|
||||
pollingInterval: null,
|
||||
modalIsOpen: false,
|
||||
breadcrumbs: [
|
||||
{
|
||||
title: this.$page.props.settings.name,
|
||||
to: "/"
|
||||
},
|
||||
{
|
||||
title: this.__("Sites"),
|
||||
to: this.route("sites.index")
|
||||
}
|
||||
]
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
startPollingInterval() {
|
||||
this.pollingInterval = setInterval(function() {
|
||||
this.poll();
|
||||
}.bind(this), 3e3);
|
||||
},
|
||||
clearPollingInterval() {
|
||||
clearTimeout(this.pollingInterval);
|
||||
this.pollingInterval = null;
|
||||
},
|
||||
poll() {
|
||||
this.$inertia.replace(this.route("sites.index"), {
|
||||
only: ["sites"],
|
||||
preserveScroll: true
|
||||
});
|
||||
},
|
||||
closeModal() {
|
||||
this.modalIsOpen = false;
|
||||
this.form.domain = null;
|
||||
this.$page.props.errors = [];
|
||||
},
|
||||
submit() {
|
||||
this.$inertia.post(this.route("sites.store"), this.form, {
|
||||
only: ["errors", "flash", "sites"],
|
||||
onFinish: () => {
|
||||
if (!Object.keys(this.$page.props.errors).length) {
|
||||
this.form.domain = null;
|
||||
this.form.server_id = null;
|
||||
this.modalIsOpen = false;
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
confirmDelete(site) {
|
||||
useConfirm({
|
||||
title: this.__("Are you sure?"),
|
||||
message: this.__("Your site will be deleted completely, this action is irreversible."),
|
||||
onConfirm: () => this.delete(site)
|
||||
});
|
||||
},
|
||||
delete(site) {
|
||||
this.$inertia.delete(this.route("sites.delete", site.id));
|
||||
}
|
||||
},
|
||||
beforeDestroy() {
|
||||
this.clearPollingInterval();
|
||||
}
|
||||
};
|
||||
const _hoisted_1 = { value: `${null}` };
|
||||
const _hoisted_2 = ["value", "textContent"];
|
||||
const _hoisted_3 = { class: "flex items-center space-x-2" };
|
||||
const _hoisted_4 = { class: "flex items-center space-x-2" };
|
||||
const _hoisted_5 = { key: 0 };
|
||||
const _hoisted_6 = { key: 1 };
|
||||
const _hoisted_7 = { key: 2 };
|
||||
const _hoisted_8 = { key: 3 };
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_FormInput = resolveComponent("FormInput");
|
||||
const _component_FormSelect = resolveComponent("FormSelect");
|
||||
const _component_Button = resolveComponent("Button");
|
||||
const _component_Modal = resolveComponent("Modal");
|
||||
const _component_ModalContainer = resolveComponent("ModalContainer");
|
||||
const _component_Portal = resolveComponent("Portal");
|
||||
const _component_TopBar = resolveComponent("TopBar");
|
||||
const _component_PageHeaderTitle = resolveComponent("PageHeaderTitle");
|
||||
const _component_PageHeader = resolveComponent("PageHeader");
|
||||
const _component_EmptyImage = resolveComponent("EmptyImage");
|
||||
const _component_StatusBubble = resolveComponent("StatusBubble");
|
||||
const _component_inertia_link = resolveComponent("inertia-link");
|
||||
const _component_icon_php = resolveComponent("icon-php");
|
||||
const _component_IconMore = resolveComponent("IconMore");
|
||||
const _component_IconButton = resolveComponent("IconButton");
|
||||
const _component_DropdownListItem = resolveComponent("DropdownListItem");
|
||||
const _component_DropdownListItemButton = resolveComponent("DropdownListItemButton");
|
||||
const _component_DropdownList = resolveComponent("DropdownList");
|
||||
const _component_Dropdown = resolveComponent("Dropdown");
|
||||
const _component_ListItem = resolveComponent("ListItem");
|
||||
const _component_List = resolveComponent("List");
|
||||
const _component_pagination = resolveComponent("pagination");
|
||||
const _component_PageBody = resolveComponent("PageBody");
|
||||
const _component_Container = resolveComponent("Container");
|
||||
const _component_Content = resolveComponent("Content");
|
||||
const _component_Page = resolveComponent("Page");
|
||||
return openBlock(), createBlock(_component_Page, null, {
|
||||
default: withCtx(() => [
|
||||
_ctx.can("sites", "create") ? (openBlock(), createBlock(_component_Portal, {
|
||||
key: 0,
|
||||
to: "modals"
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_ModalContainer, null, {
|
||||
default: withCtx(() => [
|
||||
$data.modalIsOpen ? (openBlock(), createBlock(_component_Modal, {
|
||||
key: 0,
|
||||
onClose: $options.closeModal,
|
||||
onSubmit: $options.submit
|
||||
}, {
|
||||
title: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Create a site")), 1)
|
||||
]),
|
||||
form: withCtx(() => [
|
||||
createVNode(_component_FormInput, {
|
||||
label: _ctx.__("Domain"),
|
||||
errors: _ctx.$page.props.errors.domain,
|
||||
modelValue: $data.form.domain,
|
||||
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => $data.form.domain = $event)
|
||||
}, null, 8, ["label", "errors", "modelValue"]),
|
||||
Object.keys($props.availableServers).length ? (openBlock(), createBlock(_component_FormSelect, {
|
||||
key: 0,
|
||||
label: _ctx.__("Select server"),
|
||||
modelValue: $data.form.server_id,
|
||||
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => $data.form.server_id = $event)
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createBaseVNode("option", _hoisted_1, toDisplayString(_ctx.__("Select random server")), 1),
|
||||
(openBlock(true), createElementBlock(Fragment, null, renderList($props.availableServers, (name, id) => {
|
||||
return openBlock(), createElementBlock("option", {
|
||||
value: id,
|
||||
textContent: toDisplayString(name)
|
||||
}, null, 8, _hoisted_2);
|
||||
}), 256))
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}, 8, ["label", "modelValue"])) : createCommentVNode("", true)
|
||||
]),
|
||||
"form-actions": withCtx(() => [
|
||||
createVNode(_component_Button, {
|
||||
textContent: toDisplayString(_ctx.__("Create"))
|
||||
}, null, 8, ["textContent"])
|
||||
]),
|
||||
_: 1
|
||||
}, 8, ["onClose", "onSubmit"])) : createCommentVNode("", true)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})) : createCommentVNode("", true),
|
||||
createVNode(_component_TopBar, { breadcrumbs: $data.breadcrumbs }, null, 8, ["breadcrumbs"]),
|
||||
createVNode(_component_Content, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_Container, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_PageHeader, null, createSlots({
|
||||
start: withCtx(() => [
|
||||
createVNode(_component_PageHeaderTitle, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Sites")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
]),
|
||||
_: 2
|
||||
}, [
|
||||
_ctx.can("sites", "create") ? {
|
||||
name: "end",
|
||||
fn: withCtx(() => [
|
||||
createVNode(_component_Button, {
|
||||
onClick: _cache[2] || (_cache[2] = ($event) => $data.modalIsOpen = true)
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Create site")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
])
|
||||
} : void 0
|
||||
]), 1024),
|
||||
createVNode(_component_PageBody, null, {
|
||||
default: withCtx(() => [
|
||||
!$props.sites.meta.total ? (openBlock(), createBlock(_component_EmptyImage, { key: 0 })) : createCommentVNode("", true),
|
||||
createVNode(_component_List, null, {
|
||||
default: withCtx(() => [
|
||||
(openBlock(true), createElementBlock(Fragment, null, renderList($props.sites.data, (site) => {
|
||||
return openBlock(), createBlock(_component_ListItem, {
|
||||
key: site.id
|
||||
}, {
|
||||
prefix: withCtx(() => [
|
||||
createVNode(_component_StatusBubble, {
|
||||
variant: site.status === "busy" ? "gray" : "success"
|
||||
}, null, 8, ["variant"])
|
||||
]),
|
||||
title: withCtx(() => [
|
||||
createVNode(_component_inertia_link, {
|
||||
class: "text-primary font-medium",
|
||||
href: _ctx.route("sites.show", site.id)
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(site.domain), 1)
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1032, ["href"])
|
||||
]),
|
||||
subtitle: withCtx(() => [
|
||||
createBaseVNode("div", _hoisted_3, [
|
||||
createBaseVNode("div", _hoisted_4, [
|
||||
createBaseVNode("span", null, [
|
||||
createVNode(_component_icon_php)
|
||||
]),
|
||||
createBaseVNode("span", null, toDisplayString(site.php_version), 1)
|
||||
]),
|
||||
site.project === "wordpress" ? (openBlock(), createElementBlock("div", _hoisted_5, "\xB7")) : createCommentVNode("", true),
|
||||
site.project === "wordpress" ? (openBlock(), createElementBlock("div", _hoisted_6, toDisplayString(_ctx.__("WordPress installed")), 1)) : createCommentVNode("", true),
|
||||
site.server ? (openBlock(), createElementBlock("div", _hoisted_7, "\xB7")) : createCommentVNode("", true),
|
||||
site.server ? (openBlock(), createElementBlock("div", _hoisted_8, toDisplayString(_ctx.__("On server")) + " " + toDisplayString(site.server.name), 1)) : createCommentVNode("", true)
|
||||
])
|
||||
]),
|
||||
suffix: withCtx(() => [
|
||||
createVNode(_component_Dropdown, null, {
|
||||
default: withCtx(({ isOpen, toggle, position }) => [
|
||||
createVNode(_component_IconButton, { onClick: toggle }, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_IconMore, { class: "w-5 h-5" })
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1032, ["onClick"]),
|
||||
isOpen ? (openBlock(), createBlock(_component_DropdownList, {
|
||||
key: 0,
|
||||
position
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_DropdownListItem, {
|
||||
to: _ctx.route("sites.show", site.id)
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("View")), 1)
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1032, ["to"]),
|
||||
_ctx.can("sites", "delete") ? (openBlock(), createBlock(_component_DropdownListItemButton, {
|
||||
key: 0,
|
||||
class: "!text-danger",
|
||||
onClick: ($event) => $options.confirmDelete(site)
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Delete")), 1)
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1032, ["onClick"])) : createCommentVNode("", true)
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1032, ["position"])) : createCommentVNode("", true)
|
||||
]),
|
||||
_: 2
|
||||
}, 1024)
|
||||
]),
|
||||
_: 2
|
||||
}, 1024);
|
||||
}), 128))
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_pagination, { links: $props.sites }, null, 8, ["links"])
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
});
|
||||
}
|
||||
const Index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
export {
|
||||
Index as default
|
||||
};
|
||||
203
public/build/assets/Index.74d55b9c.js
vendored
Normal file
203
public/build/assets/Index.74d55b9c.js
vendored
Normal file
@@ -0,0 +1,203 @@
|
||||
import TopBar from "./TopBar.1920e57d.js";
|
||||
import { C as Container } from "./Container.23db6f9d.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout.46aebdcf.js";
|
||||
import { B as Button } from "./Button.f40f5f07.js";
|
||||
import { I as IconBox, a as IconGlobe, b as IconStorage } from "./IconStorage.3e58486a.js";
|
||||
import { M as Modal, a as ModalContainer } from "./ModalContainer.34fa6055.js";
|
||||
import { F as FormInput } from "./FormInput.8ab0f203.js";
|
||||
import { F as FormSelect } from "./FormSelect.08a72bf9.js";
|
||||
import { F as FormActions } from "./Form.097b2c0b.js";
|
||||
import { f as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode, b as createBaseVNode, c as createElementBlock, k as renderList, t as toDisplayString, F as Fragment, e as createTextVNode, g as withModifiers } from "./app.d0c43a70.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper.cdc0426e.js";
|
||||
import "./TabBar.2102e192.js";
|
||||
import "./notification.4c298cac.js";
|
||||
const _sfc_main = {
|
||||
metaInfo() {
|
||||
return {
|
||||
title: `${this.__("Profile")}`
|
||||
};
|
||||
},
|
||||
layout: MainLayout,
|
||||
components: {
|
||||
TopBar,
|
||||
Container,
|
||||
Content,
|
||||
Page,
|
||||
PageHeader,
|
||||
PageHeaderTitle,
|
||||
PageBody,
|
||||
Button,
|
||||
List,
|
||||
ListItem,
|
||||
StatusBubble,
|
||||
NotificationBadge,
|
||||
IconBox,
|
||||
IconGlobe,
|
||||
IconStorage,
|
||||
Modal,
|
||||
ModalContainer,
|
||||
FormInput,
|
||||
FormSelect,
|
||||
FormActions
|
||||
},
|
||||
props: {
|
||||
profile: Object,
|
||||
countries: Object
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
form: {
|
||||
name: this.profile.name,
|
||||
email: this.profile.email,
|
||||
language: this.profile.language,
|
||||
address: this.profile.address,
|
||||
country: this.profile.country,
|
||||
zip: this.profile.zip,
|
||||
city: this.profile.city
|
||||
},
|
||||
breadcrumbs: [
|
||||
{
|
||||
title: this.$page.props.settings.name,
|
||||
to: "/"
|
||||
},
|
||||
{
|
||||
title: this.__("Profile"),
|
||||
to: this.route("profile.index")
|
||||
}
|
||||
]
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
submit() {
|
||||
this.$inertia.patch(this.route("profile.update"), this.form, {
|
||||
onStart: () => this.sending = true,
|
||||
onFinish: () => this.sending = false
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
const _hoisted_1 = /* @__PURE__ */ createBaseVNode("option", { value: "en" }, "English", -1);
|
||||
const _hoisted_2 = /* @__PURE__ */ createBaseVNode("option", { value: "nl" }, "Dutch", -1);
|
||||
const _hoisted_3 = /* @__PURE__ */ createBaseVNode("option", { value: "fr" }, "French", -1);
|
||||
const _hoisted_4 = /* @__PURE__ */ createBaseVNode("option", { value: "da" }, "Danish", -1);
|
||||
const _hoisted_5 = /* @__PURE__ */ createBaseVNode("option", { value: "nb-no" }, "Norwegian", -1);
|
||||
const _hoisted_6 = /* @__PURE__ */ createBaseVNode("option", { value: "pt" }, "Portuguese", -1);
|
||||
const _hoisted_7 = ["value", "textContent"];
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_TopBar = resolveComponent("TopBar");
|
||||
const _component_FormInput = resolveComponent("FormInput");
|
||||
const _component_FormSelect = resolveComponent("FormSelect");
|
||||
const _component_Button = resolveComponent("Button");
|
||||
const _component_FormActions = resolveComponent("FormActions");
|
||||
const _component_PageBody = resolveComponent("PageBody");
|
||||
const _component_Container = resolveComponent("Container");
|
||||
const _component_Content = resolveComponent("Content");
|
||||
const _component_Page = resolveComponent("Page");
|
||||
return openBlock(), createBlock(_component_Page, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TopBar, { breadcrumbs: $data.breadcrumbs }, null, 8, ["breadcrumbs"]),
|
||||
createVNode(_component_Content, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_Container, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_PageBody, null, {
|
||||
default: withCtx(() => [
|
||||
createBaseVNode("form", {
|
||||
class: "space-y-4",
|
||||
onSubmit: _cache[7] || (_cache[7] = withModifiers((...args) => $options.submit && $options.submit(...args), ["prevent"]))
|
||||
}, [
|
||||
createVNode(_component_FormInput, {
|
||||
label: _ctx.__("Name"),
|
||||
errors: _ctx.$page.props.errors.name,
|
||||
modelValue: $data.form.name,
|
||||
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => $data.form.name = $event)
|
||||
}, null, 8, ["label", "errors", "modelValue"]),
|
||||
createVNode(_component_FormInput, {
|
||||
label: _ctx.__("Email"),
|
||||
type: "email",
|
||||
errors: _ctx.$page.props.errors.email,
|
||||
modelValue: $data.form.email,
|
||||
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => $data.form.email = $event)
|
||||
}, null, 8, ["label", "errors", "modelValue"]),
|
||||
createVNode(_component_FormSelect, {
|
||||
label: _ctx.__("Language"),
|
||||
errors: _ctx.$page.props.errors.language,
|
||||
modelValue: $data.form.language,
|
||||
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => $data.form.language = $event)
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
_hoisted_1,
|
||||
_hoisted_2,
|
||||
_hoisted_3,
|
||||
_hoisted_4,
|
||||
_hoisted_5,
|
||||
_hoisted_6
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}, 8, ["label", "errors", "modelValue"]),
|
||||
createVNode(_component_FormInput, {
|
||||
label: _ctx.__("Address"),
|
||||
type: "text",
|
||||
errors: _ctx.$page.props.errors.address,
|
||||
modelValue: $data.form.address,
|
||||
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => $data.form.address = $event)
|
||||
}, null, 8, ["label", "errors", "modelValue"]),
|
||||
createVNode(_component_FormSelect, {
|
||||
label: _ctx.__("Country"),
|
||||
errors: _ctx.$page.props.errors.country,
|
||||
modelValue: $data.form.country,
|
||||
"onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => $data.form.country = $event)
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
(openBlock(true), createElementBlock(Fragment, null, renderList($props.countries, (country, code) => {
|
||||
return openBlock(), createElementBlock("option", {
|
||||
value: code,
|
||||
textContent: toDisplayString(country)
|
||||
}, null, 8, _hoisted_7);
|
||||
}), 256))
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}, 8, ["label", "errors", "modelValue"]),
|
||||
createVNode(_component_FormInput, {
|
||||
label: _ctx.__("ZIP"),
|
||||
type: "text",
|
||||
errors: _ctx.$page.props.errors.zip,
|
||||
modelValue: $data.form.zip,
|
||||
"onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => $data.form.zip = $event)
|
||||
}, null, 8, ["label", "errors", "modelValue"]),
|
||||
createVNode(_component_FormInput, {
|
||||
label: _ctx.__("City"),
|
||||
type: "text",
|
||||
errors: _ctx.$page.props.errors.city,
|
||||
modelValue: $data.form.city,
|
||||
"onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => $data.form.city = $event)
|
||||
}, null, 8, ["label", "errors", "modelValue"]),
|
||||
createVNode(_component_FormActions, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_Button, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Save")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], 32)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
});
|
||||
}
|
||||
const Index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
export {
|
||||
Index as default
|
||||
};
|
||||
1
public/build/assets/Index.76a6e954.js
vendored
1
public/build/assets/Index.76a6e954.js
vendored
File diff suppressed because one or more lines are too long
1
public/build/assets/Index.b128d20c.js
vendored
1
public/build/assets/Index.b128d20c.js
vendored
@@ -1 +0,0 @@
|
||||
import r from"./TopBar.3db272ee.js";import m from"./Container.f87d9f62.js";import i from"./Content.e22a1fd6.js";import e from"./Page.3927bdbf.js";import n from"./PageHeader.a5f457a5.js";import p from"./PageHeaderTitle.3ed783af.js";import a from"./PageBody.dec1fae1.js";import s from"./Button.f17dffc9.js";import f from"./EmptyImage.4bfdf9ac.js";import u from"./List.d5d221b1.js";import c from"./ListItem.ee1e88fb.js";import d from"./StatusBubble.4f1d8322.js";import l from"./NotificationBadge.b6fae3d5.js";import _ from"./MainLayout.39e63d2b.js";import g from"./IconBox.e6c961ac.js";import y from"./IconGlobe.07030b80.js";import b from"./IconStorage.ef2b2e41.js";import x from"./Modal.a59fc373.js";import B from"./ModalContainer.51de3ea9.js";import I from"./FormInput.e3b01057.js";import P from"./FormTextarea.5b8e3d32.js";import S from"./FormActions.83ccca91.js";import v from"./SettingsSegment.e8fdfb41.js";import T from"./SettingsLayout.3305573b.js";import C from"./Tabs.7c761f05.js";import{n as h}from"./plugin-vue2_normalizer.000ba15c.js";import"./TopBar.f6a175cb.js";import"./Dropdown.d1060583.js";import"./DropdownList.02c48c2f.js";import"./DropdownListItem.ac31464c.js";import"./IconMoon.ade3e41b.js";import"./IconSun.8809e5d7.js";import"./IconSearch.27dac870.js";import"./IconButton.eadc8d3d.js";import"./Breadcrumbs.d39e2491.js";import"./BreadcrumbsItem.da3f8155.js";import"./TopBarTabBarContainer.3bdb2bb3.js";import"./TabBar.c1d45ed5.js";import"./TabBarItem.e9886f0a.js";import"./Confirm.888708f1.js";import"./Notification.d432029f.js";import"./IconDanger.2f6e115d.js";import"./IconWarning.ca92fb65.js";import"./IconSuccess.09b85716.js";import"./IconInfo.ad7662f9.js";import"./SearchPalette.282fdde5.js";import"./notification.f3a0f54e.js";import"./app.0131bc0c.js";import"./IconClose.edb7c8fd.js";import"./Form.2cdcadd9.js";import"./FormGroup.efd02a6a.js";import"./Label.9d0d3ee0.js";import"./ErrorText.b141a597.js";import"./HelperText.14a7ed0b.js";import"./IconClipboard.8551be1b.js";import"./IconKey.455a255f.js";const L={metaInfo(){return{title:`${this.__("Documentation")}`}},layout:_,components:{TopBar:r,Container:m,Content:i,Page:e,PageHeader:n,PageHeaderTitle:p,PageBody:a,Button:s,List:u,ListItem:c,StatusBubble:d,NotificationBadge:l,IconBox:g,IconGlobe:y,IconStorage:b,Modal:x,ModalContainer:B,FormInput:I,FormTextarea:P,FormActions:S,EmptyImage:f,Tabs:C,SettingsLayout:T,SettingsSegment:v},props:{items:Object},data(){return{breadcrumbs:[{title:this.$page.props.settings.name,to:"/"},{title:this.__("Documentation"),to:this.route("documentation.index")}]}}};var F=function(){var o=this,t=o._self._c;return t("Page",[t("TopBar",{attrs:{breadcrumbs:o.breadcrumbs}}),t("Content",[t("Container",[t("PageHeader",{scopedSlots:o._u([{key:"start",fn:function(){return[t("PageHeaderTitle",[o._v(o._s(o.__("Documentation")))])]},proxy:!0}])}),t("PageBody",[t("SettingsLayout",{scopedSlots:o._u([{key:"nav",fn:function(){return[t("Tabs",{attrs:{items:o.items.data}})]},proxy:!0},{key:"segments",fn:function(){},proxy:!0}])})],1)],1)],1)],1)},H=[],k=h(L,F,H,!1,null,null,null,null);const jt=k.exports;export{jt as default};
|
||||
222
public/build/assets/Index.b2298b2e.js
vendored
Normal file
222
public/build/assets/Index.b2298b2e.js
vendored
Normal file
@@ -0,0 +1,222 @@
|
||||
import TopBar from "./TopBar.ab933635.js";
|
||||
import { C as Container } from "./Container.23db6f9d.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout.46aebdcf.js";
|
||||
import { B as Button } from "./Button.f40f5f07.js";
|
||||
import { I as IconBox, a as IconGlobe, b as IconStorage } from "./IconStorage.3e58486a.js";
|
||||
import { u as useNotification } from "./notification.4c298cac.js";
|
||||
import { f as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode, e as createTextVNode, t as toDisplayString, b as createBaseVNode, n as normalizeClass, c as createElementBlock, d as createCommentVNode, k as renderList, F as Fragment } from "./app.d0c43a70.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper.cdc0426e.js";
|
||||
import "./TabBar.2102e192.js";
|
||||
const _sfc_main = {
|
||||
metaInfo() {
|
||||
return {
|
||||
title: `${this.__("Dashboard")}`
|
||||
};
|
||||
},
|
||||
layout: MainLayout,
|
||||
components: {
|
||||
TopBar,
|
||||
Container,
|
||||
Content,
|
||||
Page,
|
||||
PageHeader,
|
||||
PageHeaderTitle,
|
||||
PageBody,
|
||||
Button,
|
||||
List,
|
||||
ListItem,
|
||||
StatusBubble,
|
||||
NotificationBadge,
|
||||
IconBox,
|
||||
IconGlobe,
|
||||
IconStorage
|
||||
},
|
||||
props: {
|
||||
sites: Number,
|
||||
servers: Number,
|
||||
package: Object,
|
||||
logs: Array
|
||||
},
|
||||
methods: {
|
||||
useNotification
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
breadcrumbs: [
|
||||
{
|
||||
title: this.$page.props.settings.name,
|
||||
to: "/"
|
||||
},
|
||||
{
|
||||
title: "Dashboard",
|
||||
to: "/"
|
||||
}
|
||||
]
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
hasAccessToServers() {
|
||||
return Object.keys(this.$page.props.auth.can).length && (this.$page.props.auth.can.servers.create || this.$page.props.auth.can.servers.update || this.$page.props.auth.can.servers.delete);
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
if (this.$page.props.flash.info) {
|
||||
useNotification({
|
||||
variant: "info",
|
||||
title: `Information`,
|
||||
message: this.$page.props.flash.info
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
const _hoisted_1 = { class: "p-6 rounded shadow bg-surface-3 transform transition duration-fast ease-in-out hover:scale-95" };
|
||||
const _hoisted_2 = { class: "font-semibold text-body" };
|
||||
const _hoisted_3 = { class: "text-medium-emphasis text-small" };
|
||||
const _hoisted_4 = {
|
||||
key: 0,
|
||||
class: "p-6 rounded shadow bg-surface-3 transform transition duration-fast ease-in-out hover:scale-95"
|
||||
};
|
||||
const _hoisted_5 = { class: "font-semibold text-body" };
|
||||
const _hoisted_6 = { class: "text-medium-emphasis text-small" };
|
||||
const _hoisted_7 = { class: "p-6 rounded shadow bg-surface-3 transform transition duration-fast ease-in-out hover:scale-95" };
|
||||
const _hoisted_8 = { class: "w-full" };
|
||||
const _hoisted_9 = { class: "flex justify-between" };
|
||||
const _hoisted_10 = { class: "font-semibold text-body" };
|
||||
const _hoisted_11 = {
|
||||
key: 0,
|
||||
class: "inline-flex items-center justify-center h-6 px-2 text-xs font-semibold tracking-tight text-blue-700 rounded-full bg-blue-500/10"
|
||||
};
|
||||
const _hoisted_12 = { class: "text-medium-emphasis text-small" };
|
||||
const _hoisted_13 = { class: "text-medium-emphasis" };
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_TopBar = resolveComponent("TopBar");
|
||||
const _component_PageHeaderTitle = resolveComponent("PageHeaderTitle");
|
||||
const _component_PageHeader = resolveComponent("PageHeader");
|
||||
const _component_IconGlobe = resolveComponent("IconGlobe");
|
||||
const _component_inertia_link = resolveComponent("inertia-link");
|
||||
const _component_IconStorage = resolveComponent("IconStorage");
|
||||
const _component_IconBox = resolveComponent("IconBox");
|
||||
const _component_ListItem = resolveComponent("ListItem");
|
||||
const _component_List = resolveComponent("List");
|
||||
const _component_PageBody = resolveComponent("PageBody");
|
||||
const _component_Container = resolveComponent("Container");
|
||||
const _component_Content = resolveComponent("Content");
|
||||
const _component_Page = resolveComponent("Page");
|
||||
return openBlock(), createBlock(_component_Page, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TopBar, { breadcrumbs: $data.breadcrumbs }, null, 8, ["breadcrumbs"]),
|
||||
createVNode(_component_Content, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_Container, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_PageHeader, null, {
|
||||
start: withCtx(() => [
|
||||
createVNode(_component_PageHeaderTitle, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Dashboard")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
]),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_PageBody, null, {
|
||||
default: withCtx(() => [
|
||||
createBaseVNode("div", null, [
|
||||
createBaseVNode("ul", {
|
||||
class: normalizeClass(["grid grid-cols-1 gap-4", { "md:grid-cols-3": $options.hasAccessToServers, "md:grid-cols-2": !$options.hasAccessToServers }])
|
||||
}, [
|
||||
createBaseVNode("li", _hoisted_1, [
|
||||
createVNode(_component_inertia_link, {
|
||||
href: _ctx.route("sites.index"),
|
||||
class: "flex space-x-4"
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createBaseVNode("div", null, [
|
||||
createVNode(_component_IconGlobe, { class: "w-6 h-6" })
|
||||
]),
|
||||
createBaseVNode("div", null, [
|
||||
createBaseVNode("h3", _hoisted_2, toDisplayString($props.sites), 1),
|
||||
createBaseVNode("p", _hoisted_3, toDisplayString(_ctx.__("Sites")), 1)
|
||||
])
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}, 8, ["href"])
|
||||
]),
|
||||
$options.hasAccessToServers ? (openBlock(), createElementBlock("li", _hoisted_4, [
|
||||
createVNode(_component_inertia_link, {
|
||||
href: _ctx.route("servers.index"),
|
||||
class: "flex space-x-4"
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createBaseVNode("div", null, [
|
||||
createVNode(_component_IconStorage, { class: "w-6 h-6" })
|
||||
]),
|
||||
createBaseVNode("div", null, [
|
||||
createBaseVNode("h3", _hoisted_5, toDisplayString($props.servers), 1),
|
||||
createBaseVNode("p", _hoisted_6, toDisplayString(_ctx.__("Servers")), 1)
|
||||
])
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}, 8, ["href"])
|
||||
])) : createCommentVNode("", true),
|
||||
createBaseVNode("li", _hoisted_7, [
|
||||
createVNode(_component_inertia_link, {
|
||||
href: _ctx.$page.props.settings.billing ? _ctx.route("profile.billing.index") : _ctx.route("profile.index"),
|
||||
class: "flex space-x-4"
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createBaseVNode("div", null, [
|
||||
createVNode(_component_IconBox, { class: "w-6 h-6" })
|
||||
]),
|
||||
createBaseVNode("div", _hoisted_8, [
|
||||
createBaseVNode("div", _hoisted_9, [
|
||||
createBaseVNode("h3", _hoisted_10, toDisplayString(_ctx.$page.props.auth.package.name), 1),
|
||||
_ctx.$page.props.auth.package.trial ? (openBlock(), createElementBlock("span", _hoisted_11, " Trial ")) : createCommentVNode("", true)
|
||||
]),
|
||||
createBaseVNode("p", _hoisted_12, toDisplayString(_ctx.__("Package")), 1)
|
||||
])
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}, 8, ["href"])
|
||||
])
|
||||
], 2)
|
||||
]),
|
||||
createVNode(_component_List, null, {
|
||||
default: withCtx(() => [
|
||||
(openBlock(true), createElementBlock(Fragment, null, renderList($props.logs, (log) => {
|
||||
return openBlock(), createBlock(_component_ListItem, {
|
||||
key: log.id
|
||||
}, {
|
||||
title: withCtx(() => [
|
||||
createTextVNode(toDisplayString(log.title), 1)
|
||||
]),
|
||||
subtitle: withCtx(() => [
|
||||
createTextVNode(toDisplayString(log.description), 1)
|
||||
]),
|
||||
suffix: withCtx(() => [
|
||||
createBaseVNode("span", _hoisted_13, toDisplayString(log.created_at_human), 1)
|
||||
]),
|
||||
_: 2
|
||||
}, 1024);
|
||||
}), 128))
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
});
|
||||
}
|
||||
const Index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
export {
|
||||
Index as default
|
||||
};
|
||||
1
public/build/assets/Index.d02b7fbd.js
vendored
1
public/build/assets/Index.d02b7fbd.js
vendored
@@ -1 +0,0 @@
|
||||
import e from"./TopBar.5d5cd899.js";import i from"./Container.f87d9f62.js";import n from"./Content.e22a1fd6.js";import m from"./Page.3927bdbf.js";import p from"./PageHeader.a5f457a5.js";import s from"./PageHeaderTitle.3ed783af.js";import a from"./PageBody.dec1fae1.js";import l from"./Button.f17dffc9.js";import u from"./List.d5d221b1.js";import f from"./ListItem.ee1e88fb.js";import c from"./StatusBubble.4f1d8322.js";import _ from"./NotificationBadge.b6fae3d5.js";import d from"./MainLayout.39e63d2b.js";import g from"./IconBox.e6c961ac.js";import y from"./IconGlobe.07030b80.js";import h from"./IconStorage.ef2b2e41.js";import b from"./Modal.a59fc373.js";import x from"./ModalContainer.51de3ea9.js";import I from"./FormInput.e3b01057.js";import k from"./FormTextarea.5b8e3d32.js";import v from"./FormActions.83ccca91.js";import C from"./EmptyImage.4bfdf9ac.js";import{n as B}from"./plugin-vue2_normalizer.000ba15c.js";import"./TopBar.f6a175cb.js";import"./Dropdown.d1060583.js";import"./DropdownList.02c48c2f.js";import"./DropdownListItem.ac31464c.js";import"./IconMoon.ade3e41b.js";import"./IconSun.8809e5d7.js";import"./IconSearch.27dac870.js";import"./IconButton.eadc8d3d.js";import"./Breadcrumbs.d39e2491.js";import"./BreadcrumbsItem.da3f8155.js";import"./TopBarTabBarContainer.3bdb2bb3.js";import"./TabBar.c1d45ed5.js";import"./TabBarItem.e9886f0a.js";import"./Confirm.888708f1.js";import"./Notification.d432029f.js";import"./IconDanger.2f6e115d.js";import"./IconWarning.ca92fb65.js";import"./IconSuccess.09b85716.js";import"./IconInfo.ad7662f9.js";import"./SearchPalette.282fdde5.js";import"./notification.f3a0f54e.js";import"./app.0131bc0c.js";import"./IconClose.edb7c8fd.js";import"./Form.2cdcadd9.js";import"./FormGroup.efd02a6a.js";import"./Label.9d0d3ee0.js";import"./ErrorText.b141a597.js";import"./HelperText.14a7ed0b.js";import"./IconClipboard.8551be1b.js";import"./IconKey.455a255f.js";const P={metaInfo(){return{title:`${this.__("Support")}`}},layout:d,components:{TopBar:e,Container:i,Content:n,Page:m,PageHeader:p,PageHeaderTitle:s,PageBody:a,Button:l,List:u,ListItem:f,StatusBubble:c,NotificationBadge:_,IconBox:g,IconGlobe:y,IconStorage:h,Modal:b,ModalContainer:x,FormInput:I,FormTextarea:k,FormActions:v,EmptyImage:C},props:{tickets:Object},data(){return{loading:!1,modalIsOpen:!1,form:{title:null,content:null},breadcrumbs:[{title:this.$page.props.settings.name,to:"/"},{title:this.__("Support"),to:this.route("support.index")}]}},methods:{submit(){this.loading=!0,this.$inertia.post(this.route("support.store"),this.form,{onFinish:()=>{Object.keys(this.$page.props.errors).length||(this.form.title=null,this.form.content=null,this.loading=!1,this.modalIsOpen=!1)}})}}};var $=function(){var t=this,o=t._self._c;return o("Page",[o("Portal",{attrs:{to:"modals"}},[o("ModalContainer",[t.modalIsOpen?o("Modal",{on:{close:function(r){t.modalIsOpen=!1},submit:t.submit},scopedSlots:t._u([{key:"title",fn:function(){return[t._v(t._s(t.__("Create support request")))]},proxy:!0},{key:"form",fn:function(){return[o("FormInput",{attrs:{label:t.__("Title"),errors:t.$page.props.errors.title},model:{value:t.form.title,callback:function(r){t.$set(t.form,"title",r)},expression:"form.title"}}),o("FormTextarea",{attrs:{label:t.__("Content"),errors:t.$page.props.errors.content},model:{value:t.form.content,callback:function(r){t.$set(t.form,"content",r)},expression:"form.content"}})]},proxy:!0},{key:"form-actions",fn:function(){return[o("Button",{domProps:{textContent:t._s(t.__("Create"))}})]},proxy:!0}],null,!1,1024002657)}):t._e()],1)],1),o("TopBar",{attrs:{breadcrumbs:t.breadcrumbs}}),o("Content",[o("Container",[o("PageHeader",{scopedSlots:t._u([{key:"start",fn:function(){return[o("PageHeaderTitle",[t._v(t._s(t.__("Support")))])]},proxy:!0},{key:"end",fn:function(){return[o("Button",{on:{click:function(r){t.modalIsOpen=!0}}},[t._v(t._s(t.__("Create ticket")))])]},proxy:!0}])}),o("PageBody",[t.tickets.total?t._e():o("EmptyImage"),o("List",t._l(t.tickets.data,function(r){return o("ListItem",{key:r.id,scopedSlots:t._u([{key:"title",fn:function(){return[o("inertia-link",{staticClass:"text-primary font-medium",attrs:{href:t.route("support.show",r.id)}},[t._v(" "+t._s(r.title)+" ")])]},proxy:!0}],null,!0)})}),1)],1)],1)],1)],1)},S=[],F=B(P,$,S,!1,null,null,null,null);const Ot=F.exports;export{Ot as default};
|
||||
211
public/build/assets/Index.d2887586.js
vendored
Normal file
211
public/build/assets/Index.d2887586.js
vendored
Normal file
@@ -0,0 +1,211 @@
|
||||
import TopBar from "./TopBar.a535e262.js";
|
||||
import { C as Container } from "./Container.23db6f9d.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout.46aebdcf.js";
|
||||
import { B as Button } from "./Button.f40f5f07.js";
|
||||
import { I as IconBox, a as IconGlobe, b as IconStorage } from "./IconStorage.3e58486a.js";
|
||||
import { M as Modal, a as ModalContainer } from "./ModalContainer.34fa6055.js";
|
||||
import { F as FormInput } from "./FormInput.8ab0f203.js";
|
||||
import { F as FormTextarea } from "./FormTextarea.deefc03c.js";
|
||||
import { F as FormActions } from "./Form.097b2c0b.js";
|
||||
import { E as EmptyImage } from "./EmptyImage.626bec44.js";
|
||||
import { f as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode, e as createTextVNode, t as toDisplayString, d as createCommentVNode, c as createElementBlock, k as renderList, F as Fragment } from "./app.d0c43a70.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper.cdc0426e.js";
|
||||
import "./TabBar.2102e192.js";
|
||||
import "./notification.4c298cac.js";
|
||||
const _sfc_main = {
|
||||
metaInfo() {
|
||||
return {
|
||||
title: `${this.__("Support")}`
|
||||
};
|
||||
},
|
||||
layout: MainLayout,
|
||||
components: {
|
||||
TopBar,
|
||||
Container,
|
||||
Content,
|
||||
Page,
|
||||
PageHeader,
|
||||
PageHeaderTitle,
|
||||
PageBody,
|
||||
Button,
|
||||
List,
|
||||
ListItem,
|
||||
StatusBubble,
|
||||
NotificationBadge,
|
||||
IconBox,
|
||||
IconGlobe,
|
||||
IconStorage,
|
||||
Modal,
|
||||
ModalContainer,
|
||||
FormInput,
|
||||
FormTextarea,
|
||||
FormActions,
|
||||
EmptyImage
|
||||
},
|
||||
props: {
|
||||
tickets: Object
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
modalIsOpen: false,
|
||||
form: {
|
||||
title: null,
|
||||
content: null
|
||||
},
|
||||
breadcrumbs: [
|
||||
{
|
||||
title: this.$page.props.settings.name,
|
||||
to: "/"
|
||||
},
|
||||
{
|
||||
title: this.__("Support"),
|
||||
to: this.route("support.index")
|
||||
}
|
||||
]
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
submit() {
|
||||
this.loading = true;
|
||||
this.$inertia.post(this.route("support.store"), this.form, {
|
||||
onFinish: () => {
|
||||
if (!Object.keys(this.$page.props.errors).length) {
|
||||
this.form.title = null;
|
||||
this.form.content = null;
|
||||
this.loading = false;
|
||||
this.modalIsOpen = false;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_FormInput = resolveComponent("FormInput");
|
||||
const _component_FormTextarea = resolveComponent("FormTextarea");
|
||||
const _component_Button = resolveComponent("Button");
|
||||
const _component_Modal = resolveComponent("Modal");
|
||||
const _component_ModalContainer = resolveComponent("ModalContainer");
|
||||
const _component_Portal = resolveComponent("Portal");
|
||||
const _component_TopBar = resolveComponent("TopBar");
|
||||
const _component_PageHeaderTitle = resolveComponent("PageHeaderTitle");
|
||||
const _component_PageHeader = resolveComponent("PageHeader");
|
||||
const _component_EmptyImage = resolveComponent("EmptyImage");
|
||||
const _component_inertia_link = resolveComponent("inertia-link");
|
||||
const _component_ListItem = resolveComponent("ListItem");
|
||||
const _component_List = resolveComponent("List");
|
||||
const _component_PageBody = resolveComponent("PageBody");
|
||||
const _component_Container = resolveComponent("Container");
|
||||
const _component_Content = resolveComponent("Content");
|
||||
const _component_Page = resolveComponent("Page");
|
||||
return openBlock(), createBlock(_component_Page, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_Portal, { to: "modals" }, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_ModalContainer, null, {
|
||||
default: withCtx(() => [
|
||||
$data.modalIsOpen ? (openBlock(), createBlock(_component_Modal, {
|
||||
key: 0,
|
||||
onClose: _cache[2] || (_cache[2] = ($event) => $data.modalIsOpen = false),
|
||||
onSubmit: $options.submit
|
||||
}, {
|
||||
title: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Create support request")), 1)
|
||||
]),
|
||||
form: withCtx(() => [
|
||||
createVNode(_component_FormInput, {
|
||||
label: _ctx.__("Title"),
|
||||
errors: _ctx.$page.props.errors.title,
|
||||
modelValue: $data.form.title,
|
||||
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => $data.form.title = $event)
|
||||
}, null, 8, ["label", "errors", "modelValue"]),
|
||||
createVNode(_component_FormTextarea, {
|
||||
label: _ctx.__("Content"),
|
||||
errors: _ctx.$page.props.errors.content,
|
||||
modelValue: $data.form.content,
|
||||
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => $data.form.content = $event)
|
||||
}, null, 8, ["label", "errors", "modelValue"])
|
||||
]),
|
||||
"form-actions": withCtx(() => [
|
||||
createVNode(_component_Button, {
|
||||
textContent: toDisplayString(_ctx.__("Create"))
|
||||
}, null, 8, ["textContent"])
|
||||
]),
|
||||
_: 1
|
||||
}, 8, ["onSubmit"])) : createCommentVNode("", true)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_TopBar, { breadcrumbs: $data.breadcrumbs }, null, 8, ["breadcrumbs"]),
|
||||
createVNode(_component_Content, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_Container, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_PageHeader, null, {
|
||||
start: withCtx(() => [
|
||||
createVNode(_component_PageHeaderTitle, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Support")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
]),
|
||||
end: withCtx(() => [
|
||||
createVNode(_component_Button, {
|
||||
onClick: _cache[3] || (_cache[3] = ($event) => $data.modalIsOpen = true)
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Create ticket")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
]),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_PageBody, null, {
|
||||
default: withCtx(() => [
|
||||
!$props.tickets.total ? (openBlock(), createBlock(_component_EmptyImage, { key: 0 })) : createCommentVNode("", true),
|
||||
createVNode(_component_List, null, {
|
||||
default: withCtx(() => [
|
||||
(openBlock(true), createElementBlock(Fragment, null, renderList($props.tickets.data, (ticket) => {
|
||||
return openBlock(), createBlock(_component_ListItem, {
|
||||
key: ticket.id
|
||||
}, {
|
||||
title: withCtx(() => [
|
||||
createVNode(_component_inertia_link, {
|
||||
class: "text-primary font-medium",
|
||||
href: _ctx.route("support.show", ticket.id)
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(ticket.title), 1)
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1032, ["href"])
|
||||
]),
|
||||
_: 2
|
||||
}, 1024);
|
||||
}), 128))
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
});
|
||||
}
|
||||
const Index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
export {
|
||||
Index as default
|
||||
};
|
||||
1
public/build/assets/Input.9d199ebb.js
vendored
1
public/build/assets/Input.9d199ebb.js
vendored
@@ -1 +0,0 @@
|
||||
import{n as t}from"./plugin-vue2_normalizer.000ba15c.js";const n="w-full border-medium-emphasis text-body h-10 max-w-lg px-2 border rounded bg-surface-1 focus:outline-none focus:border-primary",a={props:{id:{type:String,required:!0},type:{type:String,default:()=>"text"},required:{type:Boolean,default:()=>!1},errors:{type:Array},placeholder:{type:String}},data(){return{defaultClasses:n}}};var l=function(){var e=this,r=e._self._c;return r("input",{class:[e.defaultClasses],attrs:{id:e.id,type:e.type,required:e.required,placeholder:e.placeholder}})},s=[],o=t(a,l,s,!1,null,null,null,null);const p=o.exports;export{p as default};
|
||||
@@ -1 +0,0 @@
|
||||
import o from"./TextDivider.54add59f.js";import n from"./FormInput.e3b01057.js";import i from"./Button.f17dffc9.js";import s from"./Container.f87d9f62.js";import{n as r}from"./plugin-vue2_normalizer.000ba15c.js";import"./FormGroup.efd02a6a.js";import"./Label.9d0d3ee0.js";import"./ErrorText.b141a597.js";import"./HelperText.14a7ed0b.js";import"./IconClipboard.8551be1b.js";import"./IconKey.455a255f.js";const a={metaInfo:{title:"Installation incomplete"},components:{TextDivider:o,FormInput:n,Button:i,Container:s}};var l=function(){var e=this,t=e._self._c;return t("div",{staticClass:"flex items-center justify-center w-full min-h-screen"},[t("Container",{attrs:{size:"small"}},[t("div",{staticClass:"space-y-4"},[t("h1",{staticClass:"font-semibold text-center text-title"},[e._v("Installation incomplete")]),t("p",[e._v("It seems your installation is incomplete, we seem to miss some important credentials.")]),t("p",[e._v("Please go over the installation process again so all credentials can be filled in.")]),t("p",[e._v("You can start the Ploi Core installation by running "),t("code",[e._v("php artisan core:install")])]),t("a",{staticClass:"block text-primary",attrs:{target:"_blank",href:"https://docs.ploi-core.io"}},[e._v("View Ploi Core Documentation")])])])],1)},m=[],c=r(a,l,m,!1,null,null,null,null);const g=c.exports;export{g as default};
|
||||
45
public/build/assets/InstallationIncomplete.a803ac8b.js
vendored
Normal file
45
public/build/assets/InstallationIncomplete.a803ac8b.js
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
import { T as TextDivider } from "./TextDivider.5d9b42bc.js";
|
||||
import { F as FormInput } from "./FormInput.8ab0f203.js";
|
||||
import { B as Button } from "./Button.f40f5f07.js";
|
||||
import { C as Container } from "./Container.23db6f9d.js";
|
||||
import { c as createElementBlock, a as createVNode, w as withCtx, r as resolveComponent, o as openBlock, b as createBaseVNode, e as createTextVNode } from "./app.d0c43a70.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper.cdc0426e.js";
|
||||
const _sfc_main = {
|
||||
metaInfo: { title: "Installation incomplete" },
|
||||
components: {
|
||||
TextDivider,
|
||||
FormInput,
|
||||
Button,
|
||||
Container
|
||||
}
|
||||
};
|
||||
const _hoisted_1 = { class: "flex items-center justify-center w-full min-h-screen" };
|
||||
const _hoisted_2 = /* @__PURE__ */ createBaseVNode("div", { class: "space-y-4" }, [
|
||||
/* @__PURE__ */ createBaseVNode("h1", { class: "font-semibold text-center text-title" }, "Installation incomplete"),
|
||||
/* @__PURE__ */ createBaseVNode("p", null, "It seems your installation is incomplete, we seem to miss some important credentials."),
|
||||
/* @__PURE__ */ createBaseVNode("p", null, "Please go over the installation process again so all credentials can be filled in."),
|
||||
/* @__PURE__ */ createBaseVNode("p", null, [
|
||||
/* @__PURE__ */ createTextVNode("You can start the Ploi Core installation by running "),
|
||||
/* @__PURE__ */ createBaseVNode("code", null, "php artisan core:install")
|
||||
]),
|
||||
/* @__PURE__ */ createBaseVNode("a", {
|
||||
class: "block text-primary",
|
||||
target: "_blank",
|
||||
href: "https://docs.ploi-core.io"
|
||||
}, "View Ploi Core Documentation")
|
||||
], -1);
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_Container = resolveComponent("Container");
|
||||
return openBlock(), createElementBlock("div", _hoisted_1, [
|
||||
createVNode(_component_Container, { size: "small" }, {
|
||||
default: withCtx(() => [
|
||||
_hoisted_2
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
]);
|
||||
}
|
||||
const InstallationIncomplete = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
export {
|
||||
InstallationIncomplete as default
|
||||
};
|
||||
1
public/build/assets/Integrations.b3f38fab.js
vendored
1
public/build/assets/Integrations.b3f38fab.js
vendored
File diff suppressed because one or more lines are too long
261
public/build/assets/Integrations.e696a0f9.js
vendored
Normal file
261
public/build/assets/Integrations.e696a0f9.js
vendored
Normal file
@@ -0,0 +1,261 @@
|
||||
import TopBar from "./TopBar.1920e57d.js";
|
||||
import { C as Container } from "./Container.23db6f9d.js";
|
||||
import { M as MainLayout, C as Content, P as Page, a as PageHeader, b as PageHeaderTitle, c as PageBody, L as List, d as ListItem, S as StatusBubble, N as NotificationBadge } from "./MainLayout.46aebdcf.js";
|
||||
import { B as Button } from "./Button.f40f5f07.js";
|
||||
import { I as IconBox, a as IconGlobe, b as IconStorage } from "./IconStorage.3e58486a.js";
|
||||
import { M as Modal, a as ModalContainer } from "./ModalContainer.34fa6055.js";
|
||||
import { F as FormInput } from "./FormInput.8ab0f203.js";
|
||||
import { F as FormSelect } from "./FormSelect.08a72bf9.js";
|
||||
import { F as FormActions } from "./Form.097b2c0b.js";
|
||||
import { T as Table, a as TableHead, b as TableHeader, c as TableRow, d as TableBody, e as TableData } from "./TableData.b232d5e4.js";
|
||||
import { u as useConfirm } from "./confirm.c1a36d4c.js";
|
||||
import { f as createBlock, w as withCtx, r as resolveComponent, o as openBlock, a as createVNode, b as createBaseVNode, t as toDisplayString, d as createCommentVNode, e as createTextVNode, g as withModifiers, c as createElementBlock, k as renderList, F as Fragment } from "./app.d0c43a70.js";
|
||||
import { _ as _export_sfc } from "./_plugin-vue_export-helper.cdc0426e.js";
|
||||
import "./TabBar.2102e192.js";
|
||||
import "./notification.4c298cac.js";
|
||||
const _sfc_main = {
|
||||
metaInfo() {
|
||||
return {
|
||||
title: `${this.__("Integrations")}`
|
||||
};
|
||||
},
|
||||
layout: MainLayout,
|
||||
components: {
|
||||
TopBar,
|
||||
Container,
|
||||
Content,
|
||||
Page,
|
||||
PageHeader,
|
||||
PageHeaderTitle,
|
||||
PageBody,
|
||||
Button,
|
||||
List,
|
||||
ListItem,
|
||||
StatusBubble,
|
||||
NotificationBadge,
|
||||
IconBox,
|
||||
IconGlobe,
|
||||
IconStorage,
|
||||
Modal,
|
||||
ModalContainer,
|
||||
FormInput,
|
||||
FormSelect,
|
||||
FormActions,
|
||||
Table,
|
||||
TableHead,
|
||||
TableHeader,
|
||||
TableRow,
|
||||
TableBody,
|
||||
TableData
|
||||
},
|
||||
props: {
|
||||
providers: Array
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
form: {
|
||||
provider: null,
|
||||
meta: {}
|
||||
},
|
||||
breadcrumbs: [
|
||||
{
|
||||
title: this.$page.props.settings.name,
|
||||
to: "/"
|
||||
},
|
||||
{
|
||||
title: this.__("Profile"),
|
||||
to: this.route("profile.index")
|
||||
},
|
||||
{
|
||||
title: this.__("Integrations"),
|
||||
to: this.route("profile.integrations.index")
|
||||
}
|
||||
]
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
submit() {
|
||||
this.$inertia.post(this.route("profile.integrations.store"), this.form, {
|
||||
onStart: () => this.sending = true,
|
||||
onFinish: () => {
|
||||
this.sending = false;
|
||||
if (!Object.keys(this.$page.props.errors).length) {
|
||||
this.form = {
|
||||
provider: null,
|
||||
meta: {}
|
||||
};
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
confirmDelete(provider) {
|
||||
useConfirm({
|
||||
title: this.__("Are you sure?"),
|
||||
message: this.__("Your provider integration will be deleted permanently, this cannot be undone."),
|
||||
onConfirm: () => this.delete(provider)
|
||||
});
|
||||
},
|
||||
delete(provider) {
|
||||
this.$inertia.delete(this.route("profile.integrations.destroy", provider.id), {
|
||||
preserveScroll: true
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
const _hoisted_1 = { value: "cloudflare" };
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
const _component_TopBar = resolveComponent("TopBar");
|
||||
const _component_FormSelect = resolveComponent("FormSelect");
|
||||
const _component_FormInput = resolveComponent("FormInput");
|
||||
const _component_Button = resolveComponent("Button");
|
||||
const _component_FormActions = resolveComponent("FormActions");
|
||||
const _component_PageBody = resolveComponent("PageBody");
|
||||
const _component_TableHeader = resolveComponent("TableHeader");
|
||||
const _component_TableRow = resolveComponent("TableRow");
|
||||
const _component_TableHead = resolveComponent("TableHead");
|
||||
const _component_TableData = resolveComponent("TableData");
|
||||
const _component_TableBody = resolveComponent("TableBody");
|
||||
const _component_Table = resolveComponent("Table");
|
||||
const _component_Container = resolveComponent("Container");
|
||||
const _component_Content = resolveComponent("Content");
|
||||
const _component_Page = resolveComponent("Page");
|
||||
return openBlock(), createBlock(_component_Page, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TopBar, { breadcrumbs: $data.breadcrumbs }, null, 8, ["breadcrumbs"]),
|
||||
createVNode(_component_Content, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_Container, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_PageBody, null, {
|
||||
default: withCtx(() => [
|
||||
createBaseVNode("form", {
|
||||
class: "space-y-4",
|
||||
onSubmit: _cache[3] || (_cache[3] = withModifiers((...args) => $options.submit && $options.submit(...args), ["prevent"]))
|
||||
}, [
|
||||
createVNode(_component_FormSelect, {
|
||||
label: _ctx.__("Select provider"),
|
||||
errors: _ctx.$page.props.errors.provider,
|
||||
modelValue: $data.form.provider,
|
||||
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => $data.form.provider = $event)
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createBaseVNode("option", _hoisted_1, toDisplayString(_ctx.__("Cloudflare")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}, 8, ["label", "errors", "modelValue"]),
|
||||
$data.form.provider === "cloudflare" ? (openBlock(), createBlock(_component_FormInput, {
|
||||
key: 0,
|
||||
label: _ctx.__("API key"),
|
||||
errors: _ctx.$page.props.errors["meta.api_key"],
|
||||
modelValue: $data.form.meta.api_key,
|
||||
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => $data.form.meta.api_key = $event)
|
||||
}, null, 8, ["label", "errors", "modelValue"])) : createCommentVNode("", true),
|
||||
$data.form.provider === "cloudflare" ? (openBlock(), createBlock(_component_FormInput, {
|
||||
key: 1,
|
||||
label: _ctx.__("Cloudflare email"),
|
||||
errors: _ctx.$page.props.errors["meta.cloudflare_email"],
|
||||
modelValue: $data.form.meta.cloudflare_email,
|
||||
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => $data.form.meta.cloudflare_email = $event)
|
||||
}, null, 8, ["label", "errors", "modelValue"])) : createCommentVNode("", true),
|
||||
createVNode(_component_FormActions, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_Button, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Save")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], 32)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}),
|
||||
$props.providers.length ? (openBlock(), createBlock(_component_PageBody, { key: 0 }, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_Table, { caption: "Provider list overview" }, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TableHead, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TableRow, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TableHeader, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Provider")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_TableHeader, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Date")), 1)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
}),
|
||||
createVNode(_component_TableBody, null, {
|
||||
default: withCtx(() => [
|
||||
(openBlock(true), createElementBlock(Fragment, null, renderList($props.providers, (provider) => {
|
||||
return openBlock(), createBlock(_component_TableRow, {
|
||||
key: provider.id
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_TableData, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(provider.type), 1)
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1024),
|
||||
createVNode(_component_TableData, null, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(provider.created_at), 1)
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1024),
|
||||
createVNode(_component_TableData, null, {
|
||||
default: withCtx(() => [
|
||||
createVNode(_component_Button, {
|
||||
variant: "danger",
|
||||
size: "sm",
|
||||
onClick: ($event) => $options.confirmDelete(provider)
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.__("Delete")), 1)
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1032, ["onClick"])
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1024)
|
||||
], void 0, true),
|
||||
_: 2
|
||||
}, 1024);
|
||||
}), 128))
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})) : createCommentVNode("", true)
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
})
|
||||
], void 0, true),
|
||||
_: 1
|
||||
});
|
||||
}
|
||||
const Integrations = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
export {
|
||||
Integrations as default
|
||||
};
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user