AIdeaText commited on
Commit
eaa20c8
·
verified ·
1 Parent(s): f47b805

Update modules/ui/views/landing_view.py

Browse files
Files changed (1) hide show
  1. modules/ui/views/landing_view.py +118 -15
modules/ui/views/landing_view.py CHANGED
@@ -1,21 +1,124 @@
1
  # modules/ui/views/landing_view.py
2
  import gradio as gr
 
 
 
3
 
4
  def create_landing_view():
5
- """Crea la vista de landing"""
6
  with gr.Blocks() as view:
7
- with gr.Column():
8
- gr.Markdown("# Bienvenido a AIdeaText")
9
- gr.Markdown(
10
- """
11
- AIdeaText es una avanzada aplicación web diseñada para mejorar
12
- las habilidades de redacción y comprensión lectora a través del análisis
13
- visual de textos potenciado por distintas tecnologías de inteligencia artificial.
14
- """
15
- )
16
- start_button = gr.Button(
17
- "Comenzar",
18
- variant="primary"
19
- )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
20
 
21
- return view, start_button
 
1
  # modules/ui/views/landing_view.py
2
  import gradio as gr
3
+ from ...database.sql_db import store_application_request
4
+ from datetime import datetime
5
+ import uuid
6
 
7
  def create_landing_view():
8
+ """Crea la vista de landing con tres columnas"""
9
  with gr.Blocks() as view:
10
+ gr.Markdown("# Bienvenido a AIdeaText")
11
+
12
+ with gr.Row():
13
+ # Primera columna - Login (25%)
14
+ with gr.Column(scale=1):
15
+ gr.Markdown("### Iniciar Sesión")
16
+ username = gr.Textbox(label="Usuario")
17
+ password = gr.Textbox(label="Contraseña", type="password")
18
+ login_button = gr.Button("Ingresar", variant="primary")
19
+ login_message = gr.Markdown()
20
+
21
+ # Segunda columna - Registro (25%)
22
+ with gr.Column(scale=1):
23
+ gr.Markdown("### Solicitud de Acceso")
24
+
25
+ # Campos del formulario
26
+ name = gr.Textbox(
27
+ label="Nombre Completo",
28
+ placeholder="Ej: Juan Pérez"
29
+ )
30
+ email = gr.Textbox(
31
+ label="Correo Electrónico",
32
+ placeholder="[email protected]"
33
+ )
34
+ institution = gr.Textbox(
35
+ label="Institución",
36
+ placeholder="Universidad, Colegio, Empresa, etc."
37
+ )
38
+ role = gr.Dropdown(
39
+ choices=[
40
+ "Estudiante",
41
+ "Profesor",
42
+ "Investigador",
43
+ "Otro"
44
+ ],
45
+ label="Rol",
46
+ value="Estudiante"
47
+ )
48
+ reason = gr.TextArea(
49
+ label="¿Por qué te interesa usar AIdeaText?",
50
+ placeholder="Describe brevemente tu interés en la plataforma...",
51
+ lines=4
52
+ )
53
+
54
+ register_button = gr.Button(
55
+ "Enviar Solicitud",
56
+ variant="secondary"
57
+ )
58
+ register_message = gr.Markdown()
59
+
60
+ def handle_registration(name, email, institution, role, reason):
61
+ try:
62
+ # Validaciones básicas
63
+ if not all([name, email, institution, role, reason]):
64
+ return gr.Markdown("❌ Todos los campos son obligatorios")
65
+
66
+ if "@" not in email or "." not in email:
67
+ return gr.Markdown("❌ El correo electrónico no es válido")
68
+
69
+ # Crear y almacenar la solicitud
70
+ success = store_application_request(
71
+ name=name,
72
+ email=email,
73
+ institution=institution,
74
+ current_role=role, # Campo en la base de datos
75
+ desired_role=role, # Campo en la base de datos
76
+ reason=reason
77
+ )
78
+
79
+ if success:
80
+ return gr.Markdown("✅ Solicitud enviada correctamente. Te contactaremos pronto.")
81
+ else:
82
+ return gr.Markdown("❌ Error al enviar la solicitud. Por favor, intenta nuevamente.")
83
+
84
+ except Exception as e:
85
+ return gr.Markdown(f"❌ Error: {str(e)}")
86
+
87
+ # Conectar el evento del botón
88
+ register_button.click(
89
+ fn=handle_registration,
90
+ inputs=[name, email, institution, role, reason],
91
+ outputs=register_message
92
+ )
93
+
94
+ # Tercera columna - Videos (50%)
95
+ with gr.Column(scale=2):
96
+ gr.Markdown("### Videos Tutoriales")
97
+ with gr.Tabs():
98
+ with gr.TabItem("Introducción"):
99
+ gr.Markdown("""
100
+ ### ¿Qué es AIdeaText?
101
+ AIdeaText es una herramienta avanzada para el análisis y mejora
102
+ de textos académicos. Utiliza inteligencia artificial para
103
+ proporcionar retroalimentación en tiempo real sobre la estructura,
104
+ coherencia y calidad de tus textos.
105
+ """)
106
+
107
+ with gr.TabItem("Tutorial"):
108
+ gr.Markdown("""
109
+ ### Cómo usar AIdeaText
110
+ Aprende a utilizar todas las funcionalidades de AIdeaText
111
+ para mejorar tu escritura académica.
112
+ """)
113
+
114
+ with gr.TabItem("Ejemplos"):
115
+ gr.Markdown("""
116
+ ### Ejemplos de Uso
117
+ Mira ejemplos prácticos de cómo AIdeaText puede ayudarte
118
+ en tus tareas de escritura.
119
+ """)
120
+
121
+ # Mantener la funcionalidad de navegación existente
122
+ start_button = gr.Button(visible=False)
123
 
124
+ return view, login_button