diff --git a/src/blockchain/wallet.js b/src/blockchain/wallet.js index 46ef44f..74afba6 100644 --- a/src/blockchain/wallet.js +++ b/src/blockchain/wallet.js @@ -7,6 +7,7 @@ import {defineStore} from "pinia"; import {computed, ref} from "vue"; import {metadataMap, version} from "@/version.js"; import {CancelAllTransaction, TransactionState, TransactionType} from "@/blockchain/transaction.js"; +import {track} from "@/track.js"; export let provider = null @@ -90,6 +91,7 @@ function changeAccounts(chainId, accounts) { const addr = accounts[0] if (addr !== store.account) { console.log('account logged in', addr) + track('login', {chainId, address: addr}) store.account = addr store.vaults = [] // one of these two methods will call flushTransactions() diff --git a/src/charts/datafeed.js b/src/charts/datafeed.js index f38c978..f056f71 100644 --- a/src/charts/datafeed.js +++ b/src/charts/datafeed.js @@ -9,6 +9,7 @@ import {ohlcStart} from "@/charts/chart-misc.js"; import {timestamp, USD_FIAT} from "@/common.js"; import {erc20Contract} from "@/blockchain/contract.js"; import {provider} from "@/blockchain/wallet.js"; +import {track} from "@/track.js"; const DEBUG_LOGGING = false const log = DEBUG_LOGGING ? console.log : ()=>{} @@ -356,6 +357,8 @@ export const DataFeed = { result.push(_symbols[ticker]) seen[ticker] = true } + if (userInput.length>=3) + track('search', {search_term: userInput}) onResultReadyCallback(result); }, diff --git a/src/components/NeedsSigner.vue b/src/components/NeedsSigner.vue index b3858af..eb937a8 100644 --- a/src/components/NeedsSigner.vue +++ b/src/components/NeedsSigner.vue @@ -68,7 +68,6 @@ function reload() { } async function connect() { - track('connect_wallet') disabled.value = true try { await addNetworkAndConnectWallet(s.chainId); diff --git a/src/components/OneTimeHint.vue b/src/components/OneTimeHint.vue index f297b1a..1293dfe 100644 --- a/src/components/OneTimeHint.vue +++ b/src/components/OneTimeHint.vue @@ -12,9 +12,11 @@ const props = defineProps({ name: {type: String, required: true}, when: {type: Boolean, default: true}, // optional conditional for when to show after: {type: String, default: null}, // set to the name of another hint that must happen before this hint, to chain hints into a tutorial. + onComplete: {type: Function, default: null}, }) const forceClose = ref(false) +const shown = ref(false) const show = computed({ get() { @@ -23,11 +25,13 @@ const show = computed({ const afterOk = props.after === null || prefs.hints[props.after]; const result = !forceClose.value && !shownBefore && whenOk && afterOk // console.log(`show ${props.name}? ${result} <=`, !forceClose.value, whenOk, afterOk, prefs.hints) - if (result) + if (result) { + shown.value = true prefs.hints[props.name] = true + } return result }, - set(v) { if(!v) forceClose.value=true; } + set(v) { if(!v) { forceClose.value=true; if (shown.value && props.onComplete) props.onComplete(); } } }) diff --git a/src/components/WelcomeDialog.vue b/src/components/WelcomeDialog.vue index 8e6490d..963a0ec 100644 --- a/src/components/WelcomeDialog.vue +++ b/src/components/WelcomeDialog.vue @@ -18,6 +18,7 @@ Breakout Orders buy above a price level Stop-loss coming soon + @@ -104,6 +107,7 @@ import {vectorEquals, vectorInterpolate} from "@/vector.js"; import AbsoluteTimeEntry from "@/components/AbsoluteTimeEntry.vue"; import {useStore} from "@/store/store.js"; import OneTimeHint from "@/components/OneTimeHint.vue"; +import {track} from "@/track.js"; const s = useStore() const co = useChartOrderStore() diff --git a/src/components/chart/LimitBuilder.vue b/src/components/chart/LimitBuilder.vue index fef5dce..594463f 100644 --- a/src/components/chart/LimitBuilder.vue +++ b/src/components/chart/LimitBuilder.vue @@ -37,7 +37,10 @@ - + @@ -50,6 +53,7 @@ import RungBuilder from "@/components/chart/RungBuilder.vue"; import {computed, ref} from "vue"; import {allocationText, HLine} from "@/charts/shape.js"; import OneTimeHint from "@/components/OneTimeHint.vue"; +import {track} from "@/track.js"; const s = useStore() const os = useOrderStore() diff --git a/src/components/chart/RungBuilder.vue b/src/components/chart/RungBuilder.vue index 54eb6c8..a26e45c 100644 --- a/src/components/chart/RungBuilder.vue +++ b/src/components/chart/RungBuilder.vue @@ -21,7 +21,9 @@ /> + :when="rungs===1&&endpoints[0]!==null" + :on-complete="()=>track('rungs')" + />