Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Login with GitHub (WIP) #825

Closed
wants to merge 61 commits into from
Closed

Login with GitHub (WIP) #825

wants to merge 61 commits into from

Conversation

auxves
Copy link
Contributor

@auxves auxves commented Apr 4, 2019

Short description of what this resolves:

This PR allows the user to log in to GitHub using a button, and the extension will automatically generate a token with the correct scopes and find the gist id. (#506)

Changes proposed in this pull request:

  • Login to GitHub using OAuth
  • Create a GUI for Settings and Welcome page

Improvements: 2

How Has This Been Tested?

I have tested this by logging in to GitHub and checking if the token and gist id has been saved properly.

Screenshots (if appropriate):

image

image

image

Checklist:

  • I have read the contribution guidelines.
  • My change requires a change to the documentation and GitHub Wiki.
  • I have updated the documentation and Wiki accordingly. (may need review)

Status:

  • Authenticate with OAuth
  • Save Token
  • GUI for Gist Selection page
  • GUI for Settings page
  • GUI for Welcome page

knyhle and others added 30 commits April 1, 2019 15:59
Make a settings map so settings can be displayed on the page
Add functions to open settings and accept changes
Import text from html file
* Fix auto upload!

* Properly stop watching

* Add synchronous functions

* Move watcher to a new service

* Make a new service for watcher

* Add general ignored items setting for chokidar

* Use globalCommons's autoUploadService instance

* Reset

* Add local settings to ignored files

* Asynchronously get ignored items

* Remove unused import

* Use autoUploadService

* Use the globalCommonService everywhere
Since the autoUploadService is an instance in Commons, using a global
Commons instance will allow everything to use the same instance.

* Stop spamming with extension paths

* Fix to work with async functions

* Add global state to ignored files

* Add .DS_Store and sync.lock

* Start watcher only after downloading has finished

* Inform user that auto upload has started
OAuth < Settings UI
This is unnecessary because there is an oauth implementation that automatically gets token and gist id
@auxves
Copy link
Contributor Author

auxves commented Apr 5, 2019

I have updated the screenshots in the initial comment. If you want me to change anything, please tell me.

@shanalikhan
Copy link
Owner

shanalikhan commented Apr 5, 2019

I had posted an target image. Okay Let me give you detail when needs to be done for the page welcome page.

Goal: It should use same font and styling like the image i posted. I would request you to make a similar UI - exacltly the same.

  1. Title should be same color, size and font with the logo. You can make a white cloud logo with the transparent background ( revert the current logo like in marketplace ) - Save as another file. - The title needs to be in the center of logo like th Bookmark ribbon logo and title place.
  2. Description should be "Synchronize Settings, Snippets, Themes, File Icons, Launch, Keybindings, Workspaces and Extensions Across Multiple Machines Using GitHub Gist" - Same color, size and font.
  3. Below to description you can add "by @shanalikhan" same size, color and font as description.

Two columns - Same style, font and size as reference image.
Scroll bar should be supported in both column - Check the reference image.

Left Column - Scrollable

  1. Use same green button for "New" , light red button for "Fix" - Same size, button and color. Currently new and fix doesnt match - Please refer the reference document.
  2. There is some difference in new and fix buttons and text
  3. See link for PR , color size and font.

Right Column - Scrollable

  1. Title Configuration - Same properties like "show your support"
    Some description like "Please login via github to setup the Settings Sync or change configurations manually"
    There should be two buttons after description
    a. Login with a Github
    b. Edit Configuration - ( Sorry initially i asked for two buttons) - Will further explain its work after this.

  2. Title "Show Your Support" - Same properties like above.
    a. Same description for Settings Sync
    b. Same two buttons, PayPal button links to the URL in paypal button in readme.

Links - same properties.

  1. Write a Review

  2. Star Or Fork me on Github

  3. Follow me on Twitter

  4. Title "Sponsors"
    Description - "Settings Sync Looking for sponsors to display here. Contact me on twitter or github."

Below to columns
Need Help ? Same as in image.
Same 2 links.

Edit Configuration Page

It will a two columns, the title, description and all things will be the stay on same location.
Only welcome page 2 columns and below it should be replaced with configuration page.

It should be two columns - Scrollable.
Left Columns - Title - "Environment Settings"
Add text boxes and checkboxes for each of the Settings Sync config present in settings.json.
Below to each of the configuration textbox, put settings description present in localization files.

Right Column - Scrollable
"Title - Global Settings"
All the custom json settings should be available like in above picture.

After these two columns.
There will be "Save" button in right side- When user clicks on save. Text should appear on left to the button that settings has been saved.

Goal: It should use same font and styling like the image i posted.
Please make sure, the font size and page layout should be responsive and must align with the screen size keep font ratio with screen size intact.

Once the welcome and configuration page layout is completed, i will move to code review and github sync process.

Thanks

@auxves
Copy link
Contributor Author

auxves commented Apr 6, 2019

This is what I have so far:

Welcome:
image

Settings:
image

Gist selection:
image

Also:

  1. I removed the "Save" button from the settings page because it was causing issues with the save process. Currently, it just displays some text saying "Saved!" whenever you make changes. I have added a check mark that indicates when settings have been saved, and there is a spinner when they are saving.
  2. I haven't yet gotten to displaying the localized descriptions for the individual settings. Localized tooltips are done.

@shanalikhan
Copy link
Owner

shanalikhan commented Apr 7, 2019

Nice, let me know when you will complete the checklist i have shared, I will provide you a detailed review then.
Just for settings page, please add scroll bar with height allowed only vscode browser window viewport size.

@auxves
Copy link
Contributor Author

auxves commented Apr 7, 2019

Ok, I'll make those changes and let you know when I'm ready for review.

@auxves
Copy link
Contributor Author

auxves commented Apr 9, 2019

@shanalikhan Ok, I'm pretty sure I completed your checklist.

Here is the updated settings page:
image

@shanalikhan shanalikhan changed the base branch from master to v3.2.9 April 16, 2019 08:46
@auxves
Copy link
Contributor Author

auxves commented Apr 16, 2019

@shanalikhan I'm going to create a fresh PR to resolve these conflicts and clean up the commit timeline.

@auxves auxves closed this Apr 16, 2019
@auxves auxves deleted the github-oauth branch June 19, 2019 11:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants