Commit Graph

27 Commits

Author SHA1 Message Date
St John Karp 457da06f22 Switch from hr dividers to list items
Switched from using horizontal rules to divide articles to
making each article a list item. This is invisible to graphical
browsers, but makes identifying posts and reposts much easier
in text browsers.
2018-10-07 17:51:22 -07:00
St John Karp 911edfa02e Tidy old link for posting a new status
Tidied up this link to point to the newer submission page
and to use a generated link.
2018-09-09 21:03:10 -07:00
St John Karp d0e5b5fe67 Use dynamically generated links
Removed hard-coded and relative links and replaced them with
dynamically generated ones. Should allow Planiverse to be served
from a subfolder.
2018-09-09 20:55:08 -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 197d31da35 Add some hr elements for formatting in text-only browsers
Added some hr elements to separate statuses when viewing in
a text-only browser.
2018-08-25 15:48:58 -07:00
St John Karp b76a68cd7c Support showing video attachments
Added support for showing video and gifv attachment types.
2018-08-25 10:36:46 -07:00
St John Karp efcdf76c3e Prefix mentions with an @
Prefix mentions with an @ so they get parsed properly instead
of showing up as plain text.
2018-08-25 10:22:46 -07:00
St John Karp cfaf2009ab Display image attachments as previews
Display image attachments as previews with a link to the original.
2018-08-25 10:16:38 -07:00
St John Karp a134a6e383 Maybe a slightly more obvious retoot icon
Replaced the bi-directional arrows with a circular arrow.
2018-08-25 10:06:08 -07:00
St John Karp 48a758d45e Don't strip out content warnings in replies
By default include the original spoiler text in replies
so as not to accidentally strip out content warnings.
2018-08-25 10:01:44 -07:00
St John Karp 7d68f883ea Prepopulate mentions in replies
When posting a reply, pre-populate the account to which you're
replying, plus any mentions.
2018-08-25 09:53:40 -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 d95406c407 Hide statuses if they have spoiler text
Hide statuses behind an HTML details element if they have
spoiler text.
2018-08-19 10:30:15 -07:00
St John Karp dbbe307a03 Add navigation to the top of the page, rework some CSS
Added navigation links to the top of the timeline pages.
Updated the HTML/CSS to be a bit more semantic (using article tags),
and replaced the broken tooltips with HTML title attributes.
2018-08-19 10:02:02 -07:00
St John Karp e628d8b8b9 Break pagination elements into their own component
Split off the pagination into its own component and added some
styling.
2018-08-19 09:39:31 -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 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 50bf84c4e4 Show status timestamps
Show how long ago the status was posted. Includes support for
Swatch Internet time if SHOW_BEATS=true.
2018-08-12 17:05:48 -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 0143d70112 Display reblogs
Made statuses a recursive component so we can display reblogs
correctly.
2018-08-12 09:58:34 -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 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