├── .env.example ├── .eslintrc.json ├── .gitignore ├── .prettierrc ├── DATABASE_INIT.sql ├── LICENSE ├── README.md ├── constants ├── limits.ts └── playback.ts ├── global.d.ts ├── next-env.d.ts ├── next.config.js ├── package.json ├── pages ├── _app.tsx ├── _document.tsx ├── api │ └── trpc │ │ └── [trpc].ts ├── index.tsx └── rooms │ └── [slug].tsx ├── pnpm-lock.yaml ├── postcss.config.js ├── public ├── favicon.ico ├── hero.png ├── hf-logo.png ├── logo-dark.svg └── logo-light.svg ├── src ├── components │ ├── Avatar.tsx │ ├── ColorModeButton.tsx │ ├── Dashboard │ │ ├── DashboardWelcome.tsx │ │ └── JoinWithRoomCode.tsx │ ├── Drawers │ │ ├── DeviceSelectDrawer.tsx │ │ ├── PlaybackControlDrawer.tsx │ │ └── SongSearchDrawer.tsx │ ├── FullscreenLoader.tsx │ ├── Layout.tsx │ ├── PlaybackHeader │ │ ├── CreateRoomButton.tsx │ │ ├── PlaybackHeader.tsx │ │ └── PlaybackHeaderSongDisplay.tsx │ ├── RadioCardGroup.tsx │ ├── Room │ │ ├── Chat │ │ │ ├── AlwaysScrollToBottom.tsx │ │ │ ├── ChatComponent.tsx │ │ │ ├── ChatDisplay.tsx │ │ │ ├── ChatInput.tsx │ │ │ └── ChatMessageDisplay.tsx │ │ ├── DashboardBottomBar.tsx │ │ ├── DashboardSongControls.tsx │ │ ├── DashboardSongDisplay.tsx │ │ ├── FixedButtons.tsx │ │ ├── FixedPlaybackButtons.tsx │ │ ├── Listeners │ │ │ ├── ListenerDisplay.tsx │ │ │ └── ListenerPanel.tsx │ │ ├── ProgressSlider.tsx │ │ ├── QueuedSongDisplay.tsx │ │ ├── VolumeAndDeviceControl.tsx │ │ └── VolumeSlider.tsx │ ├── RoomRolls │ │ ├── FavoritedRoomRoll.tsx │ │ ├── OwnerRoomRoll.tsx │ │ ├── PublicRoomRoll.tsx │ │ ├── RoomCardDisplay.tsx │ │ ├── RoomRoll.tsx │ │ └── RoomRollLayout.tsx │ ├── SongControl.tsx │ ├── SongProgress.tsx │ ├── StitchesThemeController.tsx │ ├── YouTubePlayer.tsx │ └── YouTubePlayerPreview.tsx ├── hooks │ ├── rooms │ │ ├── useConnectedRoomUsers.tsx │ │ ├── useMonitorRoom.tsx │ │ ├── useQueue.tsx │ │ ├── useRoomSongRealtime.tsx │ │ └── useSongProgress.tsx │ ├── spotify │ │ └── useSpotifyTrack.tsx │ ├── supabase │ │ ├── useMessages.tsx │ │ ├── useRoomSongs.tsx │ │ └── useSongs.tsx │ ├── useBackgroundColor.tsx │ ├── useGradientsFromImageRef.tsx │ ├── useHandlePlayback.tsx │ ├── useHasAllowedAutoPlay.tsx │ ├── useIsInactive.tsx │ └── useWindowDimensions.tsx ├── lib │ ├── AuthProvider │ │ └── index.tsx │ ├── UserProvider │ │ └── index.tsx │ ├── api.ts │ ├── listen-together.ts │ ├── playback │ │ ├── getActiveService.ts │ │ ├── getIsSynchronized.ts │ │ ├── getPlaybackStatus.ts │ │ ├── getSongDuration.ts │ │ ├── index.ts │ │ ├── pause.ts │ │ ├── play.ts │ │ ├── skip.ts │ │ └── utils │ │ │ ├── calculateProgress.ts │ │ │ └── handleAndReturn.ts │ ├── spotify │ │ ├── SpotifyWebPlayback.tsx │ │ ├── _before.ts │ │ ├── getIsSynchronized.ts │ │ ├── getPlaybackStatus.ts │ │ ├── getSongDuration.ts │ │ ├── getTargetDevice.ts │ │ ├── index.ts │ │ ├── pause.ts │ │ └── play.ts │ └── youtube │ │ ├── _before.ts │ │ ├── getIsSynchronized.ts │ │ ├── getPlaybackStatus.ts │ │ ├── getSongDuration.ts │ │ ├── index.ts │ │ ├── pause.ts │ │ └── play.ts ├── models │ ├── Message.ts │ ├── Profile.ts │ ├── Room.ts │ ├── RoomSong.ts │ ├── Service.ts │ ├── Song.ts │ └── User.ts ├── server │ ├── client.ts │ ├── routers │ │ └── index.ts │ └── trpc.ts ├── state │ ├── APIProvider.tsx │ ├── isPremiumAtom.ts │ ├── playbackConfigurationAtom.ts │ ├── roomAtom.ts │ ├── sidepanelAtom.ts │ └── store.ts └── util │ ├── api │ ├── createAPIRoute.ts │ └── generateRandomString.ts │ ├── helpers │ ├── getBestContrast.ts │ └── getFirstName.ts │ └── supabase │ └── index.ts ├── stitches.config.ts ├── styles └── globals.css ├── tailwind.config.js └── tsconfig.json /.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/.env.example -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/.eslintrc.json -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/.gitignore -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/.prettierrc -------------------------------------------------------------------------------- /DATABASE_INIT.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/DATABASE_INIT.sql -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/README.md -------------------------------------------------------------------------------- /constants/limits.ts: -------------------------------------------------------------------------------- 1 | export const USER_ROOM_LIMIT = 3; 2 | -------------------------------------------------------------------------------- /constants/playback.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/constants/playback.ts -------------------------------------------------------------------------------- /global.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/global.d.ts -------------------------------------------------------------------------------- /next-env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/next-env.d.ts -------------------------------------------------------------------------------- /next.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | swcMinify: true, 3 | }; 4 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/package.json -------------------------------------------------------------------------------- /pages/_app.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/pages/_app.tsx -------------------------------------------------------------------------------- /pages/_document.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/pages/_document.tsx -------------------------------------------------------------------------------- /pages/api/trpc/[trpc].ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/pages/api/trpc/[trpc].ts -------------------------------------------------------------------------------- /pages/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/pages/index.tsx -------------------------------------------------------------------------------- /pages/rooms/[slug].tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/pages/rooms/[slug].tsx -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/postcss.config.js -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /public/hero.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/public/hero.png -------------------------------------------------------------------------------- /public/hf-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/public/hf-logo.png -------------------------------------------------------------------------------- /public/logo-dark.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/public/logo-dark.svg -------------------------------------------------------------------------------- /public/logo-light.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/public/logo-light.svg -------------------------------------------------------------------------------- /src/components/Avatar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/components/Avatar.tsx -------------------------------------------------------------------------------- /src/components/ColorModeButton.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/components/ColorModeButton.tsx -------------------------------------------------------------------------------- /src/components/Dashboard/DashboardWelcome.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/components/Dashboard/DashboardWelcome.tsx -------------------------------------------------------------------------------- /src/components/Dashboard/JoinWithRoomCode.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/components/Dashboard/JoinWithRoomCode.tsx -------------------------------------------------------------------------------- /src/components/Drawers/DeviceSelectDrawer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/components/Drawers/DeviceSelectDrawer.tsx -------------------------------------------------------------------------------- /src/components/Drawers/PlaybackControlDrawer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/components/Drawers/PlaybackControlDrawer.tsx -------------------------------------------------------------------------------- /src/components/Drawers/SongSearchDrawer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/components/Drawers/SongSearchDrawer.tsx -------------------------------------------------------------------------------- /src/components/FullscreenLoader.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/components/FullscreenLoader.tsx -------------------------------------------------------------------------------- /src/components/Layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/components/Layout.tsx -------------------------------------------------------------------------------- /src/components/PlaybackHeader/CreateRoomButton.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/components/PlaybackHeader/CreateRoomButton.tsx -------------------------------------------------------------------------------- /src/components/PlaybackHeader/PlaybackHeader.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/components/PlaybackHeader/PlaybackHeader.tsx -------------------------------------------------------------------------------- /src/components/PlaybackHeader/PlaybackHeaderSongDisplay.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/components/PlaybackHeader/PlaybackHeaderSongDisplay.tsx -------------------------------------------------------------------------------- /src/components/RadioCardGroup.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/components/RadioCardGroup.tsx -------------------------------------------------------------------------------- /src/components/Room/Chat/AlwaysScrollToBottom.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/components/Room/Chat/AlwaysScrollToBottom.tsx -------------------------------------------------------------------------------- /src/components/Room/Chat/ChatComponent.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/components/Room/Chat/ChatComponent.tsx -------------------------------------------------------------------------------- /src/components/Room/Chat/ChatDisplay.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/components/Room/Chat/ChatDisplay.tsx -------------------------------------------------------------------------------- /src/components/Room/Chat/ChatInput.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/components/Room/Chat/ChatInput.tsx -------------------------------------------------------------------------------- /src/components/Room/Chat/ChatMessageDisplay.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/components/Room/Chat/ChatMessageDisplay.tsx -------------------------------------------------------------------------------- /src/components/Room/DashboardBottomBar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/components/Room/DashboardBottomBar.tsx -------------------------------------------------------------------------------- /src/components/Room/DashboardSongControls.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/components/Room/DashboardSongControls.tsx -------------------------------------------------------------------------------- /src/components/Room/DashboardSongDisplay.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/components/Room/DashboardSongDisplay.tsx -------------------------------------------------------------------------------- /src/components/Room/FixedButtons.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/components/Room/FixedButtons.tsx -------------------------------------------------------------------------------- /src/components/Room/FixedPlaybackButtons.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/components/Room/FixedPlaybackButtons.tsx -------------------------------------------------------------------------------- /src/components/Room/Listeners/ListenerDisplay.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/components/Room/Listeners/ListenerDisplay.tsx -------------------------------------------------------------------------------- /src/components/Room/Listeners/ListenerPanel.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/components/Room/Listeners/ListenerPanel.tsx -------------------------------------------------------------------------------- /src/components/Room/ProgressSlider.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/components/Room/ProgressSlider.tsx -------------------------------------------------------------------------------- /src/components/Room/QueuedSongDisplay.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/components/Room/QueuedSongDisplay.tsx -------------------------------------------------------------------------------- /src/components/Room/VolumeAndDeviceControl.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/components/Room/VolumeAndDeviceControl.tsx -------------------------------------------------------------------------------- /src/components/Room/VolumeSlider.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/components/Room/VolumeSlider.tsx -------------------------------------------------------------------------------- /src/components/RoomRolls/FavoritedRoomRoll.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/components/RoomRolls/FavoritedRoomRoll.tsx -------------------------------------------------------------------------------- /src/components/RoomRolls/OwnerRoomRoll.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/components/RoomRolls/OwnerRoomRoll.tsx -------------------------------------------------------------------------------- /src/components/RoomRolls/PublicRoomRoll.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/components/RoomRolls/PublicRoomRoll.tsx -------------------------------------------------------------------------------- /src/components/RoomRolls/RoomCardDisplay.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/components/RoomRolls/RoomCardDisplay.tsx -------------------------------------------------------------------------------- /src/components/RoomRolls/RoomRoll.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/components/RoomRolls/RoomRoll.tsx -------------------------------------------------------------------------------- /src/components/RoomRolls/RoomRollLayout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/components/RoomRolls/RoomRollLayout.tsx -------------------------------------------------------------------------------- /src/components/SongControl.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/components/SongControl.tsx -------------------------------------------------------------------------------- /src/components/SongProgress.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/components/SongProgress.tsx -------------------------------------------------------------------------------- /src/components/StitchesThemeController.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/components/StitchesThemeController.tsx -------------------------------------------------------------------------------- /src/components/YouTubePlayer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/components/YouTubePlayer.tsx -------------------------------------------------------------------------------- /src/components/YouTubePlayerPreview.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/components/YouTubePlayerPreview.tsx -------------------------------------------------------------------------------- /src/hooks/rooms/useConnectedRoomUsers.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/hooks/rooms/useConnectedRoomUsers.tsx -------------------------------------------------------------------------------- /src/hooks/rooms/useMonitorRoom.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/hooks/rooms/useMonitorRoom.tsx -------------------------------------------------------------------------------- /src/hooks/rooms/useQueue.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/hooks/rooms/useQueue.tsx -------------------------------------------------------------------------------- /src/hooks/rooms/useRoomSongRealtime.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/hooks/rooms/useRoomSongRealtime.tsx -------------------------------------------------------------------------------- /src/hooks/rooms/useSongProgress.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/hooks/rooms/useSongProgress.tsx -------------------------------------------------------------------------------- /src/hooks/spotify/useSpotifyTrack.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/hooks/spotify/useSpotifyTrack.tsx -------------------------------------------------------------------------------- /src/hooks/supabase/useMessages.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/hooks/supabase/useMessages.tsx -------------------------------------------------------------------------------- /src/hooks/supabase/useRoomSongs.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/hooks/supabase/useRoomSongs.tsx -------------------------------------------------------------------------------- /src/hooks/supabase/useSongs.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/hooks/supabase/useSongs.tsx -------------------------------------------------------------------------------- /src/hooks/useBackgroundColor.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/hooks/useBackgroundColor.tsx -------------------------------------------------------------------------------- /src/hooks/useGradientsFromImageRef.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/hooks/useGradientsFromImageRef.tsx -------------------------------------------------------------------------------- /src/hooks/useHandlePlayback.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/hooks/useHandlePlayback.tsx -------------------------------------------------------------------------------- /src/hooks/useHasAllowedAutoPlay.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/hooks/useHasAllowedAutoPlay.tsx -------------------------------------------------------------------------------- /src/hooks/useIsInactive.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/hooks/useIsInactive.tsx -------------------------------------------------------------------------------- /src/hooks/useWindowDimensions.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/hooks/useWindowDimensions.tsx -------------------------------------------------------------------------------- /src/lib/AuthProvider/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/lib/AuthProvider/index.tsx -------------------------------------------------------------------------------- /src/lib/UserProvider/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/lib/UserProvider/index.tsx -------------------------------------------------------------------------------- /src/lib/api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/lib/api.ts -------------------------------------------------------------------------------- /src/lib/listen-together.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/lib/listen-together.ts -------------------------------------------------------------------------------- /src/lib/playback/getActiveService.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/lib/playback/getActiveService.ts -------------------------------------------------------------------------------- /src/lib/playback/getIsSynchronized.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/lib/playback/getIsSynchronized.ts -------------------------------------------------------------------------------- /src/lib/playback/getPlaybackStatus.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/lib/playback/getPlaybackStatus.ts -------------------------------------------------------------------------------- /src/lib/playback/getSongDuration.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/lib/playback/getSongDuration.ts -------------------------------------------------------------------------------- /src/lib/playback/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/lib/playback/index.ts -------------------------------------------------------------------------------- /src/lib/playback/pause.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/lib/playback/pause.ts -------------------------------------------------------------------------------- /src/lib/playback/play.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/lib/playback/play.ts -------------------------------------------------------------------------------- /src/lib/playback/skip.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/lib/playback/skip.ts -------------------------------------------------------------------------------- /src/lib/playback/utils/calculateProgress.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/lib/playback/utils/calculateProgress.ts -------------------------------------------------------------------------------- /src/lib/playback/utils/handleAndReturn.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/lib/playback/utils/handleAndReturn.ts -------------------------------------------------------------------------------- /src/lib/spotify/SpotifyWebPlayback.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/lib/spotify/SpotifyWebPlayback.tsx -------------------------------------------------------------------------------- /src/lib/spotify/_before.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/lib/spotify/_before.ts -------------------------------------------------------------------------------- /src/lib/spotify/getIsSynchronized.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/lib/spotify/getIsSynchronized.ts -------------------------------------------------------------------------------- /src/lib/spotify/getPlaybackStatus.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/lib/spotify/getPlaybackStatus.ts -------------------------------------------------------------------------------- /src/lib/spotify/getSongDuration.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/lib/spotify/getSongDuration.ts -------------------------------------------------------------------------------- /src/lib/spotify/getTargetDevice.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/lib/spotify/getTargetDevice.ts -------------------------------------------------------------------------------- /src/lib/spotify/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/lib/spotify/index.ts -------------------------------------------------------------------------------- /src/lib/spotify/pause.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/lib/spotify/pause.ts -------------------------------------------------------------------------------- /src/lib/spotify/play.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/lib/spotify/play.ts -------------------------------------------------------------------------------- /src/lib/youtube/_before.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/lib/youtube/_before.ts -------------------------------------------------------------------------------- /src/lib/youtube/getIsSynchronized.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/lib/youtube/getIsSynchronized.ts -------------------------------------------------------------------------------- /src/lib/youtube/getPlaybackStatus.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/lib/youtube/getPlaybackStatus.ts -------------------------------------------------------------------------------- /src/lib/youtube/getSongDuration.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/lib/youtube/getSongDuration.ts -------------------------------------------------------------------------------- /src/lib/youtube/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/lib/youtube/index.ts -------------------------------------------------------------------------------- /src/lib/youtube/pause.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/lib/youtube/pause.ts -------------------------------------------------------------------------------- /src/lib/youtube/play.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/lib/youtube/play.ts -------------------------------------------------------------------------------- /src/models/Message.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/models/Message.ts -------------------------------------------------------------------------------- /src/models/Profile.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/models/Profile.ts -------------------------------------------------------------------------------- /src/models/Room.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/models/Room.ts -------------------------------------------------------------------------------- /src/models/RoomSong.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/models/RoomSong.ts -------------------------------------------------------------------------------- /src/models/Service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/models/Service.ts -------------------------------------------------------------------------------- /src/models/Song.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/models/Song.ts -------------------------------------------------------------------------------- /src/models/User.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/models/User.ts -------------------------------------------------------------------------------- /src/server/client.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/server/client.ts -------------------------------------------------------------------------------- /src/server/routers/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/server/routers/index.ts -------------------------------------------------------------------------------- /src/server/trpc.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/server/trpc.ts -------------------------------------------------------------------------------- /src/state/APIProvider.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/state/APIProvider.tsx -------------------------------------------------------------------------------- /src/state/isPremiumAtom.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/state/isPremiumAtom.ts -------------------------------------------------------------------------------- /src/state/playbackConfigurationAtom.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/state/playbackConfigurationAtom.ts -------------------------------------------------------------------------------- /src/state/roomAtom.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/state/roomAtom.ts -------------------------------------------------------------------------------- /src/state/sidepanelAtom.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/state/sidepanelAtom.ts -------------------------------------------------------------------------------- /src/state/store.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/state/store.ts -------------------------------------------------------------------------------- /src/util/api/createAPIRoute.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/util/api/createAPIRoute.ts -------------------------------------------------------------------------------- /src/util/api/generateRandomString.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/util/api/generateRandomString.ts -------------------------------------------------------------------------------- /src/util/helpers/getBestContrast.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/util/helpers/getBestContrast.ts -------------------------------------------------------------------------------- /src/util/helpers/getFirstName.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/util/helpers/getFirstName.ts -------------------------------------------------------------------------------- /src/util/supabase/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/src/util/supabase/index.ts -------------------------------------------------------------------------------- /stitches.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/stitches.config.ts -------------------------------------------------------------------------------- /styles/globals.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/styles/globals.css -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/tailwind.config.js -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hfellerhoff/listentogether/HEAD/tsconfig.json --------------------------------------------------------------------------------