De volta à terra firme. Leve seu blog do dia para noite, sem precisar de ilhas!
Agora que você pode construir ilhas Astro para elementos interativos, não se esqueça de que você pode ir bem longe com apenas JavaScript puro e CSS!
Vamos construir um ícone clicável para permitir usuários alternarem entre um modo claro ou escuro utilizando outra tag <script>
para interatividade… com nenhum framework JavaScript enviado ao navegador.
Se prepare para...
- Construir um toggle de tema com apenas JavaScript e CSS
- Enviar a menor quantidade de JavaScript possível ao navegador!
Adicione e estilize um ícone de toggle de tema
Seção intitulada Adicione e estilize um ícone de toggle de tema-
Crie um novo arquivo em
src/components/ThemeIcon.astro
e cole o seguinte código nele: -
Adicione o ícone em
Header.astro
para que ele seja mostrado em todas as páginas. Não se esqueça de importar o componente. -
Visite a sua pré-visualização do navegador em
http://localhost:4321
para ver o ícone em todas as suas páginas agora. Você pode tentar clicá-lo, mas você ainda não escreveu um script para fazê-lo interativo.
Adicione estilos CSS para um tema escuro
Seção intitulada Adicione estilos CSS para um tema escuroAdicione algumas cores alternativas para utilizar no modo escuro.
-
Em
global.css
, defina alguns estilos escuros. Você pode escolher seus próprios, ou copiar e colar:
Adicione interatividade no lado do cliente
Seção intitulada Adicione interatividade no lado do clientePara adicionar interatividade para um componente Astro, você pode utilizar uma tag <script>
. Esse script pode verificar e definir o tema atual de localStorage
e alternar o tema quando o ícone é clicado.
-
Adicione a seguinte tag
<script>
emsrc/components/ThemeIcon.astro
após sua tag<style>
: -
Verifique sua pré-visualização do navegador em
http://localhost:4321
e clique no ícone de tema. Verifique que você pode mudar entre os modos claro e escuro.
Teste seu conhecimento
Seção intitulada Teste seu conhecimentoEscolha se cada uma das afirmações a seguir descreve tags <script>
do Astro, componentes de frameworks de UI, ou ambos.
-
Eles te permitem incluir elementos de UI interativos no seu website.
-
Eles irão criar elementos estáticos no seu site a não ser que você inclua
client:
para enviar seu JavaScript para o cliente e executá-lo no navegador. -
Eles te permitem “testar” um novo framework sem precisar iniciar um projeto completamente novo utilizando seu conjunto de tecnologias.
-
Eles te permitem reutilizar código que você escreveu em outros frameworks e você pode frequentemente só colocá-los diretamente no seu site.
-
Eles te permitem adicionar interatividade sem precisar conhecer ou aprender qualquer outro framework JavaScript.