Fix: Updated formatting of text throughout the app (#2509)
This commit is contained in:
@@ -63,7 +63,7 @@ const props = withDefaults(
|
||||
}>(),
|
||||
{
|
||||
dialogMode: false,
|
||||
title: 'Speckle Login',
|
||||
title: 'Speckle login',
|
||||
subtitle: 'Connectivity, Collaboration and Automation for 3D'
|
||||
}
|
||||
)
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
<template #footer>
|
||||
<div class="flex flex-col gap-y-2">
|
||||
<FormButton submit full-width :disabled="loading">Send reset e-mail</FormButton>
|
||||
<FormButton color="secondary" :to="homeRoute">Go Home</FormButton>
|
||||
<FormButton color="secondary" :to="homeRoute">Go home</FormButton>
|
||||
</div>
|
||||
</template>
|
||||
</LayoutPanel>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<h1
|
||||
class="text-xl sm:text-3xl text-center font-bold bg-gradient-to-r py-1 from-blue-500 via-blue-400 to-blue-600 inline-block text-transparent bg-clip-text"
|
||||
>
|
||||
Create your Speckle Account
|
||||
Create your Speckle account
|
||||
</h1>
|
||||
<h2 class="text-sm sm:text-base text-center text-foreground-2">
|
||||
Connectivity, Collaboration and Automation for 3D
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
<FormTextInput
|
||||
type="text"
|
||||
name="name"
|
||||
label="Full Name"
|
||||
placeholder="My Name"
|
||||
label="Full name"
|
||||
placeholder="My name"
|
||||
:size="isSmallerOrEqualSm ? 'lg' : 'xl'"
|
||||
:rules="nameRules"
|
||||
:custom-icon="UserIcon"
|
||||
|
||||
@@ -11,8 +11,8 @@
|
||||
>
|
||||
<template v-if="isTestAutomation" #header>
|
||||
Create
|
||||
<span class="font-extrabold text-fancy-gradient">Test</span>
|
||||
Automation
|
||||
<span class="font-extrabold text-fancy-gradient">test</span>
|
||||
automation
|
||||
</template>
|
||||
<div class="flex flex-col gap-6">
|
||||
<CommonStepsNumber
|
||||
@@ -152,15 +152,15 @@ const stepsOrder = computed(() => [
|
||||
const stepsWidgetData = computed(() => [
|
||||
{
|
||||
step: AutomationCreateSteps.SelectFunction,
|
||||
title: 'Select Function'
|
||||
title: 'Select function'
|
||||
},
|
||||
{
|
||||
step: AutomationCreateSteps.FunctionParameters,
|
||||
title: 'Set Parameters'
|
||||
title: 'Set parameters'
|
||||
},
|
||||
{
|
||||
step: AutomationCreateSteps.AutomationDetails,
|
||||
title: 'Add Details'
|
||||
title: 'Add details'
|
||||
}
|
||||
])
|
||||
|
||||
@@ -448,7 +448,7 @@ const onDetailsSubmit = handleDetailsSubmit(async () => {
|
||||
return
|
||||
}
|
||||
|
||||
mixpanel.track('Automation Created', {
|
||||
mixpanel.track('Automation created', {
|
||||
automationId: aId,
|
||||
name,
|
||||
projectId: project.id,
|
||||
|
||||
+2
-2
@@ -3,7 +3,7 @@
|
||||
<FormSelectProjects
|
||||
v-if="!preselectedProject"
|
||||
v-model="project"
|
||||
label="Speckle Project"
|
||||
label="Speckle project"
|
||||
show-label
|
||||
help="Choose the project where your target model is located"
|
||||
show-required
|
||||
@@ -29,7 +29,7 @@
|
||||
<FormTextInput
|
||||
v-model="automationName"
|
||||
name="automationName"
|
||||
label="Automation Name"
|
||||
label="Automation name"
|
||||
color="foundation"
|
||||
show-label
|
||||
help="Give your automation a name"
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div>
|
||||
<FormTextInput
|
||||
label="Select Function"
|
||||
label="Select function"
|
||||
:show-label="showLabel"
|
||||
:show-required="showRequired"
|
||||
name="search"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<LayoutDialog
|
||||
v-model:open="open"
|
||||
title="Edit Function"
|
||||
title="Edit function"
|
||||
:buttons="buttons"
|
||||
max-width="md"
|
||||
buttons-wrapper-classes="justify-between"
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<Portal to="navigation">
|
||||
<HeaderNavLink
|
||||
:to="automationFunctionsRoute"
|
||||
:name="'Automate Functions'"
|
||||
:name="'Automate functions'"
|
||||
></HeaderNavLink>
|
||||
<HeaderNavLink
|
||||
:to="automationFunctionRoute(fn.id)"
|
||||
@@ -30,7 +30,7 @@
|
||||
:disabled="!hasReleases"
|
||||
@click="$emit('createAutomation')"
|
||||
>
|
||||
Use in an Automation
|
||||
Use in an automation
|
||||
</FormButton>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
:icon-right="ArrowTopRightOnSquareIcon"
|
||||
@click="onViewParameters"
|
||||
>
|
||||
View Parameters
|
||||
View parameters
|
||||
</CommonTextLink>
|
||||
</div>
|
||||
</AutomateFunctionPageInfoBlock>
|
||||
@@ -88,7 +88,7 @@
|
||||
:disabled="!hasReleases"
|
||||
@click="$emit('createAutomation')"
|
||||
>
|
||||
Use in an Automation
|
||||
Use in an automation
|
||||
</FormButton>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<template v-if="finalParams">
|
||||
<FormJsonForm :schema="finalParams" />
|
||||
<LayoutDialogSection
|
||||
title="Parameter Schema"
|
||||
title="Parameter schema"
|
||||
:icon="BeakerIcon"
|
||||
border-t
|
||||
border-b
|
||||
|
||||
@@ -4,14 +4,14 @@
|
||||
class="pt-4 flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between"
|
||||
>
|
||||
<Portal to="navigation">
|
||||
<HeaderNavLink :to="automationFunctionsRoute" :name="'Automate Functions'" />
|
||||
<HeaderNavLink :to="automationFunctionsRoute" :name="'Automate functions'" />
|
||||
</Portal>
|
||||
|
||||
<h1 class="h3 font-bold">Automate Functions</h1>
|
||||
<h1 class="h3 font-bold">Automate functions</h1>
|
||||
<div class="flex flex-col sm:flex-row gap-2">
|
||||
<FormTextInput
|
||||
name="search"
|
||||
placeholder="Search Functions..."
|
||||
placeholder="Search functions..."
|
||||
show-clear
|
||||
:model-value="bind.modelValue.value"
|
||||
color="foundation"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
:columns="[
|
||||
{ id: 'status', header: 'status', classes: 'col-span-2' },
|
||||
{ id: 'runId', header: 'Run ID', classes: 'col-span-3' },
|
||||
{ id: 'modelVersion', header: 'Model Version', classes: 'col-span-3' },
|
||||
{ id: 'modelVersion', header: 'Model version', classes: 'col-span-3' },
|
||||
{ id: 'date', header: 'Date', classes: 'col-span-2' },
|
||||
{ id: 'duration', header: 'Duration', classes: 'col-span-2' }
|
||||
]"
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
const emit = defineEmits<{ 'clear-search': [] }>()
|
||||
|
||||
const cta = {
|
||||
text: 'Clear Search',
|
||||
text: 'Clear search',
|
||||
onClick: () => emit('clear-search')
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -17,7 +17,7 @@ const props = withDefaults(
|
||||
)
|
||||
|
||||
const clearSearchCta = ref({
|
||||
text: 'Clear Search',
|
||||
text: 'Clear search',
|
||||
onClick: () => emit('clear-search')
|
||||
})
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
full-width
|
||||
@click="downloadVersion(latestStableVersions.win as ConnectorVersion)"
|
||||
>
|
||||
Download Latest Stable ({{ latestStableVersions.win.Number }}) Windows
|
||||
Download latest stable ({{ latestStableVersions.win.Number }}) Windows
|
||||
</FormButton>
|
||||
<FormButton
|
||||
v-if="latestStableVersions.mac"
|
||||
@@ -24,7 +24,7 @@
|
||||
text
|
||||
@click="downloadVersion(latestStableVersions.mac as ConnectorVersion)"
|
||||
>
|
||||
Download Latest Stable ({{ latestStableVersions.mac.Number }}) Mac OS
|
||||
Download latest stable ({{ latestStableVersions.mac.Number }}) Mac OS
|
||||
</FormButton>
|
||||
</div>
|
||||
<div class="flex items-center justify-between pt-5 gap-6 border-t">
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
{{ error.message }}
|
||||
</h2>
|
||||
<div v-if="isDev && error.stack" class="max-w-xl" v-html="error.stack" />
|
||||
<FormButton :to="homeRoute" size="xl">Go Home</FormButton>
|
||||
<FormButton :to="homeRoute" size="xl">Go home</FormButton>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
color="default"
|
||||
@click="() => goToLogin()"
|
||||
>
|
||||
Sign In
|
||||
Sign in
|
||||
</FormButton>
|
||||
<FormButton
|
||||
size="lg"
|
||||
@@ -24,7 +24,7 @@
|
||||
:color="isLoggedIn ? 'default' : 'secondary'"
|
||||
:to="homeRoute"
|
||||
>
|
||||
Go Home
|
||||
Go home
|
||||
</FormButton>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<NuxtLink to="/">
|
||||
<img
|
||||
src="~/assets/images/speckle_text_logo_white.svg"
|
||||
alt="Speckle Logo"
|
||||
alt="Speckle logo"
|
||||
width="192"
|
||||
/>
|
||||
</NuxtLink>
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
class="hidden md:flex"
|
||||
size="sm"
|
||||
>
|
||||
Sign In
|
||||
Sign in
|
||||
</FormButton>
|
||||
<!-- Profile dropdown -->
|
||||
<HeaderNavUserMenu :login-url="loginUrl" />
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
@keypress="keyboardClick(handleCopyLink)"
|
||||
>
|
||||
<LinkIcon class="w-5 h-5" />
|
||||
Copy Link
|
||||
Copy link
|
||||
</div>
|
||||
</MenuItem>
|
||||
<MenuItem v-if="!isFederated" v-slot="{ active }">
|
||||
@@ -59,7 +59,7 @@
|
||||
@keypress="keyboardClick(handleEmbed)"
|
||||
>
|
||||
<CodeBracketIcon class="w-5 h-5" />
|
||||
Embed Model
|
||||
Embed model
|
||||
</div>
|
||||
</MenuItem>
|
||||
</MenuItems>
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
:href="connectorsPageUrl"
|
||||
>
|
||||
<CloudArrowDownIcon class="w-5 h-5" />
|
||||
Connector Downloads
|
||||
Connector downloads
|
||||
</NuxtLink>
|
||||
</MenuItem>
|
||||
<MenuItem v-if="activeUser" v-slot="{ active }">
|
||||
@@ -42,7 +42,7 @@
|
||||
@click="() => (showProfileEditDialog = true)"
|
||||
>
|
||||
<UserAvatar :user="activeUser" size="sm" class="-ml-0.5 mr-px" />
|
||||
Edit Profile
|
||||
Edit profile
|
||||
</NuxtLink>
|
||||
</MenuItem>
|
||||
<MenuItem v-if="isAdmin" v-slot="{ active }">
|
||||
@@ -54,7 +54,7 @@
|
||||
@click="goToServerManagement()"
|
||||
>
|
||||
<Cog6ToothIcon class="w-5 h-5" />
|
||||
Server Management
|
||||
Server management
|
||||
</NuxtLink>
|
||||
</MenuItem>
|
||||
<MenuItem v-slot="{ active }">
|
||||
@@ -66,7 +66,7 @@
|
||||
@click="toggleTheme"
|
||||
>
|
||||
<Icon class="w-5 h-5" />
|
||||
{{ isDarkTheme ? 'Light Mode' : 'Dark Mode' }}
|
||||
{{ isDarkTheme ? 'Light mode' : 'Dark mode' }}
|
||||
</NuxtLink>
|
||||
</MenuItem>
|
||||
<MenuItem v-if="activeUser && !isGuest" v-slot="{ active }">
|
||||
@@ -104,7 +104,7 @@
|
||||
@click="logout"
|
||||
>
|
||||
<ArrowLeftOnRectangleIcon class="w-5 h-5" />
|
||||
Sign Out
|
||||
Sign out
|
||||
</NuxtLink>
|
||||
</MenuItem>
|
||||
<MenuItem v-if="!activeUser && loginUrl" v-slot="{ active }">
|
||||
@@ -116,7 +116,7 @@
|
||||
:to="loginUrl"
|
||||
>
|
||||
<ArrowRightOnRectangleIcon class="w-5 h-5" />
|
||||
Sign In
|
||||
Sign in
|
||||
</NuxtLink>
|
||||
</MenuItem>
|
||||
<MenuItem v-if="version">
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="grid gap-y-2 mt-">
|
||||
<p class="caption text-foreground-2">Pending Invites</p>
|
||||
<p class="caption text-foreground-2">Pending invites</p>
|
||||
<div
|
||||
class="flex items-center justify-between rounded-xl text-white pl-4 pr-2 py-2 shadow hover:shadow-lg transition bg-primary"
|
||||
>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
v-if="showIntro"
|
||||
class="flex-col justify-around px-2 h-full py-2 md:col-span-1 hidden lg:flex"
|
||||
>
|
||||
<div>Quickstart Checklist</div>
|
||||
<div>Quickstart checklist</div>
|
||||
<div class="text-sm text-foreground-2">
|
||||
Become a Speckle pro in four steps!
|
||||
</div>
|
||||
@@ -207,14 +207,14 @@
|
||||
@done="markComplete(1)"
|
||||
@cancel="showAccountLinkDialog = false"
|
||||
>
|
||||
<template #header>Desktop Login</template>
|
||||
<template #header>Desktop login</template>
|
||||
</OnboardingDialogAccountLink>
|
||||
<OnboardingDialogFirstSend
|
||||
v-model:open="showFirstSendDialog"
|
||||
@done="markComplete(2)"
|
||||
@cancel="showFirstSendDialog = false"
|
||||
>
|
||||
<template #header>Your First Upload</template>
|
||||
<template #header>Your first upload</template>
|
||||
</OnboardingDialogFirstSend>
|
||||
<ServerManagementInviteDialog
|
||||
v-model:open="showServerInviteDialog"
|
||||
@@ -298,7 +298,7 @@ const steps = ref([
|
||||
blurb: 'Use Manager to install the Speckle Connectors for your apps!',
|
||||
active: false,
|
||||
cta: "Let's go!",
|
||||
postCompletionCta: 'Download Again',
|
||||
postCompletionCta: 'Download again',
|
||||
action: () => {
|
||||
showManagerDownloadDialog.value = true
|
||||
},
|
||||
@@ -316,11 +316,11 @@ const steps = ref([
|
||||
icon: ComputerDesktopIcon
|
||||
},
|
||||
{
|
||||
title: 'Log In 🔑',
|
||||
title: 'Log in 🔑',
|
||||
blurb: 'Authorise our application connectors to send data to Speckle.',
|
||||
active: false,
|
||||
cta: "Let's go!",
|
||||
postCompletionCta: 'Login Again',
|
||||
postCompletionCta: 'Login again',
|
||||
action: () => {
|
||||
showAccountLinkDialog.value = true
|
||||
},
|
||||
@@ -338,11 +338,11 @@ const steps = ref([
|
||||
icon: UserPlusIcon
|
||||
},
|
||||
{
|
||||
title: 'Your First Model Upload ⬆️',
|
||||
title: 'Your first model upload ⬆️',
|
||||
blurb: 'Use your favourite design app to send your first model to Speckle.',
|
||||
active: false,
|
||||
cta: "Let's go!",
|
||||
postCompletionCta: 'Show Again',
|
||||
postCompletionCta: 'Show again',
|
||||
action: () => {
|
||||
showFirstSendDialog.value = true
|
||||
},
|
||||
@@ -360,11 +360,11 @@ const steps = ref([
|
||||
icon: CloudArrowUpIcon
|
||||
},
|
||||
{
|
||||
title: 'Enable Multiplayer 📢',
|
||||
title: 'Enable multiplayer 📢',
|
||||
blurb: 'Share your project with your colleagues!',
|
||||
active: false,
|
||||
cta: "Let's go!",
|
||||
postCompletionCta: 'Invite Again',
|
||||
postCompletionCta: 'Invite again',
|
||||
action: () => {
|
||||
showServerInviteDialog.value = true
|
||||
//TODO: modify server invite dialog to include searchable project dropdown
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<OnboardingDialogBase v-model:open="openState">
|
||||
<template #header>Log In 🔑</template>
|
||||
<template #header>Log in 🔑</template>
|
||||
<CommonVimeoEmbed
|
||||
vimeo-id="925894038"
|
||||
title="Onboarding: Log in to your Speckle account"
|
||||
@@ -9,7 +9,7 @@
|
||||
/>
|
||||
<div class="flex justify-center mt-2">
|
||||
<FormButton size="xl" class="shadow-md" @click="authoriseManager()">
|
||||
Authorize Manager
|
||||
Authorize manager
|
||||
</FormButton>
|
||||
</div>
|
||||
</OnboardingDialogBase>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<OnboardingDialogBase v-model:open="openState">
|
||||
<template #header>Your First Model Upload ⬆️</template>
|
||||
<template #header>Your first model upload ⬆️</template>
|
||||
<CommonVimeoEmbed
|
||||
vimeo-id="925894349"
|
||||
title="Onboarding: First Model Upload"
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
class="shadow-md"
|
||||
@click.stop="downloadManager(os === 'Windows' ? 'exe' : 'dmg')"
|
||||
>
|
||||
Download For {{ os }}
|
||||
Download for {{ os }}
|
||||
</FormButton>
|
||||
<FormButton
|
||||
size="xs"
|
||||
|
||||
@@ -67,7 +67,7 @@ const items = ref<
|
||||
[ProjectVisibility.Unlisted]: {
|
||||
id: ProjectVisibility.Unlisted,
|
||||
description: 'Anyone with the link can view',
|
||||
title: 'Link Shareable'
|
||||
title: 'Link shareable'
|
||||
},
|
||||
[ProjectVisibility.Private]: {
|
||||
id: ProjectVisibility.Private,
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
:max-width="isPrivate ? 'sm' : 'md'"
|
||||
:buttons="isPrivate ? nonDiscoverableButtons : discoverableButtons"
|
||||
>
|
||||
<template v-if="isPrivate" #header>Change Access Permissions</template>
|
||||
<template v-else #header>Embed Model</template>
|
||||
<template v-if="isPrivate" #header>Change access permissions</template>
|
||||
<template v-else #header>Embed model</template>
|
||||
|
||||
<div v-if="isPrivate">
|
||||
<CommonAlert color="info">
|
||||
@@ -37,7 +37,7 @@
|
||||
|
||||
<div class="flex flex-col lg:flex-row gap-8 mb-6">
|
||||
<div class="flex-1 order-1 lg:order-2">
|
||||
<h4 class="font-bold text-sm text-foreground-2 mb-2 ml-0.5">Embed Code</h4>
|
||||
<h4 class="font-bold text-sm text-foreground-2 mb-2 ml-0.5">Embed code</h4>
|
||||
<FormClipboardInput :value="iframeCode" is-multiline />
|
||||
<p class="text-sm sm:text-base text-foreground-2 mt-2 mb-5 ml-0.5">
|
||||
Copy this code to embed your model in a webpage or document.
|
||||
@@ -204,7 +204,7 @@ const discoverableButtons = computed((): LayoutDialogButton[] => [
|
||||
}
|
||||
},
|
||||
{
|
||||
text: 'Copy Embed Code',
|
||||
text: 'Copy embed code',
|
||||
props: { color: 'default', fullWidth: true },
|
||||
onClick: () => {
|
||||
handleEmbedCodeCopy(iframeCode.value)
|
||||
@@ -275,7 +275,7 @@ const embedDialogOptions = [
|
||||
},
|
||||
{
|
||||
id: 'hideSelectionInfo',
|
||||
label: 'Hide the Selection Info panel',
|
||||
label: 'Hide the selection info panel',
|
||||
value: hideSelectionInfo
|
||||
},
|
||||
{
|
||||
|
||||
@@ -82,9 +82,9 @@ const actionsItems = computed<LayoutMenuItem<VersionActionTypes>[][]>(() => [
|
||||
}
|
||||
],
|
||||
[
|
||||
{ title: 'Copy Link', id: VersionActionTypes.Share, icon: LinkIcon },
|
||||
{ title: 'Copy link', id: VersionActionTypes.Share, icon: LinkIcon },
|
||||
{ title: 'Copy ID', id: VersionActionTypes.CopyId, icon: FingerPrintIcon },
|
||||
{ title: 'Embed Model', id: VersionActionTypes.EmbedModel, icon: CodeBracketIcon }
|
||||
{ title: 'Embed model', id: VersionActionTypes.EmbedModel, icon: CodeBracketIcon }
|
||||
],
|
||||
[
|
||||
{
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<LayoutDialog v-model:open="isOpen" max-width="md" :buttons="dialogButtons">
|
||||
<template #header>Invite to Project</template>
|
||||
<template #header>Invite to project</template>
|
||||
<div class="flex flex-col mt-2">
|
||||
<FormTextInput
|
||||
v-model="search"
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
:disabled="!!disabledCreateBecauseOf"
|
||||
@click="$emit('new-automation')"
|
||||
>
|
||||
New Automation
|
||||
New automation
|
||||
</FormButton>
|
||||
</div>
|
||||
<FormButton
|
||||
@@ -37,15 +37,15 @@
|
||||
target="_blank"
|
||||
to="https://docs.google.com/forms/d/e/1FAIpQLSc5e4q0gyG8VkGqA3gRzN71c4TDu0P9W0PXeVarFu_8po3qRA/viewform"
|
||||
>
|
||||
Sign Up for Beta
|
||||
Sign up for beta
|
||||
</FormButton>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="isAutomateEnabled" class="flex flex-col gap-9">
|
||||
<div class="flex gap-2 flex-col sm:flex-row sm:justify-between sm:items-center">
|
||||
<h2 class="h5 font-bold">Featured Functions</h2>
|
||||
<h2 class="h5 font-bold">Featured functions</h2>
|
||||
<FormButton color="secondary" class="shrink-0" :to="automationFunctionsRoute">
|
||||
Explore All Functions
|
||||
Explore all functions
|
||||
</FormButton>
|
||||
</div>
|
||||
<AutomateFunctionCardView v-if="functions.length">
|
||||
|
||||
@@ -113,9 +113,9 @@ const actionsItems = computed<LayoutMenuItem[][]>(() => [
|
||||
}
|
||||
],
|
||||
[
|
||||
{ title: 'Copy Link', id: ActionTypes.Share, icon: LinkIcon },
|
||||
{ title: 'Copy link', id: ActionTypes.Share, icon: LinkIcon },
|
||||
{ title: 'Copy ID', id: ActionTypes.CopyId, icon: FingerPrintIcon },
|
||||
{ title: 'Embed Model', id: ActionTypes.Embed, icon: CodeBracketIcon }
|
||||
{ title: 'Embed model', id: ActionTypes.Embed, icon: CodeBracketIcon }
|
||||
],
|
||||
[
|
||||
{
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
]"
|
||||
max-width="sm"
|
||||
>
|
||||
<template #header>Delete Model</template>
|
||||
<template #header>Delete model</template>
|
||||
<div class="flex flex-col text-foreground">
|
||||
<p class="mb-2">
|
||||
Are you sure you want to delete the model
|
||||
|
||||
@@ -19,14 +19,14 @@
|
||||
}
|
||||
]"
|
||||
>
|
||||
<template #header>Edit Model</template>
|
||||
<template #header>Edit model</template>
|
||||
<form class="flex flex-col text-foreground" @submit="onSubmit">
|
||||
<div class="flex flex-col gap-6 mb-6">
|
||||
<FormTextInput
|
||||
v-model="newName"
|
||||
name="name"
|
||||
show-label
|
||||
label="Model Name"
|
||||
label="Model name"
|
||||
placeholder="model/name/here"
|
||||
:rules="rules"
|
||||
show-required
|
||||
@@ -40,8 +40,8 @@
|
||||
v-model="newDescription"
|
||||
name="description"
|
||||
show-label
|
||||
label="Model Description"
|
||||
placeholder="Description (Optional)"
|
||||
label="Model description"
|
||||
placeholder="Description (optional)"
|
||||
color="foundation"
|
||||
:disabled="loading"
|
||||
/>
|
||||
|
||||
+1
-1
@@ -49,7 +49,7 @@
|
||||
})
|
||||
"
|
||||
>
|
||||
Cancel Invite
|
||||
Cancel invite
|
||||
</FormButton>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -51,7 +51,7 @@ const radioOptions = computed(() => [
|
||||
},
|
||||
{
|
||||
value: ProjectVisibility.Unlisted,
|
||||
title: 'Link Shareable',
|
||||
title: 'Link shareable',
|
||||
introduction: 'Anyone with the link can view',
|
||||
icon: LinkIcon
|
||||
},
|
||||
|
||||
+2
-2
@@ -1,13 +1,13 @@
|
||||
<template>
|
||||
<div>
|
||||
<ProjectPageSettingsBlock background title="Delete Project" :icon="TrashIcon">
|
||||
<ProjectPageSettingsBlock background title="Delete project" :icon="TrashIcon">
|
||||
<p>
|
||||
Permanently delete this project and all of its content from the Speckle
|
||||
platform. This action is not reversible.
|
||||
</p>
|
||||
<template #bottom-buttons>
|
||||
<FormButton color="danger" @click="showDeleteDialog = true">
|
||||
Delete Project
|
||||
Delete project
|
||||
</FormButton>
|
||||
</template>
|
||||
</ProjectPageSettingsBlock>
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<LayoutDialog v-model:open="isOpen" max-width="md" :buttons="dialogButtons">
|
||||
<template #header>Delete Project</template>
|
||||
<template #header>Delete project</template>
|
||||
<div class="space-y-4">
|
||||
<p>
|
||||
Are you sure you want to permanently
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<LayoutDialog v-model:open="isOpen" max-width="md" :buttons="dialogButtons">
|
||||
<template #header>Leave Project</template>
|
||||
<template #header>Leave project</template>
|
||||
<div class="space-y-4">
|
||||
<p>Are you sure you want to leave this project?</p>
|
||||
<p class="font-bold my-2">
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
</p>
|
||||
<template #bottom-buttons>
|
||||
<FormButton color="danger" @click="showLeaveDialog = true">
|
||||
Leave Project
|
||||
Leave project
|
||||
</FormButton>
|
||||
</template>
|
||||
</ProjectPageSettingsBlock>
|
||||
|
||||
@@ -2,15 +2,15 @@
|
||||
<div class="flex flex-col gap-4">
|
||||
<ProjectPageSettingsBlock
|
||||
background
|
||||
title="Project Info"
|
||||
title="Project info"
|
||||
:disabled-message="disabled ? 'You must be a project owner' : undefined"
|
||||
:icon="PencilIcon"
|
||||
>
|
||||
<FormTextInput
|
||||
v-model="localProjectName"
|
||||
name="projectName"
|
||||
label="Project Name"
|
||||
placeholder="Project Name"
|
||||
label="Project name"
|
||||
placeholder="Project name"
|
||||
show-label
|
||||
color="foundation"
|
||||
class="mb-4"
|
||||
@@ -19,7 +19,7 @@
|
||||
<FormTextArea
|
||||
v-model="localProjectDescription"
|
||||
name="projectDescription"
|
||||
label="Project Description"
|
||||
label="Project description"
|
||||
placeholder="Description (optional)"
|
||||
show-label
|
||||
color="foundation"
|
||||
|
||||
+2
-2
@@ -6,7 +6,7 @@
|
||||
prevent-close-on-click-outside
|
||||
>
|
||||
<template #header>
|
||||
{{ props.webhook ? 'Edit Webhook' : 'Create Webhook' }}
|
||||
{{ props.webhook ? 'Edit webhook' : 'Create webhook' }}
|
||||
</template>
|
||||
<form @submit="onSubmit">
|
||||
<div class="flex flex-col gap-4">
|
||||
@@ -45,7 +45,7 @@
|
||||
multiple
|
||||
name="triggers"
|
||||
label="Events"
|
||||
placeholder="Choose Events"
|
||||
placeholder="Choose events"
|
||||
mount-menu-on-body
|
||||
help="Choose what events will trigger this webhook."
|
||||
show-required
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<LayoutDialog
|
||||
v-model:open="isOpen"
|
||||
max-width="sm"
|
||||
title="Delete Webhook"
|
||||
title="Delete webhook"
|
||||
:buttons="dialogButtons"
|
||||
>
|
||||
<div class="flex flex-col gap-6 text-sm text-foreground">
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
{ id: 'data', header: 'Data', classes: 'col-span-5' },
|
||||
{
|
||||
id: 'triggers',
|
||||
header: 'Trigger Events',
|
||||
header: 'Trigger events',
|
||||
classes: 'col-span-6 whitespace-break-spaces text-xs'
|
||||
}
|
||||
]"
|
||||
|
||||
@@ -7,14 +7,14 @@
|
||||
<div class="h-8 w-8 flex items-center justify-center">
|
||||
<SparklesIcon class="h-5 w-5 text-primary" />
|
||||
</div>
|
||||
<div class="text-foreground text-sm">Announcing the New Speckle Web App</div>
|
||||
<div class="text-foreground text-sm">Announcing the new Speckle web app</div>
|
||||
</div>
|
||||
<div class="flex gap-3">
|
||||
<FormButton size="sm" color="default" text @click="emit('dismissed')">
|
||||
Skip
|
||||
</FormButton>
|
||||
<FormButton size="sm" class="px-4" to="/" @click="showDialog = true">
|
||||
See What's New
|
||||
See what's new
|
||||
</FormButton>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<LayoutDialog v-model:open="open" max-width="sm" :buttons="dialogButtons">
|
||||
<h2 class="text-2xl sm:text-3xl font-bold text-center sm:-mt-4 mb-2">
|
||||
What's New in Speckle?
|
||||
What's new in Speckle?
|
||||
</h2>
|
||||
<p class="text-foreground-2 text-center mb-6">A new way to collaborate in AEC.</p>
|
||||
<CommonVimeoEmbed
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
full-width
|
||||
@click.stop.prevent="onLoginSignupClick"
|
||||
>
|
||||
{{ isForRegisteredUser ? 'Log In' : 'Sign Up' }}
|
||||
{{ isForRegisteredUser ? 'Log in' : 'Sign up' }}
|
||||
</FormButton>
|
||||
</template>
|
||||
</div>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<LayoutDialog v-model:open="isOpen" max-width="sm" :buttons="dialogButtons">
|
||||
<template #header>Delete Project</template>
|
||||
<template #header>Delete project</template>
|
||||
<div class="flex flex-col gap-6">
|
||||
<p>
|
||||
Are you sure you want to
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
class="shadow-md"
|
||||
@click="resumeSlideshow()"
|
||||
>
|
||||
Resume Tour
|
||||
Resume tour
|
||||
</FormButton>
|
||||
</div>
|
||||
</Transition>
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<div class="flex items-center justify-between gap-4 py-3 text-xs">
|
||||
<div class="flex gap-1 items-center">
|
||||
<IconHandRotate class="h-5 w-5" />
|
||||
rotatef
|
||||
rotate
|
||||
</div>
|
||||
<div class="flex gap-1 items-center">
|
||||
<IconHandSelect class="h-5 w-5" />
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
v-tippy="
|
||||
`${
|
||||
user.sessionId === spotlightUserSessionId
|
||||
? 'Stop Following'
|
||||
? 'Stop following'
|
||||
: 'Follow'
|
||||
} ${user.user.name}`
|
||||
"
|
||||
|
||||
@@ -96,7 +96,7 @@
|
||||
|
||||
<!-- Sun and lights -->
|
||||
<ViewerSunMenu
|
||||
v-tippy="isSmallerOrEqualSm ? undefined : 'Light Controls'"
|
||||
v-tippy="isSmallerOrEqualSm ? undefined : 'Light controls'"
|
||||
/>
|
||||
</ViewerControlsButtonGroup>
|
||||
<ViewerControlsButtonGroup>
|
||||
@@ -391,7 +391,7 @@ const modelsShortcut = ref(
|
||||
`Models ${getShortcutTitle(ViewerKeyboardActions.ToggleModels)}`
|
||||
)
|
||||
const explorerShortcut = ref(
|
||||
`Scene Explorer ${getShortcutTitle(ViewerKeyboardActions.ToggleExplorer)}`
|
||||
`Scene explorer ${getShortcutTitle(ViewerKeyboardActions.ToggleExplorer)}`
|
||||
)
|
||||
const discussionsShortcut = ref(
|
||||
`Discussions ${getShortcutTitle(ViewerKeyboardActions.ToggleDiscussions)}`
|
||||
@@ -403,10 +403,10 @@ const projectionShortcut = ref(
|
||||
`Projection ${getShortcutTitle(ViewerKeyboardActions.ToggleProjection)}`
|
||||
)
|
||||
const sectionBoxShortcut = ref(
|
||||
`Section Box ${getShortcutTitle(ViewerKeyboardActions.ToggleSectionBox)}`
|
||||
`Section box ${getShortcutTitle(ViewerKeyboardActions.ToggleSectionBox)}`
|
||||
)
|
||||
const measureShortcut = ref(
|
||||
`Measure Mode ${getShortcutTitle(ViewerKeyboardActions.ToggleMeasurements)}`
|
||||
`Measure mode ${getShortcutTitle(ViewerKeyboardActions.ToggleMeasurements)}`
|
||||
)
|
||||
|
||||
const handleKeyboardAction = (action: ViewerKeyboardActions) => {
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
class="bg-pink-300/0 flex justify-center items-center pointer-events-none transition-all duration-300 ease-in overflow-hidden h-8"
|
||||
>
|
||||
<FormButton size="sm" class="pointer-events-auto" @click="trackAndResetFilters">
|
||||
Reset Filters
|
||||
Reset filters
|
||||
</FormButton>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
>
|
||||
<div class="relative">
|
||||
<button
|
||||
v-tippy="!modelValue.isExpanded ? 'New Comment' : 'Close'"
|
||||
v-tippy="!modelValue.isExpanded ? 'New comment' : 'Close'"
|
||||
:class="`bg-foundation-2 ${
|
||||
modelValue.isExpanded ? 'outline outline-2 outline-primary' : ''
|
||||
} rounded-tr-full rounded-tl-full rounded-br-full w-8 h-8 -top-10 absolute flex justify-center items-center hover:shadow-md`"
|
||||
|
||||
@@ -70,7 +70,7 @@
|
||||
<div class="flex-grow"></div>
|
||||
<FormButton
|
||||
v-show="isDragged"
|
||||
v-tippy="'Pop In'"
|
||||
v-tippy="'Pop in'"
|
||||
size="sm"
|
||||
:icon-left="ArrowTopRightOnSquareIcon"
|
||||
text
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
:icon-right="showVisibilityOptions ? ChevronUpIcon : ChevronDownIcon"
|
||||
@click="showVisibilityOptions = !showVisibilityOptions"
|
||||
>
|
||||
Discussion Visibility Options
|
||||
Discussion visibility options
|
||||
</FormButton>
|
||||
</template>
|
||||
<div class="flex flex-col">
|
||||
@@ -23,7 +23,7 @@
|
||||
text
|
||||
@click="hideBubbles = !hideBubbles"
|
||||
>
|
||||
Show In 3D Model
|
||||
Show in 3D model
|
||||
</FormButton>
|
||||
</div>
|
||||
<div>
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="grow flex items-center space-x-2 py-2">
|
||||
<label for="diffTime" class="sr-only">Diff Time</label>
|
||||
<label for="diffTime" class="sr-only">Diff time</label>
|
||||
<input
|
||||
id="diffTime"
|
||||
v-model="localDiffTime"
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
{{ createdAt.relative }}
|
||||
</span>
|
||||
<br />
|
||||
{{ isNewest ? 'New' : 'Old' }} Version
|
||||
{{ isNewest ? 'New' : 'Old' }} version
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div>
|
||||
<ViewerLayoutPanel @close="$emit('close')">
|
||||
<template #title>Scene Explorer</template>
|
||||
<template #title>Scene explorer</template>
|
||||
|
||||
<template #actions>
|
||||
<div class="flex items-center justify-between w-full">
|
||||
@@ -25,11 +25,11 @@
|
||||
</FormButton>
|
||||
</div>
|
||||
<div v-else>
|
||||
<h4 class="font-bold whitespace-normal text-xs ml-1">Dev Mode</h4>
|
||||
<h4 class="font-bold whitespace-normal text-xs ml-1">Dev mode</h4>
|
||||
</div>
|
||||
|
||||
<FormButton
|
||||
v-tippy="showRaw ? 'Switch back' : 'Switch to Dev Mode'"
|
||||
v-tippy="showRaw ? 'Switch back' : 'Switch to dev mode'"
|
||||
size="xs"
|
||||
text
|
||||
class="-mr-0.5 sm:-mr-1"
|
||||
@@ -54,7 +54,7 @@
|
||||
>
|
||||
<ViewerExplorerTreeItem
|
||||
:tree-item="rootNode"
|
||||
:sub-header="'Model Version'"
|
||||
:sub-header="'Model version'"
|
||||
:debug="false"
|
||||
:expand-level="expandLevel"
|
||||
:manual-expand-level="manualExpandLevel"
|
||||
@@ -148,7 +148,7 @@ const rootNodes = computed(() => {
|
||||
raw.type = model?.id
|
||||
} else {
|
||||
raw.name = 'Object'
|
||||
raw.type = 'Single Object'
|
||||
raw.type = 'Single object'
|
||||
}
|
||||
|
||||
const res = node.model as ExplorerNode
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<template #actions>
|
||||
<div class="flex justify-between items-center w-full">
|
||||
<FormButton
|
||||
v-tippy="'Change Filter'"
|
||||
v-tippy="'Change filter'"
|
||||
text
|
||||
size="xs"
|
||||
:icon-right="showAllFilters ? ChevronUpIcon : ChevronDownIcon"
|
||||
@@ -12,7 +12,7 @@
|
||||
@click="showAllFilters = !showAllFilters"
|
||||
>
|
||||
<span class="max-w-20 md:max-w-36 truncate">
|
||||
{{ title.split('.').reverse()[0] || title || 'No Title' }}
|
||||
{{ title.split('.').reverse()[0] || title || 'No title' }}
|
||||
</span>
|
||||
</FormButton>
|
||||
<div class="flex gap-1 divide-x divide-outline-3">
|
||||
|
||||
@@ -20,7 +20,7 @@ const lastBreadcrumbName = computed(() => {
|
||||
const hasObjects = loadedObjects.value.length !== 0
|
||||
const hasModels = loadedModels.value.length !== 0
|
||||
const isMixed = hasObjects && hasModels
|
||||
if (totalLen > 1) return `Multiple ${isMixed ? 'Resources' : 'Models'}`
|
||||
if (totalLen > 1) return `Multiple ${isMixed ? 'resources' : 'models'}`
|
||||
|
||||
if (hasObjects) return `Object ${loadedObjects.value[0].objectId.substring(0, 3)}...`
|
||||
return loadedModels.value[0].model.name
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
/>
|
||||
<div v-if="itemCount < filter.valueGroups.length" class="mb-2">
|
||||
<FormButton size="xs" text full-width @click="itemCount += 10">
|
||||
View More ({{ filter.valueGroups.length - itemCount }})
|
||||
View more ({{ filter.valueGroups.length - itemCount }})
|
||||
</FormButton>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
:style="`background-color: #${color};`"
|
||||
></span>
|
||||
<span class="truncate">
|
||||
{{ item.value || 'No Name' }}
|
||||
{{ item.value || 'No name' }}
|
||||
</span>
|
||||
<div class="flex">
|
||||
<span
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<ViewerLayoutPanel move-actions-to-bottom @close="$emit('close')">
|
||||
<template #title>Measure Mode</template>
|
||||
<template #title>Measure mode</template>
|
||||
<div
|
||||
class="flex items-center gap-2 text-xs sm:text-sm px-3 py-1.5 sm:py-2 border-b border-outline-3 text-foreground-2"
|
||||
>
|
||||
@@ -16,12 +16,12 @@
|
||||
class="font-normal py-1"
|
||||
@click="() => clearMeasurements()"
|
||||
>
|
||||
Delete All Measurements
|
||||
Delete all measurements
|
||||
</FormButton>
|
||||
</template>
|
||||
<div class="px-3 py-2 sm:p-3 flex flex-col gap-3 border-b border-outline-3">
|
||||
<div>
|
||||
<h6 class="font-semibold text-xs sm:text-sm mb-2">Measurement Type</h6>
|
||||
<h6 class="font-semibold text-xs sm:text-sm mb-2">Measurement type</h6>
|
||||
<FormRadio
|
||||
v-for="option in measurementTypeOptions"
|
||||
:key="option.value"
|
||||
@@ -42,7 +42,7 @@
|
||||
:model-value="measurementParams.vertexSnap"
|
||||
@update:model-value="() => toggleMeasurementsSnap()"
|
||||
/>
|
||||
<span class="font-normal text-xs sm:text-sm">Snap to Vertices</span>
|
||||
<span class="font-normal text-xs sm:text-sm">Snap to vertices</span>
|
||||
</div>
|
||||
<div class="p-3 flex flex-col gap-3">
|
||||
<div class="flex flex-col gap-2">
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<LayoutDialog v-model:open="open" max-width="lg">
|
||||
<template #header>Add Model</template>
|
||||
<template #header>Add model</template>
|
||||
<div class="flex flex-col gap-y-4">
|
||||
<LayoutTabsHoriztonal v-model:active-item="activeTab" :items="tabItems">
|
||||
<template #default="{ activeItem }">
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
<span
|
||||
v-if="(props.root || props.modifiedSibling) && isModifiedQuery.modified"
|
||||
>
|
||||
{{ isModifiedQuery.isNew ? '(New)' : '(Old)' }}
|
||||
{{ isModifiedQuery.isNew ? '(new)' : '(old)' }}
|
||||
</span>
|
||||
</div>
|
||||
</button>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<ViewerCommentsPortalOrDiv v-if="shouldRenderSidebar" to="bottomPanel">
|
||||
<ViewerSidebar :open="sidebarOpen" @close="onClose">
|
||||
<template #title><div class="select-none">Selection Info</div></template>
|
||||
<template #title><div class="select-none">Selection info</div></template>
|
||||
<template #actions>
|
||||
<FormButton size="xs" text color="secondary" @click.stop="hideOrShowSelection">
|
||||
<div
|
||||
@@ -54,7 +54,7 @@
|
||||
</div>
|
||||
<div v-if="itemCount <= objects.length" class="mb-2">
|
||||
<FormButton size="xs" text full-width @click="itemCount += 10">
|
||||
View More ({{ objects.length - itemCount }})
|
||||
View more ({{ objects.length - itemCount }})
|
||||
</FormButton>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<ViewerControlsButtonToggle
|
||||
v-tippy="'Free Orbit'"
|
||||
v-tippy="'Free orbit'"
|
||||
flat
|
||||
:active="!localViewerSettings.turntableMode"
|
||||
secondary
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
:show-label="false"
|
||||
/>
|
||||
</div>
|
||||
<span class="text-foreground text-sm">Sun Shadows</span>
|
||||
<span class="text-foreground text-sm">Sun shadows</span>
|
||||
</div>
|
||||
<div class="flex items-center gap-1 px-2">
|
||||
<input
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<LayoutPanel class="max-w-lg mx-auto w-full">
|
||||
<div class="space-y-8 flex flex-col items-center">
|
||||
<h1 class="text-center h3 font-bold inline-block text-foreground bg-clip-text">
|
||||
Authorize Application
|
||||
Authorize application
|
||||
</h1>
|
||||
<template v-if="activeUser && app && !action">
|
||||
<div class="space-y-2 flex flex-col">
|
||||
@@ -39,7 +39,7 @@
|
||||
<div class="flex space-x-2 items-center">
|
||||
<InformationCircleIcon class="h-5 w-5 shrink-0" />
|
||||
<span class="font-bold text-left">
|
||||
App info & Requested permissions ({{ app.scopes.length }})
|
||||
App info & requested permissions ({{ app.scopes.length }})
|
||||
</span>
|
||||
</div>
|
||||
<ChevronUpIcon
|
||||
@@ -139,7 +139,7 @@
|
||||
</template>
|
||||
<div v-else class="flex space-x-2 items-center">
|
||||
<span>Could not resolve app.</span>
|
||||
<CommonTextLink :to="homeRoute">Go Home</CommonTextLink>
|
||||
<CommonTextLink :to="homeRoute">Go home</CommonTextLink>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="action" class="label-light text-foreground-2">
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
<template>
|
||||
<div>
|
||||
<Portal to="navigation">
|
||||
<HeaderNavLink :to="'/downloads'" name="Speckle Connectors"></HeaderNavLink>
|
||||
<HeaderNavLink :to="'/downloads'" name="Speckle connectors"></HeaderNavLink>
|
||||
</Portal>
|
||||
<div
|
||||
class="flex flex-col md:flex-row space-y-2 space-x-2 justify-between mb-4 md:items-center"
|
||||
>
|
||||
<div>
|
||||
<h5 class="h4 font-bold">Connector Downloads</h5>
|
||||
<h5 class="h4 font-bold">Connector downloads</h5>
|
||||
<div class="text-sm text-foreground-2 max-w- max-w-sm">
|
||||
Most of our connectors are available through Speckle Manager. You can also
|
||||
direct download the individual installers below.
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
</div>
|
||||
<div class="flex justify-center">
|
||||
<FormButton size="xl" :icon-left="ArrowLeftIcon" :to="loginRoute">
|
||||
Go to Login
|
||||
Go to login
|
||||
</FormButton>
|
||||
</div>
|
||||
</div>
|
||||
@@ -31,7 +31,7 @@
|
||||
:disabled="resendVerificationEmailLoading"
|
||||
@click="onResend"
|
||||
>
|
||||
Resend Verification
|
||||
Resend verification
|
||||
</FormButton>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -89,7 +89,7 @@ const openCreateNewAutomation = (fn: CreateAutomationSelectableFunction) => {
|
||||
}
|
||||
|
||||
useSeoMeta({
|
||||
title: 'All Functions',
|
||||
title: 'All functions',
|
||||
description: 'Select a function get started with Speckle Automate'
|
||||
})
|
||||
</script>
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
{ id: 'data', header: 'Data', classes: 'col-span-5' },
|
||||
{
|
||||
id: 'triggers',
|
||||
header: 'Trigger Events',
|
||||
header: 'Trigger events',
|
||||
classes: 'col-span-6 whitespace-break-spaces text-xs'
|
||||
}
|
||||
]"
|
||||
@@ -252,7 +252,7 @@ const onEnabledChange = async (item: WebhookItem, newValue: boolean) => {
|
||||
if (result?.data?.webhookUpdate) {
|
||||
triggerNotification({
|
||||
type: ToastNotificationType.Success,
|
||||
title: newValue ? 'Webhook Enabled' : 'Webhook Disabled'
|
||||
title: newValue ? 'Webhook enabled' : 'Webhook disabled'
|
||||
})
|
||||
} else {
|
||||
triggerNotification({
|
||||
|
||||
@@ -84,7 +84,7 @@
|
||||
<ServerManagementDeleteProjectDialog
|
||||
v-model:open="showProjectDeleteDialog"
|
||||
:project="projectToModify"
|
||||
title="Delete Project"
|
||||
title="Delete project"
|
||||
:result-variables="resultVariables"
|
||||
/>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user