soujvnunes / virtual-exhibition Goto Github PK
View Code? Open in Web Editor NEWPromotion website for UFAL's anniversary campaigns powered with Vite/React/Typescript/Tailwind CSS.
Home Page: https://sites.ufal.br/ufal-60-anos/
Promotion website for UFAL's anniversary campaigns powered with Vite/React/Typescript/Tailwind CSS.
Home Page: https://sites.ufal.br/ufal-60-anos/
Set only dark theme
Set GalleryItem image on background's modal and not as element
Add those two props:
For icon as a Button child with no text:
Add Blur to it so user can focus only on modal content. Add in the item itself on hover.
When user changes the document data theme every element that uses color or size, should transit.
Following the prototype: the hero section title must have wrap the rapport SIV
Feed the component and other who needs its data with context.
Follow prototype. After-scroll animatio not required yet.
What is for intro create Intro component and throw its data there;
Keep decade context on Hero itself;
Should have an animation to improve UX.
Move all photos to /asset
Follow the prototype and add this variation.
Header, Content and Footer must be on a parallel component (Container) to be controlled by the image group one scroll event.
Based on prototype
Can't receive automatically. After user specify the component [name]
, then, based on this, the ID or anything else that's depending on that is received.
Check on all available main devices the responsivity of the elements
Follow the prototype: for mobile and desktop viewport
Use material design icon.
It should be fragmented into new components.
Create a functional-atom typography component based on project's prototype.
Must have/provide:
This component has to be extended from Font
atom component.
Typography
exported from /src/atoms
;variant={title|paragraph|label}
;[href]
prop to handle link: href="/"
;title
starts and ends at 40 and 72 pts., respect., for mobile and desktop development with 56 pts. for medium devices;paragraph
and label
starts and ends at 16 pts.;caption
starts and ends at 12 pts.;title
and label
uses the Georgia serif family type as main;paragraph
and caption
uses the Lucida Sans Unicode sans-serif family type as base;size={large|medium|small}
:large
increases in 25% the variant base size;small
decreases in 25% the variant base size;<h2 />
;<p />
;<label />
;color={main|reading|base|disabled}
;weight={lighter|normal|bolder}
;Should render htmlFor (for) if "label" [variant] is present at Typography within Button
Move from body to html and move its existent custom properties to [data-theme] one.
Review and fix it.
By time-demand (deadline @ 2021/01/15), the requires a components framework to be done immediately.
Use gallery
object global state as prop and them set it as a dependency array from Gallery useEffect()
. So, reset the slice in there.
the custom useTheme()
hook its not removing the [data-theme]
dataset from the document element (HTML) when and after app unmounts.
HeroScroll
Hero
innerHeight
.Following the prototype, the explore nav button should disappear and then shown the decades buttons for user navigate between them.
body {}
on index.css to src/app/
, rename to .root [}
and import as css module { root }
and use as app wrapper;:root {}
on index.css;Check prototype and apply what is necessary.
All css custom properties variables related to palette colors as primary or secondary should be handled by the [data-theme]
theme dataset defined on the HTML.
As HTML (so the entire document) theme styles are defined by the [data-theme]
attr with "dark" or "light" values, should add that attr before the app component mounts.
Move:
Has to group into each [variant]
value.
The first image should be on Hero section background
App stylesheet is rerendering unnecessarily, because context is being used incorrectly.
Create a unique context for all global states and do not use useState
, but useReducer
. Do move all states for a reducer state and use it directly on context provider values (do not desctructure as well).
Where the gallery item photo hovered should be shown
Move type styles from .root
app to Typography.
Add previous, exit and next buttons at the bottom of its modal.
Create a functional-atom typography component based on project's prototype.
Must have/provide:
Font
exported from /src/atoms
;[component]
prop: component={h1|h2|h3|h4|h5|h6|p|label|span|legend}
;[weight]
prop: variant={lighter|normal|bolder}
;[href]
prop: href="/"
;p
, label
, span
and legend
) has to follow its own size according of viewport display described on the guidelines;label
uses the Georgia serif family type as main;p
, span
and legend
uses the Lucida Sans Unicode sans-serif family type as base;size={large|medium|small}
:large
increases in 25% the variant base size;medium
uses the own base size;small
decreases in 25% the variant base size;color={main|reading|base|disabled}
;<Container />
for columns wrapper;[clone]
to control childrens;[component]
to handle DOM component rendering;<Col />
for components wrapper;[clone]
to control childrens;[span]
should provide a base width multiplied by span amount plus the gap multiplied by its amout in between. i.e.: <Col span={2} />
renders a 48 px (20px * 2 + 8px * 1)Do move:
classes={{ ... }}
for material ui components, instead of className={}
(for build-in);Should appear only at or above the screen Y value.
character
to match
the parameter from the unammed replace() function on toKebabCase
Should logo, with its respective context usages, favicon and plain html data be updated.
[--background]
to [--background-color]
;[--transition]
with 300ms cubic-bezier(0.3, 0.6, 0.6, 0.3)
value to handle animation.Create SectionBackgroundContext to avoid props drilling.
[classNames] shoudn't be a property but a object itself at [className] from Button and Typography
I.e.: when user clicks on 1960 the background should be settled with the first image available.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.