add about us

This commit is contained in:
2025-11-06 17:39:35 +02:00
parent d29b5e9015
commit b77aa0f0d7
14 changed files with 339 additions and 2 deletions

View File

@@ -0,0 +1,54 @@
import flet as ft
import json
class AboutUS:
def __init__(self, page:ft.Page):
self.page = page
self.data = self.load_data()
self.company_name = ft.Text(value=self.data['company_name'])
self.vat = ft.Text(value=self.data['vat'])
self.register_number = ft.Text(value=self.data['register_number'])
self.address = ft.Text(value=self.data['address'])
def load_data(self):
try:
with open('instance/company_data.json', 'r', encoding='utf-8') as f:
data = json.load(f)
return data
except FileNotFoundError:
return {
'company_name': '',
'vat': '',
'register_number': '',
'address': ''
}
except json.JSONDecodeError:
self.page.snack_bar = ft.SnackBar(ft.Text('Eroare: fișierul company_data.json este corupt.'))
self.page.snack_bar.open = True
self.page.update()
return None
except Exception as ex:
self.page.snack_bar = ft.SnackBar(ft.Text(f'Eroare la citirea datelor companiei: {ex}'))
self.page.snack_bar.open = True
self.page.update()
return None
def build(self):
return ft.Container(
content=ft.Row(
[
ft.Image(src="images/tainagustului.png", width=150),
ft.Column(
[
ft.Text("Despre noi", size=18, weight=ft.FontWeight.BOLD),
self.company_name,
self.vat,
self.register_number,
self.address
]
)
],
alignment=ft.MainAxisAlignment.CENTER,
vertical_alignment=ft.CrossAxisAlignment.CENTER
)
)

View File

@@ -0,0 +1,40 @@
import flet as ft
import json
class CancelPolicy:
def __init__(self, page: ft.Page):
self.page = page
def load_data(self):
try:
with open('instance/policies.json', 'r', encoding='utf-8') as f:
data = json.load(f)
return data
except FileNotFoundError:
return {
'confidentialty_policy': '',
'delivery_policy': '',
'cancel_policy': '',
'gdpr': '',
'terms_and_conditions': ''
}
except json.JSONDecodeError:
self.page.snack_bar = ft.SnackBar(ft.Text('Eroare: fișierul policies.json este corupt.'))
self.page.snack_bar.open = True
self.page.update()
return None
except Exception as ex:
self.page.snack_bar = ft.SnackBar(ft.Text(f'Eroare la citirea politicilor: {ex}'))
self.page.snack_bar.open = True
self.page.update()
return None
def build(self):
return ft.Container(
content=ft.Column(
[
ft.Text("Politica de anulare comandă",size = 18, weight=ft.FontWeight.BOLD),
ft.Text(value=self.load_data()['cancel_policy'])
]
)
)

View File

@@ -0,0 +1,40 @@
import flet as ft
import json
class ConfidentialtyPolicy:
def __init__(self, page: ft.Page):
self.page = page
def load_data(self):
try:
with open('instance/policies.json', 'r', encoding='utf-8') as f:
data = json.load(f)
return data
except FileNotFoundError:
return {
'confidentialty_policy': '',
'delivery_policy': '',
'cancel_policy': '',
'gdpr': '',
'terms_and_conditions': ''
}
except json.JSONDecodeError:
self.page.snack_bar = ft.SnackBar(ft.Text('Eroare: fișierul policies.json este corupt.'))
self.page.snack_bar.open = True
self.page.update()
return None
except Exception as ex:
self.page.snack_bar = ft.SnackBar(ft.Text(f'Eroare la citirea politicilor: {ex}'))
self.page.snack_bar.open = True
self.page.update()
return None
def build(self):
return ft.Container(
content=ft.Column(
[
ft.Text("Termeni si conditii",size = 18, weight=ft.FontWeight.BOLD),
ft.Text(value=self.load_data()['confidentialty_policy'])
]
)
)

View File

@@ -0,0 +1,40 @@
import flet as ft
import json
class DeliveryPolicys:
def __init__(self, page: ft.Page):
self.page = page
def load_data(self):
try:
with open('instance/policies.json', 'r', encoding='utf-8') as f:
data = json.load(f)
return data
except FileNotFoundError:
return {
'confidentialty_policy': '',
'delivery_policy': '',
'cancel_policy': '',
'gdpr': '',
'terms_and_conditions': ''
}
except json.JSONDecodeError:
self.page.snack_bar = ft.SnackBar(ft.Text('Eroare: fișierul policies.json este corupt.'))
self.page.snack_bar.open = True
self.page.update()
return None
except Exception as ex:
self.page.snack_bar = ft.SnackBar(ft.Text(f'Eroare la citirea politicilor: {ex}'))
self.page.snack_bar.open = True
self.page.update()
return None
def build(self):
return ft.Container(
content=ft.Column(
[
ft.Text("Politica de livrare comandă",size = 18, weight=ft.FontWeight.BOLD),
ft.Text(value=self.load_data()['delivery_policy'])
]
)
)

View File

@@ -0,0 +1,40 @@
import flet as ft
import json
class GDPR:
def __init__(self, page: ft.Page):
self.page = page
def load_data(self):
try:
with open('instance/policies.json', 'r', encoding='utf-8') as f:
data = json.load(f)
return data
except FileNotFoundError:
return {
'confidentialty_policy': '',
'delivery_policy': '',
'cancel_policy': '',
'gdpr': '',
'terms_and_conditions': ''
}
except json.JSONDecodeError:
self.page.snack_bar = ft.SnackBar(ft.Text('Eroare: fișierul policies.json este corupt.'))
self.page.snack_bar.open = True
self.page.update()
return None
except Exception as ex:
self.page.snack_bar = ft.SnackBar(ft.Text(f'Eroare la citirea politicilor: {ex}'))
self.page.snack_bar.open = True
self.page.update()
return None
def build(self):
return ft.Container(
content=ft.Column(
[
ft.Text("Politica GDPR (siguranța datelor cu caracter personal)",size = 18, weight=ft.FontWeight.BOLD),
ft.Text(value=self.load_data()['gdpr'])
]
)
)

View File

@@ -0,0 +1,40 @@
import flet as ft
import json
class TermsAndConditions:
def __init__(self, page: ft.Page):
self.page = page
def load_data(self):
try:
with open('instance/policies.json', 'r', encoding='utf-8') as f:
data = json.load(f)
return data
except FileNotFoundError:
return {
'confidentialty_policy': '',
'delivery_policy': '',
'cancel_policy': '',
'gdpr': '',
'terms_and_conditions': ''
}
except json.JSONDecodeError:
self.page.snack_bar = ft.SnackBar(ft.Text('Eroare: fișierul policies.json este corupt.'))
self.page.snack_bar.open = True
self.page.update()
return None
except Exception as ex:
self.page.snack_bar = ft.SnackBar(ft.Text(f'Eroare la citirea politicilor: {ex}'))
self.page.snack_bar.open = True
self.page.update()
return None
def build(self):
return ft.Container(
content=ft.Column(
[
ft.Text("Termeni si conditii",size = 18, weight=ft.FontWeight.BOLD),
ft.Text(value=self.load_data()['terms_and_conditions'])
]
)
)

View File

@@ -168,6 +168,24 @@ class Home:
self.searchbar.value = ''
self.searchbar.update()
def on_about_us_btn_click(self, e):
self.page.go('/about_us')
def on_terms_and_cond_btn_click(self, e):
self.page.go("/termeni_si_conditii")
def on_cancel_policy_btn_click(self, e):
self.page.go("/politica_de_anulare_comanda")
def on_confidentiality_policy_btn_click(self, e):
self.page.go('/politica_de_confidentialitate')
def on_delivery_policy_btn_click(self, e):
self.page.go("/politica_de_livrare_comanda")
def on_gdpr_btn_click(self, e):
self.page.go("/gdpr")
def build(self):
return ft.Container(
content=ft.Column(
@@ -204,10 +222,33 @@ class Home:
alignment=ft.MainAxisAlignment.CENTER,
width=1000
),
self.products_group
self.products_group,
ft.Divider(height=1),
ft.Row(
[
ft.Column(
[
ft.TextButton("Despre noi", on_click=self.on_about_us_btn_click, icon=ft.Icons.INFO),
ft.TextButton("Termeni si conditii", on_click=self.on_terms_and_cond_btn_click, icon=ft.Icons.INFO),
ft.TextButton("Politica de anulare comanda",on_click=self.on_cancel_policy_btn_click, icon=ft.Icons.INFO),
ft.TextButton("Politica de confidentialitate",on_click=self.on_confidentiality_policy_btn_click, icon=ft.Icons.INFO),
ft.TextButton("Politica de livrare comanda",on_click=self.on_delivery_policy_btn_click, icon=ft.Icons.INFO),
ft.TextButton("Politica GDPR (siguranța datelor cu caracter personal)",on_click=self.on_gdpr_btn_click, icon=ft.Icons.INFO)
]
),
ft.Column(
[
ft.TextButton("TainaGustului", icon=ft.Icons.FACEBOOK)
]
)
],
alignment=ft.MainAxisAlignment.SPACE_AROUND,
vertical_alignment=ft.CrossAxisAlignment.START
)
],
horizontal_alignment=ft.CrossAxisAlignment.CENTER,
expand=True
expand=True,
width=1000
)
],
scroll=ft.ScrollMode.ADAPTIVE,