├── .gitignore ├── README.md ├── __pycache__ ├── all_pages.cpython-311.pyc ├── home_page.cpython-311.pyc ├── menu.cpython-311.pyc └── theme.cpython-311.pyc ├── all_pages.py ├── home_page.py ├── main.py ├── menu.py ├── pages ├── __pycache__ │ ├── script_generator.cpython-311.pyc │ └── title_generator.cpython-311.pyc ├── script_generator.py └── title_generator.py ├── requirements.txt └── theme.py /.gitignore: -------------------------------------------------------------------------------- 1 | __pycache__/ 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # nicegui-starter 2 | -------------------------------------------------------------------------------- /__pycache__/all_pages.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitdoze/nicegui-starter/8d5c53d6b193472fd4975c3c8640ca27115c96ef/__pycache__/all_pages.cpython-311.pyc -------------------------------------------------------------------------------- /__pycache__/home_page.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitdoze/nicegui-starter/8d5c53d6b193472fd4975c3c8640ca27115c96ef/__pycache__/home_page.cpython-311.pyc -------------------------------------------------------------------------------- /__pycache__/menu.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitdoze/nicegui-starter/8d5c53d6b193472fd4975c3c8640ca27115c96ef/__pycache__/menu.cpython-311.pyc -------------------------------------------------------------------------------- /__pycache__/theme.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitdoze/nicegui-starter/8d5c53d6b193472fd4975c3c8640ca27115c96ef/__pycache__/theme.cpython-311.pyc -------------------------------------------------------------------------------- /all_pages.py: -------------------------------------------------------------------------------- 1 | from nicegui import ui 2 | from pages.title_generator import title_generator 3 | from pages.script_generator import script_generator 4 | 5 | def create() -> None: 6 | ui.page('/youtube-title-generator/')(title_generator) 7 | ui.page('/youtube-script/')(script_generator) 8 | 9 | if __name__ == '__main__': 10 | create() 11 | -------------------------------------------------------------------------------- /home_page.py: -------------------------------------------------------------------------------- 1 | from nicegui import ui 2 | 3 | def content() -> None: 4 | with ui.column(): 5 | ui.markdown(''' 6 | 7 | Elevate your YouTube content creation with Bitdoze's suite of intelligent AI tools. 8 | 9 | ## Catchy Titles and Descriptions 10 | 11 | Struggling to find the perfect title or description? Bitdoze's AI analyzes trending topics and keywords to generate ideas that are both engaging and optimized for search. 12 | 13 | ## Compelling Video Scripts 14 | 15 | Need help crafting a video script? Our AI script generator can: 16 | 17 | - Outline key points for your video 18 | - Suggest hooks and captivating introductions 19 | - Provide creative transitions and calls-to-action 20 | 21 | ## And More! 22 | 23 | Bitdoze is continuously expanding its AI capabilities for YouTubers. Stay tuned for exciting new features! 24 | 25 | **Transform your YouTube workflow with BitDoze. Try it today!** 26 | 27 | ''') 28 | -------------------------------------------------------------------------------- /main.py: -------------------------------------------------------------------------------- 1 | import all_pages 2 | import home_page 3 | import theme 4 | 5 | from nicegui import app, ui 6 | 7 | 8 | # here we use our custom page decorator directly and just put the content creation into a separate function 9 | @ui.page('/') 10 | def index_page() -> None: 11 | with theme.frame('Homepage'): 12 | home_page.content() 13 | 14 | 15 | # this call shows that you can also move the whole page creation into a separate file 16 | all_pages.create() 17 | 18 | 19 | ui.run(title='Getting Started with NiceGUI') 20 | -------------------------------------------------------------------------------- /menu.py: -------------------------------------------------------------------------------- 1 | from nicegui import ui 2 | 3 | 4 | def menu() -> None: 5 | ui.link('Home', '/').classes(replace='text-black') 6 | ui.link('YouTube Titles', '/youtube-title-generator/').classes(replace='text-black') 7 | ui.link('YouTube Script Generator', '/youtube-script/').classes(replace='text-black') 8 | -------------------------------------------------------------------------------- /pages/__pycache__/script_generator.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitdoze/nicegui-starter/8d5c53d6b193472fd4975c3c8640ca27115c96ef/pages/__pycache__/script_generator.cpython-311.pyc -------------------------------------------------------------------------------- /pages/__pycache__/title_generator.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitdoze/nicegui-starter/8d5c53d6b193472fd4975c3c8640ca27115c96ef/pages/__pycache__/title_generator.cpython-311.pyc -------------------------------------------------------------------------------- /pages/script_generator.py: -------------------------------------------------------------------------------- 1 | import theme 2 | from nicegui import ui 3 | 4 | 5 | def script_generator(): 6 | with theme.frame('YouTube Script Generator'): 7 | ui.page_title('YouTube Script Generator') 8 | ui.markdown('# This is My YouTube Script Generator Page') 9 | -------------------------------------------------------------------------------- /pages/title_generator.py: -------------------------------------------------------------------------------- 1 | import theme 2 | from nicegui import ui 3 | 4 | 5 | def title_generator(): 6 | with theme.frame('YouTube Title Generator'): 7 | ui.page_title('YouTube Title Generator') 8 | ui.markdown('# This is My Title Generator Page') 9 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | nicegui 2 | numpy 3 | -------------------------------------------------------------------------------- /theme.py: -------------------------------------------------------------------------------- 1 | from contextlib import contextmanager 2 | 3 | from menu import menu 4 | 5 | from nicegui import ui 6 | 7 | 8 | @contextmanager 9 | def frame(navtitle: str): 10 | """Custom page frame to share the same styling and behavior across all pages""" 11 | ui.colors(primary='#6E93D6', secondary='#53B689', accent='#111B1E', positive='#53B689') 12 | with ui.column().classes('absolute-center items-center h-screen no-wrap p-9 w-full'): 13 | yield 14 | with ui.header().classes(replace='row items-center') as header: 15 | ui.button(on_click=lambda: left_drawer.toggle(), icon='menu').props('flat color=white') 16 | ui.label('Getting Started').classes('font-bold') 17 | 18 | with ui.footer(value=False) as footer: 19 | ui.label('Footer') 20 | with ui.left_drawer().classes('bg-blue-100') as left_drawer: 21 | ui.label('Menu') 22 | with ui.column(): 23 | menu() 24 | with ui.page_sticky(position='bottom-right', x_offset=20, y_offset=20): 25 | ui.button(on_click=footer.toggle, icon='contact_support').props('fab') 26 | --------------------------------------------------------------------------------