Commit Graph

38 Commits

Author SHA1 Message Date
Toby Zerner
2884662723 Prepare welcome hero for demo 2015-02-26 13:30:13 +10:30
Toby Zerner
57f4dc6091 Have a go at some error handling
Still not happy with how this is all fitting together. But good enough
for now
2015-02-26 12:48:23 +10:30
Toby Zerner
e7b93642b2 Missed some create→extend changes 2015-02-26 12:47:04 +10:30
Toby Zerner
acd417a57c Fix composer closing animation from minimised state 2015-02-26 09:44:12 +10:30
Toby Zerner
8683025ef6 Use component prototypes instead of instances
This means the component instance is created in the template, meaning
properties can be overridden in the view helper. It also just makes
more sense - a view instance doesn’t need to exist until it is rendered
in the template.
2015-02-26 09:43:53 +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
fa3523ac74 Remove the go to top button
It’s not particularly useful when there are fixed elements all over the
page (header, sidebar)
2015-02-13 09:46:22 +10:30
Toby Zerner
87159bd9a0 Rename and delete discussion controls 2015-02-12 15:18:17 +10:30
Toby Zerner
6138825db6 Only show reply button if user has permission 2015-02-12 15:17:20 +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
64270fd066 Fix index pane autoscroll 2015-02-08 15:57:33 +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
abd3aa2e1a Composer and replying tweaks/bug-fixes 2015-02-06 14:06:22 +10:30
Toby Zerner
b4ea3af5b4 Make discussion in view when returning to index 2015-02-06 12:22:08 +10:30
Toby Zerner
e4692e3554 Save composer height in localStorage 2015-02-06 12:21:34 +10:30
Toby Zerner
3acf247c07 Remember scroll position when returning to index 2015-02-06 10:36:30 +10:30
Toby Zerner
cab17be53a Make sure selected discussion is visible in pane 2015-02-06 10:36:16 +10:30
Toby Zerner
9571a879fc Clean up application controller 2015-02-06 10:34:59 +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
6544052da6 Clean up/refactor composer, add escape hotkey 2015-02-03 16:59:53 +10:30
Toby Zerner
4c07c959ef Remove remember me for now 2015-02-02 16:58:34 +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
5edc3eba83 Improve "jump to last" scrolling behaviour 2015-01-30 13:05:42 +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
9938c346a1 Only load posts once when entering a discussion 2015-01-30 12:12:30 +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
f62e8e2541 Big component restructure/overhaul 2015-01-03 21:51:47 +10:30
Toby Zerner
9375f605a8 Working on interface components. 2015-01-03 12:26:14 +10:30
Toby Zerner
89c8f80f3f Working on responsive dropdown menu components. 2015-01-02 11:46:40 +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
238bb40360 Upgrade ember-cli to 0.1.4 and fix related breakage. closes #18 2014-12-23 12:45:07 +10:30
Toby Zerner
74db323f83 Hello world! 2014-12-20 16:56:46 +10:30