Skip to content

edilanesilva/Secao-comentarios-interativos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Seção de comentários interativos

Índice

Visão geral

O desafio

Os usuários devem ser capazes de:

  • Veja o layout ideal para o aplicativo, dependendo do tamanho da tela do dispositivo
  • LocalStorage para salvar o estado atual no navegador que persiste quando o navegador é atualizado.
  • Criar, ler, atualizar e excluir comentários

Captura de tela

Links

Meu processo

Construído com

  • Marcação HTML5 semântica
  • CSS
  • Flexbox
  • Grid
  • javaScript vanilla

O que eu aprendi

Html - > A tag template por default mantém o conteúdo oculto

<template> Olá </template>

Envia conteúdo para armazenamento da pagina e exibe ao carregar

  document.addEventListener ("DOMContentLoaded", function () {
	if (!localStorage.getItem("dados")) {
		localStorage.setItem("dados", JSON.stringify(data));
	}})

Metodo cloneNode -> clona toda a subarvore, incluindo nós filhos e assim adicionar o conteudo do objeto

	var commentNode = template.content.cloneNode(true);
	commentNode.querySelector(".usr-name").textContent = element.user.username;

Desconstruindo o objeto e inserindo o valor digitado no content

return { ...commentData, content: element.value };

Gera um id dinâmico

function uuid() {
		// Retorna um número randômico entre 0 e 15.
		function randomDigit() {
			// Se o browser tiver suporte às bibliotecas de criptografia, utilize-as;
			if (crypto && crypto.getRandomValues) {
				// Cria um array contendo 1 byte:
				var rands = new Uint8Array(1);

				// Popula o array com valores randômicos
				crypto.getRandomValues(rands);

				// Retorna o módulo 16 do único valor presente (%16) em formato hexadecimal
				return (rands[0] % 16).toString(16);
			} else {
				// Caso não, utilize random(), que pode ocasionar em colisões (mesmos valores
				// gerados mais frequentemente):
				return ((Math.random() * 16) | 0).toString(16);
			}
		}

Desenvolvimento contínuo

Explorar o JSON

Referências

Autor

Edilane Silva

About

Secão de comentarios interativos

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published