App metadata screen fixes, copy code button casing and delete app button hidden on publish
This commit is contained in:
parent
59ae9f4f98
commit
854950581c
|
@ -155,6 +155,7 @@ export const getFrontendStore = () => {
|
|||
...INITIAL_FRONTEND_STATE.features,
|
||||
...application.features,
|
||||
},
|
||||
icon: application.icon || {},
|
||||
initialised: true,
|
||||
}))
|
||||
screenHistoryStore.reset()
|
||||
|
|
|
@ -275,7 +275,7 @@
|
|||
}
|
||||
}}
|
||||
>
|
||||
{selectedApp ? `${selectedApp?.url}` : ""}
|
||||
{$store.url}
|
||||
{#if isPublished}
|
||||
<Icon size="S" name="LinkOut" />
|
||||
{:else}
|
||||
|
@ -344,7 +344,12 @@
|
|||
|
||||
<Modal bind:this={updateAppModal} padding={false} width="600px">
|
||||
<UpdateAppModal
|
||||
app={selectedApp}
|
||||
app={{
|
||||
name: $store.name,
|
||||
url: $store.url,
|
||||
icon: $store.icon,
|
||||
devId: $store.appId,
|
||||
}}
|
||||
onUpdateComplete={async () => {
|
||||
await initialiseApp()
|
||||
}}
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
|
||||
async function updateApp() {
|
||||
try {
|
||||
await apps.update(app.instance._id, {
|
||||
await apps.update(app.devId, {
|
||||
name: $values.name?.trim(),
|
||||
url: $values.url?.trim(),
|
||||
icon: {
|
||||
|
|
|
@ -3,8 +3,14 @@
|
|||
import { Page, Layout } from "@budibase/bbui"
|
||||
import { url, isActive } from "@roxi/routify"
|
||||
import DeleteModal from "components/deploy/DeleteModal.svelte"
|
||||
import { apps } from "stores/portal"
|
||||
import { store } from "builderStore"
|
||||
|
||||
let deleteModal
|
||||
|
||||
$: filteredApps = $apps.filter(app => app.devId === $store.appId)
|
||||
$: selectedApp = filteredApps?.length ? filteredApps[0] : null
|
||||
$: isPublished = selectedApp?.status === "published"
|
||||
</script>
|
||||
|
||||
<!-- routify:options index=4 -->
|
||||
|
@ -43,14 +49,16 @@
|
|||
url={$url("./version")}
|
||||
active={$isActive("./version")}
|
||||
/>
|
||||
<div class="delete-action">
|
||||
<SideNavItem
|
||||
text="Delete app"
|
||||
on:click={() => {
|
||||
deleteModal.show()
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
{#if !isPublished}
|
||||
<div class="delete-action">
|
||||
<SideNavItem
|
||||
text="Delete app"
|
||||
on:click={() => {
|
||||
deleteModal.show()
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
{/if}
|
||||
</SideNav>
|
||||
<slot />
|
||||
</Content>
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
notifications.success("Copied")
|
||||
}}
|
||||
>
|
||||
Copy Code
|
||||
Copy code
|
||||
</Button>
|
||||
</div>
|
||||
{:else}
|
||||
|
|
|
@ -19,11 +19,10 @@
|
|||
|
||||
$: filteredApps = $apps.filter(app => app.devId == $store.appId)
|
||||
$: app = filteredApps.length ? filteredApps[0] : {}
|
||||
$: appUrl = `${window.origin}/app${app?.url}`
|
||||
$: appDeployed = app?.status === AppStatus.DEPLOYED
|
||||
|
||||
const initialiseApp = async () => {
|
||||
const applicationPkg = await API.fetchAppPackage(app.devId)
|
||||
const applicationPkg = await API.fetchAppPackage($store.appId)
|
||||
await store.actions.initialise(applicationPkg)
|
||||
}
|
||||
</script>
|
||||
|
@ -37,7 +36,7 @@
|
|||
|
||||
<Layout noPadding gap="XXS">
|
||||
<Label size="L">Name</Label>
|
||||
<Body>{app?.name}</Body>
|
||||
<Body>{$store?.name}</Body>
|
||||
</Layout>
|
||||
|
||||
<Layout noPadding gap="XS">
|
||||
|
@ -45,15 +44,15 @@
|
|||
<div class="icon">
|
||||
<Icon
|
||||
size="L"
|
||||
name={app?.icon?.name || "Apps"}
|
||||
color={app?.icon?.color}
|
||||
name={$store?.icon?.name || "Apps"}
|
||||
color={$store?.icon?.color}
|
||||
/>
|
||||
</div>
|
||||
</Layout>
|
||||
|
||||
<Layout noPadding gap="XXS">
|
||||
<Label size="L">URL</Label>
|
||||
<Body>{appUrl}</Body>
|
||||
<Body>{$store.url}</Body>
|
||||
</Layout>
|
||||
|
||||
<div>
|
||||
|
@ -75,7 +74,12 @@
|
|||
|
||||
<Modal bind:this={updatingModal} padding={false} width="600px">
|
||||
<UpdateAppModal
|
||||
{app}
|
||||
app={{
|
||||
name: $store.name,
|
||||
url: $store.url,
|
||||
icon: $store.icon,
|
||||
devId: $store.appId,
|
||||
}}
|
||||
onUpdateComplete={async () => {
|
||||
await initialiseApp()
|
||||
}}
|
||||
|
|
|
@ -1,21 +0,0 @@
|
|||
import { writable, derived } from "svelte/store"
|
||||
import { apps } from "./apps"
|
||||
|
||||
const createOverviewStore = () => {
|
||||
const store = writable({
|
||||
selectedAppId: null,
|
||||
})
|
||||
const derivedStore = derived([store, apps], ([$store, $apps]) => {
|
||||
return {
|
||||
...$store,
|
||||
selectedApp: $apps?.find(app => app.devId === $store.selectedAppId),
|
||||
}
|
||||
})
|
||||
|
||||
return {
|
||||
update: store.update,
|
||||
subscribe: derivedStore.subscribe,
|
||||
}
|
||||
}
|
||||
|
||||
export const overview = createOverviewStore()
|
Loading…
Reference in New Issue