Skip to content

Instantly share code, notes, and snippets.

View danilowoz's full-sized avatar

Danilo Woznica danilowoz

View GitHub Profile
mport { Sandpack } from "@codesandbox/sandpack-react";
const App = () => {
const files = {}
return (
<SandpackProvider
files={files}
theme="light"
template="static"
@danilowoz
danilowoz / react-native-gotchas.md
Last active February 23, 2021 14:22
React Native gotchas

Android gotchas

This document aims to list some "gotchas" in Android development using React Native, or in other words, common problems that a developer might face during the development of Android views and how to solve it.

Shadows

Following the React Native documentation, to set a shadow in an element it needs the following properties: shadowColor, shadowOffset, shadowOpacity and shadowRadius. However, on Android, it needs to use the elevation view style prop from react-native to add shadows, which will also affects the z-index value.

{
  // iOS
 shadowColor: "#000",
[...new Set(Array.from(document.querySelectorAll("[class]")).flatMap(e => Array.from(e.classList)))]
query blogPosts {
allMarkdownRemark(sort: { fields: [frontmatter___date], order: DESC }) {
edges {
node {
frontmatter {
title
category
date
}
html
@danilowoz
danilowoz / 4.1-blog-post.js
Created April 28, 2019 20:02
Next and prev post
const BlogPost = ({ data, pageContext }) => {
const { markdownRemark } = data
const { prev, next } = pageContext
return (
<>
...
{prev && (
<Link to={prev.node.fields.slug}>
@danilowoz
danilowoz / 4-gatsby-node.js
Created April 28, 2019 20:01
Next and prev post
posts.forEach((post, index, arr) => {
post.node.frontmatter.category.forEach(cat => categories.push(cat))
const prev = arr[index - 1]
const next = arr[index + 1]
createPage({
path: post.node.fields.slug,
component: blogLayout,
context: {
import React from "react"
import kebabCase from "lodash.kebabcase"
import { graphql, Link } from "gatsby"
const BlogCategory = ({ data, pageContext }) => {
const { allMarkdownRemark } = data
return (
<>
<h1>Categories:</h1>
@danilowoz
danilowoz / 3.4-gatsby-node.js
Created April 28, 2019 19:57
Getting the categories
const kebabCase = require(`lodash.kebabcase`)
const allCategories = Object.keys(countCategories)
allCategories.forEach((cat, i) => {
const link = `/blog/category/${kebabCase(cat)}`
Array.from({
length: Math.ceil(countCategories[cat] / postsPerPage),
}).forEach((_, i) => {
@danilowoz
danilowoz / 3.3-gatsby-node.js
Created April 28, 2019 19:51
Getting the categories
const countCategories = categories.reduce((prev, curr) => {
prev[curr] = (prev[curr] || 0) + 1
return prev
}, {})
@danilowoz
danilowoz / 3.2-gatsby-node.js
Created April 28, 2019 19:49
Getting the categories
const categories = []
posts.forEach((post, index) => {
post.node.frontmatter.category.forEach(cat => categories.push(cat))
createPage({
path: post.node.fields.slug,
component: blogLayout,
context: {
slug: post.node.fields.slug,