* DONE 合并应用和页面，使应用只有一个页面

TODO update autoUpgrade


TODO remove publish/findNewst/getElementAssemble backend


TODO pass bdd test

TODO pass run test


* DONE fix: run app



* TODO 增加用户中心

查看、//修改、//删除 用户发布的扩展、贡献、包、应用、页面


# 从市场中关注协议到用户中心
# TODO store custom data for user
# TODO add a new database table to store custom data of user
# TODO how to handle use app 's custom data?

# Ap Assemble Space
# TODO add Elements, Selected Elements


auto save element, app to user(to local)

refer to:
https://app.appsmith.com/applications



TODO optimize select one element at least for app:
    if select multiple elements, when save/publish app should auto generate one element with inner element name!




* TODO hidden Extension, Contribute, Package Market and Ap, Package Assemble

they are visiable only for administrator and pay user!



TODO auto select all actions, inputs, ui controls and editor, engine whole package for normal user!




* DONE add User Center

用户中心 | 发布的应用 | 



用户中心:

use effect once:
    select all ui controls
    select editor,engine whole package


show published apps


create from scratch
    jump to assemble
    mark engine whole package stored in package
    start editor whole package

create from template
    jump to ShowByApp
    after click Import:
        jump to assemble
        start editor whole package


编辑应用
    use it, then: 
        jump to assemble
        start editor whole package



    
# 跳入到装配空间（导航栏改为装配空间的导航栏！）

返回用户中心 | {{应用名}}

{{页面装配}} + 发布




TODO finish create from scratch

TODO publish app:
should update current app name


TODO pass compile

# TODO pass bdd test

TODO pass run test



TODO finish create from template
    after use, jumpt to element assemble
    remove 已导入 status


TODO when enter UserCenter, should clean all selected

    TODO run test:
        use twice





TODO finish edit app
    show list+edit(just use), run buttons





* DONE admin view

用户中心 | 发布的应用 | 扩展市场 | 贡献市场 | 包市场 | 

用户中心:
进入装配空间

use package should jump to AssembleSpace


返回用户中心 | {{应用名}} | 应用装配 | 页面装配 | 包装配


* DONE adjust custom ui

TODO move add/remove/edit custom to element assemble


TODO refactor UI Controls, Selected UI Controls :
no need to select ui controls in contribute market! select when add ui control instead!!!

refer to:
https://app.appsmith.com/app/my-first-application/page1-65681c0a77819e3b1160e2d9/edit




pass compile

pass bdd test

pass run test



* DONE fix: remove shouldn't error


* DONE fix: if not select(after remove), select root instead





* DONE Custom Input/Action: should separate edit code and transpile code!


pass compile

pass bdd test

pass run test
    custom
    local+custom



# * TODO publish app should save to local(use it?)



* DONE use in ShowByApp should login first





* DONE user login: save username to local storage






* TODO platform: 加强市场

TODO 增加分类显示

# TODO 增加按最新、下载量等排序

TODO 增加推荐榜（如包括推荐的App等）

TODO 扩展、贡献、应用、页面增加图片等说明

# ** TODO Extension, Contribute, Package

# refer to:
# https://airtable.com/marketplace/category/all-apps
# https://marketplace.visualstudio.com/items?itemName=amodio.restore-editors

# *** TODO Market show all implements, instead protocols

# use protocol icon


# *** TODO add use count, update time, score, m

# *** TODO update ui

# 2 column

# icon + [
#     [ display name ]
# [publisher, repo, use count, m]
# [description]
# [version, buttons...]
# ]

# *** TODO Contributes: add show by category








** DONE ShowByApp

refer to:
https://www.zcappp.cn/plugins
https://app.appsmith.com/templates

# *** TODO add preview, use count, update time, scrore, m
# *** TODO add preview, use count, update time, isRecommend
*** TODO add preview, isRecommend

# *** TODO element: add publisher, description


*** TODO publish app add preview


*** TODO update ui

3 column

[preview?]
[display name]
[description]
[publisher, buttons...]


*** TODO add recommend

refer to:
https://marketplace.visualstudio.com/ -> Featured


TODO use first three ones

TODO add database table


TODO admin published app always be recommended


# *** TODO sort by update time
# *** TODO sort by use count

# newest


TODO run test:
    publish app with preview by admin
    see recommend



* DONE when enter UserCenter, should reset

# should remain extensions, packages, inputs, actions, uiControls

TODO run test:
multiple import
    create from scratch








#         # * TODO publish app no limit only one element?
# * TODO publish element will auto select it

# TODO run test: select one elements->publish element->switch to Index->switch to element assemble: should remain the element's custom!

# TODO run test: select two elements->publish element: should select the merged element



# * TODO publish

* DONE refactor: remove unused ones

e.g. ShowPublishedElements


* DONE fix: remove same name input