Spaces:
Runtime error
Runtime error
| .modalOverlay { | |
| position: fixed; | |
| top: 0; | |
| left: 0; | |
| right: 0; | |
| bottom: 0; | |
| color: #333; | |
| background-color: rgba(0, 0, 0, 0.5); | |
| display: flex; | |
| justify-content: center; | |
| align-items: center; | |
| z-index: 1000; | |
| animation: fadeIn 0.3s ease-out; | |
| } | |
| @keyframes fadeIn { | |
| from { opacity: 0; } | |
| to { opacity: 1; } | |
| } | |
| .modalContent { | |
| background-color: white; | |
| border-radius: 8px; | |
| width: 800px; | |
| max-width: 90%; | |
| max-height: 80vh; | |
| overflow: hidden; | |
| box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); | |
| transform: translateY(-20px); | |
| animation: slideUp 0.3s ease-out forwards; | |
| position: relative; | |
| } | |
| @keyframes slideUp { | |
| from { transform: translateY(20px); opacity: 0; } | |
| to { transform: translateY(0); opacity: 1; } | |
| } | |
| .modalHeader { | |
| padding: 1rem; | |
| border-bottom: 1px solid #eee; | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| background-color: #f8f9fa; | |
| } | |
| .closeButton { | |
| background: none; | |
| border: none; | |
| color: #962d21; | |
| font-size: 1.5rem; | |
| cursor: pointer; | |
| transition: transform 0.2s, color 0.2s; | |
| } | |
| .closeButton:hover:not(:disabled) { | |
| transform: scale(1.1); | |
| color: #c0392b; | |
| } | |
| .closeButton:disabled { | |
| opacity: 0.5; | |
| cursor: not-allowed; | |
| } | |
| .modalBody { | |
| padding: 1rem; | |
| max-height: 70vh; | |
| overflow-y: auto; | |
| } | |
| .authSection { | |
| margin-bottom: 1rem; | |
| padding: 1rem; | |
| background-color: #f8f9fa; | |
| border-radius: 6px; | |
| animation: fadeIn 0.5s ease-out; | |
| } | |
| .accountInfo { | |
| margin-bottom: 0.5rem; | |
| font-weight: 500; | |
| } | |
| .loginButton, .changeAccountButton, .newFileButton { | |
| padding: 0.5rem 1rem; | |
| background-color: #4CAF50; | |
| color: white; | |
| border: none; | |
| border-radius: 4px; | |
| cursor: pointer; | |
| transition: background-color 0.2s, transform 0.2s; | |
| } | |
| .loginButton:hover:not(:disabled), | |
| .changeAccountButton:hover:not(:disabled), | |
| .newFileButton:hover:not(:disabled) { | |
| background-color: #3e8e41; | |
| transform: translateY(-1px); | |
| } | |
| .loginButton:disabled, | |
| .changeAccountButton:disabled, | |
| .newFileButton:disabled { | |
| opacity: 0.6; | |
| cursor: not-allowed; | |
| transform: none; | |
| } | |
| .changeAccountButton { | |
| background-color: #f0ad4e; | |
| } | |
| .changeAccountButton:hover:not(:disabled) { | |
| background-color: #ec971f; | |
| } | |
| .loading, .noFiles { | |
| text-align: center; | |
| padding: 2rem; | |
| color: #666; | |
| } | |
| .fileListContainer { | |
| margin-top: 1rem; | |
| animation: fadeIn 0.5s ease-out; | |
| } | |
| .fileListHeader { | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| margin-bottom: 1rem; | |
| padding-bottom: 0.5rem; | |
| border-bottom: 1px solid #eee; | |
| } | |
| .projectTitle { | |
| cursor: pointer; | |
| border-bottom: 1px dashed #000; | |
| color: #333; | |
| } | |
| .fileList { | |
| display: grid; | |
| grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); | |
| gap: 1rem; | |
| } | |
| .fileItem { | |
| border: 1px solid #ddd; | |
| border-radius: 8px; | |
| padding: 1rem; | |
| display: flex; | |
| flex-direction: column; | |
| gap: 0.75rem; | |
| background: #fff; | |
| height: 100%; | |
| transition: transform 0.2s, box-shadow 0.2s; | |
| } | |
| .fileItem:hover { | |
| transform: translateY(-3px); | |
| box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); | |
| } | |
| .thumbnailContainer { | |
| position: relative; | |
| aspect-ratio: 4/3; | |
| max-height: 150px; | |
| overflow: hidden; | |
| border-radius: 4px; | |
| background-color: #f0f0f0; | |
| transition: all 0.3s ease; | |
| } | |
| .thumbnail { | |
| width: 100%; | |
| height: 100%; | |
| border-radius: 4px; | |
| object-fit: contain; | |
| background-color: #f0f0f0; | |
| transition: transform 0.3s ease; | |
| } | |
| .thumbnail:hover { | |
| transform: scale(1.05); | |
| } | |
| .thumbnailPlaceholder { | |
| width: 100%; | |
| height: 100%; | |
| background-color: #f0f0f0; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| border-radius: 4px; | |
| color: #666; | |
| } | |
| .fileName { | |
| margin: 0; | |
| text-align: center; | |
| font-weight: bold; | |
| color: #333; | |
| } | |
| .linkContainer { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 0.25rem; | |
| margin-bottom: 0.5rem; | |
| } | |
| .linkHeader { | |
| display: flex; | |
| gap: 8px; | |
| align-items: center; | |
| margin-bottom: 8px; | |
| flex-wrap: wrap; | |
| } | |
| .copyButton { | |
| padding: 4px 8px; | |
| font-size: 12px; | |
| background-color: #50545e; | |
| color: white; | |
| border: none; | |
| border-radius: 4px; | |
| cursor: pointer; | |
| transition: background-color 0.2s; | |
| } | |
| .copyButton:hover:not(:disabled) { | |
| background-color: #3d4048; | |
| } | |
| .copyButton:disabled { | |
| opacity: 0.6; | |
| cursor: not-allowed; | |
| } | |
| .linkUrl { | |
| font-size: 0.9em; | |
| word-break: break-all; | |
| color: #1155cc; | |
| text-decoration: none; | |
| border-bottom: 1px solid #1155cc; | |
| transition: color 0.2s; | |
| } | |
| .linkUrl:hover { | |
| color: #0d3d8b; | |
| } | |
| .buttonGroup { | |
| display: grid; | |
| grid-template-columns: 1fr 1fr; | |
| gap: 0.5rem; | |
| } | |
| .actionButton { | |
| width: 100%; | |
| padding: 0.5rem; | |
| border: none; | |
| border-radius: 4px; | |
| cursor: pointer; | |
| transition: all 0.2s; | |
| } | |
| .actionButton:hover:not(:disabled) { | |
| transform: translateY(-1px); | |
| box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); | |
| } | |
| .actionButton:disabled { | |
| opacity: 0.6; | |
| cursor: not-allowed; | |
| transform: none; | |
| box-shadow: none; | |
| } | |
| .shareButton { | |
| background-color: #4CAF50; | |
| color: white; | |
| } | |
| .shareButton:hover:not(:disabled) { | |
| background-color: #3e8e41; | |
| } | |
| .deleteButton { | |
| background-color: #ff4444; | |
| color: white; | |
| } | |
| .deleteButton:hover:not(:disabled) { | |
| background-color: #cc0000; | |
| } | |
| .newFileSection { | |
| margin-bottom: 1rem; | |
| padding: 1rem; | |
| background-color: #f8f9fa; | |
| border-radius: 6px; | |
| } | |
| .newFileInputGroup { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 0.5rem; | |
| align-items: center; | |
| } | |
| .newFileNameInput { | |
| flex: 1; | |
| min-width: 200px; | |
| padding: 0.5rem; | |
| border: 1px solid #ddd; | |
| border-radius: 4px; | |
| transition: border-color 0.2s; | |
| } | |
| .newFileNameInput:focus { | |
| border-color: #4CAF50; | |
| outline: none; | |
| } | |
| .newFileNameInput:disabled { | |
| background-color: #f0f0f0; | |
| } | |
| .permissionDropdown { | |
| display: flex; | |
| align-items: center; | |
| gap: 0.5rem; | |
| } | |
| .permissionDropdown select { | |
| padding: 0.5rem; | |
| border: 1px solid #ddd; | |
| border-radius: 4px; | |
| background-color: white; | |
| transition: border-color 0.2s; | |
| } | |
| .permissionDropdown select:focus { | |
| border-color: #4CAF50; | |
| outline: none; | |
| } | |
| .permissionDropdown select:disabled { | |
| background-color: #f0f0f0; | |
| } | |
| .newFileSaveButton, .newFileCancelButton { | |
| padding: 0.5rem 1rem; | |
| border: none; | |
| border-radius: 4px; | |
| cursor: pointer; | |
| transition: all 0.2s; | |
| } | |
| .newFileSaveButton { | |
| background-color: #4CAF50; | |
| color: white; | |
| } | |
| .newFileSaveButton:hover:not(:disabled) { | |
| background-color: #3e8e41; | |
| transform: translateY(-1px); | |
| } | |
| .newFileSaveButton:disabled { | |
| opacity: 0.6; | |
| cursor: not-allowed; | |
| } | |
| .newFileCancelButton { | |
| background-color: #f0f0f0; | |
| color: #333; | |
| } | |
| .newFileCancelButton:hover:not(:disabled) { | |
| background-color: #e0e0e0; | |
| transform: translateY(-1px); | |
| } | |
| .newFileCancelButton:disabled { | |
| opacity: 0.6; | |
| cursor: not-allowed; | |
| } | |
| .processingOverlay { | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| right: 0; | |
| bottom: 0; | |
| background-color: rgba(255, 255, 255, 0.8); | |
| display: flex; | |
| flex-direction: column; | |
| justify-content: center; | |
| align-items: center; | |
| z-index: 10; | |
| animation: fadeIn 0.3s ease-out; | |
| } | |
| .spinner { | |
| width: 40px; | |
| height: 40px; | |
| border: 4px solid rgba(0, 0, 0, 0.1); | |
| border-radius: 50%; | |
| border-top-color: #4CAF50; | |
| animation: spin 1s ease-in-out infinite; | |
| margin-bottom: 1rem; | |
| } | |
| @keyframes spin { | |
| to { transform: rotate(360deg); } | |
| } | |
| .saveButton { | |
| transition: all 0.2s; | |
| } | |
| .saveButton:hover { | |
| transform: translateY(-1px); | |
| box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); | |
| } | |
| .permissionDropdown { | |
| margin-top: 10px; | |
| padding: 5px; | |
| background-color: #f5f5f5; | |
| border-radius: 4px; | |
| } | |
| .permissionDropdown label { | |
| margin-right: 5px; | |
| font-size: 12px; | |
| } | |
| .permissionDropdown select { | |
| padding: 3px; | |
| border: 1px solid #ddd; | |
| border-radius: 3px; | |
| font-size: 12px; | |
| } |