릴리즈 v0.2.8: CCTV 모듈 supervisor 권한 보완 및 버전 업그레이드
This commit is contained in:
parent
bc996a3980
commit
eef9c12d77
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "smartims",
|
"name": "smartims",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "0.2.7",
|
"version": "0.2.8",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite",
|
"dev": "vite",
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "server",
|
"name": "server",
|
||||||
"version": "0.2.7",
|
"version": "0.2.8",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@ -236,7 +236,7 @@ export function MonitoringPage() {
|
|||||||
<Video className="text-blue-600" />
|
<Video className="text-blue-600" />
|
||||||
CCTV <span className="text-xs text-slate-400 font-normal">({user?.role})</span>
|
CCTV <span className="text-xs text-slate-400 font-normal">({user?.role})</span>
|
||||||
</h1>
|
</h1>
|
||||||
{user?.role === 'admin' && (
|
{(user?.role === 'admin' || user?.role === 'supervisor') && (
|
||||||
<button
|
<button
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
setEditingCamera(null);
|
setEditingCamera(null);
|
||||||
@ -270,7 +270,7 @@ export function MonitoringPage() {
|
|||||||
>
|
>
|
||||||
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-2 gap-6">
|
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-2 gap-6">
|
||||||
{cameras.map(camera => (
|
{cameras.map(camera => (
|
||||||
<SortableCamera key={camera.id} camera={camera} disabled={user?.role !== 'admin'}>
|
<SortableCamera key={camera.id} camera={camera} disabled={user?.role !== 'admin' && user?.role !== 'supervisor'}>
|
||||||
<div className="relative aspect-video bg-black group">
|
<div className="relative aspect-video bg-black group">
|
||||||
<JSMpegPlayer
|
<JSMpegPlayer
|
||||||
key={`${camera.id}-${streamVersions[camera.id] || 0}`}
|
key={`${camera.id}-${streamVersions[camera.id] || 0}`}
|
||||||
@ -278,7 +278,7 @@ export function MonitoringPage() {
|
|||||||
className="w-full h-full"
|
className="w-full h-full"
|
||||||
/>
|
/>
|
||||||
{/* Overlay Controls */}
|
{/* Overlay Controls */}
|
||||||
{user?.role === 'admin' && (
|
{(user?.role === 'admin' || user?.role === 'supervisor') && (
|
||||||
<div className="absolute top-2 right-2 opacity-0 group-hover:opacity-100 transition-opacity flex gap-2" onPointerDown={(e) => e.stopPropagation()}>
|
<div className="absolute top-2 right-2 opacity-0 group-hover:opacity-100 transition-opacity flex gap-2" onPointerDown={(e) => e.stopPropagation()}>
|
||||||
<button
|
<button
|
||||||
onClick={() => handleToggleStatus(camera)}
|
onClick={() => handleToggleStatus(camera)}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user