13.3.0 • Published 8 days ago

cozy-sharing v13.3.0

Weekly downloads
215
License
MIT
Repository
github
Last release
8 days ago

Test 'n play

Open the playgrounds in cozy-libs and run yarn start

How to use the lib

In your app, you have to :

  • import the Provider: import SharingProvider, { ShareButton, ShareModal } from 'cozy-sharing'
  • import the stylesheet.css: import 'cozy-sharing/dist/stylesheet.css'

Using the built-in components

Some of the exposed components are fully featured components, ready to render. They need a SharingProvider above them in the render tree and the imported stylesheet for their styles.

import { ShareModal } from 'cozy-sharing'

const ToggleModal = () => {
  const [isModalDisplayed, setIsModalDisplayed] = useState(false)

  return (
    <div>
      <Button onClick={() => setIsModalDisplayed(true)}>Open modal</Button>
      {isModalDisplayed && <ShareModal document={doc} />}
    </div>
  )
}

Other components accept a render prop as children that receive some information from the sharing context.

import { SharedDocument } from 'cozy-sharing'

const MyComp = () => {
  return (
    <SharedDocument docId='123'>
      {({ isShared, link }) => (
        {isShared ? link : 'Not shared yet'}
      )}
    </SharedDocument>
  )
}

Usage with hooks

cozy-sharing can now be used with hooks as well:

import { SharingContext } from 'cozy-sharing'

const MyComp = () => {
  const { share } = useContext(SharingContext)

  return <Button onClick={() => share(document, recipients, sharingType, description)}>Share</Button>
}

Share and send mail in development

Cozy apps let users share documents from cozy to cozy.

Meet Alice and Bob. Alice wants to share a folder with Bob. Alice clicks on the share button and fills in the email input with Bob's email address. Bob receives an email with a « Accept the sharing » button. Bob clicks on that button and is redirected to Alice's cozy to enter his own cozy url to link both cozys. Bob sees Alice's shared folder in his own cozy.

🤔 But how could we do this scenario on development environment?

With the docker image

If you develop with the cozy-app-dev docker image, MailHog is running inside it to catch emails.

If cozy-stack has to send an email, MailHog catches it and exposes it on its web interface on http://cozy.tools:8025/.

With the binary cozy-stack

If you develop with the cozy-stack CLI, you have to run MailHog on your computer and tell cozy-stack serve where to find the mail server with some options:

./cozy-stack serve --appdir drive:../cozy-drive/build,settings:../cozy-settings/build --mail-disable-tls --mail-port 1025

This commands assumes you git clone cozy-drive and cozy-settings in the same folder than you git clone cozy-stack.

Then simply run mailhog and open http://cozy.tools:8025/.

Retrieve sent emails

With MailHog, every email sent by cozy-stack is caught. That means the email address does not have to be a real one, ie. bob@cozy, bob@cozy.tools are perfectly fine. It could be a real one, but the email will not reach the real recipient's inbox, say contact@cozycloud.cc.

13.3.0

8 days ago

13.2.0

22 days ago

13.1.2

24 days ago

13.1.1

26 days ago

13.1.0

1 month ago

13.0.0

1 month ago

12.3.0

2 months ago

12.2.0

2 months ago

12.1.0

2 months ago

12.0.0

2 months ago

11.1.0

2 months ago

11.0.1

2 months ago

11.0.0

2 months ago

10.4.1

2 months ago

10.4.0

2 months ago

10.3.0

2 months ago

10.2.0

3 months ago

10.1.4

4 months ago

10.1.2

4 months ago

10.1.3

4 months ago

10.1.1

5 months ago

10.1.0

5 months ago

10.0.0

7 months ago

10.0.1

6 months ago

8.1.0

10 months ago

8.2.0

10 months ago

9.0.2

8 months ago

9.0.1

8 months ago

9.0.0

9 months ago

8.3.0

10 months ago

8.0.1

10 months ago

8.0.0

10 months ago

7.1.3

1 year ago

7.1.2

1 year ago

7.1.1

1 year ago

7.0.0

1 year ago

7.0.3

1 year ago

7.0.2

1 year ago

7.0.1

1 year ago

7.1.0

1 year ago

6.0.6

1 year ago

6.0.5

1 year ago

6.0.4

1 year ago

5.0.1

1 year ago

6.0.3

1 year ago

6.0.2

1 year ago

4.9.0

1 year ago

5.0.0

1 year ago

4.8.1

1 year ago

4.8.0

1 year ago

4.8.2

1 year ago

6.0.1

1 year ago

6.0.0

1 year ago

4.5.8

2 years ago

4.5.9

2 years ago

4.5.10

2 years ago

4.7.0

1 year ago

4.6.1

1 year ago

4.6.0

1 year ago

4.5.7

2 years ago

4.5.6

2 years ago

4.5.4

2 years ago

4.5.3

2 years ago

4.5.5

2 years ago

4.4.1

2 years ago

4.4.0

2 years ago

4.3.1

2 years ago

4.5.0

2 years ago

4.5.2

2 years ago

4.5.1

2 years ago

4.3.0

2 years ago

4.2.2

2 years ago

4.2.1

2 years ago

4.2.0

2 years ago

4.1.7

2 years ago

4.1.6

2 years ago

4.1.5

2 years ago

4.1.4

2 years ago

4.0.5

2 years ago

4.0.4

2 years ago

4.0.1

2 years ago

4.0.0

2 years ago

4.0.3

2 years ago

4.0.2

2 years ago

3.12.10

2 years ago

3.12.5

2 years ago

3.12.7

2 years ago

3.12.6

2 years ago

3.12.9

2 years ago

3.12.8

2 years ago

4.1.3

2 years ago

4.1.0

2 years ago

4.1.2

2 years ago

4.1.1

2 years ago

3.12.4

3 years ago

3.12.3

3 years ago

3.12.1

3 years ago

3.12.2

3 years ago

3.12.0

3 years ago

3.11.0

3 years ago

3.10.0

3 years ago

3.9.0

3 years ago

3.8.0

3 years ago

3.7.0

3 years ago

3.6.0

3 years ago

3.5.0

3 years ago

3.4.2

3 years ago

3.4.0

3 years ago

3.4.1

3 years ago

3.3.7

3 years ago

3.3.5

3 years ago

3.3.4

3 years ago

3.3.3

3 years ago

3.3.2

3 years ago

3.3.1

3 years ago

3.3.0

3 years ago

3.2.0

3 years ago

3.0.0

3 years ago

3.1.0

3 years ago

2.12.2

3 years ago

2.13.0-beta.1

3 years ago

2.12.1

3 years ago

2.12.0

3 years ago

2.11.7

3 years ago

2.11.6

3 years ago

2.11.5

3 years ago

2.11.4

3 years ago

2.11.3

3 years ago

2.11.2

3 years ago

2.11.1

3 years ago

2.11.0

3 years ago

2.10.0

3 years ago

2.9.0

3 years ago

2.8.2

3 years ago

2.8.1

3 years ago

2.8.0

3 years ago

2.7.1

3 years ago

2.7.0

3 years ago

2.6.1

3 years ago

2.6.0

3 years ago

2.5.0

4 years ago

2.5.2

4 years ago

2.5.1

4 years ago

2.4.0

4 years ago

2.3.1

4 years ago

2.3.0

4 years ago

2.2.0

4 years ago

2.1.0

4 years ago

2.0.0

4 years ago

1.16.2

4 years ago

1.16.1

4 years ago

1.16.0

4 years ago

1.15.2

4 years ago

1.15.1

4 years ago

1.15.0

4 years ago

1.14.0

4 years ago

1.13.8

4 years ago

1.13.7

4 years ago

1.13.6

4 years ago

1.13.5

4 years ago

1.13.4

4 years ago

1.13.3

4 years ago

1.13.2

4 years ago

1.13.1

4 years ago

1.13.0

4 years ago

1.12.0

4 years ago

1.11.7

4 years ago

1.11.6

4 years ago

1.11.5

4 years ago

1.11.4

4 years ago

1.11.3

4 years ago

1.11.2

4 years ago

1.11.1

4 years ago

1.11.0

4 years ago

1.10.1

4 years ago

1.9.1

4 years ago

1.10.0

4 years ago

1.9.0

4 years ago

1.8.12

4 years ago

1.8.11

4 years ago

1.8.10

4 years ago

1.8.9

4 years ago

1.8.8

4 years ago

1.8.7

4 years ago

1.8.6

4 years ago

1.8.5

4 years ago

1.8.4

4 years ago

1.8.3

4 years ago

1.8.2

4 years ago

1.8.1

4 years ago

1.8.0

4 years ago

1.7.0

4 years ago

1.6.2

4 years ago

1.6.1

4 years ago

1.6.0

4 years ago

1.5.5

4 years ago

1.5.4

4 years ago

1.5.3

4 years ago

1.5.2

4 years ago

1.5.1

4 years ago

1.5.0

4 years ago

1.2.0

4 years ago

1.3.2

4 years ago

1.4.0

4 years ago

1.3.1

4 years ago

1.3.0

4 years ago

1.1.2

4 years ago

1.1.1

4 years ago

1.1.0

4 years ago