From ae19c40c795e14e8793744b7520e103523f6bda4 Mon Sep 17 00:00:00 2001 From: crupest Date: Thu, 4 Jun 2020 16:11:03 +0800 Subject: refactor(front): Refactor scss to sass and refactor timeline styles. --- Timeline/ClientApp/src/timeline/TimelineItem.tsx | 6 +- Timeline/ClientApp/src/timeline/timeline-ui.sass | 18 ++++ Timeline/ClientApp/src/timeline/timeline-ui.scss | 27 ----- Timeline/ClientApp/src/timeline/timeline.sass | 103 ++++++++++++++++++++ Timeline/ClientApp/src/timeline/timeline.scss | 119 ----------------------- 5 files changed, 124 insertions(+), 149 deletions(-) create mode 100644 Timeline/ClientApp/src/timeline/timeline-ui.sass delete mode 100644 Timeline/ClientApp/src/timeline/timeline-ui.scss create mode 100644 Timeline/ClientApp/src/timeline/timeline.sass delete mode 100644 Timeline/ClientApp/src/timeline/timeline.scss (limited to 'Timeline/ClientApp/src/timeline') diff --git a/Timeline/ClientApp/src/timeline/TimelineItem.tsx b/Timeline/ClientApp/src/timeline/TimelineItem.tsx index 402d51d9..0d2722c0 100644 --- a/Timeline/ClientApp/src/timeline/TimelineItem.tsx +++ b/Timeline/ClientApp/src/timeline/TimelineItem.tsx @@ -48,12 +48,12 @@ const TimelineItem: React.FC = (props) => { onClick={props.onClick} > -
+
-
- {current &&
} +
+ {current &&
} diff --git a/Timeline/ClientApp/src/timeline/timeline-ui.sass b/Timeline/ClientApp/src/timeline/timeline-ui.sass new file mode 100644 index 00000000..8f0da6a4 --- /dev/null +++ b/Timeline/ClientApp/src/timeline/timeline-ui.sass @@ -0,0 +1,18 @@ +.info-card-container + .info-card-collapse-button + z-index: 1 + position: relative + + .info-card-content + width: 100% + position: absolute + transform-origin: right top + transition: transform 0.5s + + & [data-collapse='true'] + .info-card-content + transform: scale(0) + +.timeline-page-container + transition: margin-top 0.5s + diff --git a/Timeline/ClientApp/src/timeline/timeline-ui.scss b/Timeline/ClientApp/src/timeline/timeline-ui.scss deleted file mode 100644 index ef35ff55..00000000 --- a/Timeline/ClientApp/src/timeline/timeline-ui.scss +++ /dev/null @@ -1,27 +0,0 @@ -/* -.info-card-container { -} - -.info-card-container[data-collapse='true'] { -} -*/ - -.info-card-container .info-card-collapse-button { - z-index: 1; - position: relative; -} - -.info-card-container .info-card-content { - width: 100%; - position: absolute; - transform-origin: right top; - transition: transform 0.5s; -} - -.info-card-container[data-collapse='true'] .info-card-content { - transform: scale(0); -} - -.timeline-page-container { - transition: margin-top 0.5s; -} diff --git a/Timeline/ClientApp/src/timeline/timeline.sass b/Timeline/ClientApp/src/timeline/timeline.sass new file mode 100644 index 00000000..511cc838 --- /dev/null +++ b/Timeline/ClientApp/src/timeline/timeline.sass @@ -0,0 +1,103 @@ +@use 'sass:color' + +$timeline-line-width: 7px +$timeline-line-node-radius: 18px +$timeline-line-color: $primary +$timeline-line-color-current: #36c2e6 + +@keyframes timeline-line-node-noncurrent + from + background: $timeline-line-color + + to + background: color.adjust($timeline-line-color, $lightness: +10%) + box-shadow: 0 0 20px 3px color.adjust($timeline-line-color, $lightness: +10%, $alpha: -0.1) + + +@keyframes timeline-line-node-current + from + background: $timeline-line-color-current + + to + background: color.adjust($timeline-line-color-current, $lightness: +10%) + box-shadow: 0 0 20px 3px color.adjust($timeline-line-color-current, $lightness: +10%, $alpha: -0.1) + +.timeline-line + &-area + display: flex + flex-direction: column + align-items: center + flex: 0 0 auto + width: 60px + + &-segment + width: $timeline-line-width + background: $timeline-line-color + + &.start + height: 20px + flex: 0 0 auto + + &.end + flex: 1 1 auto + + &.current-end + height: 20px + flex: 0 0 auto + background: linear-gradient($timeline-line-color-current, transparent) + + &-node-container + flex: 0 0 auto + position: relative + width: $timeline-line-node-radius + height: $timeline-line-node-radius + + &-node + width: $timeline-line-node-radius + 2 + height: $timeline-line-node-radius + 2 + position: absolute + left: -1px + top: -1px + border-radius: 50% + box-sizing: border-box + z-index: 1 + animation: 1s infinite alternate + animation-name: timeline-line-node-noncurrent + + +.current + .timeline-line + &-segment + + &.start + background: linear-gradient($timeline-line-color, $timeline-line-color-current) + + &.end + background: $timeline-line-color-current + + &-node + animation-name: timeline-line-node-current + +.timeline-pt-start + padding-top: 18px + +.timeline-item-delete-button + position: absolute + right: 0 + bottom: 0 + +.timeline-content + white-space: pre-line + +.timeline-content-image + max-width: 60% + max-height: 200px + + +.timeline-post-edit-image + max-width: 100px + max-height: 100px + +.mask + background: change-color($color: white, $alpha: 0.8) + z-index: 100 diff --git a/Timeline/ClientApp/src/timeline/timeline.scss b/Timeline/ClientApp/src/timeline/timeline.scss deleted file mode 100644 index e82b376b..00000000 --- a/Timeline/ClientApp/src/timeline/timeline.scss +++ /dev/null @@ -1,119 +0,0 @@ -@use 'sass:color'; - -$timeline-line-width: 7px; -$timeline-line-node-radius: 18px; -$timeline-line-color: $primary; -$timeline-line-color-current: #36c2e6; - -.timeline-line-area { - display: flex; - flex-direction: column; - align-items: center; - flex: 0 0 auto; - width: 60px; -} - -.timeline-line { - width: $timeline-line-width; - background: $timeline-line-color; -} - -.timeline-line.start { - height: 20px; - flex: 0 0 auto; -} - -.timeline-pt-start { - padding-top: 18px; -} - -.timeline-line.end { - flex: 1 1 auto; -} - -@keyframes timeline-line-node-noncurrent { - from { - background: $timeline-line-color; - } - to { - background: color.adjust($timeline-line-color, $lightness: +10%); - box-shadow: 0 0 20px 3px - color.adjust($timeline-line-color, $lightness: +10%, $alpha: -0.1); - } -} -@keyframes timeline-line-node-current { - from { - background: $timeline-line-color-current; - } - to { - background: color.adjust($timeline-line-color-current, $lightness: +10%); - box-shadow: 0 0 20px 3px - color.adjust($timeline-line-color-current, $lightness: +10%, $alpha: -0.1); - } -} - -.timeline-line-node-container { - flex: 0 0 auto; - position: relative; - width: $timeline-line-node-radius; - height: $timeline-line-node-radius; -} - -.timeline-line-node { - width: $timeline-line-node-radius + 2; - height: $timeline-line-node-radius + 2; - position: absolute; - left: -1px; - top: -1px; - border-radius: 50%; - box-sizing: border-box; - z-index: 1; - animation: 1s infinite alternate; - animation-name: timeline-line-node-noncurrent; -} - -.timeline-line.current-end { - height: 20px; - flex: 0 0 auto; - background: linear-gradient($timeline-line-color-current, transparent); -} - -.current { - .timeline-line.start { - background: linear-gradient( - $timeline-line-color, - $timeline-line-color-current - ); - } - .timeline-line-node { - animation-name: timeline-line-node-current; - } - .timeline-line.end { - background: $timeline-line-color-current; - } -} - -.timeline-item-delete-button { - position: absolute; - right: 0; - bottom: 0; -} - -.timeline-content { - white-space: pre-line; -} - -.timeline-content-image { - max-width: 60%; - max-height: 200px; -} - -.timeline-post-edit-image { - max-width: 100px; - max-height: 100px; -} - -.mask { - background: change-color($color: white, $alpha: 0.8); - z-index: 100; -} -- cgit v1.2.3