1+ /* --- Стили для вида архива --- */
2+ # archive-view {
3+ position : fixed;
4+ top : var (--header-height );
5+ left : 0 ;
6+ width : 100% ;
7+ height : calc (100vh - var (--header-height ));
8+ background-color : var (--bg-darker );
9+ z-index : 1000 ;
10+ display : flex;
11+ flex-direction : row;
12+ }
13+
14+ .archive-main-content {
15+ display : flex;
16+ flex-direction : column;
17+ flex-grow : 1 ;
18+ }
19+
20+ .archive-sidebar {
21+ width : 300px ;
22+ flex-shrink : 0 ;
23+ background-color : var (--bg-dark );
24+ border-left : 1px solid var (--border-color );
25+ display : flex;
26+ flex-direction : column;
27+ padding : 10px ;
28+ }
29+
30+ .archive-sidebar h3 {
31+ color : var (--text-main );
32+ margin : 0 0 10px 0 ;
33+ font-size : 1.1em ;
34+ border-bottom : 1px solid var (--border-color );
35+ padding-bottom : 8px ;
36+ }
37+
38+ # archive-filters .form-check-inline {
39+ display : flex;
40+ margin-bottom : 8px ;
41+ color : var (--text-main );
42+ }
43+
44+ # event-list {
45+ list-style : none;
46+ padding : 0 ;
47+ margin : 0 ;
48+ overflow-y : auto;
49+ flex-grow : 1 ;
50+ }
51+
52+ # event-list li {
53+ padding : 8px 5px ;
54+ cursor : pointer;
55+ border-bottom : 1px solid var (--border-color );
56+ font-size : 13px ;
57+ transition : background-color 0.2s ;
58+ }
59+
60+ # event-list li : hover {
61+ background-color : var (--bg-light );
62+ }
63+
64+ .event-time {
65+ font-weight : bold;
66+ margin-right : 10px ;
67+ }
68+
69+ .event-objects {
70+ color : var (--text-secondary );
71+ }
72+
73+ .archive-header {
74+ display : flex;
75+ align-items : center;
76+ padding : 10px 15px ;
77+ background-color : var (--bg-dark );
78+ border-bottom : 1px solid var (--border-color );
79+ flex-shrink : 0 ;
80+ gap : 15px ;
81+ }
82+
83+ .archive-header h2 {
84+ margin : 0 ;
85+ font-size : 1.2em ;
86+ flex-grow : 1 ;
87+ }
88+
89+ .archive-header button {
90+ background-color : var (--bg-light );
91+ border : 1px solid var (--border-color );
92+ color : var (--text-main );
93+ padding : 5px 10px ;
94+ border-radius : 4px ;
95+ cursor : pointer;
96+ }
97+
98+ .archive-header button : disabled {
99+ opacity : 0.5 ;
100+ cursor : not-allowed;
101+ }
102+
103+ .archive-header input [type = "text" ] {
104+ background-color : var (--bg-light );
105+ border : 1px solid var (--border-color );
106+ color : var (--text-main );
107+ padding : 5px ;
108+ border-radius : 4px ;
109+ }
110+
111+ .archive-video-container {
112+ flex-grow : 1 ;
113+ display : flex;
114+ justify-content : center;
115+ align-items : center;
116+ background-color : # 000 ;
117+ overflow : hidden;
118+ position : relative;
119+ }
120+
121+ .archive-video-container video {
122+ max-width : 100% ;
123+ max-height : 100% ;
124+ }
125+
126+ .archive-video-placeholder {
127+ color : var (--text-secondary );
128+ }
129+
130+ .timeline-container {
131+ height : 80px ;
132+ background-color : var (--bg-dark );
133+ flex-shrink : 0 ;
134+ border-top : 1px solid var (--border-color );
135+ padding : 10px ;
136+ display : flex;
137+ align-items : center;
138+ }
139+
140+ .timeline-wrapper {
141+ width : 100% ;
142+ height : 100% ;
143+ background-color : var (--bg-darker );
144+ border-radius : 4px ;
145+ position : relative;
146+ border : 1px solid var (--border-color );
147+ cursor : grab;
148+ overflow-x : hidden;
149+ }
150+ .timeline-wrapper .grabbing {
151+ cursor : grabbing;
152+ }
153+
154+ # timeline-canvas {
155+ position : absolute;
156+ top : 0 ;
157+ left : 0 ;
158+ width : 100% ;
159+ height : 100% ;
160+ }
161+
162+ .timeline-labels {
163+ position : absolute;
164+ top : 0 ;
165+ left : 0 ;
166+ width : 100% ;
167+ height : 20px ;
168+ display : flex;
169+ color : var (--text-secondary );
170+ font-size : 12px ;
171+ pointer-events : none;
172+ user-select : none;
173+ z-index : 2 ;
174+ }
175+
176+ .timeline-labels span {
177+ position : absolute;
178+ transform : translateX (-50% );
179+ }
180+
181+ # timeline-selection {
182+ position : absolute;
183+ top : 0 ;
184+ left : 0 ;
185+ height : 100% ;
186+ background-color : rgba (255 , 255 , 0 , 0.4 );
187+ border : 1px dashed yellow;
188+ display : none;
189+ pointer-events : none;
190+ }
191+
192+ .archive-controls {
193+ display : flex;
194+ align-items : center;
195+ gap : 10px ;
196+ padding : 5px 15px ;
197+ background-color : var (--bg-dark );
198+ flex-shrink : 0 ;
199+ border-bottom : 1px solid var (--border-color );
200+ }
201+
202+ .archive-controls .icon-button {
203+ background-color : var (--bg-medium );
204+ border : 1px solid var (--border-color );
205+ border-radius : 50% ;
206+ width : 32px ;
207+ height : 32px ;
208+ display : flex;
209+ align-items : center;
210+ justify-content : center;
211+ cursor : pointer;
212+ }
213+ .archive-controls .icon-button : hover {
214+ background-color : var (--accent-color );
215+ }
216+ .archive-controls .icon-button i {
217+ font-size : 24px ;
218+ color : var (--text-main );
219+ }
220+
221+ .archive-controls .control-button {
222+ background-color : var (--bg-medium );
223+ border : 1px solid var (--border-color );
224+ border-radius : 4px ;
225+ padding : 5px 10px ;
226+ color : var (--text-main );
227+ cursor : pointer;
228+ font-family : monospace;
229+ }
230+ .archive-controls .control-button : hover {
231+ background-color : var (--accent-color );
232+ }
233+ .archive-controls .icon-button .active {
234+ background-color : var (--danger-color );
235+ animation : pulse-rec 1.5s infinite;
236+ }
237+
238+ .archive-controls .time-display {
239+ font-family : monospace;
240+ font-size : 16px ;
241+ color : var (--text-main );
242+ }
0 commit comments