24.0.0 • Published 4 months ago

cozy-sharing v24.0.0

Weekly downloads
215
License
MIT
Repository
github
Last release
4 months 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.

23.0.0

4 months ago

23.1.0

4 months ago

23.2.0

4 months ago

24.0.0

4 months ago

22.0.0

5 months ago

21.3.0

5 months ago

21.2.2

5 months ago

21.2.1

6 months ago

21.0.0

6 months ago

21.1.0

6 months ago

21.2.0

6 months ago

20.0.0

6 months ago

19.0.0

6 months ago

18.0.0

7 months ago

17.0.0

7 months ago

16.15.0

7 months ago

16.15.1

7 months ago

16.14.0

7 months ago

16.17.0

7 months ago

16.16.0

7 months ago

16.13.0

7 months ago

16.12.0

7 months ago

16.9.0

7 months ago

16.11.0

7 months ago

16.10.0

7 months ago

16.8.0

7 months ago

16.7.0

8 months ago

16.5.0

8 months ago

16.6.1

8 months ago

16.6.0

8 months ago

16.3.1

8 months ago

16.4.0

8 months ago

16.3.0

9 months ago

16.2.0

9 months ago

16.1.0

9 months ago

16.0.3

9 months ago

16.0.2

9 months ago

16.0.1

9 months ago

15.0.3

11 months ago

15.0.4

10 months ago

16.0.0

10 months ago

15.0.2

1 year ago

15.0.1

1 year ago

14.1.0

1 year ago

15.0.0

1 year ago

13.3.1

1 year ago

14.0.0

1 year ago

13.3.0

1 year ago

13.2.0

1 year ago

13.1.2

1 year ago

13.1.1

1 year ago

13.1.0

1 year ago

13.0.0

1 year ago

12.3.0

1 year ago

12.2.0

1 year ago

12.1.0

1 year ago

12.0.0

1 year ago

11.1.0

1 year ago

11.0.1

1 year ago

11.0.0

1 year ago

10.4.1

1 year ago

10.4.0

1 year ago

10.3.0

1 year ago

10.2.0

1 year ago

10.1.4

2 years ago

10.1.2

2 years ago

10.1.3

2 years ago

10.1.1

2 years ago

10.1.0

2 years ago

10.0.0

2 years ago

10.0.1

2 years ago

8.1.0

2 years ago

8.2.0

2 years ago

9.0.2

2 years ago

9.0.1

2 years ago

9.0.0

2 years ago

8.3.0

2 years ago

8.0.1

2 years ago

8.0.0

2 years ago

7.1.3

2 years ago

7.1.2

2 years ago

7.1.1

2 years ago

7.0.0

2 years ago

7.0.3

2 years ago

7.0.2

2 years ago

7.0.1

2 years ago

7.1.0

2 years ago

6.0.6

2 years ago

6.0.5

2 years ago

6.0.4

2 years ago

5.0.1

2 years ago

6.0.3

2 years ago

6.0.2

2 years ago

4.9.0

3 years ago

5.0.0

3 years ago

4.8.1

3 years ago

4.8.0

3 years ago

4.8.2

3 years ago

6.0.1

2 years ago

6.0.0

2 years ago

4.5.8

3 years ago

4.5.9

3 years ago

4.5.10

3 years ago

4.7.0

3 years ago

4.6.1

3 years ago

4.6.0

3 years ago

4.5.7

3 years ago

4.5.6

3 years ago

4.5.4

3 years ago

4.5.3

3 years ago

4.5.5

3 years ago

4.4.1

3 years ago

4.4.0

3 years ago

4.3.1

3 years ago

4.5.0

3 years ago

4.5.2

3 years ago

4.5.1

3 years ago

4.3.0

3 years ago

4.2.2

3 years ago

4.2.1

3 years ago

4.2.0

3 years ago

4.1.7

3 years ago

4.1.6

3 years ago

4.1.5

3 years ago

4.1.4

3 years ago

4.0.5

3 years ago

4.0.4

3 years ago

4.0.1

4 years ago

4.0.0

4 years ago

4.0.3

3 years ago

4.0.2

3 years ago

3.12.10

4 years ago

3.12.5

4 years ago

3.12.7

4 years ago

3.12.6

4 years ago

3.12.9

4 years ago

3.12.8

4 years ago

4.1.3

3 years ago

4.1.0

3 years ago

4.1.2

3 years ago

4.1.1

3 years ago

3.12.4

4 years ago

3.12.3

4 years ago

3.12.1

4 years ago

3.12.2

4 years ago

3.12.0

4 years ago

3.11.0

4 years ago

3.10.0

4 years ago

3.9.0

4 years ago

3.8.0

4 years ago

3.7.0

4 years ago

3.6.0

4 years ago

3.5.0

4 years ago

3.4.2

4 years ago

3.4.0

4 years ago

3.4.1

4 years ago

3.3.7

4 years ago

3.3.5

4 years ago

3.3.4

4 years ago

3.3.3

4 years ago

3.3.2

4 years ago

3.3.1

4 years ago

3.3.0

4 years ago

3.2.0

4 years ago

3.0.0

4 years ago

3.1.0

4 years ago

2.12.2

4 years ago

2.13.0-beta.1

4 years ago

2.12.1

4 years ago

2.12.0

4 years ago

2.11.7

4 years ago

2.11.6

4 years ago

2.11.5

4 years ago

2.11.4

4 years ago

2.11.3

4 years ago

2.11.2

4 years ago

2.11.1

4 years ago

2.11.0

5 years ago

2.10.0

5 years ago

2.9.0

5 years ago

2.8.2

5 years ago

2.8.1

5 years ago

2.8.0

5 years ago

2.7.1

5 years ago

2.7.0

5 years ago

2.6.1

5 years ago

2.6.0

5 years ago

2.5.0

5 years ago

2.5.2

5 years ago

2.5.1

5 years ago

2.4.0

5 years ago

2.3.1

5 years ago

2.3.0

5 years ago

2.2.0

5 years ago

2.1.0

5 years ago

2.0.0

5 years ago

1.16.2

5 years ago

1.16.1

5 years ago

1.16.0

5 years ago

1.15.2

5 years ago

1.15.1

5 years ago

1.15.0

5 years ago

1.14.0

5 years ago

1.13.8

5 years ago

1.13.7

5 years ago

1.13.6

5 years ago

1.13.5

5 years ago

1.13.4

5 years ago

1.13.3

5 years ago

1.13.2

5 years ago

1.13.1

5 years ago

1.13.0

5 years ago

1.12.0

5 years ago

1.11.7

5 years ago

1.11.6

5 years ago

1.11.5

5 years ago

1.11.4

5 years ago

1.11.3

5 years ago

1.11.2

5 years ago

1.11.1

5 years ago

1.11.0

5 years ago

1.10.1

5 years ago

1.9.1

5 years ago

1.10.0

5 years ago

1.9.0

5 years ago

1.8.12

5 years ago

1.8.11

5 years ago

1.8.10

5 years ago

1.8.9

5 years ago

1.8.8

5 years ago

1.8.7

5 years ago

1.8.6

5 years ago

1.8.5

5 years ago

1.8.4

5 years ago

1.8.3

5 years ago

1.8.2

5 years ago

1.8.1

5 years ago

1.8.0

5 years ago

1.7.0

5 years ago

1.6.2

5 years ago

1.6.1

5 years ago

1.6.0

5 years ago

1.5.5

5 years ago

1.5.4

6 years ago

1.5.3

6 years ago

1.5.2

6 years ago

1.5.1

6 years ago

1.5.0

6 years ago

1.2.0

6 years ago

1.3.2

6 years ago

1.4.0

6 years ago

1.3.1

6 years ago

1.3.0

6 years ago

1.1.2

6 years ago

1.1.1

6 years ago

1.1.0

6 years ago