refactor: extract Editor page

add-more-languages
Meng Zhang 2023-04-06 10:26:06 +08:00
parent 4a8eee8c1f
commit 28922bf9d9
2 changed files with 40 additions and 35 deletions

View File

@ -1,5 +1,4 @@
import streamlit as st import streamlit as st
from components import monaco
from utils.service_info import ServiceInfo from utils.service_info import ServiceInfo
SERVICES = [ SERVICES = [
@ -26,37 +25,3 @@ st.set_page_config(page_title="Tabby Admin - Home")
st.markdown("## Tabby") st.markdown("## Tabby")
st.markdown(" $~$ ".join(map(make_badge_markdown, SERVICES))) st.markdown(" $~$ ".join(map(make_badge_markdown, SERVICES)))
st.markdown("---")
SNIPPETS = {
"Clear": "# Write some code ...",
"Fibonacci": "def fib(n):",
"Parse JSON": """def parse_json_lines(filename: str) -> List[Any]:
output = []
with open(filename, "r", encoding="utf-8") as f:
""",
"Data ORM": """import birdchirp
from birdchirp.model.chirp import chirp
from birdchirp.db.mysql import MysqlDb
class User:
def __init__(self, user_id):
self.user_id = user_id
self.db = MysqlDb()
def get_avatar""",
}
def code_presets():
code = ""
cols = st.columns(len(SNIPPETS))
for col, (k, v) in zip(cols, SNIPPETS.items()):
with col:
if st.button(k):
code = v
return code
monaco.st_monaco(key="default", code=code_presets())

View File

@ -0,0 +1,40 @@
import streamlit as st
from components import monaco
st.set_page_config(page_title="Tabby Admin - Editor")
st.markdown("## Editor")
st.markdown("---")
SNIPPETS = {
"Clear": "# Write some code ...",
"Fibonacci": "def fib(n):",
"Parse JSON": """def parse_json_lines(filename: str) -> List[Any]:
output = []
with open(filename, "r", encoding="utf-8") as f:
""",
"Data ORM": """import birdchirp
from birdchirp.model.chirp import chirp
from birdchirp.db.mysql import MysqlDb
class User:
def __init__(self, user_id):
self.user_id = user_id
self.db = MysqlDb()
def get_avatar""",
}
def code_presets():
code = ""
cols = st.columns(len(SNIPPETS))
for col, (k, v) in zip(cols, SNIPPETS.items()):
with col:
if st.button(k):
code = v
return code
monaco.st_monaco(key="default", code=code_presets())