The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
% my $wizard = stash 'wizard';
% my $err;
%= form_for 'connection.add', class => 'horizontal', method => 'post', 'data-draw' => 'add-connection', begin
  <div class="form-group nick">
    <label for="nick">Nick</label>
    %= text_field 'nick', session('login'), id => 'nick'
    % if ($err = validation->error('nick')) {
    <p class="error">Need to be a-z, 0-9, - and _.</p>
    % }
    <p class="help">Handle to operate under.</p>
  </div>
  <div class="form-group name">
    <label for="name">Network</label>
    <select name="name" id="name">
    % for my $network (@$select_networks) {
      % my @selected = $network->{name} eq $default_network ? (selected => 'selected') : ();
      %= tag 'option', value => $network->{name}, 'data-channels' => $network->{channels} || '', @selected, begin
        %= $network->{name}
        % if(my $home_page = $network->{home_page}) {
          % $home_page =~ s!^https?://!!;
          %= "- $home_page"
        % }
      % end
    % }
    </select>
    % if ($err = validation->error('name')) {
    <p class="error">
      % if($err->[0] eq 'exists') {
      Connection already exists.
      % } else {
      Need to be a-z, 0-9 and -.
      % }
    </p>
    % }
    <p class="help">You can also <%= link_to 'add', 'network.add', class => 'no-pjax' %> a custom network.</p>
  </div>
  <div class="form-group channels">
    <label for="channels">Channels</label>
    %= text_field 'channels', id => 'channels'
    % if ($err = validation->error('channels')) {
    <p class="error">Invalid channel names.</p>
    % }
    <p class="help">Which chat rooms you want to be part of.</p>
  </div>
  <div class="actions">
  % if($wizard) {
    %= hidden_field wizard => 1
    <button type="submit">Start chatting</button>
  % } else {
    <button type="submit">Add connection</button>
  % }
  </div>
% end