mirror of
https://github.com/mediacms-io/mediacms.git
synced 2025-11-06 07:28:53 -05:00
fix: Disable all tools on preview mode (undo, redo, reset, etc.)
This commit is contained in:
parent
1ebfe94953
commit
01df72a115
@ -1,5 +1,5 @@
|
|||||||
import '../styles/EditingTools.css';
|
import "../styles/EditingTools.css";
|
||||||
import { useEffect, useState } from 'react';
|
import { useEffect, useState } from "react";
|
||||||
|
|
||||||
interface EditingToolsProps {
|
interface EditingToolsProps {
|
||||||
onSplit: () => void;
|
onSplit: () => void;
|
||||||
@ -24,7 +24,7 @@ const EditingTools = ({
|
|||||||
canUndo,
|
canUndo,
|
||||||
canRedo,
|
canRedo,
|
||||||
isPlaying = false,
|
isPlaying = false,
|
||||||
isPlayingSegments = false,
|
isPlayingSegments = false
|
||||||
}: EditingToolsProps) => {
|
}: EditingToolsProps) => {
|
||||||
const [isSmallScreen, setIsSmallScreen] = useState(false);
|
const [isSmallScreen, setIsSmallScreen] = useState(false);
|
||||||
|
|
||||||
@ -34,17 +34,17 @@ const EditingTools = ({
|
|||||||
};
|
};
|
||||||
|
|
||||||
checkScreenSize();
|
checkScreenSize();
|
||||||
window.addEventListener('resize', checkScreenSize);
|
window.addEventListener("resize", checkScreenSize);
|
||||||
return () => window.removeEventListener('resize', checkScreenSize);
|
return () => window.removeEventListener("resize", checkScreenSize);
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
// Handle play button click with iOS fix
|
// Handle play button click with iOS fix
|
||||||
const handlePlay = () => {
|
const handlePlay = () => {
|
||||||
// Ensure lastSeekedPosition is used when play is clicked
|
// Ensure lastSeekedPosition is used when play is clicked
|
||||||
if (typeof window !== 'undefined') {
|
if (typeof window !== "undefined") {
|
||||||
console.log("Play button clicked, current lastSeekedPosition:", window.lastSeekedPosition);
|
console.log("Play button clicked, current lastSeekedPosition:", window.lastSeekedPosition);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Call the original handler
|
// Call the original handler
|
||||||
onPlay();
|
onPlay();
|
||||||
};
|
};
|
||||||
@ -55,15 +55,25 @@ const EditingTools = ({
|
|||||||
{/* Left side - Play buttons group */}
|
{/* Left side - Play buttons group */}
|
||||||
<div className="button-group play-buttons-group">
|
<div className="button-group play-buttons-group">
|
||||||
{/* Play Segments button */}
|
{/* Play Segments button */}
|
||||||
<button
|
<button
|
||||||
className={`button segments-button`}
|
className={`button segments-button`}
|
||||||
onClick={onPlaySegments}
|
onClick={onPlaySegments}
|
||||||
data-tooltip={isPlayingSegments ? "Stop segments playback" : "Play segments in one continuous flow"}
|
data-tooltip={
|
||||||
style={{ fontSize: '0.875rem' }}
|
isPlayingSegments ? "Stop segments playback" : "Play segments in one continuous flow"
|
||||||
|
}
|
||||||
|
style={{ fontSize: "0.875rem" }}
|
||||||
>
|
>
|
||||||
{isPlayingSegments ? (
|
{isPlayingSegments ? (
|
||||||
<>
|
<>
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
strokeWidth="2"
|
||||||
|
strokeLinecap="round"
|
||||||
|
strokeLinejoin="round"
|
||||||
|
>
|
||||||
<circle cx="12" cy="12" r="10" />
|
<circle cx="12" cy="12" r="10" />
|
||||||
<line x1="10" y1="15" x2="10" y2="9" />
|
<line x1="10" y1="15" x2="10" y2="9" />
|
||||||
<line x1="14" y1="15" x2="14" y2="9" />
|
<line x1="14" y1="15" x2="14" y2="9" />
|
||||||
@ -73,7 +83,15 @@ const EditingTools = ({
|
|||||||
</>
|
</>
|
||||||
) : (
|
) : (
|
||||||
<>
|
<>
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
strokeWidth="2"
|
||||||
|
strokeLinecap="round"
|
||||||
|
strokeLinejoin="round"
|
||||||
|
>
|
||||||
<circle cx="12" cy="12" r="10" />
|
<circle cx="12" cy="12" r="10" />
|
||||||
<polygon points="10 8 16 12 10 16 10 8" />
|
<polygon points="10 8 16 12 10 16 10 8" />
|
||||||
</svg>
|
</svg>
|
||||||
@ -114,16 +132,24 @@ const EditingTools = ({
|
|||||||
|
|
||||||
{/* Standard Play button (only shown when not in segments playback on small screens) */}
|
{/* Standard Play button (only shown when not in segments playback on small screens) */}
|
||||||
{(!isPlayingSegments || !isSmallScreen) && (
|
{(!isPlayingSegments || !isSmallScreen) && (
|
||||||
<button
|
<button
|
||||||
className={`button play-button ${isPlayingSegments ? 'greyed-out' : ''}`}
|
className={`button play-button ${isPlayingSegments ? "greyed-out" : ""}`}
|
||||||
onClick={handlePlay}
|
onClick={handlePlay}
|
||||||
data-tooltip={isPlaying ? "Pause video" : "Play full video"}
|
data-tooltip={isPlaying ? "Pause video" : "Play full video"}
|
||||||
style={{ fontSize: '0.875rem' }}
|
style={{ fontSize: "0.875rem" }}
|
||||||
disabled={isPlayingSegments}
|
disabled={isPlayingSegments}
|
||||||
>
|
>
|
||||||
{isPlaying && !isPlayingSegments ? (
|
{isPlaying && !isPlayingSegments ? (
|
||||||
<>
|
<>
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
strokeWidth="2"
|
||||||
|
strokeLinecap="round"
|
||||||
|
strokeLinejoin="round"
|
||||||
|
>
|
||||||
<circle cx="12" cy="12" r="10" />
|
<circle cx="12" cy="12" r="10" />
|
||||||
<line x1="10" y1="15" x2="10" y2="9" />
|
<line x1="10" y1="15" x2="10" y2="9" />
|
||||||
<line x1="14" y1="15" x2="14" y2="9" />
|
<line x1="14" y1="15" x2="14" y2="9" />
|
||||||
@ -133,7 +159,15 @@ const EditingTools = ({
|
|||||||
</>
|
</>
|
||||||
) : (
|
) : (
|
||||||
<>
|
<>
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
strokeWidth="2"
|
||||||
|
strokeLinecap="round"
|
||||||
|
strokeLinejoin="round"
|
||||||
|
>
|
||||||
<circle cx="12" cy="12" r="10" />
|
<circle cx="12" cy="12" r="10" />
|
||||||
<polygon points="10 8 16 12 10 16 10 8" />
|
<polygon points="10 8 16 12 10 16 10 8" />
|
||||||
</svg>
|
</svg>
|
||||||
@ -143,7 +177,7 @@ const EditingTools = ({
|
|||||||
)}
|
)}
|
||||||
</button>
|
</button>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
{/* Segments Playback message (replaces play button during segments playback) */}
|
{/* Segments Playback message (replaces play button during segments playback) */}
|
||||||
{/* {isPlayingSegments && !isSmallScreen && (
|
{/* {isPlayingSegments && !isSmallScreen && (
|
||||||
<div className="segments-playback-message">
|
<div className="segments-playback-message">
|
||||||
@ -155,7 +189,7 @@ const EditingTools = ({
|
|||||||
Preview Mode
|
Preview Mode
|
||||||
</div>
|
</div>
|
||||||
)} */}
|
)} */}
|
||||||
|
|
||||||
{/* Preview mode message (replaces play button) */}
|
{/* Preview mode message (replaces play button) */}
|
||||||
{/* {isPreviewMode && (
|
{/* {isPreviewMode && (
|
||||||
<div className="preview-mode-message">
|
<div className="preview-mode-message">
|
||||||
@ -168,43 +202,64 @@ const EditingTools = ({
|
|||||||
</div>
|
</div>
|
||||||
)} */}
|
)} */}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Right side - Editing tools */}
|
{/* Right side - Editing tools */}
|
||||||
<div className="button-group secondary">
|
<div className="button-group secondary">
|
||||||
<button
|
<button
|
||||||
className="button"
|
className="button"
|
||||||
aria-label="Undo"
|
aria-label="Undo"
|
||||||
data-tooltip="Undo last action"
|
data-tooltip="Undo last action"
|
||||||
disabled={!canUndo}
|
disabled={!canUndo || isPlayingSegments}
|
||||||
onClick={onUndo}
|
onClick={onUndo}
|
||||||
>
|
>
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
|
<svg
|
||||||
<path d="M9 14 4 9l5-5"/>
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
<path d="M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5v0a5.5 5.5 0 0 1-5.5 5.5H11"/>
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
strokeWidth="2"
|
||||||
|
strokeLinecap="round"
|
||||||
|
strokeLinejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M9 14 4 9l5-5" />
|
||||||
|
<path d="M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5v0a5.5 5.5 0 0 1-5.5 5.5H11" />
|
||||||
</svg>
|
</svg>
|
||||||
<span className="button-text">Undo</span>
|
<span className="button-text">Undo</span>
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
className="button"
|
className="button"
|
||||||
aria-label="Redo"
|
aria-label="Redo"
|
||||||
data-tooltip="Redo last undone action"
|
data-tooltip="Redo last undone action"
|
||||||
disabled={!canRedo}
|
disabled={!canRedo || isPlayingSegments}
|
||||||
onClick={onRedo}
|
onClick={onRedo}
|
||||||
>
|
>
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
|
<svg
|
||||||
<path d="m15 14 5-5-5-5"/>
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
<path d="M20 9H9.5A5.5 5.5 0 0 0 4 14.5v0A5.5 5.5 0 0 0 9.5 20H13"/>
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
strokeWidth="2"
|
||||||
|
strokeLinecap="round"
|
||||||
|
strokeLinejoin="round"
|
||||||
|
>
|
||||||
|
<path d="m15 14 5-5-5-5" />
|
||||||
|
<path d="M20 9H9.5A5.5 5.5 0 0 0 4 14.5v0A5.5 5.5 0 0 0 9.5 20H13" />
|
||||||
</svg>
|
</svg>
|
||||||
<span className="button-text">Redo</span>
|
<span className="button-text">Redo</span>
|
||||||
</button>
|
</button>
|
||||||
<div className="divider"></div>
|
<div className="divider"></div>
|
||||||
<button
|
<button
|
||||||
className="button"
|
className="button"
|
||||||
onClick={onReset}
|
onClick={onReset}
|
||||||
data-tooltip="Reset to full video"
|
data-tooltip="Reset to full video"
|
||||||
|
disabled={isPlayingSegments}
|
||||||
>
|
>
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
|
||||||
<path fillRule="evenodd" d="M4 2a1 1 0 011 1v2.101a7.002 7.002 0 0111.601 2.566 1 1 0 11-1.885.666A5.002 5.002 0 005.999 7H9a1 1 0 010 2H4a1 1 0 01-1-1V3a1 1 0 011-1zm.008 9.057a1 1 0 011.276.61A5.002 5.002 0 0014.001 13H11a1 1 0 110-2h5a1 1 0 011 1v5a1 1 0 11-2 0v-2.101a7.002 7.002 0 01-11.601-2.566 1 1 0 01.61-1.276z" clipRule="evenodd" />
|
<path
|
||||||
|
fillRule="evenodd"
|
||||||
|
d="M4 2a1 1 0 011 1v2.101a7.002 7.002 0 0111.601 2.566 1 1 0 11-1.885.666A5.002 5.002 0 005.999 7H9a1 1 0 010 2H4a1 1 0 01-1-1V3a1 1 0 011-1zm.008 9.057a1 1 0 011.276.61A5.002 5.002 0 0014.001 13H11a1 1 0 110-2h5a1 1 0 011 1v5a1 1 0 11-2 0v-2.101a7.002 7.002 0 01-11.601-2.566 1 1 0 01.61-1.276z"
|
||||||
|
clipRule="evenodd"
|
||||||
|
/>
|
||||||
</svg>
|
</svg>
|
||||||
<span className="reset-text">Reset</span>
|
<span className="reset-text">Reset</span>
|
||||||
</button>
|
</button>
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -1,11 +1,10 @@
|
|||||||
#video-editor-trim-root {
|
#video-editor-trim-root {
|
||||||
|
|
||||||
/* Tooltip styles - only on desktop where hover is available */
|
/* Tooltip styles - only on desktop where hover is available */
|
||||||
@media (hover: hover) and (pointer: fine) {
|
@media (hover: hover) and (pointer: fine) {
|
||||||
[data-tooltip] {
|
[data-tooltip] {
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
[data-tooltip]:before {
|
[data-tooltip]:before {
|
||||||
content: attr(data-tooltip);
|
content: attr(data-tooltip);
|
||||||
position: absolute;
|
position: absolute;
|
||||||
@ -26,7 +25,7 @@
|
|||||||
z-index: 1000;
|
z-index: 1000;
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
[data-tooltip]:after {
|
[data-tooltip]:after {
|
||||||
content: '';
|
content: '';
|
||||||
position: absolute;
|
position: absolute;
|
||||||
@ -41,14 +40,14 @@
|
|||||||
transition: opacity 0.2s, visibility 0.2s;
|
transition: opacity 0.2s, visibility 0.2s;
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
[data-tooltip]:hover:before,
|
[data-tooltip]:hover:before,
|
||||||
[data-tooltip]:hover:after {
|
[data-tooltip]:hover:after {
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
visibility: visible;
|
visibility: visible;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Hide button tooltips on touch devices */
|
/* Hide button tooltips on touch devices */
|
||||||
@media (pointer: coarse) {
|
@media (pointer: coarse) {
|
||||||
[data-tooltip]:before,
|
[data-tooltip]:before,
|
||||||
@ -86,7 +85,7 @@
|
|||||||
.full-text {
|
.full-text {
|
||||||
display: inline;
|
display: inline;
|
||||||
}
|
}
|
||||||
|
|
||||||
.short-text {
|
.short-text {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
@ -99,20 +98,20 @@
|
|||||||
.button-group {
|
.button-group {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
&.play-buttons-group {
|
&.play-buttons-group {
|
||||||
gap: 0.75rem;
|
gap: 0.75rem;
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
flex: 0 0 auto; /* Don't expand to fill space */
|
flex: 0 0 auto; /* Don't expand to fill space */
|
||||||
}
|
}
|
||||||
|
|
||||||
&.secondary {
|
&.secondary {
|
||||||
gap: 0.75rem;
|
gap: 0.75rem;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
margin-left: auto; /* Push to right edge */
|
margin-left: auto; /* Push to right edge */
|
||||||
}
|
}
|
||||||
|
|
||||||
button {
|
button {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
@ -121,17 +120,16 @@
|
|||||||
border: none;
|
border: none;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
min-width: auto;
|
min-width: auto;
|
||||||
|
|
||||||
/* Disabled hover effect as requested */
|
|
||||||
&:hover:not(:disabled) {
|
&:hover:not(:disabled) {
|
||||||
color: inherit;
|
color: inherit;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:disabled {
|
&:disabled {
|
||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
cursor: not-allowed;
|
cursor: not-allowed;
|
||||||
}
|
}
|
||||||
|
|
||||||
svg {
|
svg {
|
||||||
height: 1.25rem;
|
height: 1.25rem;
|
||||||
width: 1.25rem;
|
width: 1.25rem;
|
||||||
@ -144,10 +142,11 @@
|
|||||||
border-right: 1px solid #d1d5db;
|
border-right: 1px solid #d1d5db;
|
||||||
height: 1.5rem;
|
height: 1.5rem;
|
||||||
margin: 0 0.5rem;
|
margin: 0 0.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Style for play buttons with highlight effect */
|
/* Style for play buttons with highlight effect */
|
||||||
.play-button, .preview-button {
|
.play-button,
|
||||||
|
.preview-button {
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
@ -157,13 +156,13 @@
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
font-size: 0.875rem !important;
|
font-size: 0.875rem !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Greyed out play button when segments are playing */
|
/* Greyed out play button when segments are playing */
|
||||||
.play-button.greyed-out {
|
.play-button.greyed-out {
|
||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
cursor: not-allowed;
|
cursor: not-allowed;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Highlighted stop button with blue pulse on small screens */
|
/* Highlighted stop button with blue pulse on small screens */
|
||||||
.segments-button.highlighted-stop {
|
.segments-button.highlighted-stop {
|
||||||
background-color: rgba(59, 130, 246, 0.1);
|
background-color: rgba(59, 130, 246, 0.1);
|
||||||
@ -171,7 +170,7 @@
|
|||||||
border: 1px solid #3b82f6;
|
border: 1px solid #3b82f6;
|
||||||
animation: bluePulse 2s infinite;
|
animation: bluePulse 2s infinite;
|
||||||
}
|
}
|
||||||
|
|
||||||
@keyframes bluePulse {
|
@keyframes bluePulse {
|
||||||
0% {
|
0% {
|
||||||
box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.4);
|
box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.4);
|
||||||
@ -183,9 +182,10 @@
|
|||||||
box-shadow: 0 0 0 0 rgba(59, 130, 246, 0);
|
box-shadow: 0 0 0 0 rgba(59, 130, 246, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Completely disable ALL hover effects for play buttons */
|
/* Completely disable ALL hover effects for play buttons */
|
||||||
.play-button:hover:not(:disabled), .preview-button:hover:not(:disabled) {
|
.play-button:hover:not(:disabled),
|
||||||
|
.preview-button:hover:not(:disabled) {
|
||||||
/* Reset everything to prevent any changes */
|
/* Reset everything to prevent any changes */
|
||||||
color: inherit !important;
|
color: inherit !important;
|
||||||
transform: none !important;
|
transform: none !important;
|
||||||
@ -193,16 +193,15 @@
|
|||||||
width: auto !important;
|
width: auto !important;
|
||||||
background: none !important;
|
background: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.play-button svg, .preview-button svg {
|
.play-button svg,
|
||||||
|
.preview-button svg {
|
||||||
height: 1.5rem;
|
height: 1.5rem;
|
||||||
width: 1.5rem;
|
width: 1.5rem;
|
||||||
/* Make sure SVG scales with the button but doesn't change layout */
|
/* Make sure SVG scales with the button but doesn't change layout */
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Preview mode styles removed - replaced by segments playback mode */
|
|
||||||
|
|
||||||
@keyframes pulse {
|
@keyframes pulse {
|
||||||
0% {
|
0% {
|
||||||
opacity: 0.8;
|
opacity: 0.8;
|
||||||
@ -214,12 +213,12 @@
|
|||||||
opacity: 0.8;
|
opacity: 0.8;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Add responsive button text class */
|
/* Add responsive button text class */
|
||||||
.button-text {
|
.button-text {
|
||||||
margin-left: 0.25rem;
|
margin-left: 0.25rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Media queries for the editing tools */
|
/* Media queries for the editing tools */
|
||||||
@media (max-width: 992px) {
|
@media (max-width: 992px) {
|
||||||
/* Hide text for undo/redo buttons on medium screens */
|
/* Hide text for undo/redo buttons on medium screens */
|
||||||
@ -227,76 +226,77 @@
|
|||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 768px) {
|
@media (max-width: 768px) {
|
||||||
/* Keep all buttons in a single row, make them more compact */
|
/* Keep all buttons in a single row, make them more compact */
|
||||||
.flex-container.single-row {
|
.flex-container.single-row {
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
}
|
}
|
||||||
|
|
||||||
.button-group {
|
.button-group {
|
||||||
gap: 0.5rem;
|
gap: 0.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Keep font size consistent regardless of screen size */
|
/* Keep font size consistent regardless of screen size */
|
||||||
.preview-button, .play-button {
|
.preview-button,
|
||||||
|
.play-button {
|
||||||
font-size: 0.875rem !important;
|
font-size: 0.875rem !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 640px) {
|
@media (max-width: 640px) {
|
||||||
/* Prevent container overflow on mobile */
|
/* Prevent container overflow on mobile */
|
||||||
.editing-tools-container {
|
.editing-tools-container {
|
||||||
padding: 0.75rem;
|
padding: 0.75rem;
|
||||||
overflow-x: hidden;
|
overflow-x: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* At this breakpoint, make preview button text shorter */
|
/* At this breakpoint, make preview button text shorter */
|
||||||
.preview-button {
|
.preview-button {
|
||||||
min-width: auto;
|
min-width: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Switch to short text versions */
|
/* Switch to short text versions */
|
||||||
.full-text {
|
.full-text {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.short-text {
|
.short-text {
|
||||||
display: inline;
|
display: inline;
|
||||||
margin-left: 0.15rem;
|
margin-left: 0.15rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Hide reset text */
|
/* Hide reset text */
|
||||||
.reset-text {
|
.reset-text {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Ensure buttons stay in correct position */
|
/* Ensure buttons stay in correct position */
|
||||||
.button-group.play-buttons-group {
|
.button-group.play-buttons-group {
|
||||||
flex: initial;
|
flex: initial;
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.button-group.secondary {
|
.button-group.secondary {
|
||||||
flex: initial;
|
flex: initial;
|
||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Reduce button sizes on mobile */
|
/* Reduce button sizes on mobile */
|
||||||
.button-group button {
|
.button-group button {
|
||||||
padding: 0.375rem;
|
padding: 0.375rem;
|
||||||
min-width: auto;
|
min-width: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.button-group button svg {
|
.button-group button svg {
|
||||||
height: 1.125rem;
|
height: 1.125rem;
|
||||||
width: 1.125rem;
|
width: 1.125rem;
|
||||||
margin-right: 0.125rem;
|
margin-right: 0.125rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 576px) {
|
@media (max-width: 576px) {
|
||||||
/* Keep single row, left-align play buttons, right-align controls */
|
/* Keep single row, left-align play buttons, right-align controls */
|
||||||
.flex-container.single-row {
|
.flex-container.single-row {
|
||||||
@ -304,90 +304,88 @@
|
|||||||
flex-wrap: nowrap;
|
flex-wrap: nowrap;
|
||||||
gap: 10px;
|
gap: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Fix left-align for play buttons */
|
/* Fix left-align for play buttons */
|
||||||
.button-group.play-buttons-group {
|
.button-group.play-buttons-group {
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
flex: 0 0 auto;
|
flex: 0 0 auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Fix right-align for editing controls */
|
/* Fix right-align for editing controls */
|
||||||
.button-group.secondary {
|
.button-group.secondary {
|
||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Reduce button padding to fit more easily */
|
/* Reduce button padding to fit more easily */
|
||||||
.button-group button {
|
.button-group button {
|
||||||
padding: 0.25rem;
|
padding: 0.25rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Removed preview mode message styles */
|
|
||||||
|
|
||||||
.divider {
|
.divider {
|
||||||
margin: 0 0.25rem;
|
margin: 0 0.25rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Very small screens - maintain layout but reduce further */
|
/* Very small screens - maintain layout but reduce further */
|
||||||
@media (max-width: 480px) {
|
@media (max-width: 480px) {
|
||||||
.editing-tools-container {
|
.editing-tools-container {
|
||||||
padding: 0.5rem;
|
padding: 0.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.flex-container.single-row {
|
.flex-container.single-row {
|
||||||
gap: 8px;
|
gap: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.button-group.play-buttons-group,
|
.button-group.play-buttons-group,
|
||||||
.button-group.secondary {
|
.button-group.secondary {
|
||||||
gap: 0.25rem;
|
gap: 0.25rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.divider {
|
.divider {
|
||||||
display: none; /* Hide divider on very small screens */
|
display: none; /* Hide divider on very small screens */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Even smaller buttons on very small screens */
|
/* Even smaller buttons on very small screens */
|
||||||
.button-group button {
|
.button-group button {
|
||||||
padding: 0.125rem;
|
padding: 0.125rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.button-group button svg {
|
.button-group button svg {
|
||||||
height: 1rem;
|
height: 1rem;
|
||||||
width: 1rem;
|
width: 1rem;
|
||||||
margin-right: 0;
|
margin-right: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Hide all button text on very small screens */
|
/* Hide all button text on very small screens */
|
||||||
.button-text,
|
.button-text,
|
||||||
.reset-text {
|
.reset-text {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Portrait orientation specific fixes */
|
/* Portrait orientation specific fixes */
|
||||||
@media (max-width: 640px) and (orientation: portrait) {
|
@media (max-width: 640px) and (orientation: portrait) {
|
||||||
.editing-tools-container {
|
.editing-tools-container {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
|
|
||||||
.flex-container.single-row {
|
.flex-container.single-row {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Ensure button groups don't overflow */
|
/* Ensure button groups don't overflow */
|
||||||
.button-group {
|
.button-group {
|
||||||
max-width: 50%;
|
max-width: 50%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.button-group.play-buttons-group {
|
.button-group.play-buttons-group {
|
||||||
max-width: 60%;
|
max-width: 60%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.button-group.secondary {
|
.button-group.secondary {
|
||||||
max-width: 40%;
|
max-width: 40%;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -56,7 +56,7 @@
|
|||||||
|
|
||||||
.timeline-marker {
|
.timeline-marker {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
height: 82px; /* Increased height to extend below timeline */
|
height: 82px; /* Increased height to extend below timeline */
|
||||||
width: 2px;
|
width: 2px;
|
||||||
background-color: #000;
|
background-color: #000;
|
||||||
transform: translateX(-50%);
|
transform: translateX(-50%);
|
||||||
@ -83,7 +83,7 @@
|
|||||||
|
|
||||||
.timeline-marker-drag {
|
.timeline-marker-drag {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: -12px; /* Changed from -6px to -12px to move it further down */
|
bottom: -12px; /* Changed from -6px to -12px to move it further down */
|
||||||
left: 50%;
|
left: 50%;
|
||||||
transform: translateX(-50%);
|
transform: translateX(-50%);
|
||||||
width: 16px;
|
width: 16px;
|
||||||
@ -248,16 +248,16 @@
|
|||||||
right: 0;
|
right: 0;
|
||||||
border-radius: 0 2px 2px 0;
|
border-radius: 0 2px 2px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Enhanced handles for touch devices */
|
/* Enhanced handles for touch devices */
|
||||||
@media (pointer: coarse) {
|
@media (pointer: coarse) {
|
||||||
.clip-segment-handle {
|
.clip-segment-handle {
|
||||||
width: 14px; /* Wider target for touch devices */
|
width: 14px; /* Wider target for touch devices */
|
||||||
background-color: rgba(0, 0, 0, 0.4); /* Darker by default for better visibility */
|
background-color: rgba(0, 0, 0, 0.4); /* Darker by default for better visibility */
|
||||||
}
|
}
|
||||||
|
|
||||||
.clip-segment-handle:after {
|
.clip-segment-handle:after {
|
||||||
content: "";
|
content: '';
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 50%;
|
top: 50%;
|
||||||
left: 50%;
|
left: 50%;
|
||||||
@ -267,15 +267,15 @@
|
|||||||
background-color: rgba(255, 255, 255, 0.8);
|
background-color: rgba(255, 255, 255, 0.8);
|
||||||
border-radius: 1px;
|
border-radius: 1px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.clip-segment-handle.left:after {
|
.clip-segment-handle.left:after {
|
||||||
box-shadow: -2px 0 0 rgba(0, 0, 0, 0.5);
|
box-shadow: -2px 0 0 rgba(0, 0, 0, 0.5);
|
||||||
}
|
}
|
||||||
|
|
||||||
.clip-segment-handle.right:after {
|
.clip-segment-handle.right:after {
|
||||||
box-shadow: 2px 0 0 rgba(0, 0, 0, 0.5);
|
box-shadow: 2px 0 0 rgba(0, 0, 0, 0.5);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Active state for touch feedback */
|
/* Active state for touch feedback */
|
||||||
.clip-segment-handle:active {
|
.clip-segment-handle:active {
|
||||||
background-color: rgba(0, 0, 0, 0.6);
|
background-color: rgba(0, 0, 0, 0.6);
|
||||||
@ -284,19 +284,19 @@
|
|||||||
.timeline-marker {
|
.timeline-marker {
|
||||||
height: 85px;
|
height: 85px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.timeline-marker-head {
|
.timeline-marker-head {
|
||||||
width: 24px;
|
width: 24px;
|
||||||
height: 24px;
|
height: 24px;
|
||||||
top: -13px;
|
top: -13px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.timeline-marker-drag {
|
.timeline-marker-drag {
|
||||||
width: 24px;
|
width: 24px;
|
||||||
height: 24px;
|
height: 24px;
|
||||||
bottom: -18px;
|
bottom: -18px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.timeline-marker-head.dragging {
|
.timeline-marker-head.dragging {
|
||||||
width: 28px;
|
width: 28px;
|
||||||
height: 28px;
|
height: 28px;
|
||||||
@ -438,7 +438,7 @@
|
|||||||
font-size: 0.875rem;
|
font-size: 0.875rem;
|
||||||
border: none;
|
border: none;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
margin-right: 0.50rem;
|
margin-right: 0.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.time-button:hover {
|
.time-button:hover {
|
||||||
@ -532,8 +532,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* General styles for all save buttons */
|
/* General styles for all save buttons */
|
||||||
.save-button,
|
.save-button,
|
||||||
.save-copy-button,
|
.save-copy-button,
|
||||||
.save-segments-button {
|
.save-segments-button {
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
background: #0066cc;
|
background: #0066cc;
|
||||||
@ -548,8 +548,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Shared hover effect */
|
/* Shared hover effect */
|
||||||
.save-button:hover,
|
.save-button:hover,
|
||||||
.save-copy-button:hover,
|
.save-copy-button:hover,
|
||||||
.save-segments-button:hover {
|
.save-segments-button:hover {
|
||||||
background-color: #0056b3;
|
background-color: #0056b3;
|
||||||
}
|
}
|
||||||
@ -561,30 +561,30 @@
|
|||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
gap: 0.5rem;
|
gap: 0.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.save-button,
|
.save-button,
|
||||||
.save-copy-button,
|
.save-copy-button,
|
||||||
.save-segments-button {
|
.save-segments-button {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
font-size: 0.7rem;
|
font-size: 0.7rem;
|
||||||
padding: 0.25rem 0.35rem;
|
padding: 0.25rem 0.35rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Very small screens - adjust save buttons */
|
/* Very small screens - adjust save buttons */
|
||||||
@media (max-width: 480px) {
|
@media (max-width: 480px) {
|
||||||
.save-button,
|
.save-button,
|
||||||
.save-copy-button,
|
.save-copy-button,
|
||||||
.save-segments-button {
|
.save-segments-button {
|
||||||
font-size: 0.675rem;
|
font-size: 0.675rem;
|
||||||
padding: 0.25rem;
|
padding: 0.25rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Remove margins for controls-right buttons */
|
/* Remove margins for controls-right buttons */
|
||||||
.controls-right {
|
.controls-right {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.controls-right button {
|
.controls-right button {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
@ -595,7 +595,7 @@
|
|||||||
[data-tooltip] {
|
[data-tooltip] {
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
[data-tooltip]:before {
|
[data-tooltip]:before {
|
||||||
content: attr(data-tooltip);
|
content: attr(data-tooltip);
|
||||||
position: absolute;
|
position: absolute;
|
||||||
@ -616,7 +616,7 @@
|
|||||||
z-index: 1000;
|
z-index: 1000;
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
[data-tooltip]:after {
|
[data-tooltip]:after {
|
||||||
content: '';
|
content: '';
|
||||||
position: absolute;
|
position: absolute;
|
||||||
@ -631,14 +631,14 @@
|
|||||||
transition: opacity 0.2s, visibility 0.2s;
|
transition: opacity 0.2s, visibility 0.2s;
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
[data-tooltip]:hover:before,
|
[data-tooltip]:hover:before,
|
||||||
[data-tooltip]:hover:after {
|
[data-tooltip]:hover:after {
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
visibility: visible;
|
visibility: visible;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Hide button tooltips on touch devices */
|
/* Hide button tooltips on touch devices */
|
||||||
@media (pointer: coarse) {
|
@media (pointer: coarse) {
|
||||||
[data-tooltip]:before,
|
[data-tooltip]:before,
|
||||||
@ -669,27 +669,27 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.modal-success-icon svg {
|
.modal-success-icon svg {
|
||||||
color: #4CAF50;
|
color: #4caf50;
|
||||||
animation: fadeIn 0.5s ease-in-out;
|
animation: fadeIn 0.5s ease-in-out;
|
||||||
}
|
}
|
||||||
|
|
||||||
.modal-error-icon svg {
|
.modal-error-icon svg {
|
||||||
color: #F44336;
|
color: #f44336;
|
||||||
animation: fadeIn 0.5s ease-in-out;
|
animation: fadeIn 0.5s ease-in-out;
|
||||||
}
|
}
|
||||||
|
|
||||||
.success-link {
|
.success-link {
|
||||||
background-color: #4CAF50;
|
background-color: #4caf50;
|
||||||
color: white;
|
color: white;
|
||||||
transition: background-color 0.3s;
|
transition: background-color 0.3s;
|
||||||
}
|
}
|
||||||
|
|
||||||
.success-link:hover {
|
.success-link:hover {
|
||||||
background-color: #388E3C;
|
background-color: #388e3c;
|
||||||
}
|
}
|
||||||
|
|
||||||
.error-message {
|
.error-message {
|
||||||
color: #F44336;
|
color: #f44336;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -809,32 +809,42 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@keyframes pulse {
|
@keyframes pulse {
|
||||||
0% { opacity: 0.7; transform: scale(1); }
|
0% {
|
||||||
50% { opacity: 1; transform: scale(1.05); }
|
opacity: 0.7;
|
||||||
100% { opacity: 0.7; transform: scale(1); }
|
transform: scale(1);
|
||||||
|
}
|
||||||
|
50% {
|
||||||
|
opacity: 1;
|
||||||
|
transform: scale(1.05);
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
opacity: 0.7;
|
||||||
|
transform: scale(1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Preview mode styles removed - replaced by segments playback mode */
|
|
||||||
|
|
||||||
/* Segments playback mode styles - minimal functional styling */
|
/* Segments playback mode styles - minimal functional styling */
|
||||||
.segments-playback-mode .tooltip-time-btn {
|
.segments-playback-mode .tooltip-time-btn {
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.segments-playback-mode .tooltip-action-btn.set-in,
|
|
||||||
.segments-playback-mode .tooltip-action-btn.set-out,
|
|
||||||
.segments-playback-mode .tooltip-action-btn.play-from-start {
|
|
||||||
opacity: 0.5;
|
|
||||||
pointer-events: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.segments-playback-mode .tooltip-action-btn.play,
|
.segments-playback-mode .tooltip-action-btn.play,
|
||||||
.segments-playback-mode .tooltip-action-btn.pause {
|
.segments-playback-mode .tooltip-action-btn.pause {
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Disable all interactions within tooltips during segments playback */
|
||||||
|
.two-row-tooltip.segments-playback-mode {
|
||||||
|
pointer-events: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Allow pointer events only on the tooltip container itself for positioning */
|
||||||
|
.two-row-tooltip.segments-playback-mode > * {
|
||||||
|
pointer-events: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
/* Show segments playback message */
|
/* Show segments playback message */
|
||||||
.segments-playback-message {
|
.segments-playback-message {
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -853,4 +863,4 @@
|
|||||||
width: 1.25rem;
|
width: 1.25rem;
|
||||||
margin-right: 0.5rem;
|
margin-right: 0.5rem;
|
||||||
color: #3b82f6;
|
color: #3b82f6;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -23,7 +23,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.tooltip-row:first-child {
|
.tooltip-row:first-child {
|
||||||
margin-bottom: 6px;
|
margin-bottom: 6px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tooltip-time-btn {
|
.tooltip-time-btn {
|
||||||
@ -56,6 +56,17 @@
|
|||||||
overflow: hidden !important;
|
overflow: hidden !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Disabled state for time display */
|
||||||
|
.tooltip-time-display.disabled {
|
||||||
|
pointer-events: none !important;
|
||||||
|
cursor: not-allowed !important;
|
||||||
|
opacity: 0.6 !important;
|
||||||
|
user-select: none !important;
|
||||||
|
-webkit-user-select: none !important;
|
||||||
|
-moz-user-select: none !important;
|
||||||
|
-ms-user-select: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
.tooltip-actions {
|
.tooltip-actions {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
@ -69,13 +80,13 @@
|
|||||||
background-color: #f3f4f6;
|
background-color: #f3f4f6;
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
color: #4b5563;
|
color: #4b5563;
|
||||||
width: 26px;
|
width: 26px;
|
||||||
height: 26px;
|
height: 26px;
|
||||||
min-width: 20px !important;
|
min-width: 20px !important;
|
||||||
position: relative; /* Add relative positioning for tooltips */
|
position: relative; /* Add relative positioning for tooltips */
|
||||||
@ -107,7 +118,7 @@
|
|||||||
|
|
||||||
/* Triangle arrow pointing up to the button */
|
/* Triangle arrow pointing up to the button */
|
||||||
.tooltip-action-btn[data-tooltip]:after {
|
.tooltip-action-btn[data-tooltip]:after {
|
||||||
content: '';
|
content: "";
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 35px; /* Match the before element */
|
top: 35px; /* Match the before element */
|
||||||
left: 50%; /* Center horizontally */
|
left: 50%; /* Center horizontally */
|
||||||
@ -175,7 +186,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.tooltip-action-btn.play-from-start {
|
.tooltip-action-btn.play-from-start {
|
||||||
color: #4f46e5;
|
color: #4f46e5;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tooltip-action-btn.play-from-start:hover {
|
.tooltip-action-btn.play-from-start:hover {
|
||||||
@ -194,7 +205,7 @@
|
|||||||
padding: 6px 10px;
|
padding: 6px 10px;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
color: #10b981;
|
color: #10b981;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tooltip-action-btn.new-segment:hover {
|
.tooltip-action-btn.new-segment:hover {
|
||||||
@ -267,40 +278,40 @@
|
|||||||
/* Additional mobile optimizations */
|
/* Additional mobile optimizations */
|
||||||
@media (max-width: 768px) {
|
@media (max-width: 768px) {
|
||||||
.two-row-tooltip {
|
.two-row-tooltip {
|
||||||
padding: 4px;
|
padding: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tooltip-row:first-child {
|
.tooltip-row:first-child {
|
||||||
margin-bottom: 4px;
|
margin-bottom: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tooltip-time-btn {
|
.tooltip-time-btn {
|
||||||
min-width: 20px !important;
|
min-width: 20px !important;
|
||||||
font-size: 0.7rem !important;
|
font-size: 0.7rem !important;
|
||||||
padding: 3px 6px !important;
|
padding: 3px 6px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tooltip-time-display {
|
.tooltip-time-display {
|
||||||
font-size: 0.8rem !important;
|
font-size: 0.8rem !important;
|
||||||
padding: 3px 4px !important;
|
padding: 3px 4px !important;
|
||||||
min-width: 90px !important;
|
min-width: 90px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tooltip-action-btn {
|
.tooltip-action-btn {
|
||||||
width: 24px;
|
width: 24px;
|
||||||
height: 24px;
|
height: 24px;
|
||||||
padding: 4px;
|
padding: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tooltip-action-btn.new-segment {
|
.tooltip-action-btn.new-segment {
|
||||||
padding: 4px 8px;
|
padding: 4px 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tooltip-action-btn svg {
|
.tooltip-action-btn svg {
|
||||||
width: 14px;
|
width: 14px;
|
||||||
height: 14px;
|
height: 14px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Adjust tooltip position for small screens - maintain the same position but adjust size */
|
/* Adjust tooltip position for small screens - maintain the same position but adjust size */
|
||||||
.tooltip-action-btn[data-tooltip]:before {
|
.tooltip-action-btn[data-tooltip]:before {
|
||||||
min-width: 100px;
|
min-width: 100px;
|
||||||
@ -309,7 +320,7 @@
|
|||||||
height: 24px;
|
height: 24px;
|
||||||
top: 33px; /* Maintain the same relative distance on mobile */
|
top: 33px; /* Maintain the same relative distance on mobile */
|
||||||
}
|
}
|
||||||
|
|
||||||
.tooltip-action-btn[data-tooltip]:after {
|
.tooltip-action-btn[data-tooltip]:after {
|
||||||
top: 33px; /* Match the tooltip position */
|
top: 33px; /* Match the tooltip position */
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user