mirror of
https://github.com/owncast/owncast.git
synced 2024-10-10 19:16:02 +00:00
First pass at bundling web app into service. Working.
This commit is contained in:
parent
22ac8035fe
commit
78c6189c02
21
.github/workflows/bundle-web.yml
vendored
Normal file
21
.github/workflows/bundle-web.yml
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
name: Bundle web app
|
||||
on:
|
||||
repository_dispatch:
|
||||
types: [bundle-admin-event]
|
||||
jobs:
|
||||
bundle:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Bundle admin
|
||||
uses: actions/checkout@v3
|
||||
- run: build/web/bundleWeb.sh
|
||||
|
||||
- name: Commit changes
|
||||
uses: EndBug/add-and-commit@v9
|
||||
with:
|
||||
author_name: Owncast
|
||||
author_email: owncast@owncast.online
|
||||
message: 'Update embedded web app to ${{ github.event.client_payload.sha }}'
|
||||
add: 'static/web'
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GH_CR_PAT }}
|
@ -1,41 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
# shellcheck disable=SC2059
|
||||
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
INSTALL_TEMP_DIRECTORY="$(mktemp -d)"
|
||||
PROJECT_SOURCE_DIR=$(pwd)
|
||||
cd $INSTALL_TEMP_DIRECTORY
|
||||
|
||||
shutdown () {
|
||||
rm -rf "$INSTALL_TEMP_DIRECTORY"
|
||||
}
|
||||
trap shutdown INT TERM ABRT EXIT
|
||||
|
||||
echo "Cloning owncast admin into $INSTALL_TEMP_DIRECTORY..."
|
||||
git clone https://github.com/owncast/owncast-admin 2> /dev/null
|
||||
cd owncast-admin
|
||||
|
||||
echo "Installing npm modules for the owncast admin..."
|
||||
npm --silent install 2> /dev/null
|
||||
|
||||
echo "Building owncast admin..."
|
||||
rm -rf .next
|
||||
(node_modules/.bin/next build && node_modules/.bin/next export) | grep info
|
||||
|
||||
echo "Copying admin to project directory..."
|
||||
ADMIN_BUILD_DIR=$(pwd)
|
||||
cd $PROJECT_SOURCE_DIR
|
||||
mkdir -p admin 2> /dev/null
|
||||
cd admin
|
||||
|
||||
# Remove the old one
|
||||
rm -rf $PROJECT_SOURCE_DIR/static/admin
|
||||
|
||||
# Copy over the new one
|
||||
mv ${ADMIN_BUILD_DIR}/out $PROJECT_SOURCE_DIR/static/admin
|
||||
|
||||
shutdown
|
||||
echo "Done."
|
28
build/web/bundleWeb.sh
Executable file
28
build/web/bundleWeb.sh
Executable file
@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env bash
|
||||
# shellcheck disable=SC2059
|
||||
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
# Change to the root directory of the repository
|
||||
cd "$(git rev-parse --show-toplevel)"
|
||||
|
||||
cd web
|
||||
|
||||
echo "Installing npm modules for the owncast web..."
|
||||
npm --silent install 2>/dev/null
|
||||
|
||||
echo "Building owncast web..."
|
||||
rm -rf .next
|
||||
(node_modules/.bin/next build && node_modules/.bin/next export) | grep info
|
||||
|
||||
echo "Copying admin to project directory..."
|
||||
|
||||
# Remove the old one
|
||||
rm -rf ../static/web
|
||||
|
||||
# Copy over the new one
|
||||
mv ./out ../static/web
|
||||
|
||||
echo "Done."
|
@ -4,8 +4,6 @@ import (
|
||||
"fmt"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"os"
|
||||
"path"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
@ -36,16 +34,11 @@ type MetadataPage struct {
|
||||
func IndexHandler(w http.ResponseWriter, r *http.Request) {
|
||||
middleware.EnableCors(w)
|
||||
|
||||
// Treat recordings and schedule as index requests
|
||||
pathComponents := strings.Split(r.URL.Path, "/")
|
||||
pathRequest := pathComponents[1]
|
||||
|
||||
if pathRequest == "recordings" || pathRequest == "schedule" {
|
||||
r.URL.Path = "index.html"
|
||||
}
|
||||
|
||||
isIndexRequest := r.URL.Path == "/" || filepath.Base(r.URL.Path) == "index.html" || filepath.Base(r.URL.Path) == ""
|
||||
|
||||
if isIndexRequest {
|
||||
serveWeb(w, r)
|
||||
return
|
||||
}
|
||||
// For search engine bots and social scrapers return a special
|
||||
// server-rendered page.
|
||||
if utils.IsUserAgentABot(r.UserAgent()) && isIndexRequest {
|
||||
@ -65,11 +58,11 @@ func IndexHandler(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
|
||||
// If this is a directory listing request then return a 404
|
||||
info, err := os.Stat(path.Join(config.WebRoot, r.URL.Path))
|
||||
if err != nil || (info.IsDir() && !isIndexRequest) {
|
||||
w.WriteHeader(http.StatusNotFound)
|
||||
return
|
||||
}
|
||||
// info, err := os.Stat(path.Join(config.WebRoot, r.URL.Path))
|
||||
// if err != nil || (info.IsDir() && !isIndexRequest) {
|
||||
// w.WriteHeader(http.StatusNotFound)
|
||||
// return
|
||||
// }
|
||||
|
||||
// Set a cache control max-age header
|
||||
middleware.SetCachingHeaders(w, r)
|
||||
@ -77,7 +70,9 @@ func IndexHandler(w http.ResponseWriter, r *http.Request) {
|
||||
// Set our global HTTP headers
|
||||
middleware.SetHeaders(w)
|
||||
|
||||
http.ServeFile(w, r, path.Join(config.WebRoot, r.URL.Path))
|
||||
serveWeb(w, r)
|
||||
|
||||
// http.ServeFile(w, r, path.Join(config.WebRoot, r.URL.Path))
|
||||
}
|
||||
|
||||
// Return a basic HTML page with server-rendered metadata from the config
|
||||
|
@ -1,4 +1,4 @@
|
||||
package admin
|
||||
package controllers
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
@ -13,26 +13,28 @@ import (
|
||||
log "github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
// ServeAdmin will return admin web assets.
|
||||
func ServeAdmin(w http.ResponseWriter, r *http.Request) {
|
||||
// serveWeb will serve web assets.
|
||||
func serveWeb(w http.ResponseWriter, r *http.Request) {
|
||||
// If the ETags match then return a StatusNotModified
|
||||
if responseCode := middleware.ProcessEtags(w, r); responseCode != 0 {
|
||||
w.WriteHeader(responseCode)
|
||||
return
|
||||
}
|
||||
|
||||
adminFiles := static.GetAdmin()
|
||||
path := strings.TrimPrefix(r.URL.Path, "/")
|
||||
webFiles := static.GetWeb()
|
||||
path := "web/" + strings.TrimPrefix(r.URL.Path, "/")
|
||||
|
||||
// Determine if the requested path is a directory.
|
||||
// If so, append index.html to the request.
|
||||
if info, err := fs.Stat(adminFiles, path); err == nil && info.IsDir() {
|
||||
if info, err := fs.Stat(webFiles, path); err == nil && info.IsDir() {
|
||||
path = filepath.Join(path, "index.html")
|
||||
} else if _, err := fs.Stat(adminFiles, path+"index.html"); err == nil {
|
||||
} else if _, err := fs.Stat(webFiles, path+"index.html"); err == nil {
|
||||
path = filepath.Join(path, "index.html")
|
||||
} else if path == "" {
|
||||
path = filepath.Join(path, "index.html")
|
||||
}
|
||||
|
||||
f, err := adminFiles.Open(path)
|
||||
f, err := webFiles.Open(path)
|
||||
if os.IsNotExist(err) {
|
||||
w.WriteHeader(http.StatusNotFound)
|
||||
return
|
||||
@ -46,7 +48,7 @@ func ServeAdmin(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
// Set a cache control max-age header
|
||||
middleware.SetCachingHeaders(w, r)
|
||||
d, err := adminFiles.ReadFile(path)
|
||||
d, err := webFiles.ReadFile(path)
|
||||
if err != nil {
|
||||
log.Errorln(err)
|
||||
w.WriteHeader(http.StatusInternalServerError)
|
@ -26,12 +26,8 @@ import (
|
||||
// Start starts the router for the http, ws, and rtmp.
|
||||
func Start() error {
|
||||
// static files
|
||||
http.HandleFunc("/admin", middleware.RequireAdminAuth(controllers.IndexHandler))
|
||||
http.HandleFunc("/", controllers.IndexHandler)
|
||||
http.HandleFunc("/recordings", controllers.IndexHandler)
|
||||
http.HandleFunc("/schedule", controllers.IndexHandler)
|
||||
|
||||
// admin static files
|
||||
http.HandleFunc("/admin/", middleware.RequireAdminAuth(admin.ServeAdmin))
|
||||
|
||||
// status of the system
|
||||
http.HandleFunc("/api/status", controllers.GetStatus)
|
||||
|
1
static/admin/404/index.html
vendored
1
static/admin/404/index.html
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +0,0 @@
|
||||
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5533],{85533:function(t,r,e){e.d(r,{Z:function(){return d}});var n=e(19013),a=e(13882);function o(t,r){(0,a.Z)(2,arguments);var e=(0,n.Z)(t),o=(0,n.Z)(r),s=e.getTime()-o.getTime();return s<0?-1:s>0?1:s}function s(t,r){(0,a.Z)(2,arguments);var e=(0,n.Z)(t),o=(0,n.Z)(r),s=e.getFullYear()-o.getFullYear(),u=e.getMonth()-o.getMonth();return 12*s+u}function u(t){(0,a.Z)(1,arguments);var r=(0,n.Z)(t);return r.setHours(23,59,59,999),r}function i(t){(0,a.Z)(1,arguments);var r=(0,n.Z)(t),e=r.getMonth();return r.setFullYear(r.getFullYear(),e+1,0),r.setHours(23,59,59,999),r}function f(t){(0,a.Z)(1,arguments);var r=(0,n.Z)(t);return u(r).getTime()===i(r).getTime()}function c(t,r){(0,a.Z)(2,arguments);var e,u=(0,n.Z)(t),i=(0,n.Z)(r),c=o(u,i),l=Math.abs(s(u,i));if(l<1)e=0;else{1===u.getMonth()&&u.getDate()>27&&u.setDate(30),u.setMonth(u.getMonth()-c*l);var h=o(u,i)===-c;f((0,n.Z)(t))&&1===l&&1===o(t,i)&&(h=!1),e=c*(l-Number(h))}return 0===e?0:e}var l=e(40364),h=e(35077);function m(t){return function(t,r){if(null==t)throw new TypeError("assign requires that input parameter not be null or undefined");for(var e in r=r||{})Object.prototype.hasOwnProperty.call(r,e)&&(t[e]=r[e]);return t}({},t)}var Z=e(24262),D=1440,v=43200;function M(t,r){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};(0,a.Z)(2,arguments);var s=e.locale||h.Z;if(!s.formatDistance)throw new RangeError("locale must contain formatDistance property");var u=o(t,r);if(isNaN(u))throw new RangeError("Invalid time value");var i,f,M=m(e);M.addSuffix=Boolean(e.addSuffix),M.comparison=u,u>0?(i=(0,n.Z)(r),f=(0,n.Z)(t)):(i=(0,n.Z)(t),f=(0,n.Z)(r));var d,g=(0,l.Z)(f,i),p=((0,Z.Z)(f)-(0,Z.Z)(i))/1e3,X=Math.round((g-p)/60);if(X<2)return e.includeSeconds?g<5?s.formatDistance("lessThanXSeconds",5,M):g<10?s.formatDistance("lessThanXSeconds",10,M):g<20?s.formatDistance("lessThanXSeconds",20,M):g<40?s.formatDistance("halfAMinute",null,M):g<60?s.formatDistance("lessThanXMinutes",1,M):s.formatDistance("xMinutes",1,M):0===X?s.formatDistance("lessThanXMinutes",1,M):s.formatDistance("xMinutes",X,M);if(X<45)return s.formatDistance("xMinutes",X,M);if(X<90)return s.formatDistance("aboutXHours",1,M);if(X<D){var b=Math.round(X/60);return s.formatDistance("aboutXHours",b,M)}if(X<2520)return s.formatDistance("xDays",1,M);if(X<v){var w=Math.round(X/D);return s.formatDistance("xDays",w,M)}if(X<86400)return d=Math.round(X/v),s.formatDistance("aboutXMonths",d,M);if((d=c(f,i))<12){var T=Math.round(X/v);return s.formatDistance("xMonths",T,M)}var x=d%12,Y=Math.floor(d/12);return x<3?s.formatDistance("aboutXYears",Y,M):x<9?s.formatDistance("overXYears",Y,M):s.formatDistance("almostXYears",Y+1,M)}function d(t,r){return(0,a.Z)(1,arguments),M(t,Date.now(),r)}}}]);
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +0,0 @@
|
||||
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4269],{48689:function(e,n,t){"use strict";t.d(n,{Z:function(){return a}});var c=t(1413),i=t(67294),r={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"}}]},name:"delete",theme:"outlined"},s=t(42135),u=function(e,n){return i.createElement(s.Z,(0,c.Z)((0,c.Z)({},e),{},{ref:n,icon:r}))};u.displayName="DeleteOutlined";var a=i.forwardRef(u)},23999:function(e,n,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/config-social-items",function(){return t(57535)}])},57535:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return u}});var c=t(85893),i=(t(67294),t(84485)),r=t(91017),s=i.Z.Title;function u(){return(0,c.jsxs)("div",{className:"config-social-items",children:[(0,c.jsx)(s,{children:"Social Items"}),(0,c.jsx)(r.Z,{})]})}}},function(e){e.O(0,[1741,6003,1017,9774,2888,179],(function(){return n=23999,e(e.s=n);var n}));var n=e.O();_N_E=n}]);
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +0,0 @@
|
||||
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7332],{6131:function(e,t,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/federation/actions",function(){return n(63646)}])},63646:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return v}});var r=n(34051),i=n.n(r),a=n(85893),o=n(67294),s=n(84485),c=n(96003),u=n(58091),l=n(58827),f=n(2766);function d(e,t,n,r,i,a,o){try{var s=e[a](o),c=s.value}catch(u){return void n(u)}s.done?t(c):Promise.resolve(c).then(r,i)}var h=s.Z.Title,p=s.Z.Paragraph;function v(){var e=(0,o.useState)([]),t=e[0],n=e[1],r=(0,o.useState)(0),s=r[0],v=r[1],E=(0,o.useState)(0),w=E[0],m=E[1],_=function(){var e,t=(e=i().mark((function e(){var t,r,a,o,s;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,t=50*w,r="".concat(l.op,"?offset=").concat(t,"&limit=").concat(50),e.next=6,(0,l.rQ)(r,{auth:!0});case 6:a=e.sent,o=a.results,s=a.total,v(s),(0,f.Qr)(o)?n([]):n(o),e.next=15;break;case 12:e.prev=12,e.t0=e.catch(0),console.log("==== error",e.t0);case 15:case"end":return e.stop()}}),e,null,[[0,12]])})),function(){var t=this,n=arguments;return new Promise((function(r,i){var a=e.apply(t,n);function o(e){d(a,r,i,o,s,"next",e)}function s(e){d(a,r,i,o,s,"throw",e)}o(void 0)}))});return function(){return t.apply(this,arguments)}}();(0,o.useEffect)((function(){_()}),[w]);var g,x,y=[{title:"Action",dataIndex:"type",key:"type",width:50,render:function(e,t){var n,r;switch(t.type){case"FEDIVERSE_ENGAGEMENT_REPOST":n="/img/repost.svg",r="Share";break;case"FEDIVERSE_ENGAGEMENT_LIKE":n="/img/like.svg",r="Like";break;case"FEDIVERSE_ENGAGEMENT_FOLLOW":n="/img/follow.svg",r="Follow";break;default:n=""}return(0,a.jsxs)("div",{style:{width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",flexDirection:"column"},children:[(0,a.jsx)("img",{src:n,width:"70%",alt:r,title:r}),(0,a.jsx)("div",{style:{fontSize:"0.7rem"},children:r})]})}},{title:"From",dataIndex:"actorIRI",key:"from",render:function(e,t){return(0,a.jsx)("a",{href:t.actorIRI,children:t.actorIRI})}},{title:"When",dataIndex:"timestamp",key:"timestamp",render:function(e,t){var n=new Date(t.timestamp);return(0,u.Z)(n,"P pp")}}];return(0,a.jsxs)("div",{children:[(0,a.jsx)(h,{level:3,children:"Fediverse Actions"}),(0,a.jsx)(p,{children:"Below is a list of actions that were taken by others in response to your posts as well as people who requested to follow you."}),(g=t,x=y,(0,a.jsx)(c.Z,{dataSource:g,columns:x,size:"small",rowKey:function(e){return e.iri},pagination:{pageSize:50,hideOnSinglePage:!0,showSizeChanger:!1,total:s},onChange:function(e){var t=e.current;m(t)}}))]})}}},function(e){e.O(0,[1741,6003,8091,9774,2888,179],(function(){return t=6131,e(e.s=t);var t}));var t=e.O();_N_E=t}]);
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +0,0 @@
|
||||
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1233],{44156:function(e,n,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/help",function(){return t(54712)}])},54712:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return y}});var r=t(85893),o=t(25968),s=t(6226),i=t(33859),l=t(71577),a=t(27049),c=t(97751),d=t(89281),h=t(11700),x=t(90543),u=t(29158),j=t(38958),p=t(17502),f=t(65987),g=t(99767),w=t(30925),Z=t(80869),m=t(43439),b=t(99906);t(67294);function y(){var e=[{icon:(0,r.jsx)(x.Z,{style:{fontSize:"24px"}}),title:"I want to configure my owncast instance",content:(0,r.jsx)("div",{children:(0,r.jsxs)("a",{href:"https://owncast.online/docs/configuration/?source=admin",target:"_blank",rel:"noopener noreferrer",children:[(0,r.jsx)(u.Z,{})," Learn more"]})})},{icon:(0,r.jsx)(j.Z,{style:{fontSize:"24px"}}),title:"Help configuring my broadcasting software",content:(0,r.jsx)("div",{children:(0,r.jsxs)("a",{href:"https://owncast.online/docs/broadcasting/?source=admin",target:"_blank",rel:"noopener noreferrer",children:[(0,r.jsx)(u.Z,{})," Learn more"]})})},{icon:(0,r.jsx)(p.Z,{style:{fontSize:"24px"}}),title:"I want to embed my stream into another site",content:(0,r.jsx)("div",{children:(0,r.jsxs)("a",{href:"https://owncast.online/docs/embed/?source=admin",target:"_blank",rel:"noopener noreferrer",children:[(0,r.jsx)(u.Z,{})," Learn more"]})})},{icon:(0,r.jsx)(f.Z,{style:{fontSize:"24px"}}),title:"I want to customize my website",content:(0,r.jsx)("div",{children:(0,r.jsxs)("a",{href:"https://owncast.online/docs/website/?source=admin",target:"_blank",rel:"noopener noreferrer",children:[(0,r.jsx)(u.Z,{})," Learn more"]})})},{icon:(0,r.jsx)(g.Z,{style:{fontSize:"24px"}}),title:"I want to tweak my video output",content:(0,r.jsx)("div",{children:(0,r.jsxs)("a",{href:"https://owncast.online/docs/encoding/?source=admin",target:"_blank",rel:"noopener noreferrer",children:[(0,r.jsx)(u.Z,{})," Learn more"]})})},{icon:(0,r.jsx)(w.Z,{style:{fontSize:"24px"}}),title:"I want to use an external storage provider",content:(0,r.jsx)("div",{children:(0,r.jsxs)("a",{href:"https://owncast.online/docs/storage/?source=admin",target:"_blank",rel:"noopener noreferrer",children:[(0,r.jsx)(u.Z,{})," Learn more"]})})}],n=[{icon:(0,r.jsx)(Z.Z,{style:{fontSize:"24px"}}),title:"I found a bug",content:(0,r.jsxs)("div",{children:["If you found a bug, then please",(0,r.jsxs)("a",{href:"https://github.com/owncast/owncast/issues/new/choose",target:"_blank",rel:"noopener noreferrer",children:[" ","let us know"]})]})},{icon:(0,r.jsx)(m.Z,{style:{fontSize:"24px"}}),title:"I have a general question",content:(0,r.jsxs)("div",{children:["Most general questions are answered in our",(0,r.jsxs)("a",{href:"https://owncast.online/docs/faq/?source=admin",target:"_blank",rel:"noopener noreferrer",children:[" ","FAQ"]})," ","or exist in our"," ",(0,r.jsx)("a",{href:"https://github.com/owncast/owncast/discussions",target:"_blank",rel:"noopener noreferrer",children:"discussions"})]})},{icon:(0,r.jsx)(b.Z,{style:{fontSize:"24px"}}),title:"I want to build add-ons for Owncast",content:(0,r.jsxs)("div",{children:["You can build your own bots, overlays, tools and add-ons with our",(0,r.jsx)("a",{href:"https://owncast.online/thirdparty?source=admin",target:"_blank",rel:"noopener noreferrer",children:"\xa0developer APIs.\xa0"})]})}];return(0,r.jsxs)("div",{className:"help-page",children:[(0,r.jsx)(h.Z,{style:{textAlign:"center"},children:"How can we help you?"}),(0,r.jsxs)(o.Z,{gutter:[16,16],justify:"space-around",align:"middle",children:[(0,r.jsxs)(s.Z,{xs:24,lg:12,style:{textAlign:"center"},children:[(0,r.jsx)(i.ZP,{status:"500"}),(0,r.jsx)(h.Z,{level:2,children:"Troubleshooting"}),(0,r.jsx)(l.Z,{target:"_blank",rel:"noopener noreferrer",href:"https://owncast.online/docs/troubleshooting/?source=admin",icon:(0,r.jsx)(u.Z,{}),type:"primary",children:"Fix your problems"})]}),(0,r.jsxs)(s.Z,{xs:24,lg:12,style:{textAlign:"center"},children:[(0,r.jsx)(i.ZP,{status:"404"}),(0,r.jsx)(h.Z,{level:2,children:"Documentation"}),(0,r.jsx)(l.Z,{target:"_blank",rel:"noopener noreferrer",href:"https://owncast.online/docs?source=admin",icon:(0,r.jsx)(u.Z,{}),type:"primary",children:"Read the Docs"})]})]}),(0,r.jsx)(a.Z,{}),(0,r.jsx)(h.Z,{level:2,children:"Common tasks"}),(0,r.jsx)(o.Z,{gutter:[16,16],children:e.map((function(e){return(0,r.jsx)(s.Z,{xs:24,lg:12,children:(0,r.jsx)(c.Z,{children:(0,r.jsx)(d.Z,{avatar:e.icon,title:e.title,description:e.content})})},e.title)}))}),(0,r.jsx)(a.Z,{}),(0,r.jsx)(h.Z,{level:2,children:"Other"}),(0,r.jsx)(o.Z,{gutter:[16,16],children:n.map((function(e){return(0,r.jsx)(s.Z,{xs:24,lg:12,children:(0,r.jsx)(c.Z,{children:(0,r.jsx)(d.Z,{avatar:e.icon,title:e.title,description:e.content})})},e.title)}))})]})}}},function(e){e.O(0,[8879,7751,6132,9774,2888,179],(function(){return n=44156,e(e.s=n);var n}));var n=e.O();_N_E=n}]);
|
File diff suppressed because one or more lines are too long
@ -1 +0,0 @@
|
||||
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9203],{84841:function(e,n,r){(window.__NEXT_P=window.__NEXT_P||[]).push(["/logs",function(){return r(52736)}])},824:function(e,n,r){"use strict";r.d(n,{Z:function(){return v}});var t=r(85893),i=r(67294),a=r(84485),o=r(20550),u=r(96003),s=r(53731),c=r(58091),l=a.Z.Title;function f(e,n){var r="black";return"warning"===n.level?r="orange":"error"===n.level&&(r="red"),(0,t.jsx)(o.Z,{color:r,children:e})}function d(e){return(0,t.jsx)(s.Z,{children:e})}function v(e){var n=e.logs,r=e.originalPageSize;if(!(null===n||void 0===n?void 0:n.length))return null;var a=(0,i.useState)(r)[0],o=[{title:"Level",dataIndex:"level",key:"level",filters:[{text:"Info",value:"info"},{text:"Warning",value:"warning"},{text:"Error",value:"Error"}],onFilter:function(e,n){return 0===n.level.indexOf(e)},render:f},{title:"Timestamp",dataIndex:"time",key:"time",render:function(e){var n=new Date(e);return(0,c.Z)(n,"pp P")},sorter:function(e,n){return new Date(e.time).getTime()-new Date(n.time).getTime()},sortDirections:["descend","ascend"],defaultSortOrder:"descend"},{title:"Message",dataIndex:"message",key:"message",render:d}];return(0,t.jsxs)("div",{className:"logs-section",children:[(0,t.jsx)(l,{children:"Logs"}),(0,t.jsx)(u.Z,{size:"middle",dataSource:n,columns:o,rowKey:function(e){return e.time},pagination:{pageSize:a}})]})}},52736:function(e,n,r){"use strict";r.r(n),r.d(n,{default:function(){return l}});var t=r(34051),i=r.n(t),a=r(85893),o=r(67294),u=r(824),s=r(58827);function c(e,n,r,t,i,a,o){try{var u=e[a](o),s=u.value}catch(c){return void r(c)}u.done?n(s):Promise.resolve(s).then(t,i)}function l(){var e=(0,o.useState)([]),n=e[0],r=e[1],t=function(){var e,n=(e=i().mark((function e(){var n;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,(0,s.rQ)(s.sG);case 3:n=e.sent,r(n),e.next=10;break;case 7:e.prev=7,e.t0=e.catch(0),console.log("==== error",e.t0);case 10:case"end":return e.stop()}}),e,null,[[0,7]])})),function(){var n=this,r=arguments;return new Promise((function(t,i){var a=e.apply(n,r);function o(e){c(a,t,i,o,u,"next",e)}function u(e){c(a,t,i,o,u,"throw",e)}o(void 0)}))});return function(){return n.apply(this,arguments)}}();return(0,o.useEffect)((function(){var e;return setInterval(t,5e3),t(),e=setInterval(t,5e3),function(){clearInterval(e)}}),[]),(0,a.jsx)(u.Z,{logs:n,originalPageSize:20})}}},function(e){e.O(0,[1741,6003,8091,2429,9774,2888,179],(function(){return n=84841,e(e.s=n);var n}));var n=e.O();_N_E=n}]);
|
File diff suppressed because one or more lines are too long
@ -1 +0,0 @@
|
||||
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8069],{20014:function(e,n,r){(window.__NEXT_P=window.__NEXT_P||[]).push(["/upgrade",function(){return r(9103)}])},9103:function(e,n,r){"use strict";r.r(n),r.d(n,{default:function(){return w}});var t=r(34051),a=r.n(t),u=r(85893),o=r(67294),c=r(29655),i=r(84485),s=r(96003),l=r(58827);function f(e,n,r,t,a,u,o){try{var c=e[u](o),i=c.value}catch(s){return void r(s)}c.done?n(i):Promise.resolve(i).then(t,a)}function d(e,n,r){return n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function h(e){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{},t=Object.keys(r);"function"===typeof Object.getOwnPropertySymbols&&(t=t.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),t.forEach((function(n){d(e,n,r[n])}))}return e}var v=i.Z.Title;function p(e){var n=Object.values(e),r=[{title:"Name",dataIndex:"name",key:"name",render:function(e,n){return(0,u.jsx)("a",{href:n.browser_download_url,children:e})}},{title:"Size",dataIndex:"size",key:"size",render:function(e){return"".concat((e/1024/1024).toFixed(2)," MB")}}];return(0,u.jsx)(s.Z,{dataSource:n,columns:r,rowKey:function(e){return e.id},size:"large",pagination:!1})}function w(){var e=(0,o.useState)({html_url:"",name:"",created_at:null,body:"",assets:[]}),n=e[0],r=e[1],t=function(){var e,n=(e=a().mark((function e(){var n;return a().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,(0,l.Kt)();case 3:n=e.sent,r(n),e.next=10;break;case 7:e.prev=7,e.t0=e.catch(0),console.log("==== error",e.t0);case 10:case"end":return e.stop()}}),e,null,[[0,7]])})),function(){var n=this,r=arguments;return new Promise((function(t,a){var u=e.apply(n,r);function o(e){f(u,t,a,o,c,"next",e)}function c(e){f(u,t,a,o,c,"throw",e)}o(void 0)}))});return function(){return n.apply(this,arguments)}}();return(0,o.useEffect)((function(){t()}),[]),n?(0,u.jsxs)("div",{className:"upgrade-page",children:[(0,u.jsx)(v,{level:2,children:(0,u.jsx)("a",{href:n.html_url,children:n.name})}),(0,u.jsx)(v,{level:5,children:new Date(n.created_at).toDateString()}),(0,u.jsx)(c.D,{children:n.body}),(0,u.jsx)("h3",{children:"Downloads"}),(0,u.jsx)(p,h({},n.assets))]}):null}}},function(e){e.O(0,[1741,6003,9655,9774,2888,179],(function(){return n=20014,e(e.s=n);var n}));var n=e.O();_N_E=n}]);
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +0,0 @@
|
||||
!function(){"use strict";var e={},n={};function t(r){var o=n[r];if(void 0!==o)return o.exports;var i=n[r]={id:r,loaded:!1,exports:{}},u=!0;try{e[r].call(i.exports,i,i.exports,t),u=!1}finally{u&&delete n[r]}return i.loaded=!0,i.exports}t.m=e,t.amdO={},function(){var e=[];t.O=function(n,r,o,i){if(!r){var u=1/0;for(l=0;l<e.length;l++){r=e[l][0],o=e[l][1],i=e[l][2];for(var a=!0,c=0;c<r.length;c++)(!1&i||u>=i)&&Object.keys(t.O).every((function(e){return t.O[e](r[c])}))?r.splice(c--,1):(a=!1,i<u&&(u=i));if(a){e.splice(l--,1);var f=o();void 0!==f&&(n=f)}}return n}i=i||0;for(var l=e.length;l>0&&e[l-1][2]>i;l--)e[l]=e[l-1];e[l]=[r,o,i]}}(),t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,{a:n}),n},t.d=function(e,n){for(var r in n)t.o(n,r)&&!t.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:n[r]})},t.f={},t.e=function(e){return Promise.all(Object.keys(t.f).reduce((function(n,r){return t.f[r](e,n),n}),[]))},t.u=function(e){return"static/chunks/"+e+".40e8274b3898c5b0.js"},t.miniCssF=function(e){return"static/css/"+{2589:"e773f9ad06a56dc3",2888:"7e98ab6b3b660d68"}[e]+".css"},t.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}(),t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},function(){var e={},n="_N_E:";t.l=function(r,o,i,u){if(e[r])e[r].push(o);else{var a,c;if(void 0!==i)for(var f=document.getElementsByTagName("script"),l=0;l<f.length;l++){var d=f[l];if(d.getAttribute("src")==r||d.getAttribute("data-webpack")==n+i){a=d;break}}a||(c=!0,(a=document.createElement("script")).charset="utf-8",a.timeout=120,t.nc&&a.setAttribute("nonce",t.nc),a.setAttribute("data-webpack",n+i),a.src=r),e[r]=[o];var s=function(n,t){a.onerror=a.onload=null,clearTimeout(p);var o=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),o&&o.forEach((function(e){return e(t)})),n)return n(t)},p=setTimeout(s.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=s.bind(null,a.onerror),a.onload=s.bind(null,a.onload),c&&document.head.appendChild(a)}}}(),t.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.nmd=function(e){return e.paths=[],e.children||(e.children=[]),e},t.p="/admin/_next/",function(){var e={2272:0};t.f.j=function(n,r){var o=t.o(e,n)?e[n]:void 0;if(0!==o)if(o)r.push(o[2]);else if(2272!=n){var i=new Promise((function(t,r){o=e[n]=[t,r]}));r.push(o[2]=i);var u=t.p+t.u(n),a=new Error;t.l(u,(function(r){if(t.o(e,n)&&(0!==(o=e[n])&&(e[n]=void 0),o)){var i=r&&("load"===r.type?"missing":r.type),u=r&&r.target&&r.target.src;a.message="Loading chunk "+n+" failed.\n("+i+": "+u+")",a.name="ChunkLoadError",a.type=i,a.request=u,o[1](a)}}),"chunk-"+n,n)}else e[n]=0},t.O.j=function(n){return 0===e[n]};var n=function(n,r){var o,i,u=r[0],a=r[1],c=r[2],f=0;if(u.some((function(n){return 0!==e[n]}))){for(o in a)t.o(a,o)&&(t.m[o]=a[o]);if(c)var l=c(t)}for(n&&n(r);f<u.length;f++)i=u[f],t.o(e,i)&&e[i]&&e[i][0](),e[i]=0;return t.O(l)},r=self.webpackChunk_N_E=self.webpackChunk_N_E||[];r.forEach(n.bind(null,0)),r.push=n.bind(null,r.push.bind(r))}()}();
|
File diff suppressed because one or more lines are too long
@ -1 +0,0 @@
|
||||
self.__BUILD_MANIFEST=function(s,c,a,e,t,i,f,n,o,d,h,g,u,b,r){return{__rewrites:{beforeFiles:[],afterFiles:[],fallback:[]},"/":[s,c,a,e,t,i,f,h,"static/chunks/2494-8114e9c6571377d1.js","static/chunks/pages/index-e0ac83ceaf99b5f0.js"],"/_error":["static/chunks/pages/_error-785557186902809b.js"],"/access-tokens":[s,c,a,"static/chunks/pages/access-tokens-d328b918d1f9b3d4.js"],"/actions":[s,c,"static/chunks/pages/actions-9278698db4cd1a16.js"],"/chat/messages":[g,s,c,a,f,u,"static/chunks/pages/chat/messages-0df125d8b9455827.js"],"/chat/users":[g,s,c,a,e,f,"static/chunks/6489-cea2e8971ed16ad4.js",u,"static/chunks/pages/chat/users-c3f6235e6932151e.js"],"/config-chat":["static/chunks/pages/config-chat-bacb12d23264144b.js"],"/config-federation":["static/chunks/1829-f5c4fb462b2f7e98.js","static/chunks/pages/config-federation-ea0f018fb4193b61.js"],"/config-notify":["static/chunks/pages/config-notify-10a8844dc11ca4b2.js"],"/config-public-details":[s,c,n,"static/css/e773f9ad06a56dc3.css","static/chunks/2589-c48f3b04b9a6c7ce.js",b,"static/chunks/pages/config-public-details-94ff52653eb2586e.js"],"/config-server-details":[r,"static/chunks/pages/config-server-details-cd516688accb84d3.js"],"/config-social-items":[s,c,b,"static/chunks/pages/config-social-items-42e2ed4eed8d4dd2.js"],"/config-storage":["static/chunks/5473-623385148d67cba2.js","static/chunks/pages/config-storage-5ff120c715bfdb04.js"],"/config-video":[s,c,r,"static/chunks/1556-f79a922e799c7a06.js","static/chunks/pages/config-video-32d86e0ba98dc6fe.js"],"/federation/actions":[s,c,a,"static/chunks/pages/federation/actions-7cfffddef3b58d86.js"],"/federation/followers":[s,c,a,e,"static/chunks/pages/federation/followers-d2d105c342c79f98.js"],"/hardware-info":[o,a,e,t,i,d,n,"static/chunks/pages/hardware-info-4723b20a84e4f461.js"],"/help":[e,t,"static/chunks/6132-4fc73fe4cc2a426e.js","static/chunks/pages/help-deeb1c0f667c7d75.js"],"/logs":[s,c,a,h,"static/chunks/pages/logs-df4b23b85b8ac818.js"],"/stream-health":[o,s,a,e,t,i,d,"static/chunks/pages/stream-health-4a811c8adeb950de.js"],"/upgrade":[s,c,"static/chunks/9655-722bcfb83a61ab83.js","static/chunks/pages/upgrade-6cb31f6812e79694.js"],"/viewer-info":[o,s,c,a,e,t,i,f,d,n,"static/chunks/pages/viewer-info-03fcbea265510389.js"],"/webhooks":[s,c,"static/chunks/pages/webhooks-651cb241952e0e4a.js"],sortedPages:["/","/_app","/_error","/access-tokens","/actions","/chat/messages","/chat/users","/config-chat","/config-federation","/config-notify","/config-public-details","/config-server-details","/config-social-items","/config-storage","/config-video","/federation/actions","/federation/followers","/hardware-info","/help","/logs","/stream-health","/upgrade","/viewer-info","/webhooks"]}}("static/chunks/1741-d9d648ade4ad86b9.js","static/chunks/6003-f37682e25271f05f.js","static/chunks/8091-5bc21baa6d0d3232.js","static/chunks/8879-af8bf87fdc518c08.js","static/chunks/7751-48959ec0f11e9080.js","static/chunks/4763-7fd93797a527a971.js","static/chunks/5533-096cc7dc6703128f.js","static/chunks/7910-699eb8ed3467dc00.js","static/chunks/36bcf0ca-110fd889741d5f41.js","static/chunks/1080-1a127ea7f5a8eb3d.js","static/chunks/2429-ccb4d7fa1648dd38.js","static/chunks/29107295-4a69275373f23f88.js","static/chunks/1371-f41477e42ee50603.js","static/chunks/1017-0760c7f39ffcc2a7.js","static/chunks/4578-afc9eff4fbf5ecb1.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
|
1
static/admin/access-tokens/index.html
vendored
1
static/admin/access-tokens/index.html
vendored
File diff suppressed because one or more lines are too long
1
static/admin/actions/index.html
vendored
1
static/admin/actions/index.html
vendored
File diff suppressed because one or more lines are too long
1
static/admin/chat/messages/index.html
vendored
1
static/admin/chat/messages/index.html
vendored
File diff suppressed because one or more lines are too long
1
static/admin/chat/users/index.html
vendored
1
static/admin/chat/users/index.html
vendored
File diff suppressed because one or more lines are too long
1
static/admin/config-chat/index.html
vendored
1
static/admin/config-chat/index.html
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
static/admin/config-social-items/index.html
vendored
1
static/admin/config-social-items/index.html
vendored
File diff suppressed because one or more lines are too long
1
static/admin/config-storage/index.html
vendored
1
static/admin/config-storage/index.html
vendored
File diff suppressed because one or more lines are too long
1
static/admin/config-video/index.html
vendored
1
static/admin/config-video/index.html
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
19
static/admin/hardware-info/index.html
vendored
19
static/admin/hardware-info/index.html
vendored
File diff suppressed because one or more lines are too long
1
static/admin/help/index.html
vendored
1
static/admin/help/index.html
vendored
File diff suppressed because one or more lines are too long
1
static/admin/index.html
vendored
1
static/admin/index.html
vendored
File diff suppressed because one or more lines are too long
1
static/admin/logs/index.html
vendored
1
static/admin/logs/index.html
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
static/admin/upgrade/index.html
vendored
1
static/admin/upgrade/index.html
vendored
File diff suppressed because one or more lines are too long
1
static/admin/viewer-info/index.html
vendored
1
static/admin/viewer-info/index.html
vendored
File diff suppressed because one or more lines are too long
1
static/admin/webhooks/index.html
vendored
1
static/admin/webhooks/index.html
vendored
File diff suppressed because one or more lines are too long
16
static/static.go
vendored
16
static/static.go
vendored
@ -7,15 +7,15 @@ import (
|
||||
"path/filepath"
|
||||
)
|
||||
|
||||
//go:embed admin/*
|
||||
//go:embed admin/_next/static
|
||||
//go:embed admin/_next/static/chunks/pages/*.js
|
||||
//go:embed admin/_next/static/*/*.js
|
||||
var adminFiles embed.FS
|
||||
//go:embed web/*
|
||||
//go:embed web/_next/static
|
||||
//go:embed web/_next/static/chunks/pages/*.js
|
||||
//go:embed web/_next/static/*/*.js
|
||||
var webFiles embed.FS
|
||||
|
||||
// GetAdmin will return an embedded filesystem reference to the admin web app.
|
||||
func GetAdmin() embed.FS {
|
||||
return adminFiles
|
||||
// GetWeb will return an embedded filesystem reference to the admin web app.
|
||||
func GetWeb() embed.FS {
|
||||
return webFiles
|
||||
}
|
||||
|
||||
//go:embed metadata.html.tmpl
|
||||
|
1
static/web/404/index.html
Normal file
1
static/web/404/index.html
Normal file
@ -0,0 +1 @@
|
||||
<!DOCTYPE html><html><head><meta name="viewport" content="width=device-width"/><meta charSet="utf-8"/><title>404: This page could not be found</title><meta name="next-head-count" content="3"/><link rel="preload" href="/_next/static/css/8048f473def6f541.css" as="style"/><link rel="stylesheet" href="/_next/static/css/8048f473def6f541.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-5cd94c89d3acac5f.js"></script><script src="/_next/static/chunks/webpack-621419216d39691d.js" defer=""></script><script src="/_next/static/chunks/framework-79bce4a3a540b080.js" defer=""></script><script src="/_next/static/chunks/main-95aa2df24180ff28.js" defer=""></script><script src="/_next/static/chunks/pages/_app-67f85ec7875ccdc4.js" defer=""></script><script src="/_next/static/chunks/pages/_error-d39607a4676a4aa5.js" defer=""></script><script src="/_next/static/jtIXjBUjrATfh0Er1orzc/_buildManifest.js" defer=""></script><script src="/_next/static/jtIXjBUjrATfh0Er1orzc/_ssgManifest.js" defer=""></script><script src="/_next/static/jtIXjBUjrATfh0Er1orzc/_middlewareManifest.js" defer=""></script></head><body><div id="__next" data-reactroot=""><div><div style="color:#000;background:#fff;font-family:-apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Fira Sans", Avenir, "Helvetica Neue", "Lucida Grande", sans-serif;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body { margin: 0 }</style><h1 style="display:inline-block;border-right:1px solid rgba(0, 0, 0,.3);margin:0;margin-right:20px;padding:10px 23px 10px 0;font-size:24px;font-weight:500;vertical-align:top">404</h1><div style="display:inline-block;text-align:left;line-height:49px;height:49px;vertical-align:middle"><h2 style="font-size:14px;font-weight:normal;line-height:inherit;margin:0;padding:0">This page could not be found<!-- -->.</h2></div></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"jtIXjBUjrATfh0Er1orzc","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
|
1
static/web/_next/static/chunks/1213-222f826f28b9c729.js
Normal file
1
static/web/_next/static/chunks/1213-222f826f28b9c729.js
Normal file
File diff suppressed because one or more lines are too long
1
static/web/_next/static/chunks/1598-ffd88763d04c8753.js
Normal file
1
static/web/_next/static/chunks/1598-ffd88763d04c8753.js
Normal file
File diff suppressed because one or more lines are too long
1
static/web/_next/static/chunks/1829-95952d6b244c7989.js
Normal file
1
static/web/_next/static/chunks/1829-95952d6b244c7989.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
static/web/_next/static/chunks/3016-4f8191e21aac2f28.js
Normal file
1
static/web/_next/static/chunks/3016-4f8191e21aac2f28.js
Normal file
File diff suppressed because one or more lines are too long
1
static/web/_next/static/chunks/3471-5307c93ff9e09c03.js
Normal file
1
static/web/_next/static/chunks/3471-5307c93ff9e09c03.js
Normal file
File diff suppressed because one or more lines are too long
1
static/web/_next/static/chunks/3660-8ac106c3c9d23701.js
Normal file
1
static/web/_next/static/chunks/3660-8ac106c3c9d23701.js
Normal file
File diff suppressed because one or more lines are too long
1
static/web/_next/static/chunks/3698-ab9819fb276ecdca.js
Normal file
1
static/web/_next/static/chunks/3698-ab9819fb276ecdca.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
static/web/_next/static/chunks/4578-831921ce261f0555.js
Normal file
1
static/web/_next/static/chunks/4578-831921ce261f0555.js
Normal file
File diff suppressed because one or more lines are too long
1
static/web/_next/static/chunks/4713-0a995d2f60177479.js
Normal file
1
static/web/_next/static/chunks/4713-0a995d2f60177479.js
Normal file
File diff suppressed because one or more lines are too long
1
static/web/_next/static/chunks/4763-8dc128557021d75d.js
Normal file
1
static/web/_next/static/chunks/4763-8dc128557021d75d.js
Normal file
File diff suppressed because one or more lines are too long
1
static/web/_next/static/chunks/5046-048bb1ea8f22db65.js
Normal file
1
static/web/_next/static/chunks/5046-048bb1ea8f22db65.js
Normal file
File diff suppressed because one or more lines are too long
1
static/web/_next/static/chunks/5473-8245209200d9ae6a.js
Normal file
1
static/web/_next/static/chunks/5473-8245209200d9ae6a.js
Normal file
File diff suppressed because one or more lines are too long
1
static/web/_next/static/chunks/5938-e5330874590115f8.js
Normal file
1
static/web/_next/static/chunks/5938-e5330874590115f8.js
Normal file
@ -0,0 +1 @@
|
||||
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5938],{49474:function(t,r,n){n.d(r,{Z:function(){return o}});var e=n(19013),a=n(13882);function o(t,r){(0,a.Z)(2,arguments);var n=(0,e.Z)(t),o=(0,e.Z)(r),u=n.getTime()-o.getTime();return u<0?-1:u>0?1:u}},82161:function(t,r,n){n.d(r,{Z:function(){return c}});var e=n(19013),a=n(13882);function o(t,r){(0,a.Z)(2,arguments);var n=(0,e.Z)(t),o=(0,e.Z)(r),u=n.getFullYear()-o.getFullYear(),i=n.getMonth()-o.getMonth();return 12*u+i}var u=n(49474);function i(t){(0,a.Z)(1,arguments);var r=(0,e.Z)(t);return r.setHours(23,59,59,999),r}function s(t){(0,a.Z)(1,arguments);var r=(0,e.Z)(t),n=r.getMonth();return r.setFullYear(r.getFullYear(),n+1,0),r.setHours(23,59,59,999),r}function f(t){(0,a.Z)(1,arguments);var r=(0,e.Z)(t);return i(r).getTime()===s(r).getTime()}function c(t,r){(0,a.Z)(2,arguments);var n,i=(0,e.Z)(t),s=(0,e.Z)(r),c=(0,u.Z)(i,s),l=Math.abs(o(i,s));if(l<1)n=0;else{1===i.getMonth()&&i.getDate()>27&&i.setDate(30),i.setMonth(i.getMonth()-c*l);var Z=(0,u.Z)(i,s)===-c;f((0,e.Z)(t))&&1===l&&1===(0,u.Z)(t,s)&&(Z=!1),n=c*(l-Number(Z))}return 0===n?0:n}},45938:function(t,r,n){n.d(r,{Z:function(){return m}});var e=n(49474),a=n(82161),o=n(11699),u=n(35077),i=n(19013);function s(t){return function(t,r){if(null==t)throw new TypeError("assign requires that input parameter not be null or undefined");for(var n in r=r||{})Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n]);return t}({},t)}var f=n(24262),c=n(13882),l=1440,Z=43200;function h(t,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};(0,c.Z)(2,arguments);var h=n.locale||u.Z;if(!h.formatDistance)throw new RangeError("locale must contain formatDistance property");var m=(0,e.Z)(t,r);if(isNaN(m))throw new RangeError("Invalid time value");var v,D,d=s(n);d.addSuffix=Boolean(n.addSuffix),d.comparison=m,m>0?(v=(0,i.Z)(r),D=(0,i.Z)(t)):(v=(0,i.Z)(t),D=(0,i.Z)(r));var M,g=(0,o.Z)(D,v),p=((0,f.Z)(D)-(0,f.Z)(v))/1e3,X=Math.round((g-p)/60);if(X<2)return n.includeSeconds?g<5?h.formatDistance("lessThanXSeconds",5,d):g<10?h.formatDistance("lessThanXSeconds",10,d):g<20?h.formatDistance("lessThanXSeconds",20,d):g<40?h.formatDistance("halfAMinute",null,d):g<60?h.formatDistance("lessThanXMinutes",1,d):h.formatDistance("xMinutes",1,d):0===X?h.formatDistance("lessThanXMinutes",1,d):h.formatDistance("xMinutes",X,d);if(X<45)return h.formatDistance("xMinutes",X,d);if(X<90)return h.formatDistance("aboutXHours",1,d);if(X<l){var b=Math.round(X/60);return h.formatDistance("aboutXHours",b,d)}if(X<2520)return h.formatDistance("xDays",1,d);if(X<Z){var w=Math.round(X/l);return h.formatDistance("xDays",w,d)}if(X<86400)return M=Math.round(X/Z),h.formatDistance("aboutXMonths",M,d);if((M=(0,a.Z)(D,v))<12){var T=Math.round(X/Z);return h.formatDistance("xMonths",T,d)}var x=M%12,Y=Math.floor(M/12);return x<3?h.formatDistance("aboutXYears",Y,d):x<9?h.formatDistance("overXYears",Y,d):h.formatDistance("almostXYears",Y+1,d)}function m(t,r){return(0,c.Z)(1,arguments),h(t,Date.now(),r)}}}]);
|
1
static/web/_next/static/chunks/6441-fec512f655f643f5.js
Normal file
1
static/web/_next/static/chunks/6441-fec512f655f643f5.js
Normal file
File diff suppressed because one or more lines are too long
1
static/web/_next/static/chunks/7610.d72c9e9827c8fd4d.js
Normal file
1
static/web/_next/static/chunks/7610.d72c9e9827c8fd4d.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
static/web/_next/static/chunks/7910-82406f9d3ddb7107.js
Normal file
1
static/web/_next/static/chunks/7910-82406f9d3ddb7107.js
Normal file
File diff suppressed because one or more lines are too long
1
static/web/_next/static/chunks/7961-a0c15d45b4b858bb.js
Normal file
1
static/web/_next/static/chunks/7961-a0c15d45b4b858bb.js
Normal file
File diff suppressed because one or more lines are too long
1
static/web/_next/static/chunks/8147-c5d041f17c7deaaf.js
Normal file
1
static/web/_next/static/chunks/8147-c5d041f17c7deaaf.js
Normal file
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user