refactor: extract Editor page
parent
4a8eee8c1f
commit
28922bf9d9
|
|
@ -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())
|
|
||||||
|
|
|
||||||
|
|
@ -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())
|
||||||
Loading…
Reference in New Issue