2025-02-07 15:45:42 +00:00
|
|
|
.grid-view-container {
|
|
|
|
|
padding: 0px;
|
2025-02-11 13:38:42 +00:00
|
|
|
height: 100%;
|
2025-02-07 15:45:42 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.grid-container {
|
|
|
|
|
display: grid;
|
|
|
|
|
grid-template-columns: repeat(auto-fill, minmax(var(--grid-item-width, 300px), 1fr));
|
2025-02-09 16:46:29 +00:00
|
|
|
gap: 12px;
|
|
|
|
|
padding: 12px;
|
2025-02-07 15:45:42 +00:00
|
|
|
align-items: start;
|
2025-02-11 13:38:42 +00:00
|
|
|
align-content: start;
|
2025-02-07 15:45:42 +00:00
|
|
|
background: var(--background-secondary) !important;
|
2025-02-09 16:46:29 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.view-content {
|
|
|
|
|
flex: 1;
|
|
|
|
|
overflow-y: auto;
|
2025-02-07 15:45:42 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.grid-item {
|
|
|
|
|
background-color: var(--background-primary);
|
|
|
|
|
border: 1px solid var(--background-modifier-border);
|
2025-02-11 13:38:42 +00:00
|
|
|
border-radius: var(--button-radius);
|
2025-02-09 16:46:29 +00:00
|
|
|
padding: 14px;
|
2025-02-07 15:45:42 +00:00
|
|
|
cursor: pointer;
|
|
|
|
|
transition: transform 0.2s, box-shadow 0.2s;
|
|
|
|
|
display: flex;
|
2025-02-09 16:46:29 +00:00
|
|
|
gap: 14px;
|
2025-02-07 15:45:42 +00:00
|
|
|
height: 100%;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.grid-item:hover {
|
|
|
|
|
transform: translateY(-2px);
|
|
|
|
|
background-color: var(--text-selection);
|
|
|
|
|
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.content-area {
|
|
|
|
|
flex: 1;
|
|
|
|
|
min-width: 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.image-area {
|
2025-02-09 16:46:29 +00:00
|
|
|
width: var(--image-area-width);
|
|
|
|
|
height: var(--image-area-height);
|
2025-02-07 15:45:42 +00:00
|
|
|
flex-shrink: 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.image-area img {
|
|
|
|
|
width: 100%;
|
|
|
|
|
height: 100%;
|
|
|
|
|
object-fit: cover;
|
|
|
|
|
border-radius: 4px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.grid-item h3 {
|
2025-02-11 13:38:42 +00:00
|
|
|
margin: 0;
|
|
|
|
|
font-size: var(--font-text-size);
|
2025-02-07 15:45:42 +00:00
|
|
|
color: var(--text-normal);
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.grid-item p {
|
2025-02-11 13:38:42 +00:00
|
|
|
margin: 8px 0 0 0;
|
|
|
|
|
color: var(--text-faint);
|
2025-02-09 16:46:29 +00:00
|
|
|
font-size: 0.85em;
|
2025-02-07 15:45:42 +00:00
|
|
|
line-height: 1.4;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
display: -webkit-box;
|
|
|
|
|
-webkit-line-clamp: 3;
|
|
|
|
|
-webkit-box-orient: vertical;
|
|
|
|
|
}
|
|
|
|
|
|
2025-02-11 13:38:42 +00:00
|
|
|
.grid-item p:empty {
|
|
|
|
|
margin: 0;
|
|
|
|
|
}
|
|
|
|
|
|
2025-02-07 15:45:42 +00:00
|
|
|
/* 資料夾項目的特殊樣式 */
|
|
|
|
|
.grid-item.folder-item {
|
|
|
|
|
background-color: var(--background-primary-alt);
|
2025-02-11 13:38:42 +00:00
|
|
|
border: 2px solid var(--background-modifier-border);
|
2025-02-07 15:45:42 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.grid-item.folder-item:hover {
|
|
|
|
|
background-color: var(--background-modifier-hover);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.grid-item.folder-item h3 {
|
|
|
|
|
margin: 0;
|
|
|
|
|
color: var(--text-normal);
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
gap: 8px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* 上層資料夾的特殊樣式 */
|
|
|
|
|
.grid-item.parent-folder {
|
|
|
|
|
background-color: var(--background-secondary-alt);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.grid-item.parent-folder:hover {
|
|
|
|
|
background-color: var(--background-modifier-hover);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* 調整資料夾項目的高度 */
|
|
|
|
|
.grid-item.folder-item .content-area {
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
min-height: 0px;
|
2025-02-09 16:46:29 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* 頂部按鈕區域樣式 */
|
|
|
|
|
.header-buttons {
|
|
|
|
|
display: flex;
|
|
|
|
|
gap: 8px;
|
|
|
|
|
padding: 12px 16px;
|
|
|
|
|
background: var(--background-primary);
|
|
|
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
|
|
|
flex-shrink: 0;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.header-buttons button {
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
gap: 4px;
|
|
|
|
|
padding: 6px 12px;
|
|
|
|
|
background-color: var(--interactive-normal);
|
2025-02-11 13:38:42 +00:00
|
|
|
border-radius: var(--button-radius);
|
2025-02-09 16:46:29 +00:00
|
|
|
color: var(--text-normal);
|
|
|
|
|
font-size: 14px;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
transition: background-color 0.2s, transform 0.1s;
|
|
|
|
|
min-width: 45px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.header-buttons button:hover {
|
|
|
|
|
background-color: var(--interactive-hover);
|
|
|
|
|
transform: translateY(-1px);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.header-buttons button:active {
|
|
|
|
|
transform: translateY(0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* 特定按鈕樣式 */
|
|
|
|
|
.header-buttons .sort-button,
|
|
|
|
|
.header-buttons .reselect-button,
|
|
|
|
|
.header-buttons .refresh-button,
|
|
|
|
|
.header-buttons .up-button {
|
|
|
|
|
display: inline-flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.header-buttons .sort-button::before {
|
|
|
|
|
content: "↕";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.header-buttons .reselect-button::before {
|
|
|
|
|
content: "📁";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.header-buttons .refresh-button::before {
|
|
|
|
|
content: "↻";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.header-buttons .up-button::before {
|
|
|
|
|
content: "↑";
|
2025-02-11 13:38:42 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* 搜尋對話框樣式 */
|
|
|
|
|
.search-container {
|
|
|
|
|
margin-bottom: 16px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.search-container input {
|
|
|
|
|
width: 100%;
|
|
|
|
|
padding: 8px 12px;
|
|
|
|
|
border: 1px solid var(--background-modifier-border);
|
|
|
|
|
border-radius: 4px;
|
|
|
|
|
background-color: var(--background-primary);
|
|
|
|
|
color: var(--text-normal);
|
|
|
|
|
font-size: 14px;
|
|
|
|
|
outline: none;
|
|
|
|
|
transition: border-color 0.2s;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.search-container input:focus {
|
|
|
|
|
border-color: var(--interactive-accent);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.search-container input::placeholder {
|
|
|
|
|
color: var(--text-muted);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.button-container {
|
|
|
|
|
display: flex;
|
|
|
|
|
gap: 8px;
|
|
|
|
|
justify-content: flex-end;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.button-container button {
|
|
|
|
|
padding: 6px 12px;
|
|
|
|
|
border-radius: 4px;
|
|
|
|
|
font-size: 14px;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
transition: background-color 0.2s, transform 0.1s;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.button-container button:first-child {
|
|
|
|
|
background-color: var(--interactive-accent);
|
|
|
|
|
color: var(--text-on-accent);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.button-container button:last-child {
|
|
|
|
|
background-color: var(--interactive-normal);
|
|
|
|
|
color: var(--text-normal);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.button-container button:hover {
|
|
|
|
|
transform: translateY(-1px);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.button-container button:first-child:hover {
|
|
|
|
|
background-color: var(--interactive-accent-hover);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.button-container button:last-child:hover {
|
|
|
|
|
background-color: var(--interactive-hover);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.button-container button:active {
|
|
|
|
|
transform: translateY(0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* 搜尋按鈕容器 */
|
|
|
|
|
.search-button-container {
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
gap: 8px;
|
|
|
|
|
background-color: var(--background-primary);
|
|
|
|
|
border-radius: 4px;
|
|
|
|
|
padding: 0 4px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* 搜尋按鈕啟用狀態 */
|
|
|
|
|
.search-button-container button.active {
|
|
|
|
|
background-color: var(--interactive-accent);
|
|
|
|
|
color: var(--text-on-accent);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* 搜尋文字 */
|
|
|
|
|
.search-text {
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
color: var(--text-muted);
|
|
|
|
|
max-width: 150px;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* 清除搜尋按鈕 */
|
|
|
|
|
.clear-search {
|
|
|
|
|
padding: 2px !important;
|
|
|
|
|
min-width: 24px !important;
|
|
|
|
|
height: 24px;
|
|
|
|
|
border-radius: 50% !important;
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.clear-search:hover {
|
|
|
|
|
background-color: var(--background-modifier-error) !important;
|
|
|
|
|
color: var(--text-on-accent) !important;
|
2025-02-07 15:45:42 +00:00
|
|
|
}
|