Añadimos archivos y tenemos problema para visualizar

parent f413df62
Showing with 6 additions and 1615 deletions
# CHANGELOG F1-Experience
# Iteración 0
## 11/02/2023
**Álvaro Ordoñez:**: Implementó junto con su compañero el storyboard principal y se encargó del storyboard de "Crear cuenta".
Detalló el fichero README.md y el propio documento entregable. Se encargó de realizar el diagrama entidad-relación junto con
su compañero. Implementó una versión básica en HTML de la creación de cuentas.
**Álvaro Herrera:**: Implementó junto con su compañero el storyboard principal y se encargó del storyboard de "Venta de tickets".
Creó los diferentes archivos del repositorio y se encargó de realizar el diagrama entidad-relación junto con su compañero.
Implementó una versión básica en HTML de la página principal.
## 15/02/2023
**Álvaro Ordoñez:**: Implementó la interacción entre storyboards.
**Álvaro Herrera:**: Detalló las diferentes historias de usuario y corrigió algunos fallos revisados sobre los storyboard.
## 16/02/2023
**Álvaro Herrera:**: Añadió en el respositorio los archivos iniciarSesion.html y registro.html.
## 21/02/2023
**Álvaro Ordóñez:**: Añadió carpetas para organización del repositorio y modificó el archivo .gitignore
## 27/02/2023
**Álvaro Ordóñez:**: Modificó archivos iniciarSesion.html, registro.html y añadió registro.css
**Álvaro Herrera:**: Modificó index.html y añadión bootstrap.css y index.css
# Iteración 1
## 1/03/2023
**Álvaro Ordóñez:**: Adición de circuitos
**Álvaro Herrera:**: Apartado de compras corregido el problema con los circuitos, añade más logos,
avance en circuitos y en datos de compra.
## 3/03/2023
**Álvaro Ordóñez:**: Añade pago online con pago.html
**Álvaro Herrera:**: Añado fechas de circuitos y margen para adecuada visualización en circuitos.html
## 14/03/2023
**Álvaro Ordóñez:**: Cambio total a proyecto Jakarta para implementar Servlet. Añade .gitignore de la forma correcta.
Añade a error.jsp y usuarioInformacion.jsp
**Álvaro Herrera:**: Presenta problemas con Jakarta en el IDE y escribe código de Servlet inicial. Añade forma de plantilla para
head, header y footer.
## Iteración 2
## 22/03/2023
**Álvaro Ordóñez:**: Implementa vistas en .xhtml.
## 24/03/2023
**Álvaro Herrera:**:
## 25/03/2023
**Álvaro Ordóñez:**: Implementa funcionamiento de CircuitosDAO. Todas las funcionalidades (crear, visualizar, editar y borrar) funcionan adecuandamente.
<h1 align="center"> F1-Experience </h1>
#### Descripción del proyecto
Portal comercial relacionado con la compra de productos exclusivos de la Fórmula 1. Compra de tickets para tours de circuitos o para ver carreras.
[![f1-fanatics-logo-990-x-495.jpg](https://i.postimg.cc/SQW5k6Fr/f1-fanatics-logo-990-x-495.jpg)](https://postimg.cc/9zQ1BqfR)
# Participantes
- Álvaro Herrera Arjonilla - aha00026@red.ujaen.es
- Álvaro Ordóñez Romero - aor00039@red.ujaen.es
...@@ -22,6 +22,11 @@ ...@@ -22,6 +22,11 @@
<artifactId>spark-core</artifactId> <artifactId>spark-core</artifactId>
<version>2.9.4</version> <version>2.9.4</version>
</dependency> </dependency>
<dependency>
<groupId>com.sparkjava</groupId>
<artifactId>spark-template-freemarker</artifactId>
<version>2.7.1</version>
</dependency>
</dependencies> </dependencies>
<build> <build>
......
...@@ -7,4 +7,5 @@ public class AppConfig { ...@@ -7,4 +7,5 @@ public class AppConfig {
public static void main(String[] args) { public static void main(String[] args) {
get("/hello", (req, res) -> "Hello World"); get("/hello", (req, res) -> "Hello World");
} }
} }
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
>
<h:head>
<!-- Basic -->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- Mobile Metas -->
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<!-- Site Metas -->
<meta name="keywords" content="" />
<meta name="description" content="" />
<meta name="author" content="" />
<title>F1 Store</title>
<!-- slider stylesheet -->
<link rel="stylesheet" type="text/css"
href="https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.1.3/assets/owl.carousel.min.css" ></link>
<!-- font awesome style -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"></link>
<!-- bootstrap core css -->
<link rel="stylesheet" type="text/css" href="css/bootstrap.css" ></link>
<!-- fonts style -->
<link href="https://fonts.googleapis.com/css?family=Poppins:400,600,700|Roboto:400,700; display=swap" rel="stylesheet"> </link>
<!-- Custom styles for this template -->
<link href="css/style.css" rel="stylesheet" ></link>
<!-- responsive style -->
<link href="css/responsive.css" rel="stylesheet"></link>
</h:head>
</html>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html
xmlns:h="jakarta.faces.html"
xmlns:ui="jakarta.faces.facelets"
xmlns:c="jakarta.tags.core">
<h:head>
<!-- Basic -->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- Mobile Metas -->
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<!-- Site Metas -->
<meta name="keywords" content="" />
<meta name="description" content="" />
<meta name="author" content="" />
<title>F1 Store</title>
<!-- slider stylesheet -->
<link rel="stylesheet" type="text/css"
href="https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.1.3/assets/owl.carousel.min.css" ></link>
<!-- font awesome style -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"></link>
<!-- bootstrap core css -->
<link rel="stylesheet" type="text/css" href="css/bootstrap.css" ></link>
<!-- fonts style -->
<link href="https://fonts.googleapis.com/css?family=Poppins:400,600,700|Roboto:400,700; display=swap" rel="stylesheet"> </link>
<!-- Custom styles for this template -->
<link href="css/style.scss" rel="stylesheet" ></link>
<link href="css/style.css" rel="stylesheet" ></link>
<!-- responsive style -->
<link href="css/responsive.css" rel="stylesheet"></link>
</h:head>
<h:body>
<div id="header" class="header_section">
<ui:insert name="cabecera">
</ui:insert>
</div>
<div id="info" class="hero_area">
<ui:insert name="info"></ui:insert>
</div>
<section id="masinfo" class="about_section layout_padding">
<ui:insert name="masinfo"></ui:insert>
</section>
<section id="pie" class="container-fluid footer_section">
<ui:insert name="pie"></ui:insert>
</section>
</h:body>
</html>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html
xmlns:h="jakarta.faces.html"
xmlns:ui="jakarta.faces.facelets"
xmlns:c="jakarta.tags.core">
<h:head>
<!-- Basic -->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- Mobile Metas -->
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<!-- Site Metas -->
<meta name="keywords" content="" />
<meta name="description" content="" />
<meta name="author" content="" />
<title>F1 Store</title>
<!-- slider stylesheet -->
<link rel="stylesheet" type="text/css"
href="https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.1.3/assets/owl.carousel.min.css" ></link>
<!-- font awesome style -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"></link>
<!-- bootstrap core css -->
<link rel="stylesheet" type="text/css" href="css/bootstrap.css" ></link>
<!-- fonts style -->
<link href="https://fonts.googleapis.com/css?family=Poppins:400,600,700|Roboto:400,700; display=swap" rel="stylesheet"> </link>
<!-- Custom styles for this template -->
<link href="css/style.scss" rel="stylesheet" ></link>
<link href="css/style.css" rel="stylesheet" ></link>
<!-- responsive style -->
<link href="css/responsive.css" rel="stylesheet"></link>
<link href="css/circuitos.css" rel="stylesheet"></link>
</h:head>
<h:body>
<div id="header" class="header_section">
<ui:insert name="cabecera">
</ui:insert>
</div>
<ui:insert name="left"><!--left content--></ui:insert>
<ui:insert name="metadata"/>
<section id="content" class="col-md-10">
<ui:insert name="content"></ui:insert>
</section>
<div id="info" class="hero_area">
<ui:insert name="info"></ui:insert>
</div>
<section id="pie" class="container-fluid footer_section">
<ui:insert name="pie"></ui:insert>
</section>
</h:body>
</html>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html
xmlns:h="jakarta.faces.html"
xmlns:ui="jakarta.faces.facelets"
xmlns:c="jakarta.tags.core">
<h:head>
<!-- Basic -->
<!-- Basic -->
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<!-- Mobile Metas -->
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<!-- Site Metas -->
<meta name="keywords" content="" />
<meta name="description" content="" />
<meta name="author" content="" />
<title>Entradas</title>
<!-- slider stylesheet -->
<link rel="stylesheet" type="text/css"
href="https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.1.3/assets/owl.carousel.min.css" ></link>
<!-- font awesome style -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"></link>
<!-- bootstrap core css -->
<link rel="stylesheet" type="text/css" href="css/bootstrap.css" ></link>
<!-- fonts style -->
<link href="https://fonts.googleapis.com/css?family=Poppins:400,600,700|Roboto:400,700; display=swap" rel="stylesheet"> </link>
<!-- Custom styles for this template -->
<link href="css/style.scss" rel="stylesheet" ></link>
<link href="css/style.css" rel="stylesheet" ></link>
<!-- responsive style -->
<link href="css/responsive.css" rel="stylesheet"></link>
<link href="css/circuitos.css" rel="stylesheet"></link>
</h:head>
<h:body class="sub_page">
<div id="header" class="header_section">
<ui:insert name="cabecera">
</ui:insert>
</div>
<section class="health_section layout_padding">
<div class="health_carousel-container">
<h2 class="text-uppercase">
Fechas de GP disponibles
</h2>
<div class="carousel-wrap layout_padding2">
<div class="owl-carousel">
<div class="item">
<div class="box">
<div class="btn_container">
<a href="">
Comprar ahora
</a>
</div>
<div class="img-box">
<img src="images/australia.jpg" alt=""></img>
</div>
<div class="detail-box">
<div class="text">
<h6 class="price">
7-9 julio
</h6>
<h6>
GP Gran Bretaña
</h6>
<h6 class="price">
65€-320€
</h6>
</div>
</div>
</div>
<div class="box">
<div class="btn_container">
<a href="">
Comprar ahora
</a>
</div>
<div class="img-box">
<img src="images/italia.jpg" alt=""></img>
</div>
<div class="detail-box">
<div class="text">
<h6 class="price">
1-3 septiembre
</h6>
<h6>
GP Italia
</h6>
<h6 class="price">
50€-450€
</h6>
</div>
</div>
</div>
</div>
<div class="item">
<div class="box">
<div class="btn_container">
<a href="">
Comprar ahora
</a>
</div>
<div class="img-box">
<img src="images/bahrein.jpg" alt=""></img>
</div>
<div class="detail-box">
<div class="text">
<h6 class="price">
3-5 marzo
</h6>
<h6>
GP Bahréin
</h6>
<h6 class="price">
70€-360€
</h6>
</div>
</div>
</div>
<div class="box">
<div class="btn_container">
<a href="">
Comprar ahora
</a>
</div>
<div class="img-box">
<img src="images/españa.jpg" alt=""></img>
</div>
<div class="detail-box">
<div class="text">
<h6 class="price">
7-9 <br/>julio
</h6>
<h6>
GP España
</h6>
<h6 class="price">
67€-290€
</h6>
</div>
</div>
</div>
</div>
<div class="item">
<div class="box">
<div class="btn_container">
<a href="">
Comprar ahora
</a>
</div>
<div class="img-box">
<img src="images/mexico.jfif" alt=""></img>
</div>
<div class="detail-box">
<div class="text">
<h6 class="price">
15-18 julio
</h6>
<h6>
GP México
</h6>
<h6 class="price">
70€-330€
</h6>
</div>
</div>
</div>
<div class="box">
<div class="btn_container">
<a href="">
Comprar ahora
</a>
</div>
<div class="img-box">
<img src="images/azerbaiyan.jpg" alt=""></img>
</div>
<div class="detail-box">
<div class="text">
<h6 class="price">
2-5 septiembre
</h6>
<h6>
GP <br/>Azerbaiyán
</h6>
<h6 class="price">
60€-<br/>250€
</h6>
</div>
</div>
</div>
</div>
<div class="item">
<div class="box">
<div class="btn_container">
<a href="">
Comprar ahora
</a>
</div>
<div class="img-box">
<img src="images/australia.jpg" alt=""></img>
</div>
<div class="detail-box">
<div class="text">
<h6 class="price">
31 marzo - 2 abril
</h6>
<h6>
GP Australia
</h6>
<h6 class="price">
90€-280€
</h6>
</div>
</div>
</div>
<div class="box">
<div class="btn_container">
<a href="">
Comprar ahora
</a>
</div>
<div class="img-box">
<img src="images/canada.webp" alt=""></img>
</div>
<div class="detail-box">
<div class="text">
<h6 class="price">
23-25 junio
</h6>
<h6>
GP Canadá
</h6>
<h6 class="price">
50€-870€
</h6>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section id="pie" class="container-fluid footer_section">
<ui:insert name="pie"></ui:insert>
</section>
</h:body>
</html>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html
xmlns:h="jakarta.faces.html"
xmlns:ui="jakarta.faces.facelets"
xmlns:c="jakarta.tags.core">
<h:head>
<!-- Basic -->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- Mobile Metas -->
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<!-- Site Metas -->
<meta name="keywords" content="" />
<meta name="description" content="" />
<meta name="author" content="" />
<title>F1 Store</title>
<!-- slider stylesheet -->
<link rel="stylesheet" type="text/css"
href="https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.1.3/assets/owl.carousel.min.css" ></link>
<!-- font awesome style -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"></link>
<!-- bootstrap core css -->
<link rel="stylesheet" type="text/css" href="css/bootstrap.css" ></link>
<!-- fonts style -->
<link href="https://fonts.googleapis.com/css?family=Poppins:400,600,700|Roboto:400,700; display=swap" rel="stylesheet"> </link>
<!-- Custom styles for this template -->
<link href="css/style.scss" rel="stylesheet" ></link>
<link href="css/style.css" rel="stylesheet" ></link>
<!-- responsive style -->
<link href="css/responsive.css" rel="stylesheet"></link>
<link href="css/registro.css" rel="stylesheet"></link>
</h:head>
<h:body>
<div id="header" class="header_section">
<ui:insert name="cabecera">
</ui:insert>
</div>
<div id="formulario" class="main-agileinfo">
<ui:insert name="formulario"></ui:insert>
</div>
<div id="inicio" class="main-w3layouts wrapper">
<ui:insert name="inicio"></ui:insert>
</div>
</h:body>
</html>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html
xmlns:h="jakarta.faces.html"
xmlns:ui="jakarta.faces.facelets"
xmlns:c="jakarta.tags.core">
<h:head>
<!-- Basic -->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- Mobile Metas -->
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<!-- Site Metas -->
<meta name="keywords" content="" />
<meta name="description" content="" />
<meta name="author" content="" />
<title>F1 Store</title>
<!-- slider stylesheet -->
<link rel="stylesheet" type="text/css"
href="https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.1.3/assets/owl.carousel.min.css" ></link>
<!-- font awesome style -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"></link>
<!-- bootstrap core css -->
<link rel="stylesheet" type="text/css" href="../css/bootstrap.css" ></link>
<!-- fonts style -->
<link href="https://fonts.googleapis.com/css?family=Poppins:400,600,700|Roboto:400,700; display=swap" rel="stylesheet"> </link>
<!-- Custom styles for this template -->
<link href="../css/style.scss" rel="stylesheet" ></link>
<link href="../css/style.css" rel="stylesheet" ></link>
<!-- responsive style -->
<link href="../css/responsive.css" rel="stylesheet"></link>
<link href="../css/circuitos.css" rel="stylesheet"></link>
</h:head>
<h:body>
<div id="header" class="header_section">
<ui:insert name="cabecera">
</ui:insert>
</div>
<ui:insert name="left"><!--left content--></ui:insert>
<ui:insert name="metadata"/>
<section id="content" class="col-md-10">
<ui:insert name="content"></ui:insert>
</section>
<div id="info" class="hero_area">
<ui:insert name="info"></ui:insert>
</div>
<section id="pie" class="container-fluid footer_section">
<ui:insert name="pie"></ui:insert>
</section>
</h:body>
</html>
<ui:composition
xmlns:h="jakarta.faces.html"
xmlns:f="jakarta.faces.core"
xmlns:ui="jakarta.faces.facelets"
xmlns:p="jakarta.faces.passthrough"
template="../WEB-INF/layout/layoutGestion.xhtml">
<ui:define name="cabecera">
<div class="container-fluid">
<div id="nav" class="navbar navbar-expand-lg custom_nav-container pt-3">
<a class="navbar-brand" href="index.xhtml">
<img src="resources/images/logo.png" alt=""> </img>
<span>
STORE
</span>
</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent"
aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<div class="d-flex flex-column flex-lg-row align-items-center w-100 ">
<ul class="navbar-nav ">
<li class="nav-item">
<a class="nav-link" href="buy.xhtml"> Entradas </a>
</li>
<li class="nav-item">
<a class="nav-link" href="circuitos.xhtml"> Circuitos </a>
</li>
</ul>
<div class="login_btn-contanier ml-0 ml-lg-5">
<a href="">
<img src="images/user.png" alt=""> </img>
<span>
<a class="nav-link" href="iniciarSesion.xhtml">Iniciar Sesión</a>
</span>
</a>
</div>
<div class="login_btn-contanier ml-0 ml-lg-5">
<a href="">
<img src="images/user.png" alt=""> </img>
<span>
<a class="nav-link" href="registro.xhtml">Registro</a>
</span>
</a>
</div>
</div>
</div>
</div>
</div>
</ui:define>
<ui:define name="left">
<br/>
<ul class="nav nav-pills flex-column">
<div class="login_btn-contanier ml-0 ml-lg-5">
<li class="nav-item"><h:link value="Listado" outcome="listado" class="nav-link" /></li>
</div>
<div class="login_btn-contanier ml-0 ml-lg-5">
<li class="nav-item"><h:link value="Listado Editable" outcome="listado_din" class="nav-link"/></li>
</div>
<div class="login_btn-contanier ml-0 ml-lg-5">
<li class="nav-item"><h:link value="Alta" outcome="alta" class="nav-link"/></li>
</div>
<div class="login_btn-contanier ml-0 ml-lg-5">
<li class="nav-item"><h:link value="Alta Ajax" outcome="alta_ajax" class="nav-link"/></li>
</div>
</ul>
</ui:define>
<ui:define name="content">
<br/>
<h1>Alta Circuito</h1>
<h:form styleClass="well" >
<label>Nombre:</label> <h:inputText styleClass="form-control" label="Nombre" id="idNombre"
value="#{circuitoCtrl.circuito.nombre}" required="true">
<!--f:validateLength minimum="4" maximum="25"/-->
</h:inputText>
<p><h:message styleClass="form-text text-danger" for="idNombre" /></p>
<label>País:</label> <h:inputText styleClass="form-control" label="pais" id="paiss"
value="#{circuitoCtrl.circuito.pais}" required="true">
<!--f:validateRegex pattern="\d{7,8}-?[a-zA-Z]" /-->
</h:inputText>
<p><h:message styleClass="form-text text-danger" for="paiss" /></p>
<label>Longitud:</label> <h:inputText styleClass="form-control" label="longitud" id="longitud"
value="#{circuitoCtrl.circuito.longitud}" required="true">
<!--f:validateRegex pattern="\d{7,8}-?[a-zA-Z]" /-->
</h:inputText>
<p><h:message styleClass="form-text text-danger" for="longitud" /></p>
<label>Fecha de celebración:</label>
<!-- force datepicker html5 input box with p:type="date" -->
<h:inputText p:type="date" styleClass="form-control" label="FNac" id="idFNac" value="#{circuitoCtrl.circuito.fechaCelebracion}">
<!-- convert date to input datepicker LocalDate format-->
<f:convertDateTime type="localDate" pattern="yyyy-MM-dd" />
</h:inputText>
<p><h:message styleClass="form-text text-danger" for="idFNac" /></p>
<h:commandButton styleClass="btn btn-primary" value="Guardar" action="#{circuitoCtrl.crea(circuitoCtrl.circuito.longitud)}"/>
<h:button styleClass="btn btn-default" value="Cancelar" outcome="listado" />
</h:form>
</ui:define>
</ui:composition>
\ No newline at end of file
<ui:composition
xmlns:h="jakarta.faces.html"
xmlns:f="jakarta.faces.core"
xmlns:ui="jakarta.faces.facelets" xmlns:p="jakarta.faces.passthrough"
template="../WEB-INF/layout/layoutCircuitos.xhtml">
<ui:define name="content">
<h1>Alta Circuito</h1>
<h:form styleClass="" >
<label>Nombre:</label><h:inputText styleClass="form-control" label="Nombre" id="idNombre"
value="#{circuitoCtrl.circuito.nombre}" required="true">
<!--f:validateLength minimum="4" maximum="25"/-->
</h:inputText>
<p><h:message styleClass="form-text text-danger" for="idNombre" /></p>
<label>País:</label> <h:inputText styleClass="form-control" label="pais" id="paiss"
value="#{circuitoCtrl.circuito.pais}" required="true">
<!--f:validateRegex pattern="\d{7,8}-?[a-zA-Z]" /-->
</h:inputText>
<p><h:message styleClass="form-text text-danger" for="paiss" /></p>
<label>Fecha de celebracion:</label>
<!-- force datepicker html5 input box with p:type="date" -->
<h:inputText p:type="date" styleClass="form-control" label="FNac" id="idFNac" value="#{circuitoCtrl.circuito.fechaCelebracion}">
<!-- convert date to input datepicker LocalDate format-->
<f:convertDateTime type="localDate" pattern="yyyy-MM-dd" />
</h:inputText>
<p><h:message styleClass="form-text text-danger" for="idFNac" /></p>
<p class="form-text">(marcar para acceder a tipo de socio y actualizar vista con AJAX)</p>
<h:commandButton styleClass="btn btn-primary" value="Guardar" action="#{circuitoCtrl.crea(circuitoCtrl.circuito.longitud)}"/>
<h:button styleClass="btn btn-default" value="Cancelar" outcome="listado" />
</h:form>
</ui:define>
</ui:composition>
\ No newline at end of file
<ui:composition
xmlns:h="jakarta.faces.html"
xmlns:ui="jakarta.faces.facelets" xmlns:p="jakarta.faces.passthrough"
template="../WEB-INF/layout/layoutCircuitos.xhtml"
xmlns:f="jakarta.faces.core">
<ui:define name="metadata">
<f:metadata>
<f:viewParam name="longitud" value="#{circuitoCtrl.circuito.longitud}"/>
<f:viewAction action="#{circuitoCtrl.recupera()}" />
</f:metadata>
</ui:define>
<ui:define name="content">
<h1>Edita circuito</h1>
<h:messages class="text-danger"/>
<ui:fragment rendered="#{circuitoCtrl.circuito != null}">
<h3>Longitud (ID): <h:outputText value="#{circuitoCtrl.circuito.longitud}" /></h3><h:inputHidden value="#{circuitoCtrl.circuito.longitud}"/>
<h:form styleClass="" id="formCliente">
<label>Nombre:</label> <h:inputText styleClass="form-control" label="Nombre" id="idNombre" value="#{circuitoCtrl.circuito.nombre}"
required="true" />
<p><h:message styleClass="form-text text-danger" for="idNombre" /></p>
<label>País:</label> <h:inputText styleClass="form-control" label="pais" id="paiss" value="#{circuitoCtrl.circuito.pais}"
required="true" />
<p><h:message styleClass="form-text text-danger" for="paiss" /></p>
<label>Fecha de celebración:</label>
<!-- force datepicker html5 input box with p:type="date" -->
<h:inputText p:type="date" styleClass="form-control" label="FNac" id="idFNac" value="#{circuitoCtrl.circuito.fechaCelebracion}">
<!-- convert date to input datepicker LocalDate format-->
<f:convertDateTime type="localDate" pattern="yyyy-MM-dd" />
</h:inputText>
<p><h:message styleClass="form-text text-danger" for="idFNac" /></p>
<h:commandButton styleClass="btn btn-primary" value="Guardar" action="#{circuitoCtrl.guarda}"/>
<h:button styleClass="btn btn-cancel" value="Cancelar" outcome="listado" />
</h:form>
</ui:fragment>
</ui:define>
<ui:define name="left">
<ul class="nav nav-pills flex-column">
<li class="nav-item"><h:link value="Volver" outcome="principal" class="nav-link "/></li>
</ul>
</ui:define>
</ui:composition>
\ No newline at end of file
<ui:composition
xmlns:h="jakarta.faces.html"
xmlns:ui="jakarta.faces.facelets"
xmlns:f="jakarta.faces.core"
template="../WEB-INF/layout/layoutCircuitos.xhtml">
<ui:define name="content">
<h1>Listado de Circuitos </h1>
<h:form>
<h:dataTable styleClass="table table-striped" var="circuito" value="#{circuitoCtrl.circuitos}">
<h:column>
<f:facet name="header">Nombre</f:facet>
#{circuito.nombre}
</h:column>
<h:column>
<f:facet name="header">País</f:facet>
#{circuito.pais}
</h:column>
<h:column>
<f:facet name="header">Fecha de celebracion</f:facet>
${circuito.fechaCelebracion}
</h:column>
<h:column>
<f:facet name="header">Longitud</f:facet>
#{circuito.longitud}
</h:column>
<h:column>
<f:facet name="header">Opciones</f:facet>
<h:button styleClass="btn btn-light" value="Visualiza" outcome="visualiza">
<f:param name="id" value="#{circuito.longitud}" /></h:button>&#160;
<h:button styleClass="btn btn-light" value="Edita" outcome="edita" >
<f:param name="longitud" value="#{circuito.longitud}" /></h:button>&#160;
<h:commandButton styleClass="btn btn-light" value="Borra" action="#{circuitoCtrl.borra(circuito)}" />
</h:column>
</h:dataTable>
</h:form>
</ui:define>
<ui:define name="left">
<ul class="nav nav-pills flex-column">
<li class="nav-item"><h:link value="Circuitos" outcome="principal" class="nav-link"/></li>
<li class="nav-item"><h:link value='Nuevo Circuito' outcome="alta" class="nav-link active"/></li>
</ul>
</ui:define>
</ui:composition>
\ No newline at end of file
<ui:composition
xmlns:h="jakarta.faces.html"
xmlns:ui="jakarta.faces.facelets"
xmlns:f="jakarta.faces.core"
template="../WEB-INF/layout/layoutCircuitos.xhtml">
<ui:define name="content">
<ui:debug />
<h1>Listado de circuitos editable </h1>
<h:messages class="text-danger"/>
<h:form>
<h:dataTable styleClass="table table-striped" var="circuito" value="#{circuitoCtrl.circuitos}" >
<h:column>
<f:facet name="header">ID</f:facet>
#{circuito.longitud}
</h:column>
<h:column>
<f:facet name="header">Nombre</f:facet>
<h:outputText value="#{circuito.nombre}" rendered="#{circuitoCtrl.circuito.longitud!=circuito.longitud}"/>
<h:inputText value="#{circuitoCtrl.circuito.nombre}" rendered="#{circuitoCtrl.circuito.longitud==circuito.longitud}" class="form-control"/>
</h:column>
<h:column>
<f:facet name="header">PAIS</f:facet>
<h:outputText value="#{circuito.pais}" rendered="#{circuitoCtrl.circuito.longitud!=circuito.longitud}"/>
<h:inputText value="#{circuitoCtrl.circuito.pais}" rendered="#{circuitoCtrl.circuito.longitud==circuito.longitud}" class="form-control"/>
</h:column>
<h:column>
<f:facet name="header">Opciones</f:facet>
<h:panelGroup rendered="#{circuitoCtrl.circuito.longitud!=circuito.longitud}">
<h:button styleClass="btn btn-light" value="Visualiza" outcome="visualiza">
<f:param name="id" value="#{circuito.longitud}" /></h:button>&#160;
<h:commandButton styleClass="btn btn-light" value="Edita" action="#{circuitoCtrl.editRow(circuito)}" />&#160;
<h:commandButton styleClass="btn btn-light" value="Borra" action="#{circuitoCtrl.borra(circuito)}" />
</h:panelGroup>
<h:panelGroup rendered="#{circuitoCtrl.circuito.longitud==circuito.longitud}">
<h:commandButton styleClass="btn btn-light" value="Guarda" action="#{circuitoCtrl.actualizaCircuito()}" />&#160;
<h:commandButton styleClass="btn btn-light" value="Cancela" action="#{circuitoCtrl.cancelEditRow()}" immediate="true" />&#160;
</h:panelGroup>
</h:column>
</h:dataTable>
</h:form>
</ui:define>
<ui:define name="left">
<ul class="nav nav-pills flex-column">
<li class="nav-item"><h:link value='Nuevo circuito' outcome="alta" class="nav-link active" /></li>
</ul>
</ui:define>
</ui:composition>
\ No newline at end of file
<ui:composition
xmlns:h="jakarta.faces.html"
xmlns:ui="jakarta.faces.facelets"
template="../WEB-INF/layout/layoutGestion.xhtml">
<ui:define name="content">
<br/><br/>
<h1>Gestión de Circuitos</h1>
</ui:define>
<ui:define name="cabecera">
<div class="container-fluid">
<div id="nav" class="navbar navbar-expand-lg custom_nav-container pt-3">
<a class="navbar-brand" href="index.xhtml">
<img src="resources/images/logo.png" alt=""> </img>
<span>
STORE
</span>
</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent"
aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<div class="d-flex flex-column flex-lg-row align-items-center w-100 ">
<ul class="navbar-nav ">
<li class="nav-item">
<a class="nav-link" href="buy.xhtml"> Entradas </a>
</li>
<li class="nav-item">
<a class="nav-link" href="circuitos.xhtml"> Circuitos </a>
</li>
</ul>
<div class="login_btn-contanier ml-0 ml-lg-5">
<a href="">
<img src="images/user.png" alt=""> </img>
<span>
<a class="nav-link" href="iniciarSesion.xhtml">Iniciar Sesión</a>
</span>
</a>
</div>
<div class="login_btn-contanier ml-0 ml-lg-5">
<a href="">
<img src="images/user.png" alt=""> </img>
<span>
<a class="nav-link" href="registro.xhtml">Registro</a>
</span>
</a>
</div>
</div>
</div>
</div>
</div>
</ui:define>
<ui:define name="left">
<br/>
<ul class="nav nav-pills flex-column">
<div class="login_btn-contanier ml-0 ml-lg-5">
<li class="nav-item"><h:link value="Listado" outcome="listado" class="nav-link" /></li>
</div>
<div class="login_btn-contanier ml-0 ml-lg-5">
<li class="nav-item"><h:link value="Listado Editable" outcome="listado_din" class="nav-link"/></li>
</div>
<div class="login_btn-contanier ml-0 ml-lg-5">
<li class="nav-item"><h:link value="Alta" outcome="alta" class="nav-link"/></li>
</div>
<div class="login_btn-contanier ml-0 ml-lg-5">
<li class="nav-item"><h:link value="Alta Ajax" outcome="alta_ajax" class="nav-link"/></li>
</div>
</ul>
</ui:define>
</ui:composition>
\ No newline at end of file
<ui:composition
template="../WEB-INF/layout/layoutCircuitos.xhtml"
xmlns:f="jakarta.faces.core"
xmlns:ui="jakarta.faces.facelets"
xmlns:h="jakarta.faces.html"
xmlns:daw="jakarta.faces.composite/dawcomp">
<ui:define name="metadata">
<f:metadata>
<f:viewParam name="id" value="#{circuitoCtrl.circuito.longitud}"/>
<f:viewAction action="#{circuitoCtrl.recupera()}" />
</f:metadata>
</ui:define>
<ui:define name="content">
<div class="panel panel-default">
<h1 class="panel-heading">Visualiza Circuito</h1>
<h:messages class="text-danger"/>
<ui:fragment rendered="#{circuitoCtrl.circuito != null}">
<!-- use custom composite component -->
<daw:Circuito value="#{circuitoCtrl.circuito}"/>
<h:form>
<h:button styleClass="btn btn-primary" value="Editar" outcome="edita">
<f:param name="id" value="#{circuitoCtrl.circuito.nombre}"/>
</h:button>
<h:commandButton styleClass="btn btn-danger" value="Borrar" action="#{circuitoCtrl.borra}"/>
<h:link styleClass="btn btn-default" value="Volver" outcome="listado" />
</h:form>
</ui:fragment>
</div>
</ui:define>
<ui:define name="left">
<ul class="nav nav-pills nav-stacked">
<li class="nav-item"><h:link value="Volver" outcome="principal" class="nav-link "/></li>
</ul>
</ui:define>
</ui:composition>
\ No newline at end of file
This diff could not be displayed because it is too large.
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
color: #fff;
background: #000;
}
li {
list-style: none;
}
input[type="radio"] {
display: none;
}
.js-slider {
position: relative;
width: 80%;
height: 100vh;
margin: 0 auto;
}
.js-slider_item {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
padding: 1rem 3rem;
opacity: 0;
visibility: hidden;
transform-origin: right center;
transform: translate3d(0%, 0%, 0) rotateY(30deg) scaleX(0.95);
transition: all 1s ease,transform 1s cubic-bezier(0.43, 0.28, 0.51, 1);
}
#s-1:checked ~ .js-slider .js-slider_item.img-1,
#s-2:checked ~ .js-slider .js-slider_item.img-2,
#s-3:checked ~ .js-slider .js-slider_item.img-3,
#s-4:checked ~ .js-slider .js-slider_item.img-4,
#s-5:checked ~ .js-slider .js-slider_item.img-5,
#s-6:checked ~ .js-slider .js-slider_item.img-6,
#s-7:checked ~ .js-slider .js-slider_item.img-7,
#s-8:checked ~ .js-slider .js-slider_item.img-8{
opacity: 1;
visibility: visible;
transform-origin: left center;
transform: translate3d(0, 0, 0) rotateY(0deg) scaleX(1);
}
.js-slider_img {
width: 100%;
height: 60%;
position: relative;
overflow: hidden;
}
.c-img-w-full {
position: absolute;
top: 50%;
left: 50%;
width: 100%;
height: auto;
transform: translate3d(-50%, -50%, 0);
}
.c-img-h-full {
position: absolute;
top: 50%;
left: 50%;
width: auto;
height: 100%;
transform: translate3d(-50%, -50%, 0);
}
figcaption {
display: block;
}
.wo-h3 {
margin-top: 6rem;
margin-bottom: 2rem;
padding-bottom: 2rem;
border-bottom: 1px solid #000000;
}
.c-label {
display: inline-block;
color: #eee;
background-color: rgba(139,0,10,0.9);
line-height: 1;
padding: 0.2em 0.5em;
margin-right: 0.5em;
font-size: 1.4rem;
font-weight: bold;
}
.view-sm {
display: none;
}
.js-slider_nav {
position: absolute;
left: 0;
top: 50%;
width: 100%;
transform: translate3d(0, -50%, 0);
}
.js-slider_nav_item.prev {
left: 0;
}
.js-slider_nav_item.next {
right: 0;
transform: rotateY(180deg);
}
.js-slider_nav_item {
position: absolute;
display: none;
width: 4rem;
height: 4rem;
border: 1px solid #fdfdfd;
border-radius: 50%;
cursor: pointer;
transition: 1s all cubic-bezier(0.075, 0.82, 0.165, 1);
}
.js-slider_nav_item:before {
content: "";
display: block;
position: absolute;
left: 1rem;
top: 55%;
width: 1rem;
height: 1px;
background-color: #ffffff;
transform-origin: left bottom;
transform: translate3d(0, -50%, 0) rotate(-45deg);
transition: 1s all cubic-bezier(0.075, 0.82, 0.165, 1);
}
.js-slider_nav_item:hover {
transform: translate3d(-30%, 0, 0);
}
.js-slider_nav_item.next:hover {
transform: rotateY(180deg) translate3d(-30%, 0, 0);
}
.js-slider_nav_item:hover:before {
transform: translate3d(0, -50%, 0) rotate(-30deg);
}
.js-slider_nav_item:after {
content: "";
position: absolute;
top: 55%;
left: 50%;
width: 2rem;
height: 1px;
background-color: #ffffff;
transform: translate3d(-50%, -50%, 0);
}
#s-1:checked ~ .js-slider .js-slider_nav .s-nav-1,
#s-2:checked ~ .js-slider .js-slider_nav .s-nav-2,
#s-3:checked ~ .js-slider .js-slider_nav .s-nav-3,
#s-4:checked ~ .js-slider .js-slider_nav .s-nav-4,
#s-5:checked ~ .js-slider .js-slider_nav .s-nav-5,
#s-6:checked ~ .js-slider .js-slider_nav .s-nav-6,
#s-7:checked ~ .js-slider .js-slider_nav .s-nav-7,
#s-8:checked ~ .js-slider .js-slider_nav .s-nav-8{
display: block;
}
.js-slider_indicator {
position: absolute;
left: 0;
top: 63%;
width: 100%;
text-align: center;
}
.js-slider-indi {
position: relative;
display: inline-block;
padding: 2rem;
cursor: pointer;
}
.js-slider-indi:after {
content: "";
position: absolute;
top: 50%;
left: 50%;
width: 1rem;
height: 1rem;
border-radius: 1rem;
background: #ffffff;
transform: translate3d(-50%, -50%, 0);
}
.js-slider-indi:hover:after {
transform: translate3d(-50%, -50%, 0) scale(1.5);
transition: 1s all cubic-bezier(0.075, 0.82, 0.165, 1);
}
#s-1:checked ~ .js-slider .js-slider_indicator .indi-1:after,
#s-2:checked ~ .js-slider .js-slider_indicator .indi-2:after,
#s-3:checked ~ .js-slider .js-slider_indicator .indi-3:after,
#s-4:checked ~ .js-slider .js-slider_indicator .indi-4:after,
#s-5:checked ~ .js-slider .js-slider_indicator .indi-5:after,
#s-6:checked ~ .js-slider .js-slider_indicator .indi-6:after,
#s-7:checked ~ .js-slider .js-slider_indicator .indi-7:after,
#s-8:checked ~ .js-slider .js-slider_indicator .indi-8:after{
transform: translate3d(-50%, -50%, 0) scale(2.5);
}
\ No newline at end of file
/* If you like this, please check my blog at codedgar.com.ve */
@import url('https://fonts.googleapis.com/css?family=Work+Sans');
body{
font-family: 'Work Sans', sans-serif;
background: #ff0000;
background: -webkit-linear-gradient(to right, #ff0000, #000000);
background: linear-gradient(to right, #ff0000, #000000);
/* Thanks to uigradients :) */
}
.card{
background:#16181a; border-radius:14px; max-width: 300px; display:block; margin:auto;
padding:60px; padding-left:20px; padding-right:20px;box-shadow: 2px 10px 40px black; z-index:99;
}
.logo-card{max-width:50px; margin-bottom:15px; margin-top: -19px;}
label{display:flex; font-size:10px; color:white; opacity:.4;}
input{font-family: 'Work Sans', sans-serif;background:transparent; border:none; border-bottom:1px solid transparent; color:#dbdce0; transition: border-bottom .4s;}
input:focus{border-bottom:1px solid #1abc9c; outline:none;}
.cardnumber{display:block; font-size:20px; margin-bottom:8px; }
.name{display:block; font-size:15px; max-width: 200px; float:left; margin-bottom:15px;}
.toleft{float:left;}
.ccv{width:50px; margin-top:-5px; font-size:15px;}
.receipt{background: #dbdce0; border-radius:4px; padding:5%; padding-top:200px; max-width:600px; display:block; margin:auto; margin-top:-180px; z-index:-999; position:relative;}
.col{width:50%; float:left;}
.bought-item{background:#f5f5f5; padding:2px;}
.bought-items{margin-top:-3px;}
.cost{color: #000000;}
.seller{color: #000000;}
.description{font-size: 13px;}
.price{font-size:12px;}
.comprobe{text-align:center;}
.proceed{position:absolute; transform:translate(300px, 10px); width:50px; height:50px; border-radius:50%; background: #ff0000; border:none;color:white; transition: box-shadow .2s, transform .4s; cursor:pointer;}
.proceed:active{outline:none; }
.proceed:focus{outline:none;box-shadow: inset 0px 0px 5px white;}
.sendicon{filter:invert(100%); padding-top:2px;}
@media (max-width: 600px){
.proceed{transform:translate(250px, 10px);}
.col{display:block; margin:auto; width:100%; text-align:center;}
}
\ No newline at end of file
@media (max-width: 1120px) {
.custom_nav-container .form-inline input {
display: none;
}
}
@media (max-width: 992px) {
.login_btn-contanier {
margin: 15px 0;
}
.hero_area {
height: auto;
}
.slider_section.position-relative {
padding: 120px 0;
}
}
@media (max-width: 768px) {
.slider_section .carousel-control-prev,
.slider_section .carousel-control-next {
display: none;
}
.slider_section .detail-box {
margin-top: 20px;
text-align: center;
}
.discount_section .detail-box {
text-align: center;
}
.client_section .client_container {
width: 95%;
}
.contact_section {
padding-left: 15px;
padding-right: 15px;
}
.contact_section .detail-box {
margin: 0 -15px;
margin-top: 25px;
}
.info_section {
text-align: center;
}
.info_section .row>div {
margin: 25px 0;
}
.info_section .info_contact .box {
justify-content: center;
}
.footer_section p {
width: auto;
}
}
@media (max-width: 576px) {
.health_section .box {
width: auto;
margin-right: 5px;
}
}
@media (max-width: 480px) {}
@media (max-width: 420px) {}
@media (max-width: 360px) {
.top_contact-container {
display: none !important;
}
}
@media (min-width: 1200px) {
.container {
max-width: 1170px;
}
}
\ No newline at end of file
No preview for this file type
No preview for this file type
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="jakarta.faces.html"
xmlns:ui="jakarta.faces.facelets">
<ui:composition
xmlns:h="jakarta.faces.html"
xmlns:ui="jakarta.faces.facelets"
template="WEB-INF/layout/layoutFormularios.xhtml">
<ui:define name="cabecera">
<div class="container-fluid">
<div id="nav" class="navbar navbar-expand-lg custom_nav-container pt-3">
<a class="navbar-brand" href="index.xhtml">
<img src="resources/images/logo.png" alt=""> </img>
<span>
STORE
</span>
</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent"
aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<div class="d-flex flex-column flex-lg-row align-items-center w-100 ">
<ul class="navbar-nav ">
<li class="nav-item">
<a class="nav-link" href="buy.xhtml"> Entradas </a>
</li>
<li class="nav-item">
<a class="nav-link" href="circuitos.xhtml"> Circuitos </a>
</li>
</ul>
<div class="login_btn-contanier ml-0 ml-lg-5">
<a href="">
<img src="images/user.png" alt=""> </img>
<span>
<a class="nav-link" href="iniciarSesion.xhtml">Iniciar Sesión</a>
</span>
</a>
</div>
<div class="login_btn-contanier ml-0 ml-lg-5">
<a href="">
<img src="images/user.png" alt=""> </img>
<span>
<a class="nav-link" href="registro.xhtml">Registro</a>
</span>
</a>
</div>
</div>
</div>
</div>
</div>
</ui:define>
<ui:define name="inicio">
<h1>Iniciar Sesión</h1>
<div class="main-agileinfo">
<div class="agileits-top">
<h:form action="#" method="post">
<input class="text email" type="email" name="email" placeholder="Email" required=""/>
<input class="text" type="password" name="password" placeholder="Password" required=""/>
<input type="submit" value="INICIAR SESION"/>
</h:form>
<p>¿No tienes una cuenta? <h:link outcome="/registro.xhtml"> Regístrese</h:link></p>
</div>
</div>
</ui:define>
</ui:composition>
</html>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="jakarta.faces.html"
xmlns:ui="jakarta.faces.facelets">
<h:head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Pago de entrada</title>
<link href="css/style.css" rel="stylesheet" > </link>
<link href="css/pago.css" rel="stylesheet" ></link>
</h:head>
<h:body>
<div class="container">
<div class="card">
<a href="index.xhtml">
<button class="proceed" type="submit"><svg class="sendicon" width="24" height="24" viewBox="0 0 24 24">
<path d="M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z"></path>
</svg></button>
</a>
<img src="https://seeklogo.com/images/V/VISA-logo-62D5B26FE1-seeklogo.com.png" class="logo-card" alt=""/>
<h:form>
<label>Card number:</label>
<input id="user" class="input cardnumber" placeholder="1234 5678 9101 1121"> </input>
<label>Name:</label>
<input class="input name" placeholder="Example"> </input>
<label class="toleft">CCV:</label>
<input class="input toleft ccv" placeholder="321"> </input>
</h:form>
</div>
<div class="receipt">
<div class="col"><p>Coste:</p>
<h2 class="cost">250€</h2><br/>
</div>
<div class="col">
<p>Items a comprar:</p>
<h3 class="bought-items">ENTRADA F1</h3>
<p class="bought-items description">Entrada normal F1</p>
<p class="bought-items price">175€ (50% descuento)</p><br/>
</div>
<p class="comprobe">La información del pago se mandará a su email justo cuando se pulse el boton rojo.</p>
</div>
</div>
</h:body>
</html>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:h="jakarta.faces.html"
xmlns:ui="jakarta.faces.facelets">
<ui:composition
xmlns:h="jakarta.faces.html"
xmlns:ui="jakarta.faces.facelets"
template="WEB-INF/layout/layoutFormularios.xhtml">
<ui:define name="cabecera">
<div class="container-fluid">
<div id="nav" class="navbar navbar-expand-lg custom_nav-container pt-3">
<a class="navbar-brand" href="index.xhtml">
<img src="resources/images/logo.png" alt=""> </img>
<span>
STORE
</span>
</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent"
aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<div class="d-flex flex-column flex-lg-row align-items-center w-100 ">
<ul class="navbar-nav ">
<li class="nav-item">
<a class="nav-link" href="buy.xhtml"> Entradas </a>
</li>
<li class="nav-item">
<a class="nav-link" href="circuitos.xhtml"> Circuitos </a>
</li>
</ul>
<div class="login_btn-contanier ml-0 ml-lg-5">
<a href="">
<img src="images/user.png" alt=""> </img>
<span>
<a class="nav-link" href="iniciarSesion.xhtml">Iniciar Sesión</a>
</span>
</a>
</div>
<div class="login_btn-contanier ml-0 ml-lg-5">
<a href="">
<img src="images/user.png" alt=""> </img>
<span>
<a class="nav-link" href="registro.xhtml">Registro</a>
</span>
</a>
</div>
</div>
</div>
</div>
</div>
</ui:define>
<ui:define name="formulario">
<div class="agileits-top">
<h:form method="POST" action="usuario">
<input class="text" type="text" name="Username" placeholder="Username" required=""/>
<input class="text email" type="email" name="email" placeholder="Email" required="true"/>
<input class="text" type="password" name="password1" placeholder="Password" required="true" alt="strongPass"/>
<input class="text w3lpass" type="password" name="password2" placeholder="Confirm Password" required="true"/>
<input class="text" type="radio" name="gender" value="male" required="true"/> Male <input type="radio" name="gender" value="female" required="true"/> Female
<div class="wthree-text">
<label class="anim">
<h:selectBooleanCheckbox type="checkbox" class="checkbox" required="true"></h:selectBooleanCheckbox>
<span>I Agree To The Terms and Conditions</span>
</label>
<div class="clear"> </div>
</div>
<input type="submit" value="REGISTRARSE"/>
</h:form>
<p>¿Tienes ya una cuenta? <a href="pago.xhtml"> Inicia Sesión</a></p>
</div>
</ui:define>
</ui:composition>
</html>
<!DOCTYPE html>
<html
xmlns:cc="jakarta.faces.composite" xmlns:h="jakarta.faces.html"
xmlns:f="jakarta.faces.core">
<!-- Sample Composite component for rendering a entity -->
<!-- INTERFACE -->
<cc:interface>
<cc:attribute name="value" class="com.example.demo.model.Circuito"/>
</cc:interface>
<!-- IMPLEMENTATION -->
<cc:implementation>
<ul class="panel-body list-group">
<li class="list-group-item"><strong>Nombre:</strong> #{cc.attrs.value.nombre}</li>
<li class="list-group-item"><strong>País:</strong> #{cc.attrs.value.pais}</li>
<li class="list-group-item"><strong>Fecha celebración: </strong>
<h:outputText value="#{cc.attrs.value.fechaCelebracion}">
<f:convertDateTime type="localDate" dateStyle="long" />
</h:outputText>
</li>
<li class="list-group-item"><strong>Longitud:</strong> #{cc.attrs.value.longitud}</li>
</ul>
</cc:implementation>
</html>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment