Skip to content

Commit 01ddd1a

Browse files
banma1234hackerwins
authored andcommitted
Add README and thumbnail on example 'simultaneous-cursors' (#683)
1 parent 462e3d5 commit 01ddd1a

File tree

10 files changed

+65
-3
lines changed

10 files changed

+65
-3
lines changed
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# Yorkie Simultaneous-Cursors Example
2+
3+
<p>
4+
<a href="https://yorkie.dev/yorkie-js-sdk/examples/simultaneous-cursors/" target="_blank">
5+
<img src="https://img.shields.io/badge/preview-message?style=flat-square&logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAyNCAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTYuODU3MTcgMi43ODE5OUwxMS4yNzUxIDkuMTI2NzhDMTEuNTU0NCA5LjUyODAxIDEyLjEwNjIgOS42MjY3NiAxMi41MDc0IDkuMzQ3NDRDMTIuNTkzNCA5LjI4NzUgMTIuNjY4MSA5LjIxMjggMTIuNzI4MSA5LjEyNjc4TDE3LjE0NiAyLjc4MTk5QzE3LjcwNDggMS45Nzk1NCAxNy41MDcyIDAuODc2MTMxIDE2LjcwNDggMC4zMTc0OTRDMTYuNDA4IDAuMTEwODM3IDE2LjA1NSAwIDE1LjY5MzIgMEg4LjMxMDAxQzcuMzMyMiAwIDYuNTM5NTUgMC43OTI2NTQgNi41Mzk1NSAxLjc3MDQ2QzYuNTM5NjggMi4xMzIxMSA2LjY1MDUxIDIuNDg1MTEgNi44NTcxNyAyLjc4MTk5WiIgZmlsbD0iIzUxNEM0OSIvPgo8cGF0aCBkPSJNMTMuODA4OSAxNC4yMzg4QzE0LjEyMzEgMTQuNDE4IDE0LjQ4NDcgMTQuNDk2NiAxNC44NDUgMTQuNDY0MkwyMi45MjYgMTMuNzM1QzIzLjU3NTMgMTMuNjc2NSAyNC4wNTQgMTMuMTAyNyAyMy45OTU1IDEyLjQ1MzVDMjMuOTkyNCAxMi40MTkyIDIzLjk4NzggMTIuMzg1MSAyMy45ODE3IDEyLjM1MTNDMjMuNzM4OSAxMC45OTY4IDIzLjI2MTEgOS42OTUyNyAyMi41Njk5IDguNTA1NDZDMjEuODc4NiA3LjMxNTY1IDIwLjk4NDggNi4yNTU3NyAxOS45Mjg2IDUuMzczOTFDMTkuNDI4MiA0Ljk1NjE0IDE4LjY4MzkgNS4wMjMwNyAxOC4yNjYyIDUuNTIzNTZDMTguMjQ0MiA1LjU0OTkgMTguMjIzMyA1LjU3NzI2IDE4LjIwMzYgNS42MDU1MUwxMy41NjcgMTIuMjY0MUMxMy4zNjAzIDEyLjU2MSAxMy4yNDk1IDEyLjkxNCAxMy4yNDk1IDEzLjI3NThWMTMuMjUzN0MxMy4yNDk1IDEzLjQ1NjIgMTMuMzAxNiAxMy42NTU0IDEzLjQwMDggMTMuODMxOUMxMy41MDUgMTQuMDA1NCAxMy42NTIxIDE0LjE0OTMgMTMuODI4MSAxNC4yNDk2IiBmaWxsPSIjRkRDNDMzIi8+CjxwYXRoIGQ9Ik0xMC42NDE2IDEzLjc0MzRDMTAuNTM3NSAxMy45NTU5IDEwLjM3MiAxNC4xMzIyIDEwLjE2NjUgMTQuMjQ5NEwxMC4xOTE1IDE0LjIzNTFDOS44NzczNCAxNC40MTQzIDkuNTE1NjkgMTQuNDkyOSA5LjE1NTQ0IDE0LjQ2MDVMMS4wNzQ0MSAxMy43MzEzQzEuMDQwMTggMTMuNzI4MyAxLjAwNjA3IDEzLjcyMzcgMC45NzIyMjUgMTMuNzE3NkMwLjMzMDYyIDEzLjYwMjUgLTAuMDk2MzExOSAxMi45ODkyIDAuMDE4NzI0MiAxMi4zNDc2QzAuMjYxNTIyIDEwLjk5MyAwLjczOTM1NCA5LjY5MTU2IDEuNDMwNDYgOC41MDE2M0MyLjEyMTU3IDcuMzExNjkgMy4wMTU1MSA2LjI1MjA2IDQuMDcxODQgNS4zNzAwOEM0LjA5ODE4IDUuMzQ4MDYgNC4xMjU1NCA1LjMyNzE5IDQuMTUzNzkgNS4zMDc0N0M0LjY4ODc2IDQuOTM1IDUuNDI0MjcgNS4wNjY3MSA1Ljc5Njg3IDUuNjAxNjhMMTAuNDMzNCAxMi4yNjA0QzEwLjY0MDEgMTIuNTU3MyAxMC43NTA5IDEyLjkxMDMgMTAuNzUwOSAxMy4yNzIxVjEzLjI0MzJDMTAuNzUwOSAxMy40Nzk3IDEwLjY3OTggMTMuNzExIDEwLjU0NjggMTMuOTA2NyIgZmlsbD0iI0ZEQzQzMyIvPgo8L3N2Zz4K&color=FEF3D7" alt="Live Preview" />
6+
</a>
7+
</p>
8+
9+
<img width="500" alt="simultaneous-cursors" src="thumbnail.jpg"/>
10+
11+
## How to run demo
12+
13+
### With Yorkie Dashboard
14+
15+
Install dependencies
16+
17+
```bash
18+
$ npm install
19+
```
20+
21+
Create an account on [Yorkie Dashboard](https://yorkie.dev/dashboard)
22+
Create a new project and copy your public key from the dashboard
23+
Update the `.env` file like so:
24+
25+
```
26+
VITE_YORKIE_API_ADDR='https://api.yorkie.dev'
27+
VITE_YORKIE_API_KEY='your_key_xxxx'
28+
```
29+
30+
Start demo project
31+
32+
```bash
33+
$ npm run dev
34+
```
35+
36+
### With local Yorkie server
37+
38+
Install dependencies
39+
40+
```bash
41+
$ npm install
42+
```
43+
44+
At project root, run below command to start Yorkie and Envoy proxy.
45+
46+
```bash
47+
$ docker-compose -f docker/docker-compose.yml up --build -d
48+
```
49+
50+
Update the `.env` file like so:
51+
52+
```
53+
VITE_YORKIE_API_ADDR='http://localhost:8080'
54+
VITE_YORKIE_API_KEY=''
55+
```
56+
57+
Start demo project
58+
59+
```bash
60+
$ npm run dev
61+
```

examples/simultaneous-cursors/src/components/Cursor.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ const Cursor = ({ selectedCursorShape, x, y, pointerDown }) => {
55
return (
66
<>
77
<img
8-
src={`src/assets/icons/icon_${selectedCursorShape}.svg`}
8+
src={`./icons/icon_${selectedCursorShape}.svg`}
99
className={`${selectedCursorShape}-cursor`}
1010
style={{ transform: `translate3d(${x}px, ${y}px, 0)` }}
1111
/>

examples/simultaneous-cursors/src/components/CursorSelections.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ const CursorSelections = ({ handleCursorShapeSelect, clientsLength }) => {
2020
? 'cursor-shape-selected'
2121
: 'cursor-shape-not-selected'
2222
}`}
23-
src={`src/assets/icons/icon_${shape}.svg`}
23+
src={`./icons/icon_${shape}.svg`}
2424
/>
2525
))}
2626
</div>

examples/simultaneous-cursors/src/components/SingleAnimation.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ export default function SingleAnimation({
1616
>
1717
<div className={styles['leftRight' + (timestamp % 3)]}>
1818
<div className="transform -translate-x-1/2 -translate-y-1/2">
19-
<img src={`src/assets/icons/icon_${selectedCursorShape}.svg`} />
19+
<img src={`./icons/icon_${selectedCursorShape}.svg`} />
2020
</div>
2121
</div>
2222
</div>
18.7 KB
Loading

examples/simultaneous-cursors/vite.config.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,6 @@ import react from '@vitejs/plugin-react'
33

44
// https://vitejs.dev/config/
55
export default defineConfig({
6+
base: '',
67
plugins: [react()],
78
})

0 commit comments

Comments
 (0)