Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement Faro design #1

Merged
merged 167 commits into from
Dec 13, 2023
Merged

Implement Faro design #1

merged 167 commits into from
Dec 13, 2023

Conversation

PeeterPaal
Copy link
Collaborator

@PeeterPaal PeeterPaal commented Sep 28, 2023

Description

Implements new, ecommerce oriented Faro design. This design uses a modular block system, that allows user to add/remove/change blocks and move them up or down in order, plus allows adding background colour or image to each block separately. Compared to other Voog designs, this design does not support Blog features or "old style" store with Product list and Product layouts. Product list layout is instead intended for use with Product list content area.

Current PR should accomplish fully-featured design that is ready for presenting to clients.

Testing

On Front page, Categories and Common page layouts, check that switching between layouts works as expected and changes are saved correctly. Switching can be done by choosing a desired layout from dropdown visible in editmode.

Screenshot 2023-11-09 at 16 35 04

On Categories and Common page layouts, verify that block system works as expected. Check that

  • Adding blocks works. Adding a block always creates a block with default layout defined in template-settings-json that can then be modified. Block can be added below all other blocks by clicking on the grey + icon.

Picture of add button, which is placed right before footer and below all other blocks.
Screenshot 2023-11-09 at 16 50 30

  • Removing a block works. Removing a block should not refresh the page, but a request should be made and removed from DOM with JS afterwards instead. Block can be removed by hovering on a block and clicking on trashcan icon in top-right.
  • Changing block positions works. Changing positions should not refresh the page, but a request should be made and then switch should be done in DOM with JS afterwards. Moving can be done by hovering over a block and clicking on up/down button.

Picture of editmode design

Screenshot 2023-11-09 at 16 44 22

Check that Header works. Expected behaviour in main menu is to hide all overflowing menu items and place them inside a dropdown menu. This should also work on window resize. Also verify mobile design.

Verify that Design editor works and settings change what they say that they change.

Verify that Auto-generated Product page works as expected, with buy buttons, sale prices, product images etc. present.

Verify that BGPickers work whereever they can be found. At least one BGPicker should be present on every page, with every block containing its own BGPicker. Blocks on Categories page have separate BGPickers for both columns.

Verify that Search is not displayed when it's turned off in site settings.

Verify that Cart button is not displayed when store is turned off for site.

Files that can be omitted when doing a code review:

All template-cs-*.tpl files, as these are auto-generated from sources/components/custom-styles/template-cs-*.scss files.

javascripts and stylesheets folder contents, as these are auto-generated from sources/javascripts and sources/stylesheets.

sources/javascripts/libs/colorextract.js, as this is copied over from previous Voog designs.

Implements main menu, that is sticky and has dropdown menus. Header
and dropdown menus use the same background color as page. To achieve
this, bgpicker will write RGB value to variable, that is then used in
CSS.
@PeeterPaal PeeterPaal self-assigned this Sep 28, 2023
Implements 3 different front page layouts - split, column and
column-split. Layout is applied by assigning according classname.
Implements Product list layout that includes default styles for
product list widget. Includes breadcrumb menu component & bgpicker.
- Add bgpicker to product page
- Add footnote area to product page
- Improve buy button placement visuals
Adds dropdown menu that contains menuitems that do not fit the top bar.
Overflowing items are added to menu using JS and this runs on page load
and window resize.
Common page layout will be composed of different blocks, each block has
a slightly different layout. Currently 4 block layouts are supported.
Add separate bgpicker to each block added to page. Blocks are now
read from and saved to page data. This makes it possible to add
additional blocks and/or remove or modify them.
- Make image area a content area
- Simplify contents layout
- Make hero area "main" content area
As subpage add button is only visible in submenu, it needs to be always
openable in editmode.
@PeeterPaal PeeterPaal requested a review from tanelj December 7, 2023 09:04
@vkjgr
Copy link

vkjgr commented Dec 8, 2023

Hi!

Desktop

  • As the block has a Background color picker icon in the top left corner and a Trashbin in the top right corner, I assume that the Trashbin will delete the image. There is a TITLE, but it has a browser delay. Some possible solutions: Can we add a tooltip on hover or write a better alert text? Something like “Soovid kustutada blokki. Oled sa kindel?”
  • When adding text blocks, the initial text color is white. After adding another one, it turns black. It should not change. I got it. When adding a background image, the text color turns white.
  • How can I add an image as the Site Title without adding a Gallery? Like in the theme demo.
  • Is it intentional that a single row is half the width, not the page width?
  • There are only 2 menu levels accessible.

Mobile

  • In Figma, the header-content is aligned left, but in construction it is centered. Both are nice, I just noticed the difference. Is it because of the second menu back button?
  • The second level menu should come from the right :)
  • I would like to see the cart always in the menu. At least the number of items in it. See note:
  • Let’s speed up the transitions from 1s to 300ms

Best practices for shopping cart design

  1. Place the shopping cart icon in the top right corner of the page
    https://webflow.com/blog/ecommerce-cart-design

@PeeterPaal
Copy link
Collaborator Author

Desktop:

There is a TITLE, but it has a browser delay. Some possible solutions: Can we add a tooltip on hover or write a better alert text?

We would like to keep the alert text as general as possible, as these are system-wide translations. I will explore some options to see whether adding a tooltip that appears faster on hover is possible.

When adding text blocks, the initial text color is white. After adding another one, it turns black. It should not change.

Text colors automatically adjust based on content background, perhaps that was the case here?

How can I add an image as the Site Title without adding a Gallery? Like in the theme demo.

By adding a Text type content area and drag-dropping an image into that :)

Is it intentional that a single row is half the width, not the page width?

In design the "hero" content in Front page is not very wide, which is why it is only half-width.

There are only 2 menu levels accessible.

Currently it is planned to only support maximum of 2 levels in menus. Most standard designs follow the same pattern, but if need arises, then adding lower levels can be considered.

Mobile:

In Figma, the header-content is aligned left, but in construction it is centered. Both are nice, I just noticed the difference. Is it because of the second menu back button?

Yes, I figured that the header content should perhaps always be visible, even with the back arrow present.

The second level menu should come from the right :)

Will change that.

I would like to see the cart always in the menu.

I'll take a look if it can be fixed to the bottom of the screen, but as it is quite large, it can take up a lot of screen space. In Figma Proto, the Cart button was not fixed to the bottom, which is why it is currently implemented like that.

I'll can also play around with displaying the current number of products in cart.

Let’s speed up the transitions from 1s to 300ms

Will change that too :)

Add tooltips that appear on hover to editmode icons to make their
functionality more clear.
Make mobile menu animations run faster & make mobile submenu open
from right side.
Include `theme-color` meta tag to help browsers use background colour
for browser UI elements.

Reduce mobile submenu background opacity for better experience on
mobile Safari.
Copy link
Member

@tanelj tanelj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work but there has som minor issues.

Also it seems that in front page layout footer "flying" when there has few content on main area.

Screenshot 2023-12-11 at 18 31 03

Show page background color only until footer, after which footer bg
color is displayed until the end of the page.
Use IntersectionObserver to figure out whether block is in viewport
and run animations if block enters viewport for the first time.
- Use fixed values for animations to ensure better consistency
- Simplify CSS rules for animations as a result
@PeeterPaal PeeterPaal requested a review from tanelj December 12, 2023 09:45
Copy link
Member

@tanelj tanelj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work!

- Lower H1 default font size
- Do not underline links in footer by default
Copy link
Member

@tanelj tanelj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice!

@tanelj tanelj merged commit 435b9f2 into main Dec 13, 2023
@tanelj tanelj deleted the dummy-base branch December 13, 2023 14:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants