aboutsummaryrefslogtreecommitdiffstats
path: root/web-project
diff options
context:
space:
mode:
authorEddy Pedroni <epedroni@pm.me>2025-02-21 06:55:30 +0100
committerEddy Pedroni <epedroni@pm.me>2025-02-21 06:55:30 +0100
commit2404f7b5507393bf2f8dcb60ba6886f3cda799aa (patch)
tree8a8f8f070665efe70902befa334a61c59542b7bf /web-project
parent655f5b87c43f4ac5cfaef6be482d652c532edc23 (diff)
Add wireframe of web interface, mock implementation in nicegui
Diffstat (limited to 'web-project')
-rw-r--r--web-project/pyproject.toml24
-rw-r--r--web-project/src/solo_tool_web.py49
2 files changed, 73 insertions, 0 deletions
diff --git a/web-project/pyproject.toml b/web-project/pyproject.toml
new file mode 100644
index 0000000..440812e
--- /dev/null
+++ b/web-project/pyproject.toml
@@ -0,0 +1,24 @@
+[build-system]
+requires = ["setuptools"]
+build-backend = "setuptools.build_meta"
+
+[project]
+name = "solo_tool_web"
+authors = [
+ { name = "Eddy Pedroni", email = "epedroni@pm.me" },
+]
+description = "A NiceGUI-based web frontend for the solo_tool library"
+requires-python = ">=3.12"
+dependencies = [
+ "nicegui==2.11.1",
+ "solo_tool"
+]
+dynamic = ["version"]
+
+[project.optional-dependencies]
+dev = [
+]
+
+[project.gui-scripts]
+solo-tool-web = "solo_tool_web:main"
+
diff --git a/web-project/src/solo_tool_web.py b/web-project/src/solo_tool_web.py
new file mode 100644
index 0000000..859dba2
--- /dev/null
+++ b/web-project/src/solo_tool_web.py
@@ -0,0 +1,49 @@
+from nicegui import ui
+
+def main():
+ with ui.splitter(value=30) as splitter:
+ splitter.style('width: 100%; height: 100%;')
+ with splitter.before:
+ with ui.list().props('dense separator'):
+ ui.item('Sweet Child o\' Mine')
+ ui.item('Elembivos')
+ ui.item('Tears of the Dragon')
+ ui.item('Victory Song')
+ with splitter.after:
+ with ui.column() as column:
+ column.style('width: 100%;')
+
+ ui.slider(min=0, max=120, value=100)
+
+ with ui.row():
+ ui.button('-5')
+ ui.slider(min=50, max=120, step=5, value=100)
+ ui.button('+5')
+
+ ui.slider(min=0, max=100, value=0)
+
+ with ui.row():
+ ui.button('Prev')
+ ui.button('-25%')
+ ui.button('-5%')
+ ui.button('-1%')
+ ui.button('+1%')
+ ui.button('+5%')
+ ui.button('+25%')
+ ui.button('Next')
+
+ with ui.row():
+ ui.button('Set A')
+ ui.button('Set B')
+ ui.button('Previous AB')
+ ui.button('Next AB')
+
+ with ui.row():
+ ui.button('Toggle AB')
+ ui.button('Stop')
+ ui.button('Start')
+ ui.button('Jump to A')
+ ui.run()
+
+if __name__ in {'__main__', '__mp_main__'}:
+ main()