Skip to content

Commit

Permalink
botón cargar más añadido en publicaciones y footers rotos arreglados
Browse files Browse the repository at this point in the history
  • Loading branch information
sleepndraw committed Apr 23, 2024
1 parent 3b6a85f commit 50c072d
Show file tree
Hide file tree
Showing 4 changed files with 178 additions and 120 deletions.
50 changes: 25 additions & 25 deletions app/main.scss
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,7 @@ footer {
}

.home {
margin: 0 8rem 0 17rem;
// margin: 0 8rem 0 17rem;

a {
&:hover {
Expand Down Expand Up @@ -400,30 +400,30 @@ footer {
}


/* PARALAX */
.parallax {
perspective: 2px;
height: 100vh;
overflow-x: hidden;
overflow-y: auto;
}

.parallax__layer {
position: absolute;
top: 100px;
right: 0;
bottom: 0;
left: 0;
}

.parallax__layer--base {
transform: translateZ(0);
}

.parallax__layer--back {
transform: translateZ(-1px);
z-index: -1;
}
// /* PARALAX */
// .parallax {
// perspective: 2px;
// height: 100vh;
// overflow-x: hidden;
// overflow-y: auto;
// }

// .parallax__layer {
// position: absolute;
// top: 100px;
// right: 0;
// bottom: 0;
// left: 0;
// }

// .parallax__layer--base {
// transform: translateZ(0);
// }

// .parallax__layer--back {
// transform: translateZ(-1px);
// z-index: -1;
// }


/* ==========================================================================
Expand Down
12 changes: 4 additions & 8 deletions app/page.js
Original file line number Diff line number Diff line change
Expand Up @@ -102,18 +102,14 @@ export default function Home() {
</section>
</div>
</section>
<Footer />

</main>
<Footer />

<div className="parallax__layer parallax__layer--back">
<div className="background">
<div className="triangle"></div>
<div className="circle"></div>
<div className="rectangle"></div>
</div>
</div>
</div>
</div>

</div>

);
}
218 changes: 135 additions & 83 deletions app/research/page.js
Original file line number Diff line number Diff line change
@@ -1,96 +1,148 @@
"use client"
"use client";

import { useEffect, useState } from "react";
import Header from "@/components/Header";
import Footer from "@/components/Footer";
import Filters from "@/components/Filters";
import Link from 'next/link';
import { mypublications } from '@/constants/publications';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import {faArrowUpRightFromSquare} from '@fortawesome/free-solid-svg-icons';

import Link from "next/link";
import { mypublications } from "@/constants/publications";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { faArrowUpRightFromSquare } from "@fortawesome/free-solid-svg-icons";

export default function Research() {
const [state, setState] = useState({papers: mypublications, search: "", year: undefined, type: undefined});

useEffect(() => {
window.scrollTo(0,0);
}, []);
const [state, setState] = useState({
papers: mypublications,
search: "",
year: undefined,
type: undefined,
papersToShow: 6, // Number of papers to show initially
});

useEffect(() => {
window.scrollTo(0, 0);
}, []);

const {papers, search, year, type } = state;
const { papers, search, year, type, papersToShow } = state;

let papersFiltered = null;

papersFiltered=papers.filter(paper => {
return (!search || search.toLowerCase()
.replace(new RegExp(/\s/g),"")
.replace(new RegExp(/[àáâãäå]/g),"a")
.replace(new RegExp(/æ/g),"ae")
.replace(new RegExp(/ç/g),"c")
.replace(new RegExp(/[èéêë]/g),"e")
.replace(new RegExp(/[ìíîï]/g),"i")
.replace(new RegExp(/ñ/g),"n")
.replace(new RegExp(/[òóôõö]/g),"o")
.replace(new RegExp(/œ/g),"oe")
.replace(new RegExp(/[ùúûü]/g),"u")
.replace(new RegExp(/[ýÿ]/g),"y")
.replace(new RegExp(/\W/g),"")
.split(" ").every(item => paper.content.toLowerCase()
.replace(new RegExp(/\s/g),"")
.replace(new RegExp(/[àáâãäå]/g),"a")
.replace(new RegExp(/æ/g),"ae")
.replace(new RegExp(/ç/g),"c")
.replace(new RegExp(/[èéêë]/g),"e")
.replace(new RegExp(/[ìíîï]/g),"i")
.replace(new RegExp(/ñ/g),"n")
.replace(new RegExp(/[òóôõö]/g),"o")
.replace(new RegExp(/œ/g),"oe")
.replace(new RegExp(/[ùúûü]/g),"u")
.replace(new RegExp(/[ýÿ]/g),"y")
.replace(new RegExp(/\W/g),"")
.includes(item)))
&& (!year || (paper.date && paper.date[0] && paper.date[0].toString() === year))
&& (!type || (paper.type && paper.type === type));
});

let papersFiltered = null;

papersFiltered = papers.filter((paper) => {
return (
(!search ||
search
.toLowerCase()
.replace(new RegExp(/\s/g), "")
.replace(new RegExp(/[àáâãäå]/g), "a")
.replace(new RegExp(/æ/g), "ae")
.replace(new RegExp(/ç/g), "c")
.replace(new RegExp(/[èéêë]/g), "e")
.replace(new RegExp(/[ìíîï]/g), "i")
.replace(new RegExp(/ñ/g), "n")
.replace(new RegExp(/[òóôõö]/g), "o")
.replace(new RegExp(/œ/g), "oe")
.replace(new RegExp(/[ùúûü]/g), "u")
.replace(new RegExp(/[ýÿ]/g), "y")
.replace(new RegExp(/\W/g), "")
.split(" ")
.every((item) =>
paper.content
.toLowerCase()
.replace(new RegExp(/\s/g), "")
.replace(new RegExp(/[àáâãäå]/g), "a")
.replace(new RegExp(/æ/g), "ae")
.replace(new RegExp(/ç/g), "c")
.replace(new RegExp(/[èéêë]/g), "e")
.replace(new RegExp(/[ìíîï]/g), "i")
.replace(new RegExp(/ñ/g), "n")
.replace(new RegExp(/[òóôõö]/g), "o")
.replace(new RegExp(/œ/g), "oe")
.replace(new RegExp(/[ùúûü]/g), "u")
.replace(new RegExp(/[ýÿ]/g), "y")
.replace(new RegExp(/\W/g), "")
.includes(item)
)) &&
(!year ||
(paper.date && paper.date[0] && paper.date[0].toString() === year)) &&
(!type || (paper.type && paper.type === type))
);
});

return (
<div className="research">
<Header route={"/research"}/>
<main>
<div className='banner'><h1>Publications</h1></div>
<section className="research">
<Filters search = {search} year={year} type={type} papers={papers} changeSearch={search=>setState({...state, search: search})} changeYear={year=>setState({...state, year: year})} changeType={type=>setState({...state, type: type})} results={papersFiltered instanceof Array ? papersFiltered.length : 0}/>
<div className="papers">
{
papersFiltered.map(({date,doi,content},ind)=>{
return (
<div key={ind} className="paper">
<div className="paper_date">
<h5 className="year">{date ? date[0] : ""}</h5>
</div>
const handleLoadMore = () => {
setState((prevState) => ({
...prevState,
papersToShow: prevState.papersToShow + 3,
}));
};

<div className="paper_main">

<div className="paper_content">
<div className="paper_title">
<h2 ></h2>
</div>
<div dangerouslySetInnerHTML={{__html: content}} className="paper_subtitle"></div>
<div className="links"><a rel="noopener noreferrer" target="_blank" href={doi}> <p>Read publication </p><FontAwesomeIcon icon={faArrowUpRightFromSquare} /> </a></div>
</div>

</div>
</div>
);
})
}
</div>
</section>
</main>
<Footer/>
</div>
)
return (
<div className="research_container">
<div className="research">
<Header route={"/research"} />
<main>
<div className="banner">
<h1>Publications</h1>
</div>
<section className="research">
<Filters
search={search}
year={year}
type={type}
papers={papers}
changeSearch={(search) => setState({ ...state, search: search })}
changeYear={(year) => setState({ ...state, year: year })}
changeType={(type) => setState({ ...state, type: type })}
results={
papersFiltered instanceof Array ? papersFiltered.length : 0
}
/>
<div className="papers">
{papersFiltered
.slice(0, papersToShow)
.map(({ date, doi, content }, ind) => {
return (
<div key={ind} className="paper">
<div className="paper_date">
<h5 className="year">{date ? date[0] : ""}</h5>
</div>

}
<div className="paper_main">
<div className="paper_content">
<div className="paper_title">
<h2></h2>
</div>
<div
dangerouslySetInnerHTML={{ __html: content }}
className="paper_subtitle"
></div>
<div className="links">
<a
rel="noopener noreferrer"
target="_blank"
href={doi}
>
{" "}
<p>Read publication </p>
<FontAwesomeIcon
icon={faArrowUpRightFromSquare}
/>{" "}
</a>
</div>
</div>
</div>
</div>
);
})}
</div>
<div className="load_more">
{papersFiltered.length > papersToShow && (
<button onClick={handleLoadMore}>Load More</button>
)}
</div>
</section>
</main>

</div>
<Footer />
</div>
);
}
18 changes: 14 additions & 4 deletions app/sass/main.scss
Original file line number Diff line number Diff line change
Expand Up @@ -706,7 +706,8 @@ main {

main {
padding: 5rem 0 0 0;
margin: 8rem 4rem 0 4rem;
// margin: 8rem 4rem 0 4rem;
margin-bottom: $spacing_lg;
}

.nav_bar {
Expand Down Expand Up @@ -838,18 +839,26 @@ main {
========================================================================== */
.research {
padding-top: 20 rem;
padding-bottom: $spacing_lg;

main {
display: flex;
flex-direction: column;
padding-left: $spacing_sm;
padding-right: $spacing_sm;
padding-right: $spacing_sm;
}

section {
gap: $spacing_md;
padding-top: $spacing_lg;

.load_more {
padding-top: $spacing_lg;
padding-bottom: $spacing_xl;
display: flex;
justify-content: center;
}

// gap: 2rem;
.filters {
text-align: right;
Expand All @@ -868,7 +877,8 @@ main {
padding: 5px;
font-size: 1.3rem;
margin-right: 1rem;
option{

option {
background-color: white;
border: none;
}
Expand All @@ -881,7 +891,7 @@ main {
margin-right: 3rem;
background-color: transparent;
font-family: $montserrat;
color:$blue_primary;
color: $blue_primary;
}

label {
Expand Down

0 comments on commit 50c072d

Please sign in to comment.