24.0.0 • Published 5 months ago

cozy-sharing v24.0.0

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

5 months ago

23.1.0

5 months ago

23.2.0

5 months ago

24.0.0

5 months ago

22.0.0

6 months ago

21.3.0

6 months ago

21.2.2

6 months ago

21.2.1

6 months ago

21.0.0

7 months ago

21.1.0

7 months ago

21.2.0

7 months ago

20.0.0

7 months ago

19.0.0

7 months ago

18.0.0

8 months ago

17.0.0

8 months ago

16.15.0

8 months ago

16.15.1

8 months ago

16.14.0

8 months ago

16.17.0

8 months ago

16.16.0

8 months ago

16.13.0

8 months ago

16.12.0

8 months ago

16.9.0

8 months ago

16.11.0

8 months ago

16.10.0

8 months ago

16.8.0

8 months ago

16.7.0

9 months ago

16.5.0

9 months ago

16.6.1

9 months ago

16.6.0

9 months ago

16.3.1

9 months ago

16.4.0

9 months ago

16.3.0

9 months ago

16.2.0

9 months ago

16.1.0

10 months ago

16.0.3

10 months ago

16.0.2

10 months ago

16.0.1

10 months ago

15.0.3

12 months ago

15.0.4

11 months ago

16.0.0

11 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

2 years 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

3 years ago

6.0.3

3 years ago

6.0.2

3 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

3 years ago

6.0.0

3 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

4 years ago

4.0.4

4 years ago

4.0.1

4 years ago

4.0.0

4 years ago

4.0.3

4 years ago

4.0.2

4 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

5 years ago

2.11.3

5 years ago

2.11.2

5 years ago

2.11.1

5 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

6 years ago

1.7.0

6 years ago

1.6.2

6 years ago

1.6.1

6 years ago

1.6.0

6 years ago

1.5.5

6 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