GithubHelp home page GithubHelp logo

alfio-event / alf.io-public-frontend Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 12.0 3.76 MB

Frontend for the public part of alf.io

License: GNU General Public License v3.0

JavaScript 0.39% TypeScript 62.42% HTML 33.76% SCSS 3.43%
angular

alf.io-public-frontend's People

Contributors

baccinelli avatar cbellone avatar dependabot[bot] avatar snyk-bot avatar syjer avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

alf.io-public-frontend's Issues

Improve Tickets layout

  • vertical align Label, price and dropdown to the centre
  • same font size for Label, price and dropdown
  • display "{n.} tickets left" info if <10 tickets left
  • make "sales end" less evident than the ticket description (text muted)

Missing error feedback on update ticket

How to reproduce:

  • complete a reservation
  • add a new additional information, and mark it as required
  • open the reservation page, try to update the ticket
    image
  • the PUT call produces an error response, which is not displayed by the application
    image

Improvements on Buttons

  • Move from Outline to Button Light
  • On mobile homepage - Continue should be displayed before Back to the website, currently:

Screenshot 2019-07-21 at 16 15 32

  • On mobile - the same on the following page, invert Cancel and Continue
  • On mobile - the same on the following page, invert Back to event site and Download your invoice
  • On mobile - space out Back to event site and Download your invoice

remove ng-bootstrap

We are using it for only 2 components:

  • ngbTooltip
  • ngbRadioGroup+ngbButtonLabel+ngbButton

improve paypal ui

in the old version we have:

https://github.com/alfio-event/alf.io/blob/2.0-M1-1906.1/src/main/webapp/WEB-INF/templates/event/payment/paypal.ms

<div class="wMarginBottom wMarginTop text-muted">
    {{#i18n}}reservation-page.paypal.description{{/i18n}}
    {{#demoModeEnabled}}
        <p>{{#i18n}}reservation-page.paypal.demo [{{paypalTestUsername}}] [{{paypalTestPassword}}]{{/i18n}}</p>
    {{/demoModeEnabled}}
</div>
<script src="{{request.contextPath}}/resources/js/payment/paypal.js" defer async></script>

{{#tokenAcquired}}
    <div class="alert alert-success">
        <h3><i class="fa fa-check"></i> {{#i18n}}reservation-page.paypal.confirm{{/i18n}}</h3>
    </div>
{{/tokenAcquired}}

We must display the token acquired part

and in the overview page ( https://github.com/alfio-event/alf.io/blob/2.0-M1-1906.1/src/main/webapp/WEB-INF/templates/event/overview.ms ) the submit button is:

{{#tokenAcquired}}
  {{#i18n}}reservation-page.confirm-button{{/i18n}}
{{/tokenAcquired}}

improve heuristic in language.guard.ts

Currently, in the language.guard.ts guard if no matches are present, it will pick the first one:

else {
      lang = availableLanguages[0];
    }

As an improved heuristic, we can first try to search for english, as it's normally the lingua franca.

As a future improvement, an Event could have a default language.

update to angular 14 (and bootstrap 5)

We first need to wait the following dependencies:

  • https://github.com/ng-bootstrap/ng-bootstrap#dependencies
  • https://github.com/ng-select/ng-select#versions
  • https://github.com/ngx-translate/core#installation (note, this may take some times, the project seems on hold?)
  • https://github.com/FortAwesome/angular-fontawesome#compatibility-table
  • do the update :D
  • fix ui
    • dismissable banner/alert: close icon is wrong
    • home page of event: select for ticket quantity is not styled (?)
    • check error: ERROR TypeError: Cannot read properties of undefined (reading 'termsAndConditionsUrl') at FooterLinksComponent_Template (footer-links.component.html:2:9)
    • attendee data, some col that should take 50% of space are placed one after the another
    • table alignemnt in summary is not respected: subtotal should be to the right
    • event page: the icon + text spacing is too much (organizer, when, location etc).
    • form: vertical spacing is much smaller, add g-2 in row WIP: candidates: waitingListForm in event-display.component, stripe-payment-proxy, poll-selection,
    • when logged, the drop down menu: in the text with icon is not aligned
    • spacing issue with checkbox / radio button
    • payment page: payment selector
    • order page: button for resending email alignement is not correct
    • when accepting the TOS/Conditions, the alignment of the text with the radiobutton are not correct, one has more space than the other
    • update ticket button is not fully aligned to the right
    • poll ui seems broken (?)
    • check mobile, the breakpoints are way differents
    • ...

check invoice available vs not available ui

It seems that even though the event does not have the fully configured invoice setting, it seems to be visible anyway in the ui.

But in the end, it will generate a receipt instead of the invoice requested by the user.

Check where is the inconsistency

support subscriptions

The event list page will be changed in the following way: 2 sections.

First section "Events" with: up to next 4 events. If more -> display a "more" button.
Second section: "Subscriptions" with: up to 4 subscriptions. If more -> display a "more" button.

Create a new list all events page which is linked by the more button. -> display paginated 20 events(client side) + client side search
Create a new list all subscription page which is linked by the more button.

More compact event view.

We can also add the support of tags for filtering for events.

New icon for "Ticket"

Options from Font Awesome free:

  • edit
  • check-square
  • file-alt
  • id-badge
  • id-card
  • receipt
  • user-circle

Improve Event Info layout

There's a lot of white space available
Screenshot 2019-07-21 at 15 53 01
that allows us to:

  • increase the font size
  • add space between icons and text
  • add some air in between paragraphs

Improve typography

  • font size: try increasing 1px the font size of standard text
  • font family: try with Source Sans Pro

roadmap

Additional fields:

  • handle euVat correctly (!check)
  • required/min/max length

note:

use of showNoCategoriesWarning :
https://github.com/alfio-event/alf.io/blob/2.0-M1-maintenance/src/main/webapp/WEB-INF/templates/event/show-event.ms#L125

use of containsExpiredCategories:
https://github.com/alfio-event/alf.io/blob/2.0-M1-maintenance/src/main/webapp/WEB-INF/templates/event/show-event.ms#L130

enable ivy

Enable ivy, note: we have an issue with maxlength, see comment below.

As a workaround, we have removed them...

Improvements to mandatory fields

  • Remove asterisk from mandatory fields and add "(optional)" instead to the optional fields
  • Remove EMPTY option from mandatory select

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.