You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Comrad/komrade/frontend/screens/login/login.py

123 lines
4.3 KiB
Python

from screens.base import BaseScreen
4 years ago
from kivymd.uix.boxlayout import MDBoxLayout
from kivymd.uix.textfield import MDTextField
from kivymd.uix.button import MDRectangleFlatButton
from kivymd.uix.label import MDLabel
4 years ago
from kivymd.uix.card import MDSeparator
4 years ago
from kivy.uix.label import Label
4 years ago
from main import MyLabel,rgb,COLOR_TEXT,COLOR_ICON,COLOR_ACCENT,COLOR_CARD
4 years ago
from misc import *
from kivy.app import App
4 years ago
class LoginBoxLayout(MDBoxLayout): pass
class LoginButtonLayout(MDBoxLayout): pass
class UsernameField(MDTextField): pass
class PasswordField(MDTextField): pass
class LoginButton(MDRectangleFlatButton): pass
4 years ago
class RegisterButton(MDRectangleFlatButton):
def register(self):
un=self.parent.parent.parent.username_field.text
app=App.get_running_app()
app.register(un)
# app.change_screen_from_uri(f'/inbox/{un}')
4 years ago
pass
4 years ago
class LoginStatus(MDLabel): pass
class UsernameLayout(MDBoxLayout): pass
class UsernameLabel(MDLabel): pass
4 years ago
class WelcomeLabel(MDLabel): pass
class LoginScreen(BaseScreen):
#def on_pre_enter(self):
# global app
# if app.is_logged_in():
# app.root.change_screen('feed')
4 years ago
def on_pre_enter(self):
#log(self.ids)
#log('hello?')
4 years ago
self.layout = LoginBoxLayout()
4 years ago
self.label_title = WelcomeLabel()
4 years ago
self.label_title.font_name='assets/font.otf'
4 years ago
# self.label_title.font_size='20sp'
4 years ago
self.label_title.bold=True
4 years ago
self.label_title.markup=True
self.label_title.color=rgb(*COLOR_TEXT)
4 years ago
self.label_title.text='Welcome,'
4 years ago
# self.label_title.font_size*=1.5
4 years ago
self.layout.add_widget(get_separator('20sp'))
4 years ago
self.layout.add_widget(self.label_title)
4 years ago
self.layout.add_widget(get_separator('30sp'))
# self.layout.add_widget(MySeparator())
4 years ago
self.layout_username = UsernameLayout()
4 years ago
self.label_username = UsernameLabel(text="Komrade")
4 years ago
self.username_field = UsernameField()
4 years ago
self.username_field.line_color_focus=rgb(*COLOR_TEXT)
self.username_field.line_color_normal=rgb(*COLOR_TEXT,a=0.25)
self.username_field.font_name='assets/font.otf'
self.layout_username.add_widget(self.label_username)
self.layout_username.add_widget(self.username_field)
self.layout.add_widget(self.layout_username)
#log(self.username_field)
4 years ago
# self.username_field.text='hello????'
4 years ago
# self.layout_password = UsernameLayout()
# self.label_password = UsernameLabel(text='password:')
4 years ago
# self.label_password.font_name='assets/font.otf'
self.label_username.font_name='assets/font.otf'
4 years ago
# self.password_field = PasswordField()
# self.password_field.line_color_focus=rgb(*COLOR_TEXT)
# self.password_field.line_color_normal=rgb(*COLOR_TEXT,a=0.25)
# self.password_field.font_name='assets/font.otf'
4 years ago
# self.layout_password.add_widget(self.label_password)
# self.layout_password.add_widget(self.password_field)
# self.layout.add_widget(self.layout_password)
4 years ago
self.layout_buttons = LoginButtonLayout()
4 years ago
self.layout.add_widget(get_separator('20sp'))
4 years ago
self.layout.add_widget(self.layout_buttons)
4 years ago
# self.login_button = LoginButton()
# self.login_button.font_name='assets/font.otf'
# self.layout_buttons.add_widget(self.login_button)
4 years ago
self.register_button = RegisterButton()
self.register_button.font_name='assets/font.otf'
4 years ago
# self.register_button =
self.layout_buttons.add_widget(self.register_button)
self.login_status = LoginStatus()
self.login_status.font_name='assets/font.otf'
4 years ago
self.layout.add_widget(self.login_status)
4 years ago
self.label_title.font_size='18sp'
4 years ago
# self.label_password.font_size='18sp'
4 years ago
self.label_username.font_size='20sp'
4 years ago
# self.login_button.font_size='12sp'
4 years ago
self.register_button.font_size='9sp'
4 years ago
self.register_button.text='enter'
4 years ago
self.username_field.font_size='20sp'
self.label_username.padding_x=(10,20)
self.username_field.padding_x=(20,10)
self.username_field.padding_y=(25,0)
4 years ago
4 years ago
## add all
self.add_widget(self.layout)
#pass
def on_enter(self):
un=self.app.get_username()
if un: self.username_field.text = un