message: Will prepend the name of the pane if multiple panes create same class
diff: @@ -144,42 +144,43 @@ function newThingUI (context, thePanes) {
  )
  } // makeNewAppInstance
  - var iconArray = []
  - for (var pn in thePanes) {
  - var pane = thePanes[pn]
  - if (pane.mintNew) {
  - var icon = context.div.appendChild(dom.createElement('img'))
  + const iconArray = []
  + const mintingPanes = Object.values(thePanes).filter(pane => pane.mintNew)
  + const mintingClassMap = mintingPanes.reduce((classMap, pane) => {
  + if (pane.mintClass) {
  + classMap[pane.mintClass] = (classMap[pane.mintClass] || 0) + 1
  + }
  + return classMap
  + }, {})
  + mintingPanes.forEach(pane => {
  + const icon = context.div.appendChild(dom.createElement('img'))
  icon.setAttribute('src', pane.icon)
  - var noun = pane.mintClass ? UI.utils.label(pane.mintClass) : (pane.name + ' @@')
  + const noun = pane.mintClass
  + ? (mintingClassMap[pane.mintClass] > 1
  + ? `${UI.utils.label(pane.mintClass)} (using ${pane.name} pane)`
  + : UI.utils.label(pane.mintClass))
  + : (pane.name + ' @@')
  icon.setAttribute('title', 'Make new ' + noun)
  icon.setAttribute('style', iconStyle + 'display: none;')
  iconArray.push(icon)
  - var foo = function (pane, icon, noun) {
  - var iconEle = icon
  - var thisPane = pane
  - var thisNoun = noun
  if (!icon.disabled) {
  icon.addEventListener('click', function (e) {
  - selectTool(iconEle)
  - var options = {
  + selectTool(icon)
  + makeNewAppInstance({
  event: e,
  folder: context.folder,
  - iconEle: iconEle,
  - pane: thisPane,
  - noun: thisNoun,
  + iconEle: icon,
  + pane,
  + noun,
  noIndexHTML: true, // do NOT @@ for now write a HTML file
  div: context.div,
  me: context.me,
  dom: context.dom,
  refreshTarget: context.refreshTarget
  - }
  - makeNewAppInstance(options)
  + })
  })
  }
  - } // foo
  - foo(pane, icon, noun)
  - }
  - }
  + })
  var styleTheIcons = function (style) {
  for (var i = 0; i < iconArray.length; i++) {
  