diff options
author | crupest <crupest@outlook.com> | 2023-07-30 23:47:53 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2023-07-30 23:47:53 +0800 |
commit | 538d6830a0022b49b99695095d85e567b0c86e71 (patch) | |
tree | a0c4d164b05d03f636d603b28f77ca881c16ef10 /FrontEnd/src/pages/timeline/Timeline.css | |
parent | a148f11c193d35ba489f887ed393aedf58a1c714 (diff) | |
download | timeline-538d6830a0022b49b99695095d85e567b0c86e71.tar.gz timeline-538d6830a0022b49b99695095d85e567b0c86e71.tar.bz2 timeline-538d6830a0022b49b99695095d85e567b0c86e71.zip |
...
Diffstat (limited to 'FrontEnd/src/pages/timeline/Timeline.css')
-rw-r--r-- | FrontEnd/src/pages/timeline/Timeline.css | 244 |
1 files changed, 244 insertions, 0 deletions
diff --git a/FrontEnd/src/pages/timeline/Timeline.css b/FrontEnd/src/pages/timeline/Timeline.css new file mode 100644 index 00000000..4dd4fdcc --- /dev/null +++ b/FrontEnd/src/pages/timeline/Timeline.css @@ -0,0 +1,244 @@ +.timeline { + z-index: 0; + position: relative; + width: 100%; +} + +@keyframes timeline-line-node { + to { + box-shadow: 0 0 20px 3px var(--cru-primary-l1-color); + } +} + +@keyframes timeline-line-node-current { + to { + box-shadow: 0 0 20px 3px var(--cru-primary-enhance-l1-color); + } +} + +@keyframes timeline-line-node-loading { + to { + box-shadow: 0 0 20px 3px var(--cru-primary-l1-color); + } +} + +@keyframes timeline-line-node-loading-edge { + from { + transform: rotate(0turn); + } + to { + transform: rotate(1turn); + } +} + +@keyframes timeline-top-loading-enter { + from { + transform: translate(0, -100%); + } +} + +@keyframes timeline-post-enter { + from { + transform: translate(0, 100%); + opacity: 0; + } + to { + opacity: 1; + } +} + +.timeline-top-loading-enter { + animation: 1s timeline-top-loading-enter; +} + +.timeline-line { + display: flex; + flex-direction: column; + align-items: center; + width: 30px; + position: absolute; + z-index: 1; + left: 2em; + top: 0; + bottom: 0; + transition: left 0.5s; +} + +@media (max-width: 575.98px) { + .timeline-line { + left: 1em; + } +} + +.timeline-line .segment { + width: 7px; + background: var(--cru-primary-color); +} +.timeline-line .segment.start { + height: 1.8em; + flex: 0 0 auto; +} +.timeline-line .segment.end { + flex: 1 1 auto; +} +.timeline-line .segment.current-end { + height: 2em; + flex: 0 0 auto; + background: linear-gradient(var(--cru-primary-enhance-color), white); +} +.timeline-line .node-container { + flex: 0 0 auto; + position: relative; + width: 18px; + height: 18px; +} +.timeline-line .node { + width: 20px; + height: 20px; + position: absolute; + background: var(--cru-primary-color); + left: -1px; + top: -1px; + border-radius: 50%; + box-sizing: border-box; + z-index: 1; + animation: 1s infinite alternate; + animation-name: timeline-line-node; +} +.timeline-line .node-loading-edge { + color: var(--cru-primary-color); + width: 38px; + height: 38px; + position: absolute; + left: -10px; + top: -10px; + box-sizing: border-box; + z-index: 2; + animation: 1.5s linear infinite timeline-line-node-loading-edge; +} +.timeline-line.current .segment.start { + background: linear-gradient( + var(--cru-primary-color), + var(--cru-primary-enhance-color) + ); +} + +.timeline-line.current .segment.end { + background: var(--cru-primary-enhance-color); +} + +.timeline-line.current .node { + background: var(--cru-primary-enhance-color); + animation-name: timeline-line-node-current; +} + +.timeline-line.loading .node { + background: var(--cru-primary-color); + animation-name: timeline-line-node-loading; +} + +.timeline-item { + position: relative; + padding: 0.5em; +} + +.timeline-item-card { + position: relative; + padding: 0.5em 0.5em 0.5em 4em; +} + +.timeline-item-card.enter-animation { + animation: 0.6s forwards; + opacity: 0; +} + +@media (max-width: 575.98px) { + .timeline-item-card { + padding-left: 3em; + } +} + +.timeline-item-header { + display: flex; + align-items: center; +} + +.timeline-avatar { + border-radius: 50%; + width: 2em; + height: 2em; +} + +.timeline-item-delete-button { + position: absolute; + right: 0; + bottom: 0; +} + +.timeline-content { + white-space: pre-line; +} + +.timeline-content-image { + max-width: 80%; + max-height: 200px; +} + +.timeline-date-item { + position: relative; + padding: 0.3em 0 0.3em 4em; +} + +.timeline-date-item-badge { + display: inline-block; + padding: 0.1em 0.4em; + border-radius: 0.4em; + background: #7c7c7c; + color: white; + font-size: 0.8em; +} + +.timeline-post-item-options-mask { + background: rgba(255, 255, 255, 0.85); + z-index: 100; + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + + display: flex; + justify-content: space-around; + align-items: center; + + border-radius: var(--cru-card-border-radius); +} + +.timeline-sync-state-badge { + font-size: 0.8em; + padding: 3px 8px; + border-radius: 5px; + background: #e8fbff; +} + +.timeline-sync-state-badge-pin { + display: inline-block; + width: 0.4em; + height: 0.4em; + border-radius: 50%; + vertical-align: middle; + margin-right: 0.6em; +} + +.timeline-card { + position: fixed; + z-index: 1029; + top: 56px; + right: 0; + margin: 0.5em; +} + +.timeline-top { + position: sticky; + top: 56px; +} |