Commit Graph

28 Commits

Author SHA1 Message Date
Toby Zerner
976d97877b Improve global back button. Goes back to previous interface.
It’s not quite like the browser’s back button because it doesn’t
necessarily go back to the last URL; rather, it goes back to the last
interface. So if you go into a discussion, then go to a different
discussion via the side pane, the back button will still take you back
to the index (not the previous discussion).
2015-03-20 10:40:42 +10:30
Toby Zerner
3880ce70f0 Add user activity system 2015-03-17 17:06:12 +10:30
Toby Zerner
edac830371 Add user profile side nav 2015-03-12 12:59:32 +10:30
Toby Zerner
2fc562e8d1 Implement user hover cards and basic profile pages 2015-03-12 10:40:03 +10:30
Toby Zerner
1d6616a419 Responsive design baby!
Mobile responsive design with a very native feel, all in pure CSS (no
templating differences between versions — even though some things are
in very different positions.)

I’ve been working on this whole thing in my head for a while now,
planning out how certain components will be laid out on the mobile
version, and how to reason about them in the templates so that a
substantially different layout can still be achieved by only using CSS.
Today I finally wrote the CSS and it’s come together pretty damn
perfectly.

Still to come:
- Swiping left or right on discussions to reveal controls
- Tablet version
2015-03-03 20:30:52 +10:30
Toby Zerner
195e0f1321 Fix alerts not dismissing 2015-02-26 13:28:44 +10:30
Toby Zerner
cfb89de251 Fix index result caching 2015-02-26 09:45:12 +10:30
Toby Zerner
9ea482254c Finish signup process, including state restoration 2015-02-25 15:34:02 +10:30
Toby Zerner
2c46888db5 Upgrade to L5 + huge refactor + more. closes #2
New stuff:
- Signup + email confirmation.
- Updated authentication strategy with remember cookies. closes #5
- New search system with some example gambits! This is cool - check out
the source. Fulltext drivers will be implemented as decorators
overriding the EloquentPostRepository’s findByContent method.
- Lay down the foundation for bootstrapping the Ember app.
- Update Web layer’s asset manager to properly publish CSS/JS files.
- Console commands to run installation migrations and seeds.

Refactoring:
- New structure: move models, repositories, commands, and events into
their own namespaces, rather than grouping by entity.
- All events are classes.
- Use L5 middleware and command bus implementations.
- Clearer use of repositories and the Active Record pattern.
Repositories are used only for retrieval of ActiveRecord objects, and
then save/delete operations are called directly on those ActiveRecords.
This way, we don’t over-abstract at the cost of Eloquent magic, but
testing is still easy.
- Refactor of Web layer so that it uses the Actions routing
architecture.
- “Actor” concept instead of depending on Laravel’s Auth.
- General cleanup!
2015-02-24 20:33:18 +10:30
Toby Zerner
011ae3603e Implement "renamed" posts
Record when the discussion was renamed, from what, and by whom.
Information is stored in the `content` field as a serialised JSON
object because proper polymorphism will be too difficult with Ember
Data and especially when extensions try to add new post types.
2015-02-13 10:23:38 +10:30
Toby Zerner
681de4244b Still show index pane when a discussion is created 2015-02-12 15:19:46 +10:30
Toby Zerner
c28307903b Upgrade to Ember 1.11-beta.1
HTMLBars goodness! Since there was some breakage and a lot of fiddling
around to get some things working, I took this opportunity to do a big
cleanup of the whole Ember app. I accidentally worked on some new
features too :3

Note that the app is still broken right now, pending on
https://github.com/emberjs/ember.js/issues/10401

Cleanup:
- Restructuring of components
- Consolidation of some stuff into mixins, cleanup of some APIs that
will be public
- Change all instances of .property() / .observes() / .on() to
Ember.computed() / Ember.observer() / Ember.on() respectively (I think
it is more readable)
- More comments
- Start conforming to a code style (2 spaces for indentation)

New features:
- Post hiding/restoring
- Mark individual discussions as read by clicking
- Clicking on a read discussion jumps to the end
- Mark all discussions as read
- Progressively mark the discussion as read as the page is scrolled
- Unordered list post formatting
- Post permalink popup

Demo once that Ember regression is fixed!
2015-02-10 18:05:40 +10:30
Toby Zerner
d45f2fd1ac Signup + modal refactoring 2015-02-08 15:59:39 +10:30
Toby Zerner
59964e3b22 Implement post editing 2015-02-08 15:55:33 +10:30
Toby Zerner
28d213d868 Implement discussion composition and creation 2015-02-06 14:07:15 +10:30
Toby Zerner
b4ea3af5b4 Make discussion in view when returning to index 2015-02-06 12:22:08 +10:30
Toby Zerner
3b375e9dc4 These are with the last commit 2015-02-06 10:34:12 +10:30
Toby Zerner
9ddc622929 Refactor index pane
So that it only loads when needed, and caches results so things are
nice and snappy
2015-02-06 10:32:45 +10:30
Toby Zerner
0365ae6c71 Load discussion and posts with one request
Speeds things up a heap.
Also fix a whole bunch of bugs with the post stream.
2015-02-06 10:30:38 +10:30
Toby Zerner
12b0418eb7 Improve post composer + replying
- Make it modular so that different entry points can show different
things and respond differently (reply, new discussion, edit post)
- Resizable
- Fullscreen
- Confirm on close
2015-02-02 16:57:59 +10:30
Toby Zerner
12622e6c28 Work on composer, early implementation of replying 2015-01-30 12:22:19 +10:30
Toby Zerner
c2feae406d Add ember-simple-auth, setup login
- Allow dropdown-buttons to render a partial
2015-01-30 12:21:18 +10:30
Toby Zerner
774b74dd0f Convert to int before checking start 2015-01-26 11:45:21 +10:30
Toby Zerner
df7da9338d Fix JSHint errors 2015-01-21 14:29:00 +10:30
Toby Zerner
74e80ea2df Implement redesign, refactor everything
- Write CSS for everything, update templates.
- Refactor discussion view. Stream is split into two components
(content and scrubber) which have their own responsibilities.
- Extract pane functionality into a mixin.
- Implement global “back button” system. You give a “paneable” target
to the application controller, the back button will modulate its
pane-related properties as necessary, and call an action when the
button is clicked.
- Extract welcome-hero into its own component.
- Lots of other general improvements/refactoring. The code is quite
well-commented so take a look!
2015-01-16 17:26:18 +10:30
Toby Zerner
690174297d Rejigging templates for redesign.
- Componentize more stuff, heading in the direction of Ember 2.0
- Start CSS from scratch
- Everything is broken atm!
2015-01-01 20:08:38 +10:30
Toby Zerner
1d8cda3c17 Get rid of some troublesome dependencies for now. 2014-12-20 21:06:15 +10:30
Toby Zerner
74db323f83 Hello world! 2014-12-20 16:56:46 +10:30