aboutsummaryrefslogtreecommitdiffstats
path: root/assets/index.css
diff options
context:
space:
mode:
authorNikhil M Warrier <nikhilmwarrier@disroot.org>2026-09-05 20:03:28 +0530
committerNikhil M Warrier <nikhilmwarrier@disroot.org>2026-09-05 21:36:20 +0530
commit7538b6a88405c5903e14f7fa7832c560f39c7fe5 (patch)
tree9f19001bd4342e7677bc84306924915f7cc7a1ad /assets/index.css
Initial Commit
Add LICENSE Ignore .DS_Store
Diffstat (limited to 'assets/index.css')
-rw-r--r--assets/index.css525
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*/
+ }
+}