diff --git a/src/App.svelte b/src/App.svelte index c6e7534..3ce393b 100644 --- a/src/App.svelte +++ b/src/App.svelte @@ -64,90 +64,5 @@ diff --git a/src/lib/AccountComponent.svelte b/src/lib/AccountComponent.svelte index 880db3f..3f12cf7 100644 --- a/src/lib/AccountComponent.svelte +++ b/src/lib/AccountComponent.svelte @@ -20,30 +20,5 @@ diff --git a/src/lib/PostComponent.svelte b/src/lib/PostComponent.svelte index 43ad667..6cb6bcd 100644 --- a/src/lib/PostComponent.svelte +++ b/src/lib/PostComponent.svelte @@ -152,167 +152,5 @@ diff --git a/src/themes/theme.css b/src/themes/theme.css index 35739c0..08b0e1f 100644 --- a/src/themes/theme.css +++ b/src/themes/theme.css @@ -15,7 +15,6 @@ --indicator-active-color: #8054f0; } - ::-webkit-scrollbar { width: 0px; background: transparent; @@ -87,3 +86,284 @@ h1 { margin-right: auto; text-align: center; } + +/* Post Component */ + a:hover { + text-decoration: underline; + } + #postContainer { + display: flex; + flex-direction: column; + border: 1px solid var(--border-color); + background-color: var(--background-color); + margin-bottom: 15px; + overflow-wrap: break-word; + } + #postHeader { + display: flex; + flex-direction: row; + align-items: center; + justify-content: start; + background-color: var(--header-background-color); + padding: 0px 0px; + height: fit-content; + border-bottom: 1px solid var(--border-color); + font-weight: bold; + overflow-wrap: break-word; + height: 60px; + } + #displayName { + display: block; + color: var(--text-color); + font-size: 1.2em; + padding: 0; + margin: 0; + overflow-wrap:normal; + word-wrap: break-word; + word-break: break-word; + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + width: 100%; + } + #handle { + display: block; + color: var(--border-color); + font-size: 0.8em; + padding: 0; + margin: 0; + } + + #postLink { + color: var(--border-color); + font-size: 0.8em; + padding: 0; + margin: 0; + } + #postContent { + display: flex; + text-align: start; + flex-direction: column; + padding: 10px; + background-color: var(--content-background-color); + color: var(--text-color); + overflow-wrap: break-word; + white-space: pre-line; + } + #replyingText { + font-size: 0.7em; + margin: 0; + padding: 0; + padding-bottom: 5px; + } + #quotingText { + font-size: 0.7em; + margin: 0; + padding: 0; + padding-bottom: 5px; + } + #postText { + margin: 0; + padding: 0; + overflow-wrap: break-word; + word-wrap: normal; + word-break: break-word; + hyphens: none; + } + #headerText { + margin-left: 10px; + font-size: 0.9em; + text-align: start; + word-break: break-word; + max-width: 80%; + max-height: 95%; + overflow: hidden; + align-self: flex-start; + margin-top: auto; + margin-bottom: auto; + } + #avatar { + height: 60px; + width: 60px; + margin: 0px; + margin-left: 0px; + overflow: hidden; + object-fit: cover; + border-right: var(--border-color) 1px solid; + } + #carouselContainer { + position: relative; + width: 100%; + margin-top: 10px; + display: flex; + flex-direction: column; + align-items: center; + } + #carouselControls { + display: flex; + justify-content: space-between; + align-items: center; + width: 100%; + max-width: 500px; + margin-top: 5px; + } + #carouselIndicators { + display: flex; + gap: 5px; + } + .indicator { + width: 8px; + height: 8px; + background-color: var(--indicator-inactive-color); + } + .indicator.active { + background-color: var(--indicator-active-color); + } + #prevBtn, + #nextBtn { + background-color: rgba(31, 17, 69, 0.7); + color: var(--text-color); + border: 1px solid var(--border-color); + width: 30px; + height: 30px; + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; + } + #prevBtn:disabled, + #nextBtn:disabled { + opacity: 0.5; + cursor: not-allowed; + } + #embedVideo { + width: 100%; + max-width: 500px; + margin-top: 10px; + align-self: center; + } + + #embedImages { + min-width: min(100%, 500px); + max-width: min(100%, 500px); + max-height: 500px; + object-fit: contain; + + margin: 0; + } + +/* Account Component */ + #accountContainer { + display: flex; + text-align: start; + align-items: center; + background-color: var(--background-color); + padding: 0px; + margin-bottom: 15px; + border: 1px solid var(--border-color); + } + #accountName { + margin-left: 10px; + font-size: 0.9em; + max-width: 80%; + + /* replace overflow with ellipsis */ + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + #avatar { + width: 50px; + height: 50px; + margin: 0px; + object-fit: cover; + border-right: var(--border-color) 1px solid; + } + +/* App.Svelte */ + /* desktop style */ + + #Content { + display: flex; + /* split the screen in half, left for accounts, right for posts */ + width: 100%; + height: 100%; + flex-direction: row; + justify-content: space-between; + align-items: center; + background-color: var(--background-color); + color: var(--text-color); + } + #Feed { + overflow-y: scroll; + width: 65%; + height: 100vh; + padding: 20px; + padding-bottom: 0; + padding-top: 0; + margin-top: 0; + margin-bottom: 0; + } + #spacer { + padding: 0; + margin: 0; + height: 10vh; + width: 100%; + } + #Account { + width: 35%; + display: flex; + flex-direction: column; + border: 1px solid var(--border-color); + background-color: var(--content-background-color); + height: 80vh; + padding: 20px; + margin-left: 20px; + } + #accountsList { + display: flex; + flex-direction: column; + overflow-y: scroll; + height: 100%; + width: 100%; + padding: 0px; + margin: 0px; + } + + #Header { + text-align: center; + font-size: 2em; + margin-bottom: 20px; + } + + /* mobile style */ + @media screen and (max-width: 600px) { + #Content { + flex-direction: column; + width: auto; + padding-left: 0px; + padding-right: 0px; + margin-top: 5%; + } + #Account { + width: 85%; + padding-left: 5%; + padding-right: 5%; + margin-bottom: 20px; + margin-left: 5%; + margin-right: 5%; + height: auto; + } + #Feed { + width: 95%; + margin: 0px; + margin-left: 10%; + margin-right: 10%; + padding: 0px; + overflow-y: visible; + } + + #spacer { + height: 0; + } + } \ No newline at end of file diff --git a/theming.ts b/theming.ts index 60117fd..b0856bb 100644 --- a/theming.ts +++ b/theming.ts @@ -1,8 +1,9 @@ import { Plugin } from 'vite'; import { Config } from './config'; + + // Replaces app.css with the contents of the file specified in the // config file. - export const themePlugin = (): Plugin => { const themeFile = Config.THEME; console.log(`Using theme file: ${themeFile}`);