Giter Site home page Giter Site logo

calicastle / popmenu Goto Github PK

View Code? Open in Web Editor NEW
1.6K 30.0 177.0 4.51 MB

A fully customizable popup style menu for iOS 😎

Home Page: https://popmenu.cali.so

License: MIT License

Objective-C 0.62% Swift 97.64% Ruby 0.95% Shell 0.79%
swift swift-library ios ios-swift menu actionsheet cocoapods carthage popmenu ios-library

popmenu's Introduction

Check out the documentation and guides for details on how to use. (Available languages:)

What's a better way to know what PopMenu offers than some live action images? Here's to show you what you can do with PopMenu:

💪🏻 Contribute

Thank you if you are interested in contributing to the project, I appreaciate it!

Before committing any changes, please make sure to read the Contribution Guidelines first, thank you!

📗 Check Documentation

Documentation is available at https://popmenu.cali.so/

[Join Our Slack Channel](https://join.slack.com/t/newpopmenu/shared_invite/enQtMzQ4OTExMzE0OTM1LWFhM2IxYmYxOGZmMTgzNjQxMWRiNzUyZmYwN2M4ZmQ2YWYxY2VhNWI3MDlmM2JhOTM5NjAwODlmNjQzMmVlODM)

popmenu's People

Contributors

calicastle avatar jopache avatar lukaswuerzburger avatar twodollarsesq avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

popmenu's Issues

How to dismiss if tap outside the PopMenu?

✔️ Issue Checklist

✍🏻 Issue Description

First, thank you for the PopMenu library bro! May I ask how to dismiss the PopMenu if I tap outside? Thank you!

💻 Environment

  • iOS Version: [12.2]
  • Xcode Version: [10.3]
  • Device(s): [all iPhone devices]
  • Simulator?: ☑️

Not Appstore safe?

✔️ Issue Checklist

✍🏻 Issue Description

This line

if let buttonView = sourceBarButtonItem.value(forKey: "view") as? UIView {
seems to be using a private API increasing the chance of getting rejected for the app store (according to https://forums.developer.apple.com/thread/87823 which also states this might fail on iOS 11).

Hope a Objective-C version

Thank you first, this is the most elegant menu I have ever seen. And I'm a OC Guy 😂,I hope to see the Objective-C version on a certain day.

Customize location

✔️ Issue Checklist

✍🏻 Issue Description

It is a very nice pop up menu, however, looks like the position is sticked to the center of the screen rather than being customized. It would be good if this can be an option. e.g. on the right top corner right below the navigation bar.

💻 Environment

  • iOS Version: [iOS VERSION]
  • Xcode Version: [XCODE VERSION]
  • Device(s): [INSERT DEVICE(S) HERE]
  • Simulator?: ☑️ or ❌

Click on the way

你好我要在控制器调用 你的点击方法知道在哪被点击了请问在哪调用找半天没找到,我用的是文字的这个 ,Hello, I'm going to call your click method on the controller. I know where it was clicked,I'm using this one in writing

PopMenuPresentationStyle Doesn't Do Anything

✔️ Issue Checklist

✍🏻 Issue Description

When configuring the appearance of the Pop Menu, popMenuPresentationStyle doesn't do anything.

Write code as follows:
popMenu.appearance.popMenuPresentationStyle = .near(.left, offset: CGPoint(x: 100, y: 100))
No change in Pop Menu.

This parameter seems to be present in PopMenuAppearance.swift but there is no reference to it anywhere else in the code.

Thanks!

💻 Environment

  • iOS Version: iOS 14
  • Xcode Version: 12
  • Device(s): iPhone 11 Pro
  • Simulator?: ☑️

Content scrollable

✔️ Issue Checklist

✍🏻 Issue Description

Is it possible to make actions scrollable inside menu? I mean, what happens if I have many many actions?

💻 Environment

  • iOS Version: [iOS VERSION]
  • Xcode Version: [XCODE VERSION]
  • Device(s): [INSERT DEVICE(S) HERE]
  • Simulator?: [YES] or [NO]

No light/dark mode Support

✔️ Issue Checklist

  • I have updated PopMenu to the latest version.
  • I have read the Contribution Guidelines.
  • I have read the Documentation.
  • I have searched for GitHub issues.

✍🏻 Issue Description

I am trying to implement PopMenu in the App Im working on right now, however, the background and tint colors for the pop menu don't work with Apple's dark or light mode changes. Meaning they remain the same if the users changes from light mode to dark mode and viceversa, even if i used customer colors already set up for light and dark mode on my app's assets. Any solution would be greatly appreciated.

💻 Environment

iOS Version: 14.2
Xcode Version: 12.2
Device(s): iPhone XR
Simulator?: I don't use it

Need support for Attributed string

✔️ Issue Checklist

✍🏻 Issue Description

I'm using this great library with localization.
but in 'Hindi' language whole text are cutting either from top or bottom in my project to I'm using attributedString with paragraph style.
but I'm not finding any method to set attributedString for titles of menu option.

Screen Shot 2019-12-10 at 7 38 06 PM

Here is correct text which is I'm setting "सभी अनुस्मारक हटाएँ" which is not fully displaying in screenshot.

💻 Environment

  • iOS Version: [12+]
  • Xcode Version: [Xcode 11]
  • Device(s): [iPhone 7 and iPhone 11 simulator]
  • Simulator?: ☑️ or ❌

Dismiss PopMenu Programmatically

✔️ Issue Checklist

✍🏻 Issue Description

How to dismiss PopMenu programmatically? I am using PopMenuManager to show menu.

💻 Environment

  • iOS Version: 13.5
  • Xcode Version: 11.5
  • Device(s): Simulator
  • Simulator?: ☑️ or ❌

Solid Background Colors Have Alpha Value of 0.9

Solid background colors are used with an alpha value of 0.9 which gives incorrect color in final result. Especially visible when using white background color.

Issue occurs in PopMenuViewController.swift:278

contentView.backgroundColor = colors.first?.withAlphaComponent(0.9)

Xcode 13 compatibility issue - Haptics.swift

✍🏻 Issue Description

Errors in Haptics.swift with changes in Xcode 13.

specifically: Enum cases with associated values cannot be marked potentially unavailable with '@available'

Screen Shot 2021-07-23 at 11 18 38 AM

💻 Environment

  • Xcode Version: Xcode Version 13.0 beta 3 (13A5192j)

样式设置失效及坐标微调问题

✔️ Issue Checklist

✍🏻 Issue Description

因为弹出的菜单挡住了按钮,尝试改变y坐标作一个偏移
menu.contentFrame.origin.y -= 50

可以实现,但放在这行代码之后的样式设置就失效了,例如

menu.appearance.popMenuCornerRadius = 2
menu.appearance.popMenuColor.backgroundColor = .solid(fill: .purple)

通过测试menu.contentFrame.origin.y -= 50必须放在样式设置之后。

请问还有更好的办法来微调菜单的位置吗?谢谢

💻 Environment

  • iOS Version: [13.3]
  • Xcode Version: [11.3.1]
  • Device(s): [iPhone 11]
  • Simulator?: ☑️

App crash on hooking popup manager with UIBarButtonItem in navigation bar

✔️ Issue Checklist

✍🏻 Issue Description

App crashing when the popup manager is attached to UIBarButtonItem in the navigation bar. The menu click then loads the corresponding screens on the navigation stack. The first 2-3 times successful transition takes place, however when coming back to the base screen causes the crash. And the AppDelegate.swift shows the crash showing signal SIGABRT.

Pasting below the backtrace:
screen shot 2018-10-28 at 7 32 03 pm

  • thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
    frame #0: 0x0000000110460eb6 libsystem_kernel.dylib__abort_with_payload + 10 frame #1: 0x000000011045b2b8 libsystem_kernel.dylibabort_with_payload_wrapper_internal + 89
    frame #2: 0x000000011045b25f libsystem_kernel.dylibabort_with_reason + 22 frame #3: 0x000000010cbde1f5 libobjc.A.dylib_objc_fatalv(unsigned long long, unsigned long long, char const*, __va_list_tag*) + 108
    frame #4: 0x000000010cbde11e libobjc.A.dylib_objc_fatal(char const*, ...) + 127 frame #5: 0x000000010cbe6409 libobjc.A.dyliblookUpImpOrForward + 645
    frame #6: 0x000000010cbf3814 libobjc.A.dylib_objc_msgSend_uncached + 68 frame #7: 0x0000000117633c5c UIKitCore-[_UIButtonBarItemLayout initWithLayoutMetrics:barButtonItem:] + 148
    frame #8: 0x0000000117635c82 UIKitCore-[_UIButtonBarItemGroupLayout _newLayoutForBarButtonItem:useGroupSizing:] + 255 frame #9: 0x0000000117636003 UIKitCore-[_UIButtonBarItemGroupLayout _configure] + 816
    frame #10: 0x0000000117632e8c UIKitCore-[_UIButtonBarLayout configure] + 60 frame #11: 0x0000000117632f27 UIKitCore-[_UIButtonBarLayout addLayoutViews:layoutGuides:constraintsToActivate:constraintsToDeactivate:] + 95
    frame #12: 0x0000000116e0d778 UIKitCore-[_UIButtonBar _layoutBar] + 1869 frame #13: 0x0000000116e10218 UIKitCore-[_UIButtonBarStackView updateConstraints] + 48
    frame #14: 0x0000000116c86254 UIKitCore-[UIView(AdditionalLayoutSupport) _sendUpdateConstraintsIfNecessaryForSecondPass:] + 161 frame #15: 0x0000000116c86829 UIKitCore-[UIView(AdditionalLayoutSupport) _updateConstraintsIfNeededCollectingViews:forSecondPass:] + 1245
    frame #16: 0x0000000116c866ad UIKitCore-[UIView(AdditionalLayoutSupport) _updateConstraintsIfNeededCollectingViews:forSecondPass:] + 865 frame #17: 0x000000010c7ec55a Foundation-[NSISEngine withBehaviors:performModifications:] + 110
    frame #18: 0x0000000116c87046 UIKitCore__100-[UIView(AdditionalLayoutSupport) _updateConstraintsIfNeededWithViewForVariableChangeNotifications:]_block_invoke + 85 frame #19: 0x0000000116c85876 UIKitCore-[UIView(AdditionalLayoutSupport) _withUnsatisfiableConstraintsLoggingSuspendedIfEngineDelegateExists:] + 104
    frame #20: 0x0000000116c86bce UIKitCore-[UIView(AdditionalLayoutSupport) _updateConstraintsIfNeededWithViewForVariableChangeNotifications:] + 155 frame #21: 0x0000000116c87c82 UIKitCore-[UIView(AdditionalLayoutSupport) _updateConstraintsAtEngineLevelIfNeededWithViewForVariableChangeNotifications:] + 374
    frame #22: 0x00000001174a27a5 UIKitCore-[UIView(Hierarchy) layoutBelowIfNeeded] + 1094 frame #23: 0x000000011775ca95 UIKitCore-[_UINavigationBarContentView recordToStateForTransition:] + 55
    frame #24: 0x000000011776d199 UIKitCore-[_UINavigationBarTransitionContext recordUpdates:] + 168 frame #25: 0x00000001177954eb UIKitCore-[_UINavigationBarVisualProviderModernIOS _performAnimationWithTransitionCompletion:transition:] + 644
    frame #26: 0x000000011705e381 UIKitCore-[UINavigationBar _popNavigationItemWithTransitionAssistant:] + 215 frame #27: 0x000000011705e00b UIKitCore-[UINavigationBar _popNavigationItemWithTransition:] + 447
    frame #28: 0x000000011705dd8a UIKitCore-[UINavigationBar popNavigationItemAnimated:] + 169 frame #29: 0x0000000117796fec UIKitCore-[_UINavigationBarVisualProviderModernIOS navigationBarContentViewDidTriggerBackAction:fromBackButtonItem:] + 259
    frame #30: 0x000000011775803b UIKitCore-[_UINavigationBarContentView __backButtonAction:] + 58 frame #31: 0x0000000116da07c3 UIKitCore-[UIApplication sendAction:to:from:forEvent:] + 83
    frame #32: 0x0000000116ed8e85 UIKitCore-[UIControl sendAction:to:forEvent:] + 67 frame #33: 0x0000000116ed91a2 UIKitCore-[UIControl _sendActionsForEvents:withEvent:] + 450
    frame #34: 0x0000000116ed9316 UIKitCore-[UIControl _sendActionsForEvents:withEvent:] + 822 frame #35: 0x0000000116ed80e6 UIKitCore-[UIControl touchesEnded:withEvent:] + 583
    frame #36: 0x00000001175b3334 UIKitCore-[UIWindow _sendTouchesForEvent:] + 2729 frame #37: 0x00000001175b4a30 UIKitCore-[UIWindow sendEvent:] + 4080
    frame #38: 0x0000000116dbae10 UIKitCore-[UIApplication sendEvent:] + 352 frame #39: 0x0000000116cf30d0 UIKitCore__dispatchPreprocessedEventFromEventQueue + 3024
    frame #40: 0x0000000116cf5cf2 UIKitCore__handleEventQueueInternal + 5948 frame #41: 0x000000010da1fb31 CoreFoundationCFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION + 17
    frame #42: 0x000000010da1f3a3 CoreFoundation__CFRunLoopDoSources0 + 243 frame #43: 0x000000010da19a4f CoreFoundation__CFRunLoopRun + 1263
    frame #44: 0x000000010da19221 CoreFoundationCFRunLoopRunSpecific + 625 frame #45: 0x00000001149ed1dd GraphicsServicesGSEventRunModal + 62
    frame #46: 0x0000000116d9f115 UIKitCore`UIApplicationMain + 140
    • frame #47: 0x000000010b2c72e4 iOS-Sectonamain at AppDelegate.swift:14 frame #48: 0x0000000110122551 libdyld.dylibstart + 1

💻 Environment

  • iOS Version: iOS 12, Swift 4
  • Xcode Version: v10.0
  • Device(s): iPhone 6s
  • Simulator?: [YES]

can't set PopMenuActionColor

✔️ Issue Checklist

✍🏻 Issue Description

this code is invalid since actionColor is an object and can't be set
manager.popMenuAppearance.popMenuColor.actionColor = .green

💻 Environment

  • iOS Version: [iOS VERSION]
  • Xcode Version: [XCODE VERSION]
    10.1
  • Device(s): [INSERT DEVICE(S) HERE]
  • Simulator?: ☑️

Change action title text on select?

Is there a way to change the text once an action is selected? For example I have a menu where I want to toggle Pinning something to the top of the screen so I want to show "Pin" or "Unpin" as the text after the menu item is tapped.

Not support landscape

First of all thank you for your contribution, I have a pimping claim: that be hope it can support the landscape. Thanks! ^-^

两个问题

  1. 能否加入弹出位置的那种小尖尖,类似于macOS风格的(与#34 重复了,但是不知道你加上了没)
  2. 能不能做到当前点击的选项的动画(图片里面点击的话会变小,图片中“网格视图”被点击),达到类似的效果就行。

A297836E-B738-47B6-AC3A-082C8E0665A3

Sent from PPHub

Need a option to disable a user interaction for a PopMenuDefaultAction

✔️ Issue Checklist

✍🏻 Issue Description

Sometimes I need to add a PopMenuDefaultAction to serve as a section title. So I neeed an option to disable user's interaction for it.

💻 Environment

  • iOS Version: [iOS VERSION]
  • Xcode Version: [XCODE VERSION]
  • Device(s): [INSERT DEVICE(S) HERE]
  • Simulator?: ☑️ or ❌

横竖屏切换没有正确处理

✔️ Issue Checklist

✍🏻 Issue Description

let actions = [
    PopMenuDefaultAction(title: "Some Text, Some Text, Some Text, Some Text, Some Text, Some Text"),
    PopMenuDefaultAction(title: "Some Text"),
    PopMenuDefaultAction(title: "Short"),
    PopMenuDefaultAction(title: "A Longer Text")
]
let popMenu = PopMenuViewController(actions: actions)
present(popMenu, animated: true, completion: nil)

运行在横屏状态下,UI显示正常,
然后切换到竖屏,显示就异常了
导致UI显示异常的原因主应该要是没有考虑title太长的情况
当title太长的情况,建议title可以像跑马灯一样滚动显示

💻 Environment

  • iOS Version: [12.2]
  • Xcode Version: [10.2.1]
  • Device(s): [iPhone XS Max]
  • Simulator?: ☑️

Ajust cell width and text alignment

✔️ Issue Checklist

Hello, I would like to know is it able to adjust text alignment to center and set the cell width as same as my UITextField width?

I'm using PopMenuDefaultAction setup my action list.

 PopMenuDefaultAction(title: "My action")

Thank you.

💻 Environment

  • iOS Version: [iOS 12.1]
  • Xcode Version: [XCODE 10]
  • Device(s): [Simulator]
  • Simulator?: ☑️

PopMenuDefaultAction.iconWidthHeight is a static property

This is a cool popup menu, I like it, and I will use it in my project.
But when I add my icon image(size 18 pixel) to PopMenuDefaultAction, It looks ugly. The image is much bigger than I expected. So I looked at the source code and found a problem.

PopMenuDefaultAction.iconWidthHeight is a static property, I think it should be automatically calculated.

NSLayoutConstraint.activate([
                iconImageView.widthAnchor.constraint(equalToConstant: PopMenuDefaultAction.iconWidthHeight),
                iconImageView.heightAnchor.constraint(equalTo: iconImageView.widthAnchor),
                iconImageView.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: PopMenuDefaultAction.iconLeftPadding),
                iconImageView.centerYAnchor.constraint(equalTo: view.centerYAnchor)
            ])

iconImageView.widthAnchor and iconImageView.heightAnchor should be automatically calculated based on the size of the image.

Now I am using a custom PopMenuAction named PopMenuCustomAction and modifying PopMenuDefaultAction.iconWidthHeight to 18 to resolve my problem.

Please fix this issue, Thanks.

cornerRadius of PopMenuDefaultAction doesnt do anything

✔️ Issue Checklist

✍🏻 Issue Description

Basically Im instantiating a PopMenuDefaultAction and then immediately setting it's cornerRadius, which has no effect to the default one.

@IBAction func btnLibraryTouchUpInside(_ sender: UIButton) {
        if(self.g8.recording == true){ return }
        let libVideoAct = PopMenuDefaultAction(title: "VIDEOS", image: #imageLiteral(resourceName: "btnBtnLoadVideoXxs"), color: nil) { (action) in
            self.showPhotoLibraryBrowser(type: kUTTypeMovie)
        }
        libVideoAct.iconWidthHeight = 40.0
        libVideoAct.cornerRadius = 0.0
        
        let libPhotosAct = PopMenuDefaultAction(title: "PHOTOS", image: #imageLiteral(resourceName: "btnBtnLoadImgXxs"), color: nil) { (action) in
            self.showPhotoLibraryBrowser(type: kUTTypeImage)
        }
        
        libPhotosAct.iconWidthHeight = 40.0
        libPhotosAct.cornerRadius = 0.0
        let actions = [libVideoAct, libPhotosAct]
        // Pass the UIView in init
        let menu = PopMenuViewController(sourceView: sender, actions: actions)
        let sepColor = UIColor(red: 35/255, green: 35/255, blue: 35/255, alpha: 1.0).cgColor
        let bgMenuColor = UIColor(red: 54/255, green: 54/255, blue: 54/255, alpha: 1.0).cgColor
        menu.appearance.popMenuItemSeparator = .fill(Color(cgColor: sepColor), height: 2.0)
        let bgColor = PopMenuColor.configure(background: PopMenuActionBackgroundColor.solid(fill: Color(cgColor: bgMenuColor)), action: PopMenuColor.default().actionColor)
        
        menu.appearance.popMenuColor = bgColor
        menu.appearance.popMenuBackgroundStyle = .none()
        menu.appearance.popMenuCornerRadius = 4.0
        menu.appearance.popMenuActionHeight = 44
        menu.appearance.popMenuFont = UIFont(name: ".sfuitext-bold", size: 8.0)!
        
        
        let newPosition = menu.contentFrame.offsetBy(dx: -15, dy: -45)
        menu.contentFrame = newPosition.inset(by: UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 26.3))
        present(menu, animated: true, completion: nil)
    }

image

💻 Environment

  • iOS Version: 13.5.1
  • Xcode Version: 12.0
  • Device(s): iPhone XS Max
  • Simulator?: I dont know, I dont use it.

How to use PopMenu with TableView

✔️ Issue Checklist

✍🏻 Issue Description

Your PopMenu is interesting and I would like to use it in my project.
I have table view with cell and I would like to use your PopMenu which contains something
like Favorites, and other things, like showing details what is mentioned in cell.
If user selects Favorites, then cell is marked with star like marked.
Unfortunately, I am a dummy user and I am not able to find out a way how to refresh table view cell, so that after pressing on Favorites, table view is rendered.

Would it be possible to add a some notes also to your README.md file. It would be more understandable from my point of view.

Can you help me what I have to do? Thanks.

💻 Environment

  • iOS Version: 12
  • Xcode Version: 10
  • Device(s): iPhone 7
  • Simulator?: [YES]

Error when importing in a Swift Project

Errors when importing the pod in a swift project, I had to manually fix your Pod

PopMenu.m:11:9: error: 'XHRealTimeBlur.h' file not found with <angled> include; use "quotes" instead
PopMenu.m:11:9: error: 'XHRealTimeBlur.h' file not found with <angled> include; use "quotes" instead
MenuButton.m:10:9: error: 'POP.h' file not found with <angled> include; use "quotes" instead
#import <POP.h>

-> please remove <> and replace with ""

Set Item's Selection Style to none

✔️ Issue Checklist

✍🏻 Issue Description

💻 Environment

  • iOS Version: iOS11
  • Xcode Version: 10.3
  • Device(s): [iPhone 6 and above]
  • Simulator?: ☑️

How can I remove the dark background of an item when the user de-selecting it?
Or remove all the style of the item selection

Screen Shot 2019-08-21 at 1 40 22 AM

How Can I set the menu offset the sourceView

✔️ Issue Checklist

✍🏻 Issue Description

How can I let the menu below the action button when the menu display. Now it have cover the button. Can you suggest some method? Thx!

💻 Environment

  • iOS Version: [iOS 12]
  • Xcode Version: [XCODE 10]
  • Device(s): [iPhone 8 plus]
  • Simulator?: [NO]

How can I use Popup Menu multiple times in the same view.

✔️ Issue Checklist

✍🏻 Issue Description

I'm trying to use Popup menu in two text fields with a different data source, but it displayed the same data for both fields.

💻 Environment

  • iOS Version: iOS 11
  • Xcode Version: 10.3
  • Device(s): iPhone 6 and above
  • Simulator?: ❌

Feature Request: Music App Style TouchDown+Pan

✔️ Issue Checklist

✍🏻 Issue Description

Hi, I know that PopMenu currently has a pan gesture such then after the menu is up, you can drag up and down to switch menu options, then release to use it.

My desire is to touch down on a button, then with that same touch, drag up and down to select different menu options. This would work similarly to the Apple Music 3D Touch, then pan on the popup menu gesture.

💻 Environment

  • iOS Version: 12.2
  • Xcode Version: 10.2.1
  • Device(s): n/a
  • Simulator?: n/a

Tap feedback for menu action

Currently, there is selected UI affects happened when only pan gesture.

If you just tap, there is no feedback for which button touched.

Would it be good if there has one feedback?

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.