diff --git a/package-lock.json b/package-lock.json index 227539a..2701323 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2260,6 +2260,15 @@ "pretty-format": "^26.0.0" } }, + "@types/jquery": { + "version": "3.5.5", + "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.5.tgz", + "integrity": "sha512-6RXU9Xzpc6vxNrS6FPPapN1SxSHgQ336WC6Jj/N8q30OiaBZ00l1GBgeP7usjVZPivSkGUfL1z/WW6TX989M+w==", + "dev": true, + "requires": { + "@types/sizzle": "*" + } + }, "@types/json-schema": { "version": "7.0.7", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", @@ -2330,6 +2339,12 @@ "@types/node": "*" } }, + "@types/sizzle": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.2.tgz", + "integrity": "sha512-7EJYyKTL7tFR8+gDbB6Wwz/arpGa0Mywk1TJbNzKzHtzbwVmY4HR9WqS5VV7dsBUKQmPNr192jHr/VpBluj/hg==", + "dev": true + }, "@types/source-list-map": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", diff --git a/package.json b/package.json index 7de1a7e..802b1d4 100644 --- a/package.json +++ b/package.json @@ -41,5 +41,8 @@ "last 1 firefox version", "last 1 safari version" ] + }, + "devDependencies": { + "@types/jquery": "^3.5.5" } } diff --git a/src/actions/Actions.ts b/src/actions/Actions.ts new file mode 100644 index 0000000..27289c0 --- /dev/null +++ b/src/actions/Actions.ts @@ -0,0 +1,16 @@ +import { Action } from 'redux'; + +export enum Actions { + VER_MAS_NOTICIAS = "VER_MAS_NOTICIAS", + VER_MAS_DOCUMENTOS = "VER_MAS_DOCUMENTOS" +} + +export interface IVerMasNoticiasAction extends Action { + payload: boolean; + nombre: string; +} + +export interface IVerMasDocumentosAction extends Action { + payload: boolean; + nombreDocumentos: string; +} diff --git a/src/assets/css/logo-etsii251.png b/src/assets/css/logo-etsii251.png new file mode 100644 index 0000000..a2e3c6a Binary files /dev/null and b/src/assets/css/logo-etsii251.png differ diff --git a/src/assets/css/logo-us49.png b/src/assets/css/logo-us49.png new file mode 100644 index 0000000..595734f Binary files /dev/null and b/src/assets/css/logo-us49.png differ diff --git a/src/assets/css/style.css b/src/assets/css/style.css index ded0785..9011bd8 100644 --- a/src/assets/css/style.css +++ b/src/assets/css/style.css @@ -6022,7 +6022,8 @@ body .tfc_theme.v-app .v-app-loading { } .tfc_theme tr.v-table-row:hover, .tfc_theme tr.v-table-row-odd:hover { - background-color: #edeeee; + background-color: #666dad; + color: #fff; } .tfc_theme .v-table-row, .tfc_theme .v-table-body-noselection .v-table-row:hover { diff --git a/src/assets/scss/_calendario.scss b/src/assets/scss/_calendario.scss index 95492da..ee2070f 100644 --- a/src/assets/scss/_calendario.scss +++ b/src/assets/scss/_calendario.scss @@ -21,4 +21,20 @@ .exposicion { text-align: left; width: 230px; +} + +.titulo-calendario { + color: #333333; + font-size: 15px; + padding-top: 10px; + font-weight: bold; + margin-bottom: 10px; +} + +.height-180px { + height: 180px; +} + +.header-table { + background-color: #666dad; } \ No newline at end of file diff --git a/src/assets/scss/_main.scss b/src/assets/scss/_main.scss index e172d10..485ae35 100644 --- a/src/assets/scss/_main.scss +++ b/src/assets/scss/_main.scss @@ -293,6 +293,9 @@ left: 0px; } +.margin-top--10px { + margin-top: -10px; +} .margin-top-0px { margin-top: 0px; } @@ -313,6 +316,18 @@ padding-top: 0px; } +.padding-top-10px { + padding-top: 10px; +} + +.padding-top-20px { + padding-top: 20px; +} + +.padding-top-29px { + padding-top: 29px; +} + .padding-bottom-0px { padding-bottom: 0px; } @@ -321,6 +336,10 @@ padding-left: 0px; } +.padding-left-20px { + padding-left: 20px; +} + .padding-left-430px { padding-left: 430px; } @@ -334,13 +353,18 @@ } .png1 { - top: 30px; - left: 300px; + top: 15px; + left: 350px; } .png2 { top: 15px; - left: 150px; + left: 60px; +} + +.png3 { + height: 50px; + width: 100px; } .identificar-png { @@ -356,4 +380,13 @@ .logo-etsii { width: 120px; height: 110px; +} + +.navBar-noSelected { + background-color: #eeeeee; +} + +.navBar-Selected { + border-radius: 10px; + border-color: yellow; } \ No newline at end of file diff --git a/src/assets/scss/_noticias.scss b/src/assets/scss/_noticias.scss new file mode 100644 index 0000000..46b5e96 --- /dev/null +++ b/src/assets/scss/_noticias.scss @@ -0,0 +1,66 @@ + +.cajaNoticias { + background-color: #eeeeee; + border-radius: 20px; + margin-left: 20px; + padding-right: 20px; +} + +.titulo { + color: #333333; + font-size: 20px; + padding-top: 20px; +} + +.fecha { + font-size: 15px; + color: #debd5a; + font-weight: bold; +} + +.noticia { + font-size: 15px; + color: #666dad; +} + +.padding-left-10px { + padding-left: 10px; +} + +.btn { + display: inline-block; + font-weight: 400; + color: #212529; + text-align: center; + vertical-align: middle; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-color: #666dad; + border: 1px solid transparent; + padding: 0.375rem 0.75rem; + font-size: 1rem; + line-height: 1.5; + border-radius: 0.25rem; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +.info-outline { + border-color: #666dad; + color: #1e90ff; +} + +.info-outline:hover { + border-color: #666dad; + background-color: #053D69; + color: #fff; +} + +.color-blanco { + color: #ffffff; +} + +.padding-bottom-20px { + padding-bottom: 20px; +} \ No newline at end of file diff --git a/src/assets/scss/index.scss b/src/assets/scss/index.scss index 3976c4e..edb531c 100644 --- a/src/assets/scss/index.scss +++ b/src/assets/scss/index.scss @@ -2,6 +2,7 @@ @import './main'; @import './calendario'; @import './documentos'; +@import './noticias'; body { margin: 0; diff --git a/src/components/1.html b/src/components/1.html deleted file mode 100644 index e69de29..0000000 diff --git a/src/components/Documentos.tsx b/src/components/Documentos.tsx index d5156b0..d25e2ca 100644 --- a/src/components/Documentos.tsx +++ b/src/components/Documentos.tsx @@ -60,8 +60,6 @@ class Documentos extends React.Component { -
-
Título
diff --git a/src/components/DocumentosCaja.tsx b/src/components/DocumentosCaja.tsx new file mode 100644 index 0000000..8689555 --- /dev/null +++ b/src/components/DocumentosCaja.tsx @@ -0,0 +1,146 @@ +import React from 'react'; +import '../assets/scss/index.scss'; +import '../assets/css/style.css'; + +interface IDocumentosCajaProps { + verMasDocumentos: boolean; + nombreDocumentos: string; + onVerMasDocumentosClick: (verMasDocumentos: boolean, nombreDocumentos: string) => any; +} +interface IDocumentosCajaState { + verMasDocumentos: boolean; + nombreDocumentos: string; +} + +class DocumentosCaja extends React.Component { + constructor(props: IDocumentosCajaProps) { + super(props); + this.state = { verMasDocumentos: this.props.verMasDocumentos, nombreDocumentos: this.props.nombreDocumentos } + }; + + public onVerMasDocumentosClick = () => { + this.props.onVerMasDocumentosClick(this.props.verMasDocumentos === true ? false : true, this.props.nombreDocumentos === "Ver menos" ? "Ver más" : "Ver menos"); + this.setState({ verMasDocumentos: this.props.verMasDocumentos === true ? false : true, nombreDocumentos: this.props.nombreDocumentos === "Ver menos" ? "Ver más" : "Ver menos" }); + } + + public render() { + return ( + + ); + } +} + +export default DocumentosCaja; \ No newline at end of file diff --git a/src/components/Header.tsx b/src/components/Header.tsx index dbce108..c0bc47c 100644 --- a/src/components/Header.tsx +++ b/src/components/Header.tsx @@ -2,14 +2,14 @@ import React from 'react'; import '../assets/scss/index.scss'; import '../assets/css/style.css'; import users from '../assets/css/users.png'; -import logoSevilla from '../assets/css/Universidad_Sevilla_8.png'; +import logoSevilla from '../assets/css/logo-us49.png'; import tfgAlfa from '../assets/css/TfG_alfa_3.png'; -import logoETSII from '../assets/css/logo_ETSII_3.png'; +import logoETSII from '../assets/css/logo-etsii251.png'; class Header extends React.Component { public render() { return ( -
+
@@ -20,14 +20,18 @@ class Header extends React.Component {
-
- +
- + TFG
- + + ETSII +
diff --git a/src/components/Main.tsx b/src/components/Main.tsx index c9bc996..93fcec6 100644 --- a/src/components/Main.tsx +++ b/src/components/Main.tsx @@ -52,7 +52,6 @@ class Main extends React.Component {
-
diff --git a/src/components/NavBar.tsx b/src/components/NavBar.tsx index 48d379a..03f6f76 100644 --- a/src/components/NavBar.tsx +++ b/src/components/NavBar.tsx @@ -3,7 +3,6 @@ import '../assets/scss/index.scss'; import '../assets/css/style.css'; import Noticias from '../containers/Noticias'; import Calendario from '../containers/Calendario'; -import Documentos from '../containers/Documentos'; import Propuestas from '../containers/Propuestas'; interface INavBarProps { @@ -44,59 +43,58 @@ class NavBar extends React.Component { } public render() { - console.log("this.state.cambiarTab: ", this.state.cambiarTab) return (
{this.state.cambiarTab==="Noticias" ? : } {this.state.cambiarTab==="Calendario" ? : } - {this.state.cambiarTab==="Documentos" ? : } + } */} {this.state.cambiarTab==="Propuestas" ? :
-
+
-
Noticias
+
Inicio
-
+
-
Noticias
+
Inicio
-
+
Calendario
-
+
Calendario
+ {/* {this.state.cambiarTab==="Documentos" ?
-
+
Documentos
-
+
Documentos
-
-
+
Propuestas
-
+
Propuestas
@@ -109,10 +107,11 @@ class NavBar extends React.Component {
- {this.state.cambiarTab === "Noticias" ? : this.state.cambiarTab === "Calendario" ? : this.state.cambiarTab === "Documentos" ? : } + {this.state.cambiarTab === "Noticias" ? : this.state.cambiarTab === "Calendario" ? : }
); } } -export default NavBar; \ No newline at end of file +export default NavBar; +//: this.state.cambiarTab === "Documentos" ? \ No newline at end of file diff --git a/src/components/Noticias.tsx b/src/components/Noticias.tsx index b520ca7..2fd9a60 100644 --- a/src/components/Noticias.tsx +++ b/src/components/Noticias.tsx @@ -1,7 +1,8 @@ import React from 'react'; import '../assets/scss/index.scss'; import '../assets/css/style.css'; -import TablaNoticias from './TablaNoticias'; +import NoticiasCaja from '../containers/NoticiasCaja'; +import DocumentosCaja from '../containers/DocumentosCaja'; interface INoticiasProps { cambiarTab: string; @@ -20,8 +21,10 @@ class Noticias extends React.Component { return (
- -
+
+ + +
); diff --git a/src/components/NoticiasCaja.tsx b/src/components/NoticiasCaja.tsx new file mode 100644 index 0000000..9aa77f7 --- /dev/null +++ b/src/components/NoticiasCaja.tsx @@ -0,0 +1,110 @@ +import React from 'react'; +import '../assets/scss/index.scss'; +import '../assets/css/style.css'; + +interface INoticiasCajaProps { + verMasNoticias: boolean; + nombre: string; + onVerMasNoticiasClick: (verMasNoticias: boolean, nombre: string) => any; +} +interface INoticiasCajaState { + verMasNoticias: boolean; + nombre: string; +} + +class NoticiasCaja extends React.Component { + constructor(props: INoticiasCajaProps) { + super(props); + this.state = { verMasNoticias: this.props.verMasNoticias, nombre: this.props.nombre } + }; + + public onVerMasNoticiasClick = () => { + this.props.onVerMasNoticiasClick(true, "Ver menos"); + this.setState({ verMasNoticias: true, nombre: "Ver menos" }); + } + public render() { + return ( + + ); + } +} + +export default NoticiasCaja; \ No newline at end of file diff --git a/src/components/TablaNoticias.tsx b/src/components/TablaNoticias.tsx index 9e6b4db..2ffbc84 100644 --- a/src/components/TablaNoticias.tsx +++ b/src/components/TablaNoticias.tsx @@ -32,13 +32,9 @@ class TablaNoticias extends React.Component { -
-
Fecha
-
-
Mensaje
diff --git a/src/components/TablaPrimeraConvocatoria.tsx b/src/components/TablaPrimeraConvocatoria.tsx index ce92a0e..47798c9 100644 --- a/src/components/TablaPrimeraConvocatoria.tsx +++ b/src/components/TablaPrimeraConvocatoria.tsx @@ -7,7 +7,7 @@ class TablaPrimeraConvocatoria extends React.Component { return (
-
[Curso: 2020/2021] [Convocatoria: Primera (Junio-Julio)]
+
[Curso: 2020/2021] [Convocatoria: Primera (Junio-Julio)]
@@ -15,30 +15,20 @@ class TablaPrimeraConvocatoria extends React.Component { - - - - - @@ -47,12 +37,12 @@ class TablaPrimeraConvocatoria extends React.Component {
-
-
+
+
-
-
-
Departamento
+
+
Departamento
-
-
-
Entrega Memoria
+
+
Entrega Memoria
-
-
-
Inscripción
+
+
Inscripción
-
-
-
Entrega Presentación
+
+
Entrega Presentación
-
-
-
Exposición Oral
+
+
Exposición Oral
- + diff --git a/src/components/TablaSegundaConvocatoria.tsx b/src/components/TablaSegundaConvocatoria.tsx index f226e32..6053020 100644 --- a/src/components/TablaSegundaConvocatoria.tsx +++ b/src/components/TablaSegundaConvocatoria.tsx @@ -5,9 +5,9 @@ import '../assets/css/style.css'; class TablaSegundaConvocatoria extends React.Component { public render() { return ( -
+
-
[Curso: 2020/2021] [Convocatoria: Segunda (Septiembre)]
+
[Curso: 2020/2021] [Convocatoria: Segunda (Septiembre)]
@@ -15,30 +15,20 @@ class TablaSegundaConvocatoria extends React.Component {
Ciencias de la Computación e Inteligencia Artificial
- - - - - @@ -47,14 +37,14 @@ class TablaSegundaConvocatoria extends React.Component {
-
-
+
+
-
-
-
Departamento
+
+
Departamento
-
-
-
Entrega Memoria
+
+
Entrega Memoria
-
-
-
Inscripción
+
+
Inscripción
-
-
-
Entrega Presentación
+
+
Entrega Presentación
-
-
-
Exposición Oral
+
+
Exposición Oral
-
Ciencias de la Computación e Inteligencia Artificial
+
Ciencias de la Computación e Inteligencia Artificial
08-09-2021
diff --git a/src/containers/DocumentosCaja.tsx b/src/containers/DocumentosCaja.tsx new file mode 100644 index 0000000..8b3c524 --- /dev/null +++ b/src/containers/DocumentosCaja.tsx @@ -0,0 +1,18 @@ +import { connect } from 'react-redux'; +import IGlobalState from '../state/globalState'; +import { Dispatch } from 'redux'; +import DocumentosCaja from '../components/DocumentosCaja'; +import { Actions } from '../actions/Actions'; + +const mapStateToProps = (state: IGlobalState) => ({ + verMasDocumentos: state.verMasDocumentos, + nombreDocumentos: state.nombreNoticias +}) + +const mapDispatchToProps = (dispatch: Dispatch) => ({ + onVerMasDocumentosClick: (value: boolean, nombreDocumentos: string) => { + dispatch({ type: Actions.VER_MAS_NOTICIAS, payload: value, nombreDocumentos: nombreDocumentos }) + } +}) + +export default connect(mapStateToProps, mapDispatchToProps)(DocumentosCaja); \ No newline at end of file diff --git a/src/containers/NoticiasCaja.tsx b/src/containers/NoticiasCaja.tsx new file mode 100644 index 0000000..15f3124 --- /dev/null +++ b/src/containers/NoticiasCaja.tsx @@ -0,0 +1,18 @@ +import { connect } from 'react-redux'; +import IGlobalState from '../state/globalState'; +import { Dispatch } from 'redux'; +import NoticiasCaja from '../components/NoticiasCaja'; +import { Actions } from '../actions/Actions'; + +const mapStateToProps = (state: IGlobalState) => ({ + verMasNoticias: state.verMasNoticias, + nombre: state.nombreNoticias +}) + +const mapDispatchToProps = (dispatch: Dispatch) => ({ + onVerMasNoticiasClick: (value: boolean, nombre: string) => { + dispatch({ type: Actions.VER_MAS_NOTICIAS, payload: value, nombre: nombre }) + } +}) + +export default connect(mapStateToProps, mapDispatchToProps)(NoticiasCaja); \ No newline at end of file diff --git a/src/state/globalState.ts b/src/state/globalState.ts index 34cf5a6..f03aacc 100644 --- a/src/state/globalState.ts +++ b/src/state/globalState.ts @@ -1,21 +1,17 @@ -// import Color from "color"; - interface IGlobalState { - textAreaText: string; - width: string; - height: string; - // colorBorder: Color; - sizeBorder: string; cambiarTab: string; + verMasNoticias: boolean; + nombreNoticias: string; + verMasDocumentos: boolean; + nombreDocumentos: string; } export default IGlobalState; export const initialState: IGlobalState = { - textAreaText: "Input your text", - width: "100", - height: "50", - // colorBorder: Color("#ffffff"), - sizeBorder: "1", - cambiarTab: "Noticias" + cambiarTab: "Noticias", + verMasNoticias: false, + nombreNoticias: "Ver más", + verMasDocumentos: false, + nombreDocumentos: "Ver más" } \ No newline at end of file