summaryrefslogtreecommitdiff
path: root/gui/src/styles/Composer.css
diff options
context:
space:
mode:
Diffstat (limited to 'gui/src/styles/Composer.css')
-rw-r--r--gui/src/styles/Composer.css173
1 files changed, 173 insertions, 0 deletions
diff --git a/gui/src/styles/Composer.css b/gui/src/styles/Composer.css
new file mode 100644
index 0000000..4fc7739
--- /dev/null
+++ b/gui/src/styles/Composer.css
@@ -0,0 +1,173 @@
+#composer {
+ padding: 16px;
+ display: flex;
+ gap: 0.75rem;
+ transition: all 0.3s ease;
+ border-bottom: 1px solid rgba(128, 128, 128, 0.2);
+ width: 100%;
+
+ &.expanded {
+ padding: 20px 16px;
+ background: linear-gradient(to bottom, rgba(128, 128, 128, 0.05), transparent);
+ }
+
+ &.has-context {
+ min-height: 120px;
+ }
+
+ & .sigil {
+ width: 48px;
+ height: 48px;
+ flex-shrink: 0;
+
+ & img {
+ width: inherit;
+ border-radius: 50%;
+ }
+ }
+
+ & .composer-content {
+ flex-grow: 1;
+ display: flex;
+ flex-direction: column;
+ gap: 12px;
+ }
+
+ & .composer-context {
+ background: rgba(128, 128, 128, 0.08);
+ border-radius: 12px;
+ padding: 12px;
+ position: relative;
+ animation: slideDown 0.3s ease;
+
+ & .composer-snippet {
+ /* TODO it overflows to the right */
+ max-height: 200px;
+ overflow-y: auto;
+ border-radius: 8px;
+ background: rgba(255, 255, 255, 0.05);
+
+
+ .trill-post {
+ /* width: 60%; */
+ /* margin: 0 auto; */
+ }
+ }
+
+ & #reply {
+ background: transparent;
+ padding: 0;
+ }
+ }
+
+ & .reply-context {
+ margin-bottom: 12px;
+ border-left: 3px solid var(--color-accent, #2a9d8f);
+ background: rgba(42, 157, 143, 0.08);
+ }
+
+ & .quote-context {
+ margin-top: 12px;
+ border-left: 3px solid var(--color-secondary, #e76f51);
+ background: rgba(231, 111, 81, 0.08);
+ }
+
+ & .quote-header {
+ margin-bottom: 12px;
+ padding: 8px 12px;
+ background: rgba(231, 111, 81, 0.08);
+ border-radius: 8px;
+ border-left: 3px solid var(--color-secondary, #e76f51);
+ }
+
+ & .context-header {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ margin-bottom: 8px;
+
+ & .context-type {
+ display: flex;
+ align-items: center;
+ gap: 6px;
+ font-size: 0.85rem;
+ color: var(--color-text-muted, #888);
+ font-weight: 500;
+ }
+
+ & .clear-context {
+ background: none;
+ border: none;
+ color: var(--color-text-muted, #888);
+ cursor: pointer;
+ font-size: 1.5rem;
+ line-height: 1;
+ padding: 0;
+ width: 24px;
+ height: 24px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ border-radius: 50%;
+ transition: all 0.2s;
+
+ &:hover {
+ background: rgba(128, 128, 128, 0.2);
+ color: var(--color-text);
+ }
+ }
+ }
+
+ & .quote-header .context-header {
+ margin-bottom: 0;
+ }
+
+ & .composer-input-row {
+ display: flex;
+ gap: 12px;
+ align-items: center;
+ }
+
+ & input {
+ background-color: transparent;
+ color: var(--color-text);
+ flex-grow: 1;
+ border: none;
+ outline: none;
+ font-size: 1rem;
+ padding: 8px 0;
+ border-bottom: 2px solid transparent;
+ transition: border-color 0.2s;
+
+ &:focus {
+ border-bottom-color: var(--color-accent, #2a9d8f);
+ }
+
+ &::placeholder {
+ color: var(--color-text-muted, #888);
+ }
+ }
+
+ & .post-btn {
+ padding: 8px 20px;
+ background: var(--color-accent, #2a9d8f);
+ color: white;
+ border: none;
+ border-radius: 20px;
+ font-weight: 600;
+ cursor: pointer;
+ transition: all 0.2s;
+ white-space: nowrap;
+
+ &:hover:not(:disabled) {
+ background: var(--color-accent-hover, #238b7f);
+ transform: translateY(-1px);
+ box-shadow: 0 2px 8px rgba(42, 157, 143, 0.3);
+ }
+
+ &:disabled {
+ opacity: 0.5;
+ cursor: not-allowed;
+ }
+ }
+} \ No newline at end of file