S04 — Tarefa: Aprimoramento do Álbum de Imagens
Visão Geral
Esta tarefa usa os conceitos apresentados nas atividades de aprendizagem para aprimorar uma tarefa anterior, incorporando o lazy loading (carregamento lento) e tornando a página da web responsiva à interação do usuário por meio da filtragem dos dados do templo exibidos.
Objetivos Adicionais de Aprendizagem do Curso
- Desenvolva páginas web responsivas que sigam as melhores práticas e usem HTML e CSS válidos.
- Demonstrar proficiência na sintaxe da linguagem JavaScript.
- Usar JavaScript para responder a eventos e modificar HTML de forma dinâmica.
- Demonstre as características de um membro eficaz da equipe, incluindo comunicação clara, colaboração, cumprimento de tarefas e cumprimento de prazos.
Tarefa
Melhore uma tarefa de página da web anterior adicionando os novos recursos necessários e usando os dados do templo fornecidos.
Instruções
- Faça uma cópia do seu arquivo templos.html e renomeie-o como "templos-filtrados.html"
- Faça uma cópia de todos os arquivos CSS e JS associados e renomeie-os adequadamente, certificando-se de que eles funcionem com seu novo arquivo HTML.
- No HTML, exclua todos os elementos HTML de figuras/imagens do templo usados na página
original (você deveria ter 9 (nove) ou mais).
Substituiremos esses números por HTML gerado dinamicamente, usando JavaScript.
- Copie o seguinte array de código chamado "templos", que
consiste em uma amostra de objetos de templos, e coloque o array em seu próprio arquivo
JavaScript.
Array de Objetos de Templos
const templos = [ { nomeDoTemplo: "Aba Nigeria", localizacao: "Aba, Nigéria", consagracao: "2005, 7 de agosto", area: 11500, urlDaImagem: "https://content.churchofjesuschrist.org/templesldsorg/bc/Temples/photo-galleries/aba-nigeria/400x250/aba-nigeria-temple-lds-273999-wallpaper.jpg" }, { nomeDoTemplo: "Manti Utah", localizacao: "Manti, Utah, Estados Unidos", consagracao: "1888, 21 de maio", area: 74792, urlDaImagem: "https://content.churchofjesuschrist.org/templesldsorg/bc/Temples/photo-galleries/manti-utah/400x250/manti-temple-768192-wallpaper.jpg" }, { nomeDoTemplo: "Payson Utah", localizacao: "Payson, Utah, Estados Unidos", consagracao: "2015, 7 de junho", area: 96630, urlDaImagem: "https://content.churchofjesuschrist.org/templesldsorg/bc/Temples/photo-galleries/payson-utah/400x225/payson-utah-temple-exterior-1416671-wallpaper.jpg" }, { nomeDoTemplo: "Yigo Guam", localizacao: "Yigo, Guam", consagracao: "2020, 2 de maio", area: 6861, urlDaImagem: "https://content.churchofjesuschrist.org/templesldsorg/bc/Temples/photo-galleries/yigo-guam/400x250/yigo_guam_temple_2.jpg" }, { nomeDoTemplo: "Washington D.C.", localizacao: "Kensington, Maryland, Estados Unidos", consagracao: "1974, 19 de novembro", area: 156558, urlDaImagem: "https://content.churchofjesuschrist.org/templesldsorg/bc/Temples/photo-galleries/washington-dc/400x250/washington_dc_temple-exterior-2.jpeg" }, { nomeDoTemplo: "Lima Peru", localizacao: "Lima, Peru", consagracao: "1986, 10 de janeiro", area: 9600, urlDaImagem: "https://content.churchofjesuschrist.org/templesldsorg/bc/Temples/photo-galleries/lima-peru/400x250/lima-peru-temple-evening-1075606-wallpaper.jpg" }, { nomeDoTemplo: "Cidade do México, México", localizacao: "Cidade do México, México", consagracao: "1983, 2 de dezembro", area: 116642, urlDaImagem: "https://content.churchofjesuschrist.org/templesldsorg/bc/Temples/photo-galleries/mexico-city-mexico/400x250/mexico-city-temple-exterior-1518361-wallpaper.jpg" }, // Adicione mais objetos de templos aqui... ];Aqui está um recurso para dados de templos: ChurchofJesusChristTemples.org - (conteúdo em inglês)
- Adicione 3 (três) ou mais objetos de templos ao seu array, certificando-se de corresponder as propriedades fornecidas com pares de chave-valor correspondentes e relevantes.
- Faça loop com o array e crie "cartões de templo", para cada templo exibindo:
- O nome do templo.
- A localização do templo.
- A data em que o templo foi consagrado.
- A área total do templo em pés quadrados.
- A imagem fornecida do templo (endereço absoluto), certificando-se de incluir um valor
altapropriado, como o nome do templo. - Use carregamento lento nativo (native lazy loading) para cada imagem de templo.
Exemplo de Captura de Tela de Design de Cartão de Templo - Responda aos itens do menu de navegação principal filtrando e exibindo os templos da seguinte maneira:
- Antigos – templos construídos antes de 1900
- Novos – templos construídos depois de 2000
- Grandes – templos maiores que 90.000 pés quadrados
- Pequenos – templos menores que 10.000 pés quadrados
- Página Inicial – exibe todos os templos armazenados no array.
Demonstração em Vídeo: ▶️ Desenvolvendo um Filtro de Array
- Como sempre, garanta que o ano dos direitos autorais no elemento
footere a data da última modificação sejam exibidos por meio de uma referência JavaScript válida.
Teste
- Sempre verifique seu trabalho renderizando a página localmente usando o Live/Five Server no VS Code.
- Use o DevTools do navegador para verificar erros de tempo de execução do JavaScript no console ou clique no ícone vermelho de erro no canto superior direito do DevTools.
- Gere o relatório do DevTools Lighthouse no navegador e execute diagnósticos de Acessibilidade, Melhores
Práticas e SEO nas visualizações de dispositivos móveis e desktop.
É melhor testar sua página em uma janela privada ou anônima do navegador ao usar o DevTools Lighthouse.
Observação: Usar referências absolutas a imagens na rede de distribuição de conteúdo da Igreja pode levar a alguns problemas de desempenho menos favoráveis. Você pode ignorar isso ou prosseguir e criar cópias locais de imagens de templos otimizadas. Lembre-se dos direitos autorais.
Auditoria e Envio
- Confirme (commit) em seu repositório local e envie (push), ou carregue, seu trabalho para seu repositório
wdd131habilitado para GitHub Pages no GitHub. - Use esta ☑️ ferramenta de auditoria para verificar padrões e requisitos básicos de HTML e CSS.
- Compartilhe seu trabalho publicando seu URL no fórum semanal do curso no Microsoft Teams e comente o trabalho de seus colegas dando feedback construtivo.
- Volte ao Canvas e envie seu URL habilitado para o GitHub Pages. Exemplo:
https://seu-nome-de-usuario-do-github.github.io/wdd131/templos-filtrados.html