Merge branch 'feature/draft-apps' of github.com:Budibase/budibase into feature/draft-apps
This commit is contained in:
commit
c6e9dd7a68
|
@ -15,6 +15,15 @@
|
|||
const json = await response.json()
|
||||
if (response.status !== 200) throw json.message
|
||||
|
||||
// Reset frontend state after revert
|
||||
const applicationPkg = await api.get(`/api/applications/${appId}/appPackage`)
|
||||
const pkg = await applicationPkg.json()
|
||||
if (applicationPkg.ok) {
|
||||
await store.actions.initialise(pkg)
|
||||
} else {
|
||||
throw new Error(pkg)
|
||||
}
|
||||
|
||||
notifications.info("Changes reverted.")
|
||||
} catch (err) {
|
||||
notifications.error(`Error reverting changes: ${err}`)
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
<!-- routify:options index=4 -->
|
||||
<!-- <slot /> -->
|
|
@ -1,79 +0,0 @@
|
|||
<script>
|
||||
import { Button, Modal, notifications, Heading } from "@budibase/bbui"
|
||||
import { store } from "builderStore"
|
||||
import api from "builderStore/api"
|
||||
import DeploymentHistory from "components/deploy/DeploymentHistory.svelte"
|
||||
import analytics from "analytics"
|
||||
import FeedbackIframe from "components/feedback/FeedbackIframe.svelte"
|
||||
import Rocket from "/assets/deploy-rocket.jpg"
|
||||
|
||||
let loading = false
|
||||
let deployments = []
|
||||
let poll
|
||||
let feedbackModal
|
||||
|
||||
$: appId = $store.appId
|
||||
|
||||
async function deployApp() {
|
||||
try {
|
||||
notifications.info(`Deployment started. Please wait.`)
|
||||
const response = await api.post("/api/deploy")
|
||||
const json = await response.json()
|
||||
if (response.status !== 200) {
|
||||
throw new Error()
|
||||
}
|
||||
|
||||
if (analytics.requestFeedbackOnDeploy()) {
|
||||
feedbackModal.show()
|
||||
}
|
||||
} catch (err) {
|
||||
analytics.captureException(err)
|
||||
notifications.error("Deployment unsuccessful. Please try again later.")
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<section>
|
||||
<img src={Rocket} alt="Rocket flying through sky" />
|
||||
<div>
|
||||
<Heading size="M">It's time to shine!</Heading>
|
||||
<Button size="XL" cta medium on:click={deployApp}>Publish App</Button>
|
||||
</div>
|
||||
</section>
|
||||
<Modal bind:this={feedbackModal}>
|
||||
<FeedbackIframe on:finished={() => feedbackModal.hide()} />
|
||||
</Modal>
|
||||
<DeploymentHistory {appId} />
|
||||
|
||||
<style>
|
||||
img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
filter: brightness(80%);
|
||||
}
|
||||
|
||||
section {
|
||||
position: relative;
|
||||
min-height: 100%;
|
||||
}
|
||||
|
||||
div {
|
||||
position: absolute;
|
||||
display: flex;
|
||||
text-align: center;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
left: 0;
|
||||
right: 0;
|
||||
top: 20%;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
width: 50%;
|
||||
gap: var(--spacing-xl);
|
||||
}
|
||||
div :global(h1) {
|
||||
color: white;
|
||||
}
|
||||
</style>
|
|
@ -18,6 +18,7 @@
|
|||
import analytics from "analytics"
|
||||
import { onMount } from "svelte"
|
||||
import { apps } from "stores/portal"
|
||||
import { auth } from "stores/backend"
|
||||
import download from "downloadjs"
|
||||
import { goto } from "@roxi/routify"
|
||||
import ConfirmDialog from "components/common/ConfirmDialog.svelte"
|
||||
|
@ -61,6 +62,11 @@
|
|||
}
|
||||
|
||||
const openApp = app => {
|
||||
if (app.lockedBy && app.lockedBy?.email === $auth.user?.email) {
|
||||
notifications.error(`App locked by ${app.lockedBy.email}. Please allow lock to expire or have them unlock this app.`)
|
||||
return
|
||||
}
|
||||
|
||||
if (appStatus === AppStatus.DEV) {
|
||||
$goto(`../../app/${app.appId}`)
|
||||
} else {
|
||||
|
|
|
@ -37,7 +37,6 @@ router
|
|||
})
|
||||
)
|
||||
.use(currentApp)
|
||||
// .use(development)
|
||||
|
||||
// error handling middleware
|
||||
router.use(async (ctx, next) => {
|
||||
|
|
Loading…
Reference in New Issue