{"id":17540438,"url":"https://github.com/fromkk/colorset","last_synced_at":"2025-04-23T22:51:43.129Z","repository":{"id":63910212,"uuid":"182504331","full_name":"fromkk/ColorSet","owner":"fromkk","description":"Change theme color of your apps without Reactive extension.","archived":false,"fork":false,"pushed_at":"2019-07-19T01:14:33.000Z","size":491,"stargazers_count":24,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-23T22:51:35.223Z","etag":null,"topics":["ios","ios-library","ios-swift","swift","swift5"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fromkk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-04-21T07:41:43.000Z","updated_at":"2022-07-08T09:28:49.000Z","dependencies_parsed_at":"2022-11-29T07:14:27.404Z","dependency_job_id":null,"html_url":"https://github.com/fromkk/ColorSet","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fromkk%2FColorSet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fromkk%2FColorSet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fromkk%2FColorSet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fromkk%2FColorSet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fromkk","download_url":"https://codeload.github.com/fromkk/ColorSet/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250528694,"owners_count":21445511,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ios","ios-library","ios-swift","swift","swift5"],"created_at":"2024-10-20T22:23:53.869Z","updated_at":"2025-04-23T22:51:43.111Z","avatar_url":"https://github.com/fromkk.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"#  ColorSet\n\n[![Build Status](https://app.bitrise.io/app/388601b81b3a10f8/status.svg?token=ugmzD4_59hVYM1q5VLNI6g\u0026branch=master)](https://app.bitrise.io/app/388601b81b3a10f8)\n[![Swift 5.0](https://img.shields.io/badge/swift-5.0-red.svg?style=flat)](https://developer.apple.com/swift)\n[![License](https://img.shields.io/badge/license-MIT-lightgrey.svg)](https://opensource.org/licenses/MIT)\n\n## Description\n\nChange theme color of your apps.\n\n![ColorSet](./Resources/colorset.gif)\n\n## Installation\n\n### Carthage\n\n- Insert `github \"fromkk/ColorSet\"` to your Cartfile .\n- Run `carthage update`\n- Link your app with `ColorSet_iOS.framework` in Carthage/Build\n\n## Usage\n\n### Define your ColorSet\n\n```swift\nimport ColorSet_iOS\n\nprotocol ColorSet {\n    static var backgroundColor: UIColor { get }\n    static var textColor: UIColor { get }\n}\n\nstruct MyColorSet {\n    static let backgroundColor: ColorObservable\u003cUIColor\u003e = .init(DefaultColorSet.backgroundColor)\n    static let textColor: ColorObservable\u003cUIColor\u003e = .init(DefaultColorSet.textColor)\n\n    static func replace(_ colorSet: ColorSet.Type) {\n        backgroundColor.accept(colorSet.backgroundColor)\n        textColor.accept(colorSet.textColor)\n    }\n}\n\nstruct DefaultColorSet: ColorSet {\n    static var backgroundColor: UIColor = #colorLiteral(red: 0.8039215803, green: 0.8039215803, blue: 0.8039215803, alpha: 1)\n    static var textColor: UIColor = #colorLiteral(red: 0.2549019754, green: 0.2745098174, blue: 0.3019607961, alpha: 1)\n}\n\nstruct DarkColorSet: ColorSet {\n    static var backgroundColor: UIColor = #colorLiteral(red: 0.2549019754, green: 0.2745098174, blue: 0.3019607961, alpha: 1)\n    static var textColor: UIColor = #colorLiteral(red: 0.8039215803, green: 0.8039215803, blue: 0.8039215803, alpha: 1)\n}\n```\n\n### Change color set\n\n```swift\nimport UIKit\nimport ColorSet_iOS\n\nclass ViewController: UIViewController {\n\n    @IBOutlet weak var label: UILabel!\n    @IBOutlet weak var darkmodeSwitch: UISwitch!\n\n    let observationBag = ColorObservationBag()\n\n    override func viewDidLoad() {\n        super.viewDidLoad()\n\n        MyColorSet.backgroundColor.bind(to: view, keyPath: \\.backgroundColor).append(to: observationBag)\n        MyColorSet.textColor.bind(to: label, keyPath: \\.textColor).append(to: observationBag)\n        MyColorSet.textColor.subscribe { [weak self] color in\n            self?.label.layer.borderColor = color.cgColor\n        }.append(to: observationBag)\n    }\n\n    @IBAction func darkmodeSwitchDidChanged(_ sender: UISwitch) {\n        if sender.isOn {\n            MyColorSet.replace(DarkColorSet.self)\n        } else {\n            MyColorSet.replace(DefaultColorSet.self)\n        }\n    }\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffromkk%2Fcolorset","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffromkk%2Fcolorset","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffromkk%2Fcolorset/lists"}