{{ room.name }}
14 |15 | {{ room.participants.length }} online 17 |
18 |├── .editorconfig ├── .gitignore ├── README.md ├── app.html ├── assets ├── css │ ├── _variables.scss │ └── global.scss ├── icons │ ├── file.png │ ├── link.png │ └── youtube.svg └── images │ ├── background.jpg │ ├── background_1.jpg │ ├── background_2.jpg │ └── background_3.jpg ├── components ├── AudioBar.vue ├── Avatar.vue ├── Controls.vue ├── Info.vue ├── JoinRoom.vue ├── Modal.vue ├── Participant.vue ├── Player.vue ├── RoomSetup.vue ├── Spinner.vue ├── VideoStopped.vue └── modals │ ├── EditRoom.vue │ ├── Invite.vue │ └── VideoLinkModal.vue ├── layouts └── landing.vue ├── middleware └── README.md ├── nuxt.config.js ├── package-lock.json ├── package.json ├── pages ├── _room.vue ├── createroom.vue ├── index.vue └── joinroom.vue ├── plugins ├── ping.js ├── socket-io.js ├── srt-webvtt.js └── vue-plyr.js ├── screenshots ├── screenshot_1.png ├── screenshot_2.png ├── screenshot_3.png └── screenshot_4.png ├── static ├── favicon.ico ├── file_icon.png ├── sample.vtt └── video_icon.png └── store └── index.js /.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | root = true 3 | 4 | [*] 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | insert_final_newline = true 11 | 12 | [*.md] 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Created by .ignore support plugin (hsz.mobi) 2 | ### Node template 3 | # Logs 4 | /logs 5 | *.log 6 | npm-debug.log* 7 | yarn-debug.log* 8 | yarn-error.log* 9 | 10 | # Runtime data 11 | pids 12 | *.pid 13 | *.seed 14 | *.pid.lock 15 | 16 | # Directory for instrumented libs generated by jscoverage/JSCover 17 | lib-cov 18 | 19 | # Coverage directory used by tools like istanbul 20 | coverage 21 | 22 | # nyc test coverage 23 | .nyc_output 24 | 25 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 26 | .grunt 27 | 28 | # Bower dependency directory (https://bower.io/) 29 | bower_components 30 | 31 | # node-waf configuration 32 | .lock-wscript 33 | 34 | # Compiled binary addons (https://nodejs.org/api/addons.html) 35 | build/Release 36 | 37 | # Dependency directories 38 | node_modules/ 39 | jspm_packages/ 40 | 41 | # TypeScript v1 declaration files 42 | typings/ 43 | 44 | # Optional npm cache directory 45 | .npm 46 | 47 | # Optional eslint cache 48 | .eslintcache 49 | 50 | # Optional REPL history 51 | .node_repl_history 52 | 53 | # Output of 'npm pack' 54 | *.tgz 55 | 56 | # Yarn Integrity file 57 | .yarn-integrity 58 | 59 | # dotenv environment variables file 60 | .env 61 | 62 | # parcel-bundler cache (https://parceljs.org/) 63 | .cache 64 | 65 | # next.js build output 66 | .next 67 | 68 | # nuxt.js build output 69 | .nuxt 70 | 71 | # Nuxt generate 72 | dist 73 | 74 | # vuepress build output 75 | .vuepress/dist 76 | 77 | # Serverless directories 78 | .serverless 79 | 80 | # IDE / Editor 81 | .idea 82 | 83 | # Service worker 84 | sw.* 85 | 86 | # macOS 87 | .DS_Store 88 | 89 | # Vim swap files 90 | *.swp 91 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 🍿 Movie Night 2 | 3 |
4 |
5 |
6 |
7 |
8 |
{{ nickName }}
4 |19 | {{ room.name || "--" }} 20 |
21 | 24 |Sync play local and YouTube videos with your friends
7 |YouTube
15 |Files
19 |Links
23 |{{ room.name }}
14 |15 | {{ room.participants.length }} online 17 |
18 |Room hasn't started or has ended
37 | 40 |13 | {{ info.nickName || "--" }} 14 | 18 |
19 |{{ room.video.title || "--" }}
42 | 43 |Waiting for the host to start playing
29 |{{ room.video.title }}
44 |or
8 | 11 |