Commit graph

45 commits

Author SHA1 Message Date
f0x52
9b139b6320
[frogend] Settings refactor (#1318)
* yakshave new form field structure

* fully refactor user profile settings form

* use rtk query api for profile settings

* refactor user post settings

* refactor password change form

* refactor admin settings

* FormWithData structure for user forms

* admin actions refactor

* whitespace

* fix user settings data prop

* remove superfluous logging

* cleanup old code

* refactor federation/suspend (overview, detail)

* mostly abstracted (emoji) checkbox list

* refactor parse-from-toot

* refactor custom-emoji, progress on federation bulk

* loading icon styling to prevent big spinny

* refactor federation import-export interface

* cleanup old files

* [chore] Update/add license headers for 2023

* redux fixes

* text-field exports

* appease the linter

* refactor authentication with RTK Query

* fix login/logout state transition weirdness

* fixes/cleanup

* small linter-related fixes

* add eslint license header check, fix existing files

* remove old code, clarify comment

* clarify suspend on subdomains

* collapse if/else

* fa-fw width info comment
2023-01-18 14:45:14 +01:00
tobi
67919204af
[chore/frogend] update status blockquote css (#1302)
Current blockquote margin + padding values were causing issues on small screens. This PR updates these values to use horizontal space a bit better!
2023-01-06 16:01:09 +01:00
tobi
0dbe6c514f
[chore] Update/add license headers for 2023 (#1304) 2023-01-05 12:43:00 +01:00
f0x52
de74cc6e94
[bugfix/frogend] replace ch units to prevent layout shift on page load (#1301) 2023-01-05 09:38:01 +01:00
tobi
2bbc64be43
[feature] Enable basic video support (mp4 only) (#1274)
* [feature] basic video support

* fix missing semicolon

* replace text shadow with stacked icons

Co-authored-by: f0x <f0x@cthu.lu>
2022-12-17 04:38:56 +00:00
f0x52
4b8d7bd952
[frogend] Emoji copy "Steal this look" (#1222)
* split emoji into local and remote, allow looking up remote emoji by toot url

* optimize some/all filtering

* fix local emoji routes

* implement copy action

* shortcode validation, don't wipe form on error

* copy & disable PATCH

* remove local toot acceptance for testing

* unused import

* parse emoji from account and status, get web_url from status uri

* fix url parse

* submit button loading info

* actually send category

* code cleanup, distinguish between account and status responses

* use loading icons

* fix loading icon on federation page

* require Loading element

* remove unused require

* query explanation, small accessibility tweaks
2022-12-11 16:00:23 +01:00
Dominik Süß
199b685f43
[feature] overhaul the oidc system (#961)
* [feature] overhaul the oidc system

this allows for more flexible username handling and prevents account
takeover using old email addresses

* [feature] add migration path for old OIDC users

* [feature] nicer error reporting for users

* [docs] document the new OIDC flow

* [fix] return early on oidc error

* [docs]: add comments on the finalization logic
2022-12-06 14:15:56 +01:00
f0x52
a1dda22672
[bugfix] change page width to prevent scrollbar overflow (#1182) 2022-11-30 13:15:33 +01:00
f0x52
665d902fd7
[feature/frogend] modify local emoji (#1143)
* update danger button red

* emoji category and image modification

* debug bundles in dev

* fix linting error
2022-11-25 15:49:48 +01:00
f0x52
5ba5fb3154
[chore/frogend] fix profile preview css, use role info (#1130)
* fix profile preview css, use role info

* remove unused redux selector
2022-11-23 16:10:02 +01:00
f0x52
aa5c4e065c
[frogend] Emoji categories (#1051)
* emoji category combobox

* emoji categorizing

* dropdown entry separation

* emoji filtering/sorting

* add some explaining comments

* remove unneeded default-value code

* remove wrongly created package.json

* configurable ComboBox label+placeHolder
2022-11-16 17:05:49 +01:00
f0x52
fece7fa706
[chore] fix profile spacing on very small screens (#1050) 2022-11-15 15:35:24 +01:00
tobi
a39a664525
[feature] Serialize local account role via API, and show it via web view (#1045)
* [feature] Add 'role' field to api serialization of local accounts

* [chore] Add a bit of license text while I'm here

* [frogend] render account role on same line as username in web view of profile

* style tweaking on role badges, general profile header layout

* profile stats wrapping

* don't render standard 'user' role on web view

Co-authored-by: f0x <f0x@cthu.lu>
2022-11-15 10:19:32 +01:00
f0x52
eb25739c34
[frontend] Custom Emoji Deletion (#994)
* re-add eslint

* fix oauth url getting too long

* actually attach single emoji get and delete routes

* basic emoji details + deletion using rtk query

* refactor emoji upload to rtk query

* clean up old redux api+reducers for custom emoji

* fix validation order

* refactor custom emoji form fields

* remove unused requires

* cleanup, fix most eslint errors

* more small eslint fixes

* fix max emoji size

* tiny bit of function documentation
2022-11-08 17:51:44 +01:00
f0x52
c4c713988a
[frontend] change bundler to skulk (#942)
* replace web bundler with skulk

* upgrade skulk

* add license
2022-11-02 16:31:43 +01:00
Mia Heidenstedt
29a71cf828
[frontend] Fix #923 and markdown css (#925)
* fix url in CONTRIBUTING.md

* prevent img from overflow and allow to center the img

* fix #923 and guide browser to select entire username
2022-11-02 09:04:23 +01:00
f0x52
80c2833d83
[frontend] small fixes (#907)
* add missing watchify dependency

* replace svg rss icon with forkawesome+styling

* use $white1 instead of hardcoding white

* fix toot overflow
2022-10-12 18:23:50 +02:00
tobi
80663061d8
[feature] Add opt-in RSS feed for account's latest Public posts (#897)
* start adding rss functionality

* add gorilla/feeds dependency

* first bash at building rss feed
still needs work, this is an interim commit

* tidy up a bit

* add publicOnly option to GetAccountLastPosted

* implement rss endpoint

* fix test

* add initial user docs for rss

* update rss logo

* docs update

* add rssFeed to frontend

* feed -> feed.rss

* enableRSS

* increase rss logo size a lil bit

* add rss toggle

* move emojify to text package

* fiddle with rss feed formatting

* add Text field to test statuses

* move status to rss item to typeconverter

* update bun schema for enablerss

* simplify 304 checking

* assume account not rss

* update tests

* update swagger docs

* allow more characters in title, trim nicer

* update last posted to be more consistent
2022-10-08 14:00:39 +02:00
tobi
41aad21c6e
[frontend] Make emojis v. slightly larger (#891)
* make emojis v. slightly larger
2.5ex -> 2.75 ex by default (they still fit fine), and make em scale a bit larger on hover as well

* use em for emoji margin
2022-10-06 11:36:07 +02:00
f0x52
1a56352568
[frontend] scroll to highlighted toot, improve highlight (#885) 2022-10-03 20:35:43 +02:00
f0x52
fe238f8595
[frontend] change spacing of status, text always on it's own line, move status date on mobile (#883) 2022-10-03 18:26:41 +02:00
f0x52
3d9fb49895
[chore] Old browser fixes (#882)
* reasonable css sizing fallbacks

* add browser field for bug report template
2022-10-03 18:26:01 +02:00
tobi
f7af7c061c
[feature] Enlarge active/hovered custom emojis in statuses (#877)
* enlarge active/hovered custom emojis in statuses

* use transform, make emojis pop a lil more

* tweak emoji hover timing, styling

Co-authored-by: f0x <f0x@cthu.lu>
2022-10-02 15:54:49 +02:00
tobi
deba75cad1
[chore] Use shorter timestamps in frontend for replies (#875)
* rename timestampShort -> timestampVague

* add ParseISO8601

* start fiddling with timestamp

* pad/margin a bit more consistently

* remove visibilty icon, change timestamp use

* update timestamp logic

* check + log errors

* properly cut-off long display- and usernames

Co-authored-by: f0x <f0x@cthu.lu>
2022-10-02 15:54:42 +02:00
f0x52
938328cd07
[frontend] Unified panels (#812)
* settings panel restructuring

* clean up old Gin handlers

* colorscheme redesign, some other small css tweaks

* basic router layout, error boundary

* colorscheme redesign, some other small css tweaks

* kebab-case consistency

* superfluous padding on applist

* remove unused consts

* redux, whitespace changes..

* use .jsx extensions for components

* login flow up till app registration

* full redux oauth implementation, with basic error handling

* split oauth api functions

* oauth api revocation handling

* basic profile change submission

* move old dir

* profile overview

* fix keeping track of the wrong instance url (for different instance/api domains)

* use redux state for profile form

* delete old/index.js, old/basic.js, fully implemented

* implement old/user/profile.js

* implement password change

* remove debug logging

* support future api for removing files

* customize profile css

* remove unneeded wrapper components

* restructure form fields

* start on admin pages

* admin panel settings

* admin settings panel

* remove old/admin files

* add top-level redirect

* refactor/cleanup forms

* only do API checks on logged-in state

* admin-status based routing

* federation block routing

* federation blocks

* upgrade dependencies

* react 18 changes

* media cleanup

* fix useEffect hooks

* remove unused require

* custom emoji base

* emoji uploader

* delete last old panel files

* sidebar styling, remove unused page

* refactor submit functions

* fix sidebar boxshadow-border

* fix old css variables

* fix fake-toot avatar

* fix non-square emoji

* fix user settings redux keys

* properly get admin account contact from instance response

* Account.source default values

* source.status_format key

* mobile responsiveness

* mobile element tweaks

* proper redirect after removing block

* add redirects for old setting panel urls

* deletes

* fix mobile overflow

* clean up debug logging calls
2022-09-29 12:02:41 +02:00
Blackle Morisanchetto
1e1cdee06a
[feature] Emojify spoiler and content in web templates (#785)
* Emojify spoiler and content in web templates

* Use more performance emojify code (thanks NyaaaWhatsUpDoc!)
2022-09-02 11:54:32 +02:00
tobi
c951ba1d23
[frontend] gentle css fiddling (#761)
* gentle css fiddling

* Make grid alignment a lil more consistent too
2022-08-27 11:40:51 +02:00
f0x52
52fe681ba2
[frontend] Sensitive media spoilers (#752)
* sensitive media spoilers

* small tweaks, use pointer-events (thanks @owl!)

* allow hiding all media

* add button roles

* add tabindices

* s/Show media/Show sensitive media/

* show hovering alt-text on hidden sensitive images

Co-authored-by: tobi <31960611+tsmethurst@users.noreply.github.com>
2022-08-14 19:22:13 +02:00
tobi
bfcd80a0f2
[frontend] Style scrollbars site-wide (not just in code) (#753) 2022-08-12 13:11:43 +02:00
tobi
3f626c8ee8
[frontend] Status styling tweaks (#751)
* style hr

* start work on code styling in statuses

* pad top + bottom of content

* squircle code

* pad less actually

* get code blocks formatted nicely phew

* fix some silliness (thanks f0x)

* update code block styling

Co-authored-by: f0x <f0x@cthu.lu>
2022-08-11 19:11:19 +02:00
tobi
117888cf59
[feature] Add first iteration of a user panel at /user (#736)
* start work on user panel

* parse source first before checking if empty form

* newline

* set avi + header nicely

* add posts settings

* render signin a bit nicer on mobile

* return OK json on successful change

* return unauthorized on bad password

* clarify message on insecure password

* make login a bit prettier

* add alt text + border round image previews

* add logout button

* add password change

* styling updates

* redirect /auth/edit to /user

* update tests

* fix validation tests

* better labels, link to more info

* make submit button generic component

* move submit button inside forms

* add autocomplete labels to password fields

* fix indentation (thx eslint)

* update eslintrc

* eslint: no-unescaped-entities

* initial deduplication between user and admin panel

* add default status/post format setting

* user panel styling for inputs

* update user panel styling, include normalize css

* add placeholder text

* input padding

Co-authored-by: f0x <f0x@cthu.lu>
2022-08-08 10:40:51 +02:00
f0x52
f2a6ae3ef8
[feature] Photoswipe gallery (#740)
* implement photoswipe galleries

* dependency wrangling

* photoswipe-dynamic-caption plugin
2022-08-07 17:58:01 +02:00
tobi
745f54970d
[frontend] style blockquote nicely within content (#742) 2022-08-07 13:47:30 +02:00
tobi
b326bf45a9
[frontend] Tweak border radius for header + avatar (#713) 2022-07-18 09:44:32 +02:00
tobi
c7e5c660fb
[frontend] Footer styling adjustments (#709)
* adjust footer rendering

* use max-width instead of orientation

* remove margin-top when screen small
2022-07-15 13:23:15 +02:00
tobi
1d5c737bbb
[bugfix] Fix profile card display issues on smaller screens w/responsive query (#696)
* add responsive media query to profile css

* break username on all screen sizes if necessary

* embed avatar inside header on smaller screen sizes

* align items to the left in small screen view

* more consistent profile scaling accross firefox and chrome

* simplify things a little bit

* make sure bio fits in profile

* word-break content if necessary

Co-authored-by: f0x <f0x@cthu.lu>
2022-07-13 11:28:05 +02:00
tobi
6418307c64
[feature] Add back/next buttons to profiles for paging through statuses (#708)
* add GetAccountWebStatuses to db

* add WebStatusesGet func to processor

* don't add limit to next/prev links if 0

* take query params for next/prev statuses

* add separate next + prev links for convenience

* show 'nothing here' message if no statuses exist

* add back / next links to profiles

* allow paging down only

* go fmt ./...

* 'recent public toots' -> 'latest public toots'
2022-07-13 09:57:47 +02:00
tobi
211266c072
[bugfix] Fix display names in thread view causing wrapping issues on small screens (#698)
* use account.Acct for username

* allow username + displayname to wrap with ellipses

* use span 2 for displayname always

* remove commented-out line
2022-07-09 13:37:06 +02:00
tobi
8e68970258
[frontend] Fix up status 'show more' and z-index (#701)
* put spoiler items in a flexbox

* make the whole status top of z index
this allows text to be selected properly

* allow status spoiler text to break across lines
2022-07-09 13:36:56 +02:00
Forever
a6528fe576
[bugfix] Various fixes (#699)
* [bugfix] Correctly style inputs and buttons

<input>, <textarea>, and <button> were incorrectly using the system-ui font previously; this commit fixes that. text-align: center; was added to <button> due to an inconsistency with .button where text-align would be off.

* [chore] Update binary installation instructions

This commit updates the example release mentioned in the docs, and mentions Caddy in the reverse proxy options.

* [bugfix] Remove redundant Caddyfile

Caddy automatically upgrades HTTP to HTTPS (see https://caddyserver.com/docs/automatic-https) so the upgrading part of the Caddyfile is redundant.
2022-07-08 09:01:00 +01:00
tobi
dbb223c333
[bugfix] Allow instance titles to wrap (#695) 2022-07-06 14:33:01 +02:00
tobi
81dd4f3660
[bugfix] Fix footer info fields not wrapping (#694)
* flex-wrap footer items

* add testrig instance entry with more info set
2022-07-05 16:44:58 +02:00
tobi
16ddad36b2
[frontend] Redesign / color scheme (#688)
* fix css indentation

* profile styling update

* update status styling to match profile

* empty header fix

* generate random avatars for thread views

* appease the linter gods

* upgrade deps

* turn profile accent into border + $bg background

* upgrade deps

* small accessibility tweaks

* general redesign, clearer css variables

* configure instance.Version for testrig

* footer styling

* add sublte borders to box-shadow for separation

* accessible blues, other tweaks

* background bg_accent

* fix viewport

* change client entry buttons to links

* cw button styling

* status display+username spacing

* small thread view tweaks

* color tweaks for accessible contrasts

* use Noto Sans

* biiit less dark bg

* .info contrast, border

Co-authored-by: f0x <f0x@cthu.lu>
2022-07-04 16:23:59 +02:00
f0x52
7c6c0cd547
[frontend] Profile pages upgrade (#640)
* fix css indentation

* profile styling update

* update status styling to match profile

* empty header fix

* generate random avatars for thread views

* appease the linter gods

* upgrade deps

* turn profile accent into border + $bg background

* upgrade deps

* small accessibility tweaks

Co-authored-by: tobi <31960611+tsmethurst@users.noreply.github.com>
2022-06-21 10:48:42 +02:00
f0x52
b43f9ceca9
[frontend] Restructure Frontend Sources (#634)
* 🐸restructure frontend stuff, include admin and future user panel in main repo, properly deduplicate bundles for css+js across uses

* rename bundled to dist, caught by gitignore

* re-include status.css for profile template

* default to localhost

* serve frontend panels

* add todo message for abstraction

* refactor oauth registration flow

* oauth restructure

* update footer template

* change panel routes

* remove superfluous css imports

* write bundle to disk from test server, use forked budo-express

* wrap all page content in container

for robustness with addons etc injection other elements in body

* update documentation, goreleaser, Dockerfile

* update template meta tags

* add AGPL-3.0+ license header everywhere

* only attach update listener on EventEmitter

* cleaner config for various frontend bundles

* fix bundler script paths

* Merge commit 'd191931932b9293ce1be44ed08a1e69b9fcc1e25'

* fix up dockerfile, goreleaser

* go mod tidy

* add uglifyify

* move status hide/show js to frontend bundle

* fix stylesheet color( func regressions

* update contributing docs for new build path

* update goreleaser + docker building

* resolve dependency paths properly

* update package name

* use api errorhandler

Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
2022-06-09 12:51:19 +02:00