diff --git a/.DS_Store b/.DS_Store old mode 100644 new mode 100755 diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 diff --git a/docker-compose.yml b/docker-compose.yml old mode 100644 new mode 100755 index 5ac4497e..754a2db4 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -10,6 +10,6 @@ services: build: packages/server restart: unless-stopped ports: - - "3000:3000" + - "3010:3000" env_file: - - .env \ No newline at end of file + - .env diff --git a/example.env b/example.env old mode 100644 new mode 100755 diff --git a/package.json b/package.json old mode 100644 new mode 100755 diff --git a/packages/.DS_Store b/packages/.DS_Store old mode 100644 new mode 100755 diff --git a/packages/LICENSE b/packages/LICENSE old mode 100644 new mode 100755 diff --git a/packages/app/.config.js b/packages/app/.config.js old mode 100644 new mode 100755 diff --git a/packages/app/.dockerignore b/packages/app/.dockerignore old mode 100644 new mode 100755 diff --git a/packages/app/.gitignore b/packages/app/.gitignore old mode 100644 new mode 100755 diff --git a/packages/app/Dockerfile b/packages/app/Dockerfile old mode 100644 new mode 100755 diff --git a/packages/app/capacitor.config.json b/packages/app/capacitor.config.json old mode 100644 new mode 100755 diff --git a/packages/app/config/index.js b/packages/app/config/index.js old mode 100644 new mode 100755 diff --git a/packages/app/constants/defaultRemotesOrigins.json b/packages/app/constants/defaultRemotesOrigins.json old mode 100644 new mode 100755 diff --git a/packages/app/constants/defaultSettings.json b/packages/app/constants/defaultSettings.json old mode 100644 new mode 100755 diff --git a/packages/app/constants/defaultSoundPack.json b/packages/app/constants/defaultSoundPack.json old mode 100644 new mode 100755 diff --git a/packages/app/constants/defaultTheme.json b/packages/app/constants/defaultTheme.json old mode 100644 new mode 100755 diff --git a/packages/app/constants/menu-contexts.js b/packages/app/constants/menu-contexts.js old mode 100644 new mode 100755 diff --git a/packages/app/constants/publicRoutes.json b/packages/app/constants/publicRoutes.json old mode 100644 new mode 100755 diff --git a/packages/app/constants/routes.json b/packages/app/constants/routes.json old mode 100644 new mode 100755 diff --git a/packages/app/constants/settings/account/index.jsx b/packages/app/constants/settings/account/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/constants/settings/app/index.jsx b/packages/app/constants/settings/app/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/constants/settings/apparence/components/index.js b/packages/app/constants/settings/apparence/components/index.js old mode 100644 new mode 100755 diff --git a/packages/app/constants/settings/apparence/components/unsplashBrowser/index.jsx b/packages/app/constants/settings/apparence/components/unsplashBrowser/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/constants/settings/apparence/index.jsx b/packages/app/constants/settings/apparence/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/constants/settings/apparence/index.less b/packages/app/constants/settings/apparence/index.less old mode 100644 new mode 100755 diff --git a/packages/app/constants/settings/extensions/index.jsx b/packages/app/constants/settings/extensions/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/constants/settings/index.js b/packages/app/constants/settings/index.js old mode 100644 new mode 100755 diff --git a/packages/app/constants/settings/notifications/index.jsx b/packages/app/constants/settings/notifications/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/constants/settings/security/components/changePassword/index.jsx b/packages/app/constants/settings/security/components/changePassword/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/constants/settings/security/components/sessions/index.jsx b/packages/app/constants/settings/security/components/sessions/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/constants/settings/security/index.jsx b/packages/app/constants/settings/security/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/constants/settingsGroupsDecorator.json b/packages/app/constants/settingsGroupsDecorator.json old mode 100644 new mode 100755 diff --git a/packages/app/electron-builder.yml b/packages/app/electron-builder.yml old mode 100644 new mode 100755 diff --git a/packages/app/electron/main/configs/config.js b/packages/app/electron/main/configs/config.js old mode 100644 new mode 100755 diff --git a/packages/app/electron/main/icon.png b/packages/app/electron/main/icon.png old mode 100644 new mode 100755 diff --git a/packages/app/electron/main/index.js b/packages/app/electron/main/index.js old mode 100644 new mode 100755 diff --git a/packages/app/electron/main/statics/loading.css b/packages/app/electron/main/statics/loading.css old mode 100644 new mode 100755 diff --git a/packages/app/electron/main/statics/loading.html b/packages/app/electron/main/statics/loading.html old mode 100644 new mode 100755 diff --git a/packages/app/electron/main/statics/loading_dev.html b/packages/app/electron/main/statics/loading_dev.html old mode 100644 new mode 100755 diff --git a/packages/app/electron/preload/index.js b/packages/app/electron/preload/index.js old mode 100644 new mode 100755 diff --git a/packages/app/index.html b/packages/app/index.html old mode 100644 new mode 100755 diff --git a/packages/app/package.json b/packages/app/package.json old mode 100644 new mode 100755 diff --git a/packages/app/public/assets/new_file.png b/packages/app/public/assets/new_file.png old mode 100644 new mode 100755 diff --git a/packages/app/public/assets/no_song.png b/packages/app/public/assets/no_song.png old mode 100644 new mode 100755 diff --git a/packages/app/public/broken-image.svg b/packages/app/public/broken-image.svg old mode 100644 new mode 100755 diff --git a/packages/app/public/favicon.ico b/packages/app/public/favicon.ico old mode 100644 new mode 100755 diff --git a/packages/app/public/logo_alt.svg b/packages/app/public/logo_alt.svg old mode 100644 new mode 100755 diff --git a/packages/app/public/logo_full.svg b/packages/app/public/logo_full.svg old mode 100644 new mode 100755 diff --git a/packages/app/public/sounds/crash.wav b/packages/app/public/sounds/crash.wav old mode 100644 new mode 100755 diff --git a/packages/app/public/sounds/error.wav b/packages/app/public/sounds/error.wav old mode 100644 new mode 100755 diff --git a/packages/app/public/sounds/notification.wav b/packages/app/public/sounds/notification.wav old mode 100644 new mode 100755 diff --git a/packages/app/server.js b/packages/app/server.js old mode 100644 new mode 100755 diff --git a/packages/app/src/App.jsx b/packages/app/src/App.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/AboutApp/index.jsx b/packages/app/src/components/AboutApp/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/AboutApp/index.less b/packages/app/src/components/AboutApp/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/ActionsBar/index.jsx b/packages/app/src/components/ActionsBar/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/ActionsBar/index.less b/packages/app/src/components/ActionsBar/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/AdminTools/UserDataManager/index.jsx b/packages/app/src/components/AdminTools/UserDataManager/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/AdminTools/UserDataManager/index.less b/packages/app/src/components/AdminTools/UserDataManager/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/AdminTools/UserRolesManager/index.jsx b/packages/app/src/components/AdminTools/UserRolesManager/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/AdminTools/UserRolesManager/index.less b/packages/app/src/components/AdminTools/UserRolesManager/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/AdminTools/index.js b/packages/app/src/components/AdminTools/index.js old mode 100644 new mode 100755 diff --git a/packages/app/src/components/AppSearcher/index.jsx b/packages/app/src/components/AppSearcher/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/AppSearcher/index.less b/packages/app/src/components/AppSearcher/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/Clock/index.jsx b/packages/app/src/components/Clock/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/Clock/index.less b/packages/app/src/components/Clock/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/CommentCreator/index.jsx b/packages/app/src/components/CommentCreator/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/CommentCreator/index.less b/packages/app/src/components/CommentCreator/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/CommentsCard/index.jsx b/packages/app/src/components/CommentsCard/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/CommentsCard/index.less b/packages/app/src/components/CommentsCard/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/Crash/index.jsx b/packages/app/src/components/Crash/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/Crash/index.less b/packages/app/src/components/Crash/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/Creator/creators/playlist/index.jsx b/packages/app/src/components/Creator/creators/playlist/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/Creator/creators/playlist/index.less b/packages/app/src/components/Creator/creators/playlist/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/Creator/creators/post/index.jsx b/packages/app/src/components/Creator/creators/post/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/Creator/creators/video/index.jsx b/packages/app/src/components/Creator/creators/video/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/Creator/index.jsx b/packages/app/src/components/Creator/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/Creator/index.less b/packages/app/src/components/Creator/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/DraggableDrawer/helpers.js b/packages/app/src/components/DraggableDrawer/helpers.js old mode 100644 new mode 100755 diff --git a/packages/app/src/components/DraggableDrawer/index.jsx b/packages/app/src/components/DraggableDrawer/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/EmbbededMediaPlayer/index.jsx b/packages/app/src/components/EmbbededMediaPlayer/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/EmbbededMediaPlayer/index.less b/packages/app/src/components/EmbbededMediaPlayer/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/FollowButton/index.jsx b/packages/app/src/components/FollowButton/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/FollowButton/index.less b/packages/app/src/components/FollowButton/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/FollowersList/index.jsx b/packages/app/src/components/FollowersList/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/FollowersList/index.less b/packages/app/src/components/FollowersList/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/Footer/index.jsx b/packages/app/src/components/Footer/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/Footer/index.less b/packages/app/src/components/Footer/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/FormGenerator/index.jsx b/packages/app/src/components/FormGenerator/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/FormGenerator/index.less b/packages/app/src/components/FormGenerator/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/HashtagTrendings/index.jsx b/packages/app/src/components/HashtagTrendings/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/HashtagTrendings/index.less b/packages/app/src/components/HashtagTrendings/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/Icons/index.jsx b/packages/app/src/components/Icons/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/Image/index.jsx b/packages/app/src/components/Image/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/ImageUploader/index.jsx b/packages/app/src/components/ImageUploader/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/ImageViewer/index.jsx b/packages/app/src/components/ImageViewer/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/ImageViewer/index.less b/packages/app/src/components/ImageViewer/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/Layout/bottomBar/index.jsx b/packages/app/src/components/Layout/bottomBar/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/Layout/bottomBar/index.less b/packages/app/src/components/Layout/bottomBar/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/Layout/drawer/index.jsx b/packages/app/src/components/Layout/drawer/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/Layout/drawer/index.less b/packages/app/src/components/Layout/drawer/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/Layout/header/index.jsx b/packages/app/src/components/Layout/header/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/Layout/header/index.less b/packages/app/src/components/Layout/header/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/Layout/index.js b/packages/app/src/components/Layout/index.js old mode 100644 new mode 100755 diff --git a/packages/app/src/components/Layout/modal/index.jsx b/packages/app/src/components/Layout/modal/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/Layout/modal/index.less b/packages/app/src/components/Layout/modal/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/Layout/sidebar/components/editor/index.jsx b/packages/app/src/components/Layout/sidebar/components/editor/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/Layout/sidebar/components/editor/index.less b/packages/app/src/components/Layout/sidebar/components/editor/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/Layout/sidebar/components/index.js b/packages/app/src/components/Layout/sidebar/components/index.js old mode 100644 new mode 100755 diff --git a/packages/app/src/components/Layout/sidebar/components/selector/index.jsx b/packages/app/src/components/Layout/sidebar/components/selector/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/Layout/sidebar/components/selector/index.less b/packages/app/src/components/Layout/sidebar/components/selector/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/Layout/sidebar/index.jsx b/packages/app/src/components/Layout/sidebar/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/Layout/sidebar/index.less b/packages/app/src/components/Layout/sidebar/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/Layout/sidedrawer/index.jsx b/packages/app/src/components/Layout/sidedrawer/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/Layout/sidedrawer/index.less b/packages/app/src/components/Layout/sidedrawer/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/Layout/systemBar/index.jsx b/packages/app/src/components/Layout/systemBar/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/Layout/systemBar/index.less b/packages/app/src/components/Layout/systemBar/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/LivestreamsBrowser/index.jsx b/packages/app/src/components/LivestreamsBrowser/index.jsx old mode 100644 new mode 100755 index 706c1859..1f6cb9e3 --- a/packages/app/src/components/LivestreamsBrowser/index.jsx +++ b/packages/app/src/components/LivestreamsBrowser/index.jsx @@ -1,11 +1,93 @@ import React from "react" import * as antd from "antd" +import { UserPreview } from "components" +import { Icons } from "components/Icons" + +import Livestream from "../../models/livestream" + import "./index.less" -// TODO: Implement this component -export default (props) => { - return
- +const LivestreamItem = (props) => { + const { livestream } = props + + const handleOnClick = async () => { + if (typeof props.onClick !== "function") { + console.warn("LivestreamItem: onClick is not a function") + return + } + + return await props.onClick(livestream) + } + + return
+
+ +
+
+ + +
+ {livestream.description ?? "No description"} +
+
+
+} + +export default (props) => { + const [list, setList] = React.useState([]) + + const loadStreamings = async () => { + const livestreams = await Livestream.getLivestreams().catch((err) => { + console.error(err) + app.message.error("Failed to load livestreams") + return false + }) + + console.log("Livestreams", livestreams) + + if (livestreams) { + if (!Array.isArray(livestreams)) { + console.error("Livestreams is not an array") + return false + } + + setList(livestreams) + } + } + + const onClickItem = async (livestream) => { + app.setLocation(`/live/${livestream.username}`) + } + + const renderList = () => { + if (list.length === 0) { + return +

+ No livestreams found +

+
+ } + + return list.map((livestream) => { + return + }) + } + + React.useEffect(() => { + loadStreamings() + }, []) + + return
+
+

+ + Livestreams +

+
+ +
+ {renderList()} +
} diff --git a/packages/app/src/components/LivestreamsBrowser/index.less b/packages/app/src/components/LivestreamsBrowser/index.less old mode 100644 new mode 100755 index e69de29b..ce21b392 --- a/packages/app/src/components/LivestreamsBrowser/index.less +++ b/packages/app/src/components/LivestreamsBrowser/index.less @@ -0,0 +1,72 @@ +@item_border_radius: 10px; + +.livestreamsBrowser { + display: flex; + flex-direction: column; + + width: 100%; + + .header { + svg { + font-size: 2.5rem; + } + + font-size: 2rem; + } + + .livestream_list { + display: flex; + flex-direction: column; + padding: 0 50px; + + .livestream_item { + display: flex; + flex-direction: row; + + background-color: var(--background-color-primary2); + + border: 1px solid var(--border-color); + + padding: 10px; + margin-bottom: 20px; + + border-radius: @item_border_radius; + + cursor: pointer; + transition: all 0.2s ease-in-out; + + &:hover { + background-color: var(--background-color-accent); + } + + .livestream_thumbnail { + width: 8vw; + height: 100%; + + img { + width: 100%; + height: 100%; + border-radius: @item_border_radius; + } + } + + .livestream_info { + margin-left: 20px; + font-size: 1rem; + color: var(--text-color); + + padding: 10px 0; + + .userPreview { + font-size: 1.5rem; + } + + .livestream_description { + margin-top: 20px; + font-size: 1.5rem; + color: var(--text-color); + } + } + } + } +} \ No newline at end of file diff --git a/packages/app/src/components/LoadMore/index.jsx b/packages/app/src/components/LoadMore/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/LoadMore/index.less b/packages/app/src/components/LoadMore/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/Login/index.jsx b/packages/app/src/components/Login/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/Login/index.less b/packages/app/src/components/Login/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/ModifierTag/index.jsx b/packages/app/src/components/ModifierTag/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/Navigation/index.jsx b/packages/app/src/components/Navigation/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/Navigation/index.less b/packages/app/src/components/Navigation/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/NotFound/index.jsx b/packages/app/src/components/NotFound/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/Notifications/index.jsx b/packages/app/src/components/Notifications/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/ObjectInspector/index.jsx b/packages/app/src/components/ObjectInspector/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/PostCard/components/actions/index.jsx b/packages/app/src/components/PostCard/components/actions/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/PostCard/components/actions/index.less b/packages/app/src/components/PostCard/components/actions/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/PostCard/components/actions/likeButton/index.jsx b/packages/app/src/components/PostCard/components/actions/likeButton/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/PostCard/components/actions/likeButton/index.less b/packages/app/src/components/PostCard/components/actions/likeButton/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/PostCard/components/actions/saveButton/index.jsx b/packages/app/src/components/PostCard/components/actions/saveButton/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/PostCard/components/actions/saveButton/index.less b/packages/app/src/components/PostCard/components/actions/saveButton/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/PostCard/components/attachments/index.jsx b/packages/app/src/components/PostCard/components/attachments/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/PostCard/components/attachments/index.less b/packages/app/src/components/PostCard/components/attachments/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/PostCard/components/content/index.jsx b/packages/app/src/components/PostCard/components/content/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/PostCard/components/content/index.less b/packages/app/src/components/PostCard/components/content/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/PostCard/components/contentFailed/index.jsx b/packages/app/src/components/PostCard/components/contentFailed/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/PostCard/components/header/index.jsx b/packages/app/src/components/PostCard/components/header/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/PostCard/components/header/index.less b/packages/app/src/components/PostCard/components/header/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/PostCard/index.jsx b/packages/app/src/components/PostCard/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/PostCard/index.less b/packages/app/src/components/PostCard/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/PostCreator/index.jsx b/packages/app/src/components/PostCreator/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/PostCreator/index.less b/packages/app/src/components/PostCreator/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/PostsFeed/index.jsx b/packages/app/src/components/PostsFeed/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/PostsFeed/index.less b/packages/app/src/components/PostsFeed/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/RenderError/index.jsx b/packages/app/src/components/RenderError/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/RenderError/index.less b/packages/app/src/components/RenderError/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/RenderWindow/index.jsx b/packages/app/src/components/RenderWindow/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/RenderWindow/index.less b/packages/app/src/components/RenderWindow/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/ScheduledProgress/index.jsx b/packages/app/src/components/ScheduledProgress/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/ScheduledProgress/index.less b/packages/app/src/components/ScheduledProgress/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/SearchButton/index.jsx b/packages/app/src/components/SearchButton/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/SearchButton/index.less b/packages/app/src/components/SearchButton/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/Searcher/index.jsx b/packages/app/src/components/Searcher/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/Searcher/index.less b/packages/app/src/components/Searcher/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/SelectableList/index.jsx b/packages/app/src/components/SelectableList/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/SelectableList/index.less b/packages/app/src/components/SelectableList/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/Settings/index.jsx b/packages/app/src/components/Settings/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/Settings/index.less b/packages/app/src/components/Settings/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/Skeleton/index.jsx b/packages/app/src/components/Skeleton/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/Skeleton/index.less b/packages/app/src/components/Skeleton/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/StepsForm/index.jsx b/packages/app/src/components/StepsForm/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/StepsForm/index.less b/packages/app/src/components/StepsForm/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/UserPreview/index.jsx b/packages/app/src/components/UserPreview/index.jsx old mode 100644 new mode 100755 index 562bf19b..f0625502 --- a/packages/app/src/components/UserPreview/index.jsx +++ b/packages/app/src/components/UserPreview/index.jsx @@ -1,13 +1,29 @@ import React from "react" +import { Skeleton } from "antd" import classnames from "classnames" +import User from "models/user" + import { Image } from "components" import { Icons } from "components/Icons" import "./index.less" export default (props) => { - const { user } = props + let [userData, setUserData] = React.useState(props.user) + + const fetchUser = async () => { + if (!props.username) { + console.error("Username is not defined") + return false + } + + const data = await User.data(props.username) + + if (data) { + setUserData(data) + } + } const handleOnClick = async () => { if (typeof props.onClick !== "function") { @@ -15,7 +31,19 @@ export default (props) => { return } - return await props.onClick(user) + return await props.onClick(userData) + } + + React.useEffect(() => { + if (typeof userData === "undefined") { + fetchUser() + } + }, []) + + if (!userData) { + return
+ +
} return
{
Avatar

- {user.fullName ?? `@${user.username}`} - {user.verified && } + {userData.fullName ?? `@${userData.username}`} + {userData.verified && }

diff --git a/packages/app/src/components/UserPreview/index.less b/packages/app/src/components/UserPreview/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/UserRegister/index.jsx b/packages/app/src/components/UserRegister/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/UserRegister/index.less b/packages/app/src/components/UserRegister/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/UserSelector/index.jsx b/packages/app/src/components/UserSelector/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/components/UserSelector/index.less b/packages/app/src/components/UserSelector/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/components/index.js b/packages/app/src/components/index.js old mode 100644 new mode 100755 diff --git a/packages/app/src/cores/api/index.js b/packages/app/src/cores/api/index.js old mode 100644 new mode 100755 diff --git a/packages/app/src/cores/audioPlayer/index.jsx b/packages/app/src/cores/audioPlayer/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/cores/contextMenu/components/contextMenu/index.jsx b/packages/app/src/cores/contextMenu/components/contextMenu/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/cores/contextMenu/components/contextMenu/index.less b/packages/app/src/cores/contextMenu/components/contextMenu/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/cores/contextMenu/index.js b/packages/app/src/cores/contextMenu/index.js old mode 100644 new mode 100755 diff --git a/packages/app/src/cores/i18n/index.js b/packages/app/src/cores/i18n/index.js old mode 100644 new mode 100755 diff --git a/packages/app/src/cores/i18n/translations/en.json b/packages/app/src/cores/i18n/translations/en.json old mode 100644 new mode 100755 diff --git a/packages/app/src/cores/i18n/translations/es.json b/packages/app/src/cores/i18n/translations/es.json old mode 100644 new mode 100755 diff --git a/packages/app/src/cores/index.js b/packages/app/src/cores/index.js old mode 100644 new mode 100755 diff --git a/packages/app/src/cores/notifications/index.jsx b/packages/app/src/cores/notifications/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/cores/permissions/index.js b/packages/app/src/cores/permissions/index.js old mode 100644 new mode 100755 diff --git a/packages/app/src/cores/search/index.js b/packages/app/src/cores/search/index.js old mode 100644 new mode 100755 diff --git a/packages/app/src/cores/settings/index.js b/packages/app/src/cores/settings/index.js old mode 100644 new mode 100755 diff --git a/packages/app/src/cores/shortcuts/index.js b/packages/app/src/cores/shortcuts/index.js old mode 100644 new mode 100755 diff --git a/packages/app/src/cores/sound/index.js b/packages/app/src/cores/sound/index.js old mode 100644 new mode 100755 diff --git a/packages/app/src/cores/style/index.jsx b/packages/app/src/cores/style/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/debug/components/index.js b/packages/app/src/debug/components/index.js old mode 100644 new mode 100755 diff --git a/packages/app/src/debug/components/theme/index.jsx b/packages/app/src/debug/components/theme/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/debug/components/theme/index.less b/packages/app/src/debug/components/theme/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/debug/components/timeCalculation/index.jsx b/packages/app/src/debug/components/timeCalculation/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/debug/components/timeCalculation/index.less b/packages/app/src/debug/components/timeCalculation/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/debug/index.jsx b/packages/app/src/debug/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/debug/index.less b/packages/app/src/debug/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/layout.jsx b/packages/app/src/layout.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/layouts/default/index.jsx b/packages/app/src/layouts/default/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/layouts/index.js b/packages/app/src/layouts/index.js old mode 100644 new mode 100755 diff --git a/packages/app/src/layouts/login/index.jsx b/packages/app/src/layouts/login/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/layouts/mobile/index.jsx b/packages/app/src/layouts/mobile/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/models/index.js b/packages/app/src/models/index.js old mode 100644 new mode 100755 diff --git a/packages/app/src/models/livestream/index.js b/packages/app/src/models/livestream/index.js new file mode 100644 index 00000000..ce09fd1d --- /dev/null +++ b/packages/app/src/models/livestream/index.js @@ -0,0 +1,26 @@ +export default class Livestream { + static get bridge() { + return window.app?.api.withEndpoints("main") + } + + static async getLivestream({ username }) { + if (!username) { + throw new Error("Username is required") + } + + let request = await app.api.customRequest("main", { + method: "GET", + url: `/streaming/${username}`, + }) + + request = request.data + + return request + } + + static async getLivestreams() { + const request = await Livestream.bridge.get.streams() + + return request + } +} \ No newline at end of file diff --git a/packages/app/src/models/post/index.js b/packages/app/src/models/post/index.js old mode 100644 new mode 100755 diff --git a/packages/app/src/models/session/index.js b/packages/app/src/models/session/index.js old mode 100644 new mode 100755 diff --git a/packages/app/src/models/user/index.js b/packages/app/src/models/user/index.js old mode 100644 new mode 100755 index 40232264..b92ab353 --- a/packages/app/src/models/user/index.js +++ b/packages/app/src/models/user/index.js @@ -5,14 +5,18 @@ export default class User { return window.app?.api.withEndpoints("main") } - static async data() { - const token = await Session.decodedToken() + static async data(username) { + if (!username) { + const token = await Session.decodedToken() - if (!token || !User.bridge) { - return false + if (!token || !User.bridge) { + return false + } + + username = token.username } - return User.bridge.get.user(undefined, { username: token.username, _id: token.user_id }) + return User.bridge.get.user(undefined, { username }) } static async publicData() { diff --git a/packages/app/src/pages/@[username]/index.jsx b/packages/app/src/pages/@[username]/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/pages/about/index.jsx b/packages/app/src/pages/about/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/pages/about/index.less b/packages/app/src/pages/about/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/pages/account/[username].jsx b/packages/app/src/pages/account/[username].jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/pages/account/index.jsx b/packages/app/src/pages/account/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/pages/account/index.less b/packages/app/src/pages/account/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/pages/account/tabs/details.jsx b/packages/app/src/pages/account/tabs/details.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/pages/account/tabs/followers.jsx b/packages/app/src/pages/account/tabs/followers.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/pages/account/tabs/posts.jsx b/packages/app/src/pages/account/tabs/posts.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/pages/changelogs/index.jsx b/packages/app/src/pages/changelogs/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/pages/group/[group_id].jsx b/packages/app/src/pages/group/[group_id].jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/pages/group/create/index.jsx b/packages/app/src/pages/group/create/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/pages/group/create/index.less b/packages/app/src/pages/group/create/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/pages/group/index.less b/packages/app/src/pages/group/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/pages/groups/index.jsx b/packages/app/src/pages/groups/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/pages/groups/index.less b/packages/app/src/pages/groups/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/pages/home/index.jsx b/packages/app/src/pages/home/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/pages/home/index.less b/packages/app/src/pages/home/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/pages/index.jsx b/packages/app/src/pages/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/pages/licenses/index.jsx b/packages/app/src/pages/licenses/index.jsx old mode 100644 new mode 100755 diff --git a/packages/app/src/pages/licenses/index.less b/packages/app/src/pages/licenses/index.less old mode 100644 new mode 100755 diff --git a/packages/app/src/pages/live/[key].jsx b/packages/app/src/pages/live/[key].jsx old mode 100644 new mode 100755 index 8328c1b2..70849659 --- a/packages/app/src/pages/live/[key].jsx +++ b/packages/app/src/pages/live/[key].jsx @@ -1,6 +1,9 @@ import React from "react" -import config from "config" import * as antd from "antd" + +import Livestream from "../../models/livestream" + +import { UserPreview } from "components" import { Icons } from "components/Icons" import Plyr from "plyr" @@ -20,7 +23,6 @@ export default class StreamViewer extends React.Component { spectators: 0, player: null, - streamKey: null, loadedDecoder: "hls", decoderInstance: null, plyrOptions: {}, @@ -85,33 +87,43 @@ export default class StreamViewer extends React.Component { } } + loadStreamInfo = async (username) => { + const streamInfo = await Livestream.getLivestream({ username }) + + if (!streamInfo) { + return false + } + + this.setState({ streamInfo: streamInfo }) + } + componentDidMount = async () => { const requestedUsername = this.props.match.params.key - const player = new Plyr("#player", { - autoplay: true, - controls: ["play", "mute", "volume", "fullscreen", "options", "settings"], - ...this.state.plyrOptions, - }) + // get stream info + await this.loadStreamInfo(requestedUsername) - await this.setState({ - player, - streamKey: requestedUsername, - }) + console.log("Stream info", this.state.streamInfo) - // TODO: Get sourceUri from server - const sourceUri = `${config.remotes.streamingApi}/${this.state.streamKey}/index.m3u8` + if (this.state.streamInfo) { + if (!this.state.streamInfo.sources) { + return false + } - await this.loadDecoder("hls", sourceUri) + this.enterPlayerAnimation() - // enter player - this.enterPlayerAnimation() + const player = new Plyr("#player", { + autoplay: true, + controls: ["play", "mute", "volume", "fullscreen", "options", "settings"], + ...this.state.plyrOptions, + }) - // fetch user info in the background - this.gatherUserInfo() + await this.setState({ + player, + }) - // fetch stream info in the background - //await this.gatherStreamInfo() + await this.loadDecoder("hls", this.state.streamInfo.sources.hls) + } } componentWillUnmount = () => { @@ -135,38 +147,6 @@ export default class StreamViewer extends React.Component { app.SidebarController.toggleVisibility(true) } - gatherStreamInfo = async () => { - const result = await app.api.withEndpoints("main").get.streamInfoFromUsername(undefined, { - username: this.state.streamKey, - }).catch((error) => { - console.error(error) - antd.message.error(error.message) - return false - }) - - if (result) { - this.setState({ - streamInfo: result, - }) - } - } - - gatherUserInfo = async () => { - const result = await app.api.withEndpoints("main").get.user(undefined, { - username: this.state.streamKey, - }).catch((error) => { - console.error(error) - antd.message.error(error) - return false - }) - - if (result) { - this.setState({ - userData: result, - }) - } - } - updateQuality = (newQuality) => { if (loadedProtocol === "hls") { this.state.protocolInstance.levels.forEach((level, levelIndex) => { @@ -212,37 +192,29 @@ export default class StreamViewer extends React.Component { } render() { + if (!this.state.streamInfo || this.state.isEnded) { + return
+ +

+ This stream is ended +

+
+
+ } + return
- { - this.state.isEnded &&
- -

- This stream is ended -

-
-
- }