Giter VIP home page Giter VIP logo

calendar-web's Introduction

OpenIntents

This repository is deprecated.

Please find the OpenIntents applications in separate repositories. All dependencies are automatically resolved if you checkout the corresponding [app]-repo-manifest using 'repo'.

If you want to fork an application that is still contained in this deprecated repository, please write to https://groups.google.com/forum/#!forum/openintents and we will split off the corresponding application.

calendar-web's People

Contributors

deeayeen avatar eswarasai avatar friedger avatar leonardohofling avatar widged avatar yasnaraj avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar

calendar-web's Issues

Add/update matrix room to event

Users should be able

  • to add a new matrix room to a new or existing event
  • to remove the matrix room of an existing event
  • to be able to join the matrix room of an event from the event details

This requires

  • to add action that creates a new matrix room using matrix-js-sdk. The room should be federated, anybody with link can join. If the corresponding event is private the room should be private, if the event is public, the room should be public and use the same name as the event. The room should use end-to-end-encryption(!)
  • to add action to delete matrix room
  • to add action to update private/public property of matrix room

The UI has already been added in #64

screenshot from 2019-02-12 11-33-39

Separate header and actions

The header should be much smaller, maybe limited to an icon on the left when logged in.
When logged out a big image should be shown

Actions should not be part of the title but an "action bar/area" at the top

Authentication Failure

When I try to Sign In with Blockstack in development mode get failure message as follows:

Failed to fetch information about the app requesting authentication. Please contact the app maintainer to resolve the issue.

Basic UX improvments

  • Simplify the menu/panel Private, Encrypted Calendar in the Cloud, add icons for blockstack and
  • Simplify the menu/panel Instructions when signed in
  • use professional font for month, week,..
    https://matrix.org/_matrix/media/v1/download/openintents.modular.im/jBBHfPXsrSUBXvOMuzpJmPTz
  • Center headers in Work week and Week
  • Show error message at the bottom of the screen in calendar view, not below the calendar view https://matrix.org/_matrix/media/v1/download/openintents.modular.im/wExKRmNIKrhpBOwGsvAlnRgn
  • Center items in AppMenu, make pills same height for all
  • Align check boxes in event details
    screenshot from 2019-02-15 10-18-02
  • On first load, do not show menus/panels before decisions about the final layout has been made. If user is logged in and has closed the instructions, the two panels are shown nevertheless at the beginning and then finally disappear. The should not be shown in the first place.

Replace calendar url in settings with better name

When user pastes a URL in settings the url is used as name. This should be improved

This issue is about

  • splitting the "add calendar" panel in two areas, one for input and one for confirmation, at first the second area is disabled, after input the first area is disabled.

  • adding a button "verify", when clicked

    • the calendar is fetched and
    • a name suggested in a new name field in the add section
    • the number of events of the calendar is shown in a text field.
  • adding a color edit field to change the color, the color is preset with a random value

  • adding a button to import a .ics file

  • adding a button to show a list of predefined calendars where the user can pick from one

6965bdcea61a4f3d8f5f4631aa5231fc png

Settings for Calendars and Contacts

Users should be able

  • to hide/show calendars (toggle active with checkbox, use inactive property)

  • to change color settings

  • to remove calendars with rubbish bin icon for each entry

  • to remove contacts with rubbish bin icon for each entry

  • the changes need to be persisted

Use hash router

Currently the app menu uses redux store to change the state of UI.
This issue is about

  • adding hash router to the app for the following screens
    • all -> EventCalendar
    • public -> EventCalendar with filter on public calendar
    • settings -> Settings
    • files -> Export (in feature/export branch)
  • removing the properties that manage the screens from the redux store
  • adjusting the connect* files to change the location (using history API)
  • adjusting the way intents are handled, i.e. change location (together redux store changes)
  • adding tests that clicks on the app menu changes indeed the screen

While doing the changes keep in mind that

  • the app should load fast and be as much PWA as possible
  • we use lazy loading for some screens
  • the work should be submitted together with the export feature (currently feature/export or soon develop)

Add UI to manage video conferencing

Users should be able

  • to add a new video conference to a new or existing event
  • to remove a video conference of an existing event
  • to be able to join a video conference of an event from the event details

This requires

  • to change the event details
    * add small button to add, add a link to join, add small button to remove matrix room)
    * add progress animation while creating, deleting a new room

  • to add tests for storing events checking that video conference property of events are stored correctly

The actions for creating and removing a room are handled in a different issue.
The dummy action for creating a room should just return always https://chat.openintents.org/#/room/#oi-calendar:openintents.modular.im
The dummy action for deleting a room should just write a message in the console.

Google Calendar implemented this as a drop down:
screenshot from 2019-02-12 11-33-39

Mark public events

Currently, it is not visible in the calendar view whether the event is private or public.

One option is to always load the public calendar and add it to the events in a different color, replacing the event from the private calendar (as they have the same uid)

The other option is to add an icon or so to differentiate the event types.

Add settings

  • store whether instructions should be shown
  • add menu item for settings
  • data to store:
    • list of calendars
    • list of contacts

Intent url to add event

Add a page (cal.openintents.org/intent/add?...) that receives event details from the current url. Parameters could be:

  • u: username, e:event id, p: private key,
  • title, start, end
  • url of ics file

The user has the possibility to review the details and add the event

Add UI and actions for RSVP

A user should see yes/no buttons on events where the user is listed as guest (even if the event is read-only).

If there is a fee attached to the RSVP payment UI should be shown (the payment UI is part of a different issue).

If the user clicks yes (and there are no fees) a ticket object is stored on the user's storage (file path tickets/<appdomain>/<event-uid>)
If the user clicks no and there is a ticket already the ticket is deleted.

The initial state of the user's RSVP is retrieved from redux (checking for an existing ticket)

Roomid not reused

When sending invites a new room is created every time. The roomid stored in contacts should be reused.
Roomid should be part of the invite link for RSVP

Ask for notification permissions/consent early

Currently, the permission to show notifications is requested when the first reminder is sent. The same for the matrix consent of the home server.

The user should be ask when she adds/updates an event with reminder the first time.

Add reminder

In event details, add two input elements to select time and time unit (using react-bootstrap)

Something like this without the first dropdown:
screenshot from 2019-02-05 10-12-40

When the event is saved, a local browser alarm is set. The user is asked for the permission to allow notifications
When the alarm goes off, a notification is shown (if the user gave consent) with the following content: {event.title} takes place in {timeUntilEvent} + a link to the event

Pull requests should be sent to the develop branch

Show more than one calendar

Currently, only events from "AllEvents" are shown. It should be possible to show from other calendars/files as well.

  • load calendars from a list (user-owned, from other user, from ics file)
  • dispatch results
  • add UI to add calendars

Refactor

This issue is about code improvements

  • rename folder io to core (containing everything that is not related to UI and redux
  • remove prefix event from eventCalendar
  • remove addDeleteSettings
  • split eventActionLazy into several files
  • rename folder connect to containers
  • remove lazy from action file names, how to distinguish between actions with dependencies to matrix and blockstack and those without. Does it matter? All actions in event should only be called after the dependencies have been loaded. Move actions for earlier calls into lazy folder. What is a better name for lazy? early?

Improve UX when upgrading the app

Currently, the app will just load a white screen if the app has been upgraded because the index.html is loaded from cache and references a bundle that does not exist anymore.

This issue is about

  • adding a UI to the main screen for a message that is shown when a new version of the app is available and invite the user to refresh the browser

Settings for advances notifications

This issue is about adding a section in the settings view with advanced settings for notifications:

  • add a switch button to enable enriched notifications (using springrole), the value is stored in preferences
  • add an edit field with label "Excluded guests", the value is stored in preferences
  • change the label of Notification to "Enriched Notification" in the the event details if the preferences is set and if the guest list contains other guests than those excluded in the settings. Update the label as soon as a guests is added accordingly

Add public calendars

Users should be able to add

  • the public calendar of a user by blockstack id and calendar name (for now defaults to "public")
  • the calendar published as .ics file

Allow users to set duration instead of end date

User should be able

  • to set a start date and end (as it is now) and also
  • to set a start date and duration

This tasks requires

  • to change the React eventDetails component (add duration field using react-bootstrap)
  • to change the eventActions for importing and publishing ics files (handle start/end and start/duration correctly)
  • to add tests for import and publishing ics files

Import ics file

This issue is about adding an action that is triggered when the upload file button in the settings is clicked.

The action should import the chosen ics file and verify it, propose a name and allow the user to add the calendar.

Invitations are not sent

  1. select event
  2. add guest
  3. click send invites
  4. click send

The invitation modal is closed but no invitation sent.

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.