Skip to content

Instantly share code, notes, and snippets.

View NeverwinterMoon's full-sized avatar
💭
Hacking at SwiftUI

Pavel Sorokin NeverwinterMoon

💭
Hacking at SwiftUI
View GitHub Profile
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<script src="https://pay.every-pay.eu/google_pay/google-pay-client-1.4.js"></script>
</head>
<body>
<div id="google-pay-container">
<script>
// Initialize the Web SDK
@NeverwinterMoon
NeverwinterMoon / PHImageManager-requestImage-async.swift
Created June 17, 2023 15:25 — forked from sindresorhus/PHImageManager-requestImage-async.swift
How to use `PHImageManager#requestImage` with async/await in Swift.
import Photos
struct UnexpectedNilError: Error {}
extension PHImageManager {
func requestImage(
for asset: PHAsset,
targetSize: CGSize,
contentMode: PHImageContentMode,
options: PHImageRequestOptions?
//
// ContentView.swift
// LikeThumbUp
//
// Created by Amos Gyamfi on 14.8.2020.
//
import SwiftUI
struct ContentView: View {
@NeverwinterMoon
NeverwinterMoon / google-firebase-functions-list-available-executables.js
Created February 8, 2021 06:18 — forked from olange/google-firebase-functions-list-available-executables.js
List of executables available in Firebase Cloud Functions Node.js runtime
/**
* List of executables in Cloud Functions runtime.
* Invoke with https://us-central1-‹project-name›.cloudfunctions.net/ls
*/
const functions = require( "firebase-functions");
const spawn = require( "child-process-promise").spawn;
const ls = (req, res) => {
console.log( "Listing contents of /usr/[local/][s]bin");
return spawn( "ls",
@NeverwinterMoon
NeverwinterMoon / LinkedText.swift
Created October 28, 2020 13:43 — forked from mjm/LinkedText.swift
Tappable links in SwiftUI Text view
import SwiftUI
private let linkDetector = try! NSDataDetector(types: NSTextCheckingResult.CheckingType.link.rawValue)
struct LinkColoredText: View {
enum Component {
case text(String)
case link(String, URL)
}
import SwiftUI
import PlaygroundSupport
/// `InlineModifier` helps you apply a view modifier in a inline block.
public struct InlineModifier<R: View>: ViewModifier {
private let block: (Content) -> R
public init(@ViewBuilder _ block: @escaping (Content) -> R) {
@NeverwinterMoon
NeverwinterMoon / rounded_uiimage.swift
Created May 4, 2020 06:35 — forked from brownsoo/rounded_uiimage.swift
Cut UIImage with rounded rectangle or circle
public extension UIImage {
func round(_ radius: CGFloat) -> UIImage {
let rect = CGRect(x: 0, y: 0, width: size.width, height: size.height)
let renderer = UIGraphicsImageRenderer(size: rect.size)
let result = renderer.image { c in
let rounded = UIBezierPath(roundedRect: rect, cornerRadius: radius)
rounded.addClip()
if let cgImage = self.cgImage {
UIImage(cgImage: cgImage, scale: self.scale, orientation: self.imageOrientation).draw(in: rect)
}
@NeverwinterMoon
NeverwinterMoon / convert.swift
Created March 26, 2020 07:21 — forked from SatoTakeshiX/convert.swift
Take capture a view by SwiftUI
//
// ContentView.swift
// TryGeometryReader
//
// Created by satoutakeshi on 2019/12/07.
// Copyright © 2019 satoutakeshi. All rights reserved.
//
import SwiftUI

1. Clone your fork:

git clone git@github.com:YOUR-USERNAME/YOUR-FORKED-REPO.git

2. Add remote from original repository in your forked repository:

cd into/cloned/fork-repo
git remote add upstream git://github.com/ORIGINAL-DEV-USERNAME/REPO-YOU-FORKED-FROM.git
git fetch upstream
@NeverwinterMoon
NeverwinterMoon / Binding+didSet.swift
Created December 19, 2019 08:44 — forked from Amzd/Binding+didSet.swift
SwiftUI Binding wrappers for willSet and didSet
extension Binding {
/// Wrapper to listen to didSet of Binding
func didSet(_ didSet: @escaping ((newValue: Value, oldValue: Value)) -> Void) -> Binding<Value> {
return .init(get: { self.wrappedValue }, set: { newValue in
let oldValue = self.wrappedValue
self.wrappedValue = newValue
didSet((newValue, oldValue))
})
}