Add Kivy Payment Screen

This commit is contained in:
shekhar-cis 2022-05-30 17:03:39 +05:30
parent 4b75c7f831
commit cced8fe84e
Signed by untrusted user: shekhar-cis
GPG Key ID: F4F00AB04E83F9A7

View File

@ -0,0 +1,66 @@
# pylint: disable=import-error, no-name-in-module, too-few-public-methods, too-many-ancestors
'''
Payment/subscription frontend
'''
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.screenmanager import Screen
from kivy.app import App
from kivymd.uix.behaviors.elevation import RectangularElevationBehavior
from kivymd.uix.label import MDLabel
from kivymd.uix.list import (
IRightBodyTouch,
OneLineAvatarIconListItem
)
from bitmessagekivy.baseclass.common import toast, kivy_state_variables
class Payment(Screen):
"""Payment Screen class for kivy Ui"""
def __init__(self, *args, **kwargs):
"""Instantiate kivy state variable"""
super(Payment, self).__init__(*args, **kwargs)
self.kivy_state = kivy_state_variables()
# TODO: get_free_credits() is not used anywhere, will be used later for Payment/subscription.
def get_free_credits(self, instance): # pylint: disable=unused-argument
"""Get the available credits"""
# pylint: disable=no-self-use
self.kivy_state.available_credit = 0
existing_credits = 0
if existing_credits > 0:
toast(
'We already have added free credit'
' for the subscription to your account!')
else:
toast('Credit added to your account!')
# TODO: There is no sc18 screen id is available,
# need to create sc18 for Credits screen inside main.kv
App.get_running_app().root.ids.sc18.ids.cred.text = '{0}'.format(
self.kivy_state.available_credit)
class Category(BoxLayout, RectangularElevationBehavior):
"""Category class for kivy Ui"""
elevation_normal = .01
class ProductLayout(BoxLayout, RectangularElevationBehavior):
"""ProductLayout class for kivy Ui"""
elevation_normal = .01
class PaymentMethodLayout(BoxLayout):
"""PaymentMethodLayout class for kivy Ui"""
class ListItemWithLabel(OneLineAvatarIconListItem):
"""ListItemWithLabel class for kivy Ui"""
class RightLabel(IRightBodyTouch, MDLabel):
"""RightLabel class for kivy Ui"""