|
|
|
import { Plugin } from '@remixproject/engine'
|
|
|
|
import * as packageJson from '../../../package.json'
|
|
|
|
const introJs = require('intro.js')
|
|
|
|
|
|
|
|
const profile = {
|
|
|
|
name: 'walkthrough',
|
|
|
|
displayName: 'Walkthrough',
|
|
|
|
description: '',
|
|
|
|
version: packageJson.version,
|
|
|
|
methods: ['start']
|
|
|
|
}
|
|
|
|
|
|
|
|
export class WalkthroughService extends Plugin {
|
|
|
|
constructor (appManager, showMatamo) {
|
|
|
|
super(profile)
|
|
|
|
appManager.event.on('activate', (plugin) => {
|
|
|
|
if (plugin.name === 'udapp' && !showMatamo) {
|
|
|
|
this.start()
|
|
|
|
}
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
start () {
|
|
|
|
if (!localStorage.getItem('hadTour_initial')) {
|
|
|
|
introJs().setOptions({
|
|
|
|
steps: [{
|
|
|
|
title: 'Welcome to Remix IDE',
|
|
|
|
intro: 'Click to launch the Home tab that contains links, tips, and shortcuts..',
|
|
|
|
element: document.querySelector('#verticalIconsHomeIcon'),
|
|
|
|
tooltipClass: 'bg-light text-dark',
|
|
|
|
position: 'right'
|
|
|
|
},
|
|
|
|
{
|
|
|
|
element: document.querySelector('#verticalIconsKindsolidity'),
|
|
|
|
title: 'Solidity Compiler',
|
|
|
|
intro: 'Having selected a .sol file in the File Explorer (the icon above), compile it with the Solidity Compiler.',
|
|
|
|
tooltipClass: 'bg-light text-dark',
|
|
|
|
position: 'right'
|
|
|
|
},
|
|
|
|
{
|
|
|
|
title: 'Deploy your contract',
|
|
|
|
element: document.querySelector('#verticalIconsKindudapp'),
|
|
|
|
intro: 'Choose a chain, deploy a contract and play with your functions.',
|
|
|
|
tooltipClass: 'bg-light text-dark',
|
|
|
|
position: 'right'
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}).onafterchange((targetElement) => {
|
|
|
|
const header = document.getElementsByClassName('introjs-tooltip-header')[0]
|
|
|
|
if (header) {
|
|
|
|
header.classList.add('d-flex')
|
|
|
|
header.classList.add('justify-content-between')
|
|
|
|
header.classList.add('text-nowrap')
|
|
|
|
header.classList.add('pr-0')
|
|
|
|
}
|
|
|
|
const skipbutton = document.getElementsByClassName('introjs-skipbutton')[0]
|
|
|
|
if (skipbutton) {
|
|
|
|
skipbutton.classList.add('ml-3')
|
|
|
|
skipbutton.classList.add('text-decoration-none')
|
|
|
|
skipbutton.id = 'remixTourSkipbtn'
|
|
|
|
}
|
|
|
|
}).start()
|
|
|
|
localStorage.setItem('hadTour_initial', true)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|