Commit Graph

29 Commits

Author SHA1 Message Date
St John Karp 71ea1c3084 Fix #6 - Add error handling for deleting an already deleted status
Added a basic error page and implemented handling for deleting a
status that can't be found.
2019-03-25 16:23:19 +00:00
St John Karp 7fc59f1c58 Fix #5 - Implement deleting statuses
Added a link (and a confirmation page) that allows a user to delete
their own Statuses.
2019-03-24 19:45:36 +00:00
St John Karp 9a0fb86099 Issue 4 - Specify scopes for authorization
We were requesting read, write, and follow for the app, but not
for the user authorization. I've added these scopes to the oauth
redirect when logging in.
2019-03-16 10:39:42 +00:00
St John Karp d3927063c5 Consolidate search logic into one method/route
Put both show search and run search into the same route. This prevents
Lynx from thinking the search results were from a GET request and
caching the contents of the search page.
2019-02-19 19:57:20 +00:00
St John Karp 98a5b744ed Don't duplicate original poster in mentions
Reply-to accounts were compiled by getting the original poster + all the
mentions returned by the API. The OP now seems to be included in the
mentions, which duplicated that account in the list. I've stripped
it down so it just uses the list of mentions returned by the API now.
2019-02-18 00:08:19 +00:00
St John Karp daa9343cb0 Implement searching for statuses and accounts
Implemented search across statuses and accounts. Replaced the old
search that was for accounts only and never quite worked right.

Don't load empty results when visiting the search page.
2019-02-18 00:08:02 +00:00
St John Karp 92689fe8c3 Show statuses on the account page
Query an Account's Statuses and show them on the account page.
2019-02-07 18:53:25 +00:00
St John Karp 3d1747e13e Code clean-up, refactoring, commenting
Did an audit of the code to tidy things up, refactor, get rid of
some unused stuff that came with Laravel, and comment everything.
2018-10-10 17:58:51 -07:00
St John Karp 157b9eed48 Exclude the logged-in user from reply mentions
When posting a reply, exclude the current user from the automatically
populated list of mentions.
2018-10-10 15:09:51 -07:00
St John Karp 1758952667 Implemented searching for accounts, but commented out the nav link
Implemented searching for accounts using the /accounts/search API
end-point. For some reason Guzzle consistently throws an exception,
so for now I've commented out the nav link to the search page.
2018-10-09 20:12:14 -07:00
St John Karp f873271675 Send token when querying a status
If the user is logged in, send their token when querying for a status.
This prevents the API returning a 404 when the status being queried
is private or direct.
2018-10-08 07:13:34 -07:00
St John Karp c0e7838308 Implement follow/unfollow accounts
Implemented basic follow/unfollow functionality. Probably needs
some styling, definitely needs other controls.
2018-10-07 21:37:09 -07:00
St John Karp d6b3c8eae1 Implement basic account page
Created a new page to display account info. Just shows a link
to the user's home instance and their bio, plus indicators showing
whether the user is a bot and whether their account is locked.
2018-10-07 20:50:15 -07:00
St John Karp 73d0123d69 Pass a string to createApp instead of an array
Fixed a bug where the argument was the wrong data type.
2018-09-09 21:13:30 -07:00
St John Karp 0247f8b57e Favour redirects over re-using the same paths
I was re-using the same paths for a bunch of stuff in order to
minimise redirects (POSTing new statuses to the timeline, or performing
actions on a status), but then this breaks the behaviour of the
browser's refresh button. I've moved all those actions to their
own paths, which helps break up the code, makes the URLs more
semantic, and lets you use the refresh button without accidentally
performing an action.

This is at the expense of an additional HTTP request, but I've
tried to minimise the cost by passing through the status from the
previous action so we don't have to requery for it on the server
side.
2018-08-26 14:34:01 -07:00
St John Karp 96cb4ffcc6 Implement status context page
Implemented a new page that shows a status context, though I'm
calling it a "thread" in the UI because I think that makes more
sense for users. Also moved the action element from the notification
into the event info component itself because I also want to use it
to indicate when a status is a reply.
2018-08-26 13:37:55 -07:00
St John Karp d8c1ed6884 Implement notifications page
Created a new page that displays notifications and added it to the
global nav. Abstracted out the pagination methods from the timeline
controller and put it in a helper class. Abstracted out the event info
(account, timestamp, etc.) into its own component.
2018-08-25 17:29:36 -07:00
St John Karp d2c1874f0b Implement reblogging
Implemented ability to reblog a status.
2018-08-19 10:50:28 -07:00
St John Karp eb513faf9b Tidy up some of the status routing
Status routes were a bit of a mess and involved redirects,
which is only going to slow things down. I've amalgamated them
into one route and used query parameters to determine any actions
being performed.
2018-08-19 09:24:28 -07:00
St John Karp d8f88af21b Move user authorization checks into a route middleware class
Moved the check for the user's session out of individual views
and into a route middleware class.
2018-08-18 15:57:39 -07:00
St John Karp 1ca86208d5 Add ability to favourite a status
Implemented the ability to favourite and unfavourite a status.
2018-08-18 15:52:42 -07:00
St John Karp 7cd1d14d8a Implement reply functionality
Created a new status view that shows a single status and permits
replies if you're logged in.
2018-08-14 08:14:39 -07:00
St John Karp be9e3c3603 Implement posting a status
Split the timeline views into home and public, and added a form
at the top of the home timeline for posting a new status.
2018-08-13 21:31:20 -07:00
St John Karp 3902114ac0 Introduce pagination and action icons
Added action icons (reply, favourite, etc.) to the bottom of
every status. Implemented pagination on the timeline views.
2018-08-12 16:28:45 -07:00
St John Karp b5f39c096a Bump users to the login page
Redirect users to the login page if they try to access a page
that requires their account.
2018-08-12 07:40:07 -07:00
St John Karp 87e1fbd3aa Replace regex with media attachments
Replaced the regex that embedded images and switched to using
proper media attachments. Currently only supporting images.
2018-08-12 07:39:01 -07:00
St John Karp 144848225f Support login workflow
Added basic support for logging in and viewing your home timeline.
Created a sqlite DB for managing app credentials.
2018-08-12 07:26:26 -07:00
St John Karp d7a3e81cff Implement public timeline view
Created a view to show the public timeline. Added logic to embed
images instead of having to follow a link.
2018-08-11 10:38:31 -07:00
St John Karp 6021bb0391 Base commit
Initial commit of base Laravel 5.5 without modifications.
2018-08-11 10:32:56 -07:00