- Web Wormhole https://webwormhole.io/ https://github.com/saljam/webwormhole
- ToffeeShare https://toffeeshare.com/
- FilePizza https://file.pizza/
ShareDrop sharedrop.io https://github.com/szimek/sharedrop(SOLD, not recommended, use one of the forks)A clone SnapDrop snapdrop.net https://github.com/RobinLinus/snapdrop(SOLD, not recommended, use one of the forks)- A fork PairDrop https://pairdrop.net/ https://github.com/schlagmichdoch/pairdrop
- Instant.io https://instant.io/
- FileTC https://file.tc/
@file:OptIn(ExperimentalMaterial3Api::class, ExperimentalFoundationApi::class) | |
package de.kuno.listsections | |
import android.os.Bundle | |
import androidx.activity.ComponentActivity | |
import androidx.activity.compose.setContent | |
import androidx.compose.animation.core.animateDpAsState | |
import androidx.compose.animation.core.animateRectAsState | |
import androidx.compose.foundation.ExperimentalFoundationApi |
package chachako.ui | |
import androidx.compose.animation.AnimatedContent | |
import androidx.compose.animation.ContentTransform | |
import androidx.compose.animation.SizeTransform | |
import androidx.compose.animation.core.CubicBezierEasing | |
import androidx.compose.animation.core.EaseInOutQuad | |
import androidx.compose.animation.core.Spring | |
import androidx.compose.animation.core.VisibilityThreshold | |
import androidx.compose.animation.core.spring |
@Stable | |
fun Modifier.drawHorizontalFadingEdges( | |
target: Color = Color.White, | |
width: Dp = 10.dp, | |
scrollState: ScrollableState, | |
) = | |
if (!scrollState.canScrollForward && !scrollState.canScrollBackward) this | |
else drawWithCache { | |
val gradientWidth = width.toPx() |
#!/bin/zsh | |
function get_devices() { | |
all_devices=$(command adb devices) | |
# Drop the title | |
all_devices=${all_devices#"List of devices attached"} | |
# Drop any unauthorised devices (i.e. USB debugging disabled or authorisations revoked) | |
valid_devices=$(echo $all_devices | grep -v "([[:alnum:]-]+[[:space:]]+unauthorized$)" | grep -oE "([[:alnum:]-]+[[:space:]]+device$)") |
Made this example to show how to use Next.js router for a 100% SPA (no JS server) app.
You use Next.js router like normally, but don't define getStaticProps
and such. Instead you do client-only fetching with swr
, react-query
, or similar methods.
You can generate HTML fallback for the page if there's something meaningful to show before you "know" the params. (Remember, HTML is static, so it can't respond to dynamic query. But it can be different per route.)
Don't like Next? Here's how to do the same in Gatsby.
/* | |
* Copyright (C) 2022 The Android Open Source Project | |
* | |
* Licensed under the Apache License, Version 2.0 (the "License"); | |
* you may not use this file except in compliance with the License. | |
* You may obtain a copy of the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, software |
import android.os.Bundle | |
import android.os.IBinder | |
import android.os.Parcelable | |
import android.util.Size | |
import android.util.SizeF | |
import android.util.SparseArray | |
import kotlinx.parcelize.Parcelize | |
import java.io.Serializable | |
inline fun bundleOf(block: BundleBuilder.() -> Unit): Bundle { |
import androidx.compose.animation.core.* | |
import androidx.compose.foundation.background | |
import androidx.compose.foundation.layout.* | |
import androidx.compose.foundation.shape.CircleShape | |
import androidx.compose.material.MaterialTheme | |
import androidx.compose.material.Text | |
import androidx.compose.runtime.Composable | |
import androidx.compose.runtime.getValue | |
import androidx.compose.ui.Alignment | |
import androidx.compose.ui.Modifier |
1- Go to: https://www.facebook.com/{your_id_or_username}/allactivity/?category_key=LIKEDPOSTS&filter_hidden=ALL&filter_privacy=NONE
You can use Filter to choose year or month.
2- Open the console and run the following JavaScript code and wait:
setInterval(() => { for (const Button of document.querySelectorAll('div[aria-label="Action options"]')) { Button.click() document.querySelector('div[role="menuitem"]').click() } }, 1000)