diff options
| author | Nikhil M Warrier <nikhilmwarrier@disroot.org> | 2026-09-05 20:03:28 +0530 |
|---|---|---|
| committer | Nikhil M Warrier <nikhilmwarrier@disroot.org> | 2026-09-05 21:36:20 +0530 |
| commit | 7538b6a88405c5903e14f7fa7832c560f39c7fe5 (patch) | |
| tree | 9f19001bd4342e7677bc84306924915f7cc7a1ad /assets/index.css | |
Initial Commit
Add LICENSE
Ignore .DS_Store
Diffstat (limited to 'assets/index.css')
| -rw-r--r-- | assets/index.css | 525 |
1 files changed, 525 insertions, 0 deletions
diff --git a/assets/index.css b/assets/index.css new file mode 100644 index 0000000..181e333 --- /dev/null +++ b/assets/index.css @@ -0,0 +1,525 @@ +* { + box-sizing: border-box; +} + +:root { + color-scheme: light; + --bg-primary: #fff; + --bg-secondary: #fafafa; + --bg-tertiary: #fff; + --bg-hover: #fafafa; + --text-primary: #24292e; + --text-secondary: #5c5c5c; + --text-tertiary: #586069; + --text-accent: #0366d6; + --svg-primary: #24292e; + --svg-secondary: rgba(3, 47, 98, 0.5); + --svg-tertiary: #24292e; + --border-primary: #ddd; + --border-secondary: #ced4da; +} + +html { + font-family: -apple-system, BlinkMacSystemFont, Roboto, Helvetica, Arial, sans-serif; + line-height: 1.5; + color: var(--text-primary); +} + +body { + margin: 0; + background-color: var(--bg-primary); +} + +svg { + fill: var(--svg-primary); +} + +.hidden { + display: none !important; +} + +.head { + z-index: 1; + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; + padding: 0.6em 1em; + position: sticky; + top: 0; + background-color: var(--bg-tertiary); +} + +.breadcrumb { + font-size: 1.25em; + padding-right: 0.6em; + word-break: break-all; +} + +.breadcrumb>a { + color: var(--text-accent); + text-decoration: none; +} + +.breadcrumb>a:hover { + text-decoration: underline; +} + +/* final breadcrumb */ +.breadcrumb>b { + color: var(--text-primary); +} + +.breadcrumb>.separator { + color: var(--text-tertiary); + padding: 0 0.25em; +} + +.breadcrumb svg { + height: 100%; + fill: var(--svg-secondary); +} + +.toolbox { + display: flex; + margin-right: 10px; +} + +.toolbox>a, +.toolbox>div { + /* vertically align with breadcrumb text */ + height: 1.1rem; +} + +.toolbox .control { + cursor: pointer; + padding-left: 0.25em; +} + +.upload-file input { + display: none; +} + +.upload-file label { + cursor: pointer; +} + +.searchbar { + display: flex; + align-items: center; + justify-content: center; + flex-wrap: nowrap; + background-color: var(--bg-secondary); + transition: all .15s; + border: 1px var(--border-primary) solid; + border-radius: 15px; + margin-bottom: 2px; + padding-left: 0.5rem; +} + +.searchbar #search { + box-sizing: border-box; + width: 100%; + height: 100%; + font-size: 16px; + line-height: 16px; + padding: 1px; + padding-left: 0.5rem; + color: var(--text-primary); + background-color: transparent; + border: none; + outline: none; +} + +.searchbar .icon { + color: var(--svg-tertiary); + padding: 6px 3px 3px 0; + cursor: pointer; +} + +.searchbar svg { + fill: var(--svg-tertiary); +} + +.main { + padding: 0 1em; +} + +.empty-folder { + font-style: italic; +} + +.uploaders-table th { + text-align: left; + font-weight: unset; + color: var(--text-secondary); + white-space: nowrap; +} + +.uploaders-table td { + white-space: nowrap; +} + +.uploaders-table .cell-status { + width: 80px; + padding-left: 0.6em; +} + +.cell-status span { + display: inline-block; +} + +.paths-header-row, +.path-item { + display: grid; + grid-template-columns: 24px minmax(0, 1fr) 120px 70px 130px; + align-items: center; + column-gap: 1.5em; + padding: 0.4em 0; +} + +.path-item:hover { + background-color: var(--bg-hover); +} + +.paths-header-row { + color: var(--text-secondary); + font-weight: unset; + border-bottom: 1px solid var(--border-primary); +} + +.paths-header-row .h-sort { + color: unset; + text-decoration: none; + white-space: nowrap; +} + +.paths-header-row .h-sort>span { + padding-left: 2px; +} + +.path-item .cell-size { + text-align: right; +} + +.path-item .cell-mtime, +.path-item .cell-size { + font-variant-numeric: tabular-nums; + white-space: nowrap; +} + +.path-item .cell-actions { + display: flex; + align-items: center; +} + +.path-item .cell-more { + display: none; + position: relative; +} + +.path svg, +.path-item .cell-icon svg { + height: 16px; + fill: var(--svg-secondary); + vertical-align: text-top; +} + +.path { + list-style: none; +} + +.path-item .cell-name a { + color: var(--text-accent); + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + display: block; + text-decoration: none; +} + +.path-item .cell-name a:hover { + text-decoration: underline; +} + +.action-btn { + padding-right: 0.3em; + cursor: pointer; +} + +.uploaders-table { + padding: 0.5em 0; +} + +.uploader { + padding-right: 1em; +} + +.editor { + width: 100%; + height: calc(100vh - 5rem); + border: 1px solid var(--border-secondary); + background: var(--bg-primary); + color: var(--text-primary); + outline: none; + padding: 5px; +} + +.toolbox-right { + margin-left: auto; + margin-right: 2em; +} + +.login-btn { + cursor: pointer; +} + +.save-btn { + cursor: pointer; + -webkit-user-select: none; + user-select: none; +} + +.logout-btn { + cursor: pointer; + display: flex; + align-items: center; +} + +.user-name { + padding-left: 3px; +} + +.not-editable { + font-style: italic; +} + +.retry-btn { + cursor: pointer; +} + +@media (min-width: 768px) { + .menu, + .menu-content { + display: contents; + } + + .menu-toggle, + .menu-btn { + display: none; + } +} + +@media (max-width: 767.98px) { + .menu { + position: relative; + margin-left: auto; + } + + .menu-toggle { + display: none; + } + + .menu-btn { + display: flex; + align-items: center; + justify-content: center; + cursor: pointer; + padding: 0.2em; + user-select: none; + } + + .menu-content { + display: none; + position: absolute; + right: 0; + top: calc(100% + 6px); + z-index: 100; + flex-direction: column; + min-width: 250px; + padding: 0.4em; + background-color: var(--bg-tertiary); + border: 1px solid var(--border-primary); + border-radius: 10px; + box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15); + } + + .menu-toggle:checked ~ .menu-content { + display: flex; + } + + .menu-content .searchbar { + order: -1; + box-sizing: border-box; + margin: 0 0 0.4em; + padding: 0.3em 0.8em; + background-color: var(--bg-secondary); + border-radius: 8px; + display: flex; + height: fit-content; + align-items: center; + justify-content: center; + } + + .menu-content .toolbox, + .menu-content .toolbox-right { + display: flex; + flex-wrap: wrap; + gap: 0.4em; + margin: 0; + padding: 0.5em 0.3em 0.3em; + } + + .menu-content .toolbox .control, + .menu-content .toolbox-right > .login-btn, + .menu-content .toolbox-right > .logout-btn, + .menu-content .toolbox-right > .save-btn { + display: flex; + align-items: center; + height: auto; + padding: 0.4em 0.5em; + border-radius: 8px; + cursor: pointer; + } + + .menu-content .toolbox .control:hover, + .menu-content .toolbox-right > .login-btn:hover, + .menu-content .toolbox-right > .logout-btn:hover, + .menu-content .toolbox-right > .save-btn:hover { + background-color: var(--bg-hover); + } + + .menu-content .upload-file, + .menu-content .upload-file label { + cursor: pointer; + } + + .menu-content .upload-file.hidden label { + pointer-events: none; + } + + .menu-content .toolbox .control.hidden { + display: flex !important; + opacity: 0.35; + cursor: default; + pointer-events: none; + } + + .menu-content .toolbox .control.hidden:hover { + background-color: transparent; + } + + .menu-content .toolbox-right > .login-btn:not(.hidden)::after { + content: "Log In"; + font-size: 0.95em; + margin-left: 0.4em; + } + + .paths-header-row { + display: none; + } + + .path-item { + display: flex; + align-items: center; + gap: 0.5em; + } + + .path-item .cell-icon { + flex: 0 0 24px; + } + + .path-item .cell-name { + flex: 1; + min-width: 0; + } + + .path-item .cell-mtime, + .path-item .cell-size, + .path-item .cell-actions { + display: none; + } + + .path-item .cell-more { + flex: 0 0 28px; + display: block; + } + + .more-toggle { + display: none; + } + + .more-btn { + display: block; + cursor: pointer; + font-size: 1.4em; + line-height: 1; + text-align: center; + user-select: none; + } + + .more-panel { + display: none; + position: absolute; + right: 0; + top: 100%; + z-index: 100; + flex-direction: column; + gap: 0.5em; + padding: 0.6em; + background-color: var(--bg-tertiary); + border: 1px solid var(--border-primary); + border-radius: 6px; + box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15); + min-width: 180px; + white-space: nowrap; + } + + .more-toggle:checked ~ .more-panel { + display: flex; + } + + .more-row { + display: flex; + gap: 0.5em; + align-items: center; + justify-content: space-between; + } + + .more-label { + color: var(--text-secondary); + } + + .more-content { + color: var(--text-primary); + } + + .more-actions { + display: flex; + gap: 0.4em; + align-items: center; + justify-content: flex-start; + padding-top: 0.3em; + border-top: 1px solid var(--border-primary); + } +} + +/* dark theme */ +@media (prefers-color-scheme: dark) { + :root { + color-scheme: dark; + --bg-primary: #000; + --bg-secondary: #111; + --bg-tertiary: #111; + --bg-hover: #1a1a1a; + --text-primary: #fff; + --text-secondary: #ccc; + --text-tertiary: #586069; /*Unchanged in both color schemes*/ + --text-accent: #3191ff; + --svg-primary: #fff; + --svg-secondary: #fff; + --svg-tertiary: #fff6; + --border-primary: #fff6; + --border-secondary: #ced4da; /*Unchanged in both color schemes*/ + } +} |
