Inicio

parents
Showing with 1939 additions and 0 deletions
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### Eclipse ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/
### VS Code ###
.vscode/
### Mac OS ###
.DS_Store
\ No newline at end of file
# 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
This diff is collapsed. Click to expand it.
@REM ----------------------------------------------------------------------------
@REM Licensed to the Apache Software Foundation (ASF) under one
@REM or more contributor license agreements. See the NOTICE file
@REM distributed with this work for additional information
@REM regarding copyright ownership. The ASF licenses this file
@REM to you under the Apache License, Version 2.0 (the
@REM "License"); you may not use this file except in compliance
@REM with the License. You may obtain a copy of the License at
@REM
@REM https://www.apache.org/licenses/LICENSE-2.0
@REM
@REM Unless required by applicable law or agreed to in writing,
@REM software distributed under the License is distributed on an
@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@REM KIND, either express or implied. See the License for the
@REM specific language governing permissions and limitations
@REM under the License.
@REM ----------------------------------------------------------------------------
@REM ----------------------------------------------------------------------------
@REM Maven Start Up Batch script
@REM
@REM Required ENV vars:
@REM JAVA_HOME - location of a JDK home dir
@REM
@REM Optional ENV vars
@REM M2_HOME - location of maven2's installed home dir
@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending
@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
@REM e.g. to debug Maven itself, use
@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
@REM ----------------------------------------------------------------------------
@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
@echo off
@REM set title of command window
title %0
@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on'
@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO%
@REM set %HOME% to equivalent of $HOME
if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
@REM Execute a user defined script before this one
if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
@REM check for pre script, once with legacy .bat ending and once with .cmd ending
if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %*
if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %*
:skipRcPre
@setlocal
set ERROR_CODE=0
@REM To isolate internal variables from possible post scripts, we use another setlocal
@setlocal
@REM ==== START VALIDATION ====
if not "%JAVA_HOME%" == "" goto OkJHome
echo.
echo Error: JAVA_HOME not found in your environment. >&2
echo Please set the JAVA_HOME variable in your environment to match the >&2
echo location of your Java installation. >&2
echo.
goto error
:OkJHome
if exist "%JAVA_HOME%\bin\java.exe" goto init
echo.
echo Error: JAVA_HOME is set to an invalid directory. >&2
echo JAVA_HOME = "%JAVA_HOME%" >&2
echo Please set the JAVA_HOME variable in your environment to match the >&2
echo location of your Java installation. >&2
echo.
goto error
@REM ==== END VALIDATION ====
:init
@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
@REM Fallback to current working directory if not found.
set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
set EXEC_DIR=%CD%
set WDIR=%EXEC_DIR%
:findBaseDir
IF EXIST "%WDIR%"\.mvn goto baseDirFound
cd ..
IF "%WDIR%"=="%CD%" goto baseDirNotFound
set WDIR=%CD%
goto findBaseDir
:baseDirFound
set MAVEN_PROJECTBASEDIR=%WDIR%
cd "%EXEC_DIR%"
goto endDetectBaseDir
:baseDirNotFound
set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
cd "%EXEC_DIR%"
:endDetectBaseDir
IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
@setlocal EnableExtensions EnableDelayedExpansion
for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
:endReadAdditionalConfig
SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B
)
@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
@REM This allows using the maven wrapper in projects that prohibit checking in binary data.
if exist %WRAPPER_JAR% (
if "%MVNW_VERBOSE%" == "true" (
echo Found %WRAPPER_JAR%
)
) else (
if not "%MVNW_REPOURL%" == "" (
SET DOWNLOAD_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
)
if "%MVNW_VERBOSE%" == "true" (
echo Couldn't find %WRAPPER_JAR%, downloading it ...
echo Downloading from: %DOWNLOAD_URL%
)
powershell -Command "&{"^
"$webclient = new-object System.Net.WebClient;"^
"if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^
"$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^
"}"^
"[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^
"}"
if "%MVNW_VERBOSE%" == "true" (
echo Finished downloading %WRAPPER_JAR%
)
)
@REM End of extension
@REM Provide a "standardized" way to retrieve the CLI args that will
@REM work with both Windows and non-Windows executions.
set MAVEN_CMD_LINE_ARGS=%*
%MAVEN_JAVA_EXE% ^
%JVM_CONFIG_MAVEN_PROPS% ^
%MAVEN_OPTS% ^
%MAVEN_DEBUG_OPTS% ^
-classpath %WRAPPER_JAR% ^
"-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^
%WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
if ERRORLEVEL 1 goto error
goto end
:error
set ERROR_CODE=1
:end
@endlocal & set ERROR_CODE=%ERROR_CODE%
if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost
@REM check for post script, once with legacy .bat ending and once with .cmd ending
if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat"
if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd"
:skipRcPost
@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
if "%MAVEN_BATCH_PAUSE%"=="on" pause
if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE%
cmd /C exit /B %ERROR_CODE%
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>1.0-SNAPSHOT</version>
<name>demo</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.target>11</maven.compiler.target>
<maven.compiler.source>11</maven.compiler.source>
<junit.version>5.9.1</junit.version>
</properties>
<dependencies>
<dependency>
<groupId>com.sparkjava</groupId>
<artifactId>spark-core</artifactId>
<version>2.9.4</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.3.2</version>
</plugin>
</plugins>
</build>
</project>
\ No newline at end of file
package com.example.demo;
import static spark.Spark.*;
public class AppConfig {
public static void main(String[] args) {
get("/hello", (req, res) -> "Hello World");
}
}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_4_0.xsd">
</beans>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<persistence xmlns="https://jakarta.ee/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://jakarta.ee/xml/ns/persistence https://jakarta.ee/xml/ns/persistence/persistence_3_0.xsd"
version="3.0">
<persistence-unit name="default">
</persistence-unit>
</persistence>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<%@include file="/WEB-INF/layout/bootstrapheader.jspf" %>
<body>
<%@include file="/WEB-INF/layout/header.jspf" %>
<h1> No se pudo registrar con esos datos. Regístrese de nuevo aquí</h1>
<a> Regístrese de nuevo retrocediendo a la página anterior</a>
<%@include file="/WEB-INF/layout/footer.jspf" %>
</body>
</html>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<%@include file="/WEB-INF/layout/bootstrapheader.jspf" %>
<body>
<%@include file="/WEB-INF/layout/header.jspf" %>
<h1>Datos del usuario</h1>
<div>Nombre de usuario : ${Username}</div>
<div>Email : ${email}</div>
<div>Contraseña: ${password1}</div>
<div>Sexo: ${gender} </div>
<%@include file="/WEB-INF/layout/footer.jspf" %>
</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="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>
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Application</display-name>
</web-app>
<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
<html>
<body>
<h2>Hello World!</h2>
</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: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
This diff could not be displayed because it is too large.
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