Mailspring/examples/N1-Quick-Schedule
Evan Morikawa 11b731891f feat(extension): async extensions
Summary:
WIP:

This is a quick patch for Drew to make extensions async

We'll need to think through the upgrade/deprecation plan to roll out async
extensions across all of our APIs.

Test Plan: TODO

Reviewers: drew, evan, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2392
2015-12-30 18:04:52 -05:00
..
assets polish(quick-schedule): Use calendar icon in the composer 2015-12-09 10:55:08 -08:00
backend
docs feat(paste): Paste accepts more HTML, paste and match style now available 2015-12-07 15:34:03 -08:00
fullcalendar
lib feat(extension): async extensions 2015-12-30 18:04:52 -05:00
screenshots
bootstrap.min.css
bootstrap.min.js
calendar.html fix(quickschedule): Several UI fixes 2015-12-09 16:41:30 -08:00
package.json
README.md fix(examples): small fixes in READMEs 2015-12-01 15:59:00 -08:00

QuickSchedule

Say goodbye to the hassle of scheduling! This new plugin lets you avoid the typical back-and-forth of picking a time to meet. Just select a few options, and your recipient confirms with one click. It's the best way to instantly schedule meetings.

This plugin works by adding a small "QuickSchedule" button next to the Send button in the composer. Clicking the button will open a calendar where you can select potential times to meet. These times are placed in the draft, and your recipient can confirm a time with one click. It even automatically adds the event to both calendars!

How to install this plugin

  1. Download and run N1

  2. From the menu, select Developer > Install a Plugin Manually... The dialog will default to this examples directory. Just choose the N1-Quick-Schedule folder to install it!

    Note: When you install plugins, they're moved to ~/.nylas/packages, and N1 runs apm install on the command line to fetch dependencies listed in the package's package.json

Who is this for?

Anyone who makes a lot of appointments! If you are a developer, this is also a great example of a more complicated plugin that requires a backend service, and demonstrates how arbitrary JavaScript can be inserted to create custom functionality.