mirror of
https://github.com/n8n-io/n8n.git
synced 2024-11-14 00:24:07 -08:00
421dd72224
* introduce analytics * add user survey backend * add user survey backend * set answers on survey submit Co-authored-by: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com> * change name to personalization * lint Co-authored-by: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com> * N8n 2495 add personalization modal (#2280) * update modals * add onboarding modal * implement questions * introduce analytics * simplify impl * implement survey handling * add personalized cateogry * update modal behavior * add thank you view * handle empty cases * rename modal * standarize modal names * update image, add tags to headings * remove unused file * remove unused interfaces * clean up footer spacing * introduce analytics * refactor to fix bug * update endpoint * set min height * update stories * update naming from questions to survey * remove spacing after core categories * fix bug in logic * sort nodes * rename types * merge with be * rename userSurvey * clean up rest api * use constants for keys * use survey keys * clean up types * move personalization to its own file Co-authored-by: ahsan-virani <ahsan.virani@gmail.com> * Survey new options (#2300) * split up options * fix quotes * remove unused import * add user created workflow event (#2301) * simplify env vars * fix versionCli on FE * update personalization env * fix event User opened Credentials panel * fix select modal spacing * fix nodes panel event * fix workflow id in workflow execute event * improve telemetry error logging * fix config and stop process events * add flush call on n8n stop * ready for release * improve telemetry process exit * fix merge * improve n8n stop events Co-authored-by: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com> Co-authored-by: Mutasem <mutdmour@gmail.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
126 lines
2.4 KiB
Vue
126 lines
2.4 KiB
Vue
<template>
|
||
<ModalDrawer
|
||
:name="VERSIONS_MODAL_KEY"
|
||
direction="ltr"
|
||
width="520px"
|
||
>
|
||
<template slot="header">
|
||
<span :class="$style.title">We’ve been busy ✨</span>
|
||
</template>
|
||
<template slot="content">
|
||
<section :class="$style['description']">
|
||
|
||
<p v-if="currentVersion">
|
||
You’re on {{ currentVersion.name }}, which was released
|
||
<strong><TimeAgo :date="currentVersion.createdAt" /></strong> and is
|
||
<strong>{{ nextVersions.length }} version{{nextVersions.length > 1 ? "s" : ""}}</strong>
|
||
behind the latest and greatest n8n
|
||
</p>
|
||
|
||
<a
|
||
:class="$style['info-url']"
|
||
:href="infoUrl"
|
||
v-if="infoUrl"
|
||
target="_blank"
|
||
>
|
||
<font-awesome-icon icon="info-circle"></font-awesome-icon>
|
||
<span>How to update your n8n version</span>
|
||
</a>
|
||
|
||
</section>
|
||
<section :class="$style.versions">
|
||
<div
|
||
v-for="version in nextVersions"
|
||
:key="version.name"
|
||
:class="$style['versions-card']"
|
||
>
|
||
<VersionCard :version="version" />
|
||
</div>
|
||
</section>
|
||
</template>
|
||
</ModalDrawer>
|
||
</template>
|
||
|
||
<script lang="ts">
|
||
import Vue from 'vue';
|
||
import { mapGetters } from 'vuex';
|
||
|
||
import ModalDrawer from './ModalDrawer.vue';
|
||
import TimeAgo from './TimeAgo.vue';
|
||
import VersionCard from './VersionCard.vue';
|
||
import { VERSIONS_MODAL_KEY } from '../constants';
|
||
|
||
export default Vue.extend({
|
||
name: 'UpdatesPanel',
|
||
components: {
|
||
ModalDrawer,
|
||
VersionCard,
|
||
TimeAgo,
|
||
},
|
||
computed: {
|
||
...mapGetters('versions', ['nextVersions', 'currentVersion', 'infoUrl']),
|
||
},
|
||
data() {
|
||
return {
|
||
VERSIONS_MODAL_KEY,
|
||
};
|
||
},
|
||
});
|
||
</script>
|
||
|
||
<style module lang="scss">
|
||
.title {
|
||
margin: 0;
|
||
font-size: 24px;
|
||
line-height: 24px;
|
||
color: $--updates-panel-text-color;
|
||
font-weight: 400;
|
||
}
|
||
|
||
.description {
|
||
padding: 0px 30px;
|
||
margin-block-start: 16px;
|
||
margin-block-end: 30px;
|
||
|
||
p {
|
||
font-size: 16px;
|
||
line-height: 22px;
|
||
color: $--updates-panel-description-text-color;
|
||
font-weight: 400;
|
||
margin: 0 0 16px 0;
|
||
}
|
||
|
||
div {
|
||
padding-top: 20px;
|
||
}
|
||
}
|
||
|
||
.versions {
|
||
background-color: $--updates-panel-dark-background-color;
|
||
border-top: $--updates-panel-border;
|
||
height: 100%;
|
||
padding: 30px;
|
||
overflow-y: scroll;
|
||
padding-bottom: 220px;
|
||
}
|
||
|
||
.versions-card {
|
||
margin-block-end: 15px;
|
||
}
|
||
|
||
.info-url {
|
||
text-decoration: none;
|
||
font-size: 14px;
|
||
|
||
svg {
|
||
color: $--updates-panel-info-icon-color;
|
||
margin-right: 5px;
|
||
}
|
||
|
||
span {
|
||
color: $--updates-panel-info-url-color;
|
||
font-weight: 600;
|
||
}
|
||
}
|
||
</style>
|