PageSourceSearch

https://snich.ai/assets/Huddle-cc81ae87.js

js snich.ai collected 2026-10-05 15:08:18 UTC 8,747 bytes, 1 lines download raw bytes

1import{r as m,j as t}from"./vendor-react-72e4a099.js";import{u as V,c as d}from"./Toast-43ee7788.js";import{m as $,c as N,M as R}from"./MeetingTiles-0e7ec670.js";import{p as E,a as P}from"./people-57c2fe27.js";import{M as T}from"./mic-098d6d5b.js";import{M as k}from"./mic-off-05523af3.js";import{V as H}from"./video-a08888e9.js";import{V as U}from"./video-off-a445220e.js";import{M as z}from"./mouse-pointer-2-a64daac3.js";import{M as A}from"./minimize-2-7f4bb98d.js";import{P as D}from"./Studio-12de6b79.js";import"./createLucideIcon-581cd729.js";import"./eye-5711d0dd.js";import"./x-b9f3d093.js";import"./circle-check-63b159d4.js";import"./circle-alert-67975319.js";import"./Display-48adcc24.js";import"./buildLifecycle-a44b0e05.js";import"./ProgramGraphicsLayer-e1e0e604.js";import"./index-d9998155.js";import"./guestAccess-28c96151.js";import"./chevron-left-39dc0897.js";import"./chevron-right-b4336544.js";import"./refresh-cw-98362cea.js";import"./globe-e09c7f1b.js";import"./lock-73755c1f.js";import"./external-link-63c5a0ce.js";import"./film-0ba9e353.js";import"./sparkles-e0558c3e.js";import"./pause-2cb080c5.js";import"./play-3580deb4.js";import"./ellipsis-vertical-09d18e39.js";import"./check-083433f7.js";import"./slotWidgets-57ef49ea.js";import"./trash-2-7a739e24.js";import"./crown-fdf36aa5.js";import"./volume-2-a1e941cc.js";import"./user-2d8f405f.js";import"./users-a990a1e8.js";import"./chromaKey-9ef66bf0.js";import"./deviceDetection-9fe14a8f.js";import"./roomAccess-6d61bdfc.js";import"./audioQuality-b8c9f17c.js";import"./snichDenoiseRuntime-273d9ce6.js";import"./pin-70ee9bd9.js";import"./ellipsis-bbf71637.js";import"./Lobby-cd4ae718.js";import"./format-5039f022.js";import"./BackgroundModal-371a8f77.js";import"./mediaPrefs-a1582108.js";/* empty css              */import"./image-aefc8036.js";import"./upload-34ad8b6a.js";import"./chevron-up-f536cc4c.js";import"./chevron-down-888c3b30.js";import"./square-abcd1e2a.js";import"./smartphone-d9ded3c9.js";import"./headphones-a3105568.js";import"./EntryChrome-3815c94b.js";import"./Controls-5a18fd37.js";import"./copy-34f4069e.js";import"./radio-dc3b7f8c.js";import"./arrow-right-eda8f931.js";import"./shield-check-111738a3.js";import"./layout-grid-63073c93.js";import"./user-plus-d862ebc6.js";import"./file-text-e7c68864.js";import"./file-play-96922e92.js";import"./pen-line-729408c9.js";import"./plus-39793e81.js";import"./logo-snich-dialogue-bd9a9926.js";import"./LayoutEditorModal-5c2cbcf2.js";import"./pencil-c32e7d9a.js";import"./monitor-ac1ab9e6.js";import"./arrow-up-955249b3.js";import"./arrow-down-5480e148.js";import"./maximize-edcb58d4.js";import"./circle-119050f3.js";import"./share-2-50cd044b.js";import"./loader-circle-f10bdd75.js";import"./layers-e08031b9.js";import"./type-c9e8ec6d.js";import"./timer-dd0230bd.js";import"./clock-e6794ea5.js";import"./send-ef7332d3.js";import"./rotate-ccw-738260f2.js";import"./StudioRealtime-3ad3f1c0.js";import"./plug-1e9df63e.js";import"./triangle-alert-cdc85d96.js";import"./download-3e69fd6b.js";import"./thumbs-up-f55ea202.js";import"./paperclip-3819f2af.js";import"./music-0f60f4f1.js";import"./message-square-87bea34a.js";import"./sticky-note-012253c0.js";import"./mediaSettingsStore-1783edcc.js";import"./camera-8e9c5806.js";import"./captions-4aebb0bb.js";import"./sliders-horizontal-41aa44a5.js";import"./MicCheckModal-3c0b1b56.js";import"./micDiagnostics-fa65b80f.js";import"./search-01fb0df0.js";import"./user-minus-edd1ae61.js";import"./repeat-a9c26444.js";import"./grip-vertical-b48ba28a.js";import"./languages-9836601a.js";import"./zap-a08e50de.js";import"./volume-x-8aea9e1c.js";import"./shield-b21f8aed.js";import"./WaitingRoom-fe3d8748.js";import"./EventPreview-a5c61118.js";import"./eventDuration-e09aabf0.js";import"./log-out-e38723a8.js";import"./circle-x-d5c7be80.js";import"./mail-c07c6c62.js";import"./calendar-days-6829c81b.js";import"./EndedScreen-b2678b64.js";import"./publicApi-16230aa9.js";import"./api-d8a57490.js";import"./star-f57b9032.js";import"./list-13d531b4.js";import"./arrow-left-6a250fbc.js";const w=4;function ee(){return typeof window>"u"?!1:new URLSearchParams(window.location.search).get("view")==="huddle"}function u(r){if(window.parent!==window)try{window.parent.postMessage(r,window.location.origin)}catch{}}function I({api:r,person:e}){var o,a;return t.jsxs("div",{className:d("snh-tile",e.speaking&&"is-speaking"),"data-participant-id":e.id,children:[e.video?t.jsx(R,{api:r,participant:e.participant,className:"snh-video"},((a=(o=e.participant.stream)==null?void 0:o.getVideoTracks()[0])==null?void 0:a.id)||"none"):t.jsx("span",{className:"snh-off","aria-label":`${e.name}, камера выключена`,role:"img",children:t.jsx("span",{className:"snh-face",style:{background:e.tint[0],color:e.tint[1]},children:e.avatar?t.jsx("img",{src:e.avatar,alt:""}):e.initials})}),t.jsxs("span",{className:"snh-plate",children:[e.speaking&&t.jsxs("span",{className:"snh-meter","aria-hidden":"true",children:[t.jsx("i",{style:{height:"50%"}}),t.jsx("i",{style:{height:"100%"}}),t.jsx("i",{style:{height:"70%"}})]}),e.muted&&!e.speaking&&t.jsx(k,{className:"snh-i-14 snh-muted","aria-label":"Микрофон выключен"}),e.isLocal?"Вы":e.first]})]})}function re({api:r}){var j;const e=V(),o=m.useRef(r);o.current=r;const[a,S]=m.useState(!1),s=$(r).map(i=>E(r,i)),p=[...s.filter(i=>i.isLocal),...s.filter(i=>!i.isLocal)],f=p.length>w?p.slice(0,w-1):p,h=p.length-f.length,n=s.find(i=>!i.isLocal&&i.speaking)||s.find(i=>i.speaking)||null,v=!!((j=r.recording)!=null&&j.active),M=s.length-1,y=[n?n.isLocal?"говорите вы":`говорит ${n.first}`:M>0?`${s.length} ${P(s.length,"участник","участника","участников")}`:"ждём остальных",v?"идёт запись":"без записи"].join(" · "),x=s.length,g=n&&!n.isLocal?n.first:null;m.useEffect(()=>{u({type:"sn:huddle",action:"state",count:x,speaking:g})},[x,g]);const C=m.useCallback(()=>{a||(S(!0),u({type:"sn:huddle",action:"left"}),o.current.leave())},[a]),O=m.useCallback(()=>{const i=o.current;u({type:"sn:huddle",action:"expand",micOn:!i.me.isMuted,cameraOn:!i.me.isCameraOff}),window.parent===window&&(window.location.href=`/studio/${i.room.id}?mode=meeting`)},[]),L=m.useCallback(()=>{var b;const i=o.current;if(i.isSharingScreen){i.stopScreenShare();return}if(!N()){e.error("На этом устройстве браузер не умеет показывать экран");return}if(((b=i.meeting)==null?void 0:b.canShareScreen)===!1){e.show("Показать экран можно во встрече — разверните созвон");return}i.shareScreen()},[e]),l=!r.me.isMuted,c=!r.me.isCameraOff;return t.jsxs("section",{className:"snh","aria-label":"Созвон в канале","data-testid":"huddle-view",children:[t.jsxs("div",{className:"snh-tiles",children:[f.map(i=>t.jsx(I,{api:r,person:i},i.id)),h>0&&t.jsxs("span",{className:"snh-more snh-mono","aria-label":`Ещё ${h}`,children:["+",h]})]}),t.jsxs("span",{className:"snh-text",children:[t.jsx("span",{className:"snh-title",children:"Созвон в канале"}),t.jsx("span",{className:"snh-sub",children:y})]}),t.jsxs("div",{className:"snh-tools",role:"toolbar","aria-label":"Управление созвоном",children:[t.jsx("button",{type:"button",className:d("snh-btn",!l&&"is-off"),"aria-label":l?"Микрофон включён":"Микрофон выключен","aria-pressed":l,onClick:r.toggleMic,"data-testid":"huddle-mic",children:l?t.jsx(T,{className:"snh-i"}):t.jsx(k,{className:"snh-i"})}),t.jsx("button",{type:"button",className:d("snh-btn",!c&&"is-off"),"aria-label":c?"Камера включена":"Камера выключена","aria-pressed":c,onClick:r.toggleCamera,"data-testid":"huddle-camera",children:c?t.jsx(H,{className:"snh-i"}):t.jsx(U,{className:"snh-i"})}),N()&&t.jsx("button",{type:"button",className:d("snh-btn snh-share",r.isSharingScreen&&"is-on"),"aria-label":r.isSharingScreen?"Остановить показ экрана":"Показать экран","aria-pressed":r.isSharingScreen,onClick:L,children:t.jsx(z,{className:"snh-i"})}),t.jsxs("button",{type:"button",className:"snh-expand",onClick:O,"aria-label":"Развернуть во встречу",title:"Развернуть во встречу","data-testid":"huddle-expand",children:[t.jsx(A,{className:"snh-i-16","aria-hidden":"true"}),t.jsx("span",{className:"snh-expand-label",children:"Развернуть во встречу"})]}),t.jsx("button",{type:"button",className:"snh-leave","aria-label":"Выйти из созвона",onClick:C,disabled:a,"data-testid":"huddle-leave",children:t.jsx(D,{className:"snh-i"})})]})]})}export{re as HuddleView,ee as isHuddleView};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.