Code Monkey home page Code Monkey logo

onboardingkit's Introduction

OnboardingKit

Swift Package Manager GitHub stars GitHub forks GitHub contributors Pull Requests Badge Issues Badge

Description

OnboardingKit is a SwiftUI library for handling onboarding.


Requirements

  • iOS: 17.0 or later.
  • macOS: 14.0 or later.

Installation

You can install OnboardingKit using the Swift Package Manager.

  1. In Xcode, select "File" > "Add Package Dependencies".
  2. Copy & paste the following into the "Search or Enter Package URL" search bar.
https://github.com/JamesSedlacek/OnboardingKit.git
  1. Xcode will fetch the repository & the "OnboardingKit" library will be added to your project.

Usage

  1. Create an Onboarding Configuration.
import OnboardingKit
import SwiftUI

extension OnboardingConfiguration {
    static let prod = Self.init(privacyUrlString: "",
                                accentColor: .green,
                                features: [])
}

  1. Add .showOnboardingIfNeeded() to the root view in your project.
import OnboardingKit
import SwiftUI

@main
struct ExampleApp: App {
    var body: some Scene {
        ContentView()
            .showOnboardingIfNeeded(using: .prod)
    }
}

Author

James Sedlacek, find me on X/Twitter or LinkedIn

onboardingkit's People

Contributors

jamessedlacek avatar devcros4 avatar

Stargazers

mdewar avatar Hades_Dev avatar liujun avatar  avatar Sintone avatar Sahil Chaddha avatar  avatar SoloX avatar oBlank avatar Rashid Almheiri avatar Hackcraft_ avatar  avatar とんとんぼ avatar AbnerPei avatar Joseph avatar NH avatar Brian Nguyen avatar Inu John avatar  avatar Matthew Wareing avatar Ayodeji O. avatar Miguel Piedrafita avatar Aliou Diallo avatar Peter Salz avatar Muhammad Umer avatar Onur GOKCE avatar Tao Wei avatar Aimeric avatar Jesus Guerra avatar Yogish M avatar Soohwan Kim avatar Mert Ali avatar Adem Özcan avatar Jinyu Meng avatar Eude Kinsley Lesperance avatar iMusic avatar Alex Sereno avatar Barış Dilekçi avatar Karl avatar Prathamesh Sonawane avatar Suhit Patil avatar Kyle Kelley avatar Peter Forward avatar nsobserver avatar Paolo Prodossimo Lopes avatar Indrajit Chakrabarty avatar Janak Nirmal avatar  avatar  avatar  avatar Abdelrahman Shehab Eldien avatar  avatar Xiangdong Chen avatar ben hernes avatar  avatar Narcis avatar  avatar jinhu avatar  avatar David Dahl avatar Philippe Tchinda avatar  avatar Abdullah Karaboğa avatar Mischa van der Bent avatar Ümit avatar Jon Toussaint avatar Ibrahim Abdullah avatar Ammad avatar Nav avatar Muescha avatar Timo avatar Kevin Kohut avatar Daniel Nguyen avatar Ben Gohlke avatar Mario Saputra avatar Arturo Diaz avatar Thais Rodríguez Coso avatar ???????? avatar GSK FS avatar Vinicius Pimenta avatar Sean Robinson avatar Armin Shalchian avatar Jorge Perales avatar Kyeongmo(Kyle) Yang avatar Dayeon Moon avatar x_0o0 avatar Daniel Choroszucha avatar Akse1588 avatar Bruno Valente avatar Shantanu Roy avatar Sandro Wehrhahn avatar Josef Král avatar Ivan Fomenko avatar Jay Wilson avatar Bhavin Patel avatar Makwan Barzan avatar 辞不渡孤 avatar XiaoDong avatar Moses Nandi avatar Arturo Lee avatar

Watchers

 avatar Peter Salz avatar  avatar

onboardingkit's Issues

Lower OS support

This would require making another OnboardingProvider that uses ObservableObject instead of @Observable.

We would also need to remove the Observable from the protocol.

I would prefer to keep the current solution for apps using the latest OS.

showOnboardingIfNeeded for custom onboarding flows

I want to give people the ability to use their own custom onboarding flow with the view modifier.

import OnboardingKit
import SwiftUI

@main
struct ExampleApp: App {
    var body: some Scene {
        ContentView()
            .showOnboardingIfNeeded {
                CustomOnboardingFlow()
            }
    }
}

OnboardingKit Icon

OnboardingKit's Icon

Icons are pretty nice, and I don't see why OnboardingKit shouldn't get one!


My Idea was to create an icon that shows the very basics of the framework. The app logo, and some features. You could probably even tint this icon to make it the right color!

Here is the raw image; 1024px and 1:1 (Standard icon size + Square)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.