diff --git a/front/ui-docs/components/ui/layout/section.md b/front/ui-docs/components/ui/layout/section.md index b6b5e984f..119f55e2d 100644 --- a/front/ui-docs/components/ui/layout/section.md +++ b/front/ui-docs/components/ui/layout/section.md @@ -9,7 +9,7 @@ import Toggle from '~/components/ui/Toggle.vue' import Spacer from '~/components/ui/layout/Spacer.vue' import Button from '~/components/ui/Button.vue' import Activity from '~/components/ui/Activity.vue' -import LayoutSection from '~/components/ui/layout/Section.vue' +import Section from '~/components/ui/layout/Section.vue' const alignLeft = ref(false) @@ -108,13 +108,19 @@ const user: User = { # Layout section -## Alignment +Sections divide the page vertically. Choose an appropriate heading level for each section: `h1` or `h2` or `h3`. + +```vue-html +
+``` + +### Align the section to the page ```vue-html
``` -## Item width +### Make the section header align with the section contents Do you want to align the header to tiny, small or medium items? @@ -122,29 +128,28 @@ Do you want to align the header to tiny, small or medium items?
``` -## Heading +### Provide an action -`h1` or `h2` or `h3` `="title"` +The link or button will be shown on the right side of the header. ```vue-html -
+
+ +
``` -## Action +
+
-Will be shown on the right side of the header +You can add props to the Link or Button, for example to make them `primary` or add an icon: -### (a) Add a link: - -```vue-html -
+```vue-html{1} +
``` -### (b) Or a button: - -```vue-html -
-``` +
## Example @@ -153,24 +158,17 @@ Will be shown on the right side of the header ---- - -
- - +
Artist Name - 13 tracks Artist Name - 13 tracks Artist Name - 13 tracks - +
- -
``` @@ -194,25 +190,31 @@ Will be shown on the right side of the header
- +
Artist Name - 13 tracks Artist Name - 13 tracks Artist Name - 13 tracks - +
- +
- +
+ +## Responsivity + +- Cards and Activities snap to the grid columns. They have intrinsic widths, expressed in the number of columns they span. For Card, it is 3 and for Activity, it is 4. +- On a typical laptop screen, you will have 4 albums or 3 activities side-by-side. On a typical mobile screen, you will have 1 medium card or 2 small ones in a row. +- The remaining space is evenly distributed. +- Title rows align with the content below them. + +Resize the window to observe how the items move. diff --git a/front/ui-docs/designing-pages.md b/front/ui-docs/designing-pages.md index 2541cdb1a..fd414afcb 100644 --- a/front/ui-docs/designing-pages.md +++ b/front/ui-docs/designing-pages.md @@ -9,100 +9,13 @@ import Toggle from '~/components/ui/Toggle.vue' import Spacer from '~/components/ui/layout/Spacer.vue' import Button from '~/components/ui/Button.vue' import Activity from '~/components/ui/Activity.vue' +import Section from '~/components/ui/layout/Section.vue' const alignLeft = ref(false) const attributes = computed(() => ({ style: alignLeft.value ? 'justify-content: start' : '' })) - -const track: Track = { - id: 0, - fid: "", - - title: 'Some lovely track', - description: { - content_type: 'text/markdown', - text: `**New:** Music for the eyes!` - }, - cover: { - uuid: "", - urls: { - original: 'https://images.unsplash.com/photo-1524650359799-842906ca1c06?ixlib=rb-1.2.1&dl=te-nguyen-Wt7XT1R6sjU-unsplash.jpg&w=640&q=80&fm=jpg&crop=entropy&cs=tinysrgb', - medium_square_crop: 'https://images.unsplash.com/photo-1524650359799-842906ca1c06?ixlib=rb-1.2.1&dl=te-nguyen-Wt7XT1R6sjU-unsplash.jpg&w=640&q=80&fm=jpg&crop=entropy&cs=tinysrgb', - large_square_crop: 'https://images.unsplash.com/photo-1524650359799-842906ca1c06?ixlib=rb-1.2.1&dl=te-nguyen-Wt7XT1R6sjU-unsplash.jpg&w=640&q=80&fm=jpg&crop=entropy&cs=tinysrgb' - } - }, - tags: ["example"], - uploads: [], - downloads_count: 1927549377, - artist_credit: [{ - artist: { - id: 0, - fid: "", - - name: "The Artist", - description: { - content_type: 'text/markdown', - text: `I'm a musician based on the internet. - - Find all my music on [Funkwhale](https://funkwhale.audio)!`}, - tags: [], - - content_category: 'music', - albums: [], - tracks_count: 1, - attributed_to: { - id: 0, - summary: "", - preferred_username: "User12345", - full_username: "User12345", - is_local: false, - domain: "myDomain.io" - }, - is_local: false, - is_playable: true - }, - credit: "", - joinphrase: " and ", - index: 22 - }], - disc_number: 7, - - listen_url: "https://funkwhale.audio", - creation_date: "12345", - attributed_to: { - id: 0, - summary: "", - preferred_username: "User12345", - full_username: "User12345", - is_local: false, - domain: "myDomain.io" - }, - - is_playable: true, - is_local: false -} - -const user: User = { - id: 12, - avatar: { - uuid: "", - urls: { - original: 'https://images.unsplash.com/photo-1524650359799-842906ca1c06?ixlib=rb-1.2.1&dl=te-nguyen-Wt7XT1R6sjU-unsplash.jpg&w=640&q=80&fm=jpg&crop=entropy&cs=tinysrgb', - medium_square_crop: 'https://images.unsplash.com/photo-1524650359799-842906ca1c06?ixlib=rb-1.2.1&dl=te-nguyen-Wt7XT1R6sjU-unsplash.jpg&w=640&q=80&fm=jpg&crop=entropy&cs=tinysrgb', - large_square_crop: 'https://images.unsplash.com/photo-1524650359799-842906ca1c06?ixlib=rb-1.2.1&dl=te-nguyen-Wt7XT1R6sjU-unsplash.jpg&w=640&q=80&fm=jpg&crop=entropy&cs=tinysrgb' - } - }, - email: "user12345@example.org", - summary: { text: "Hi! I'm Example from The Internet.", content_type: "text" }, - username: "user12345", - full_username: "user12345", - instance_support_message_display_date: "?", - funkwhale_support_message_display_date: "?", - is_superuser: true, - privacy_level: "everyone" -} # Designing Pages @@ -111,110 +24,17 @@ const user: User = { The page grid consists of 46px wide tracks, separated by 32px wide gaps. [See examples on design.funkwhale.audio](https://design.funkwhale.audio/#/workspace/582e7be1-0cc7-11ed-87a1-ae44a720651d/e3a00150-0f5e-11ed-adb9-fff9e854a67c?page-id=e7a90671-0f5e-11ed-adb9-fff9e854a67c) -### Responsivity +## Page sections -- Cards and Activities snap to the grid columns. They have intrinsic widths, expressed in the number of columns they span. For Card, it is 3 and for Activity, it is 4. -- On a typical laptop screen, you will have 4 albums or 3 activities side-by-side. On a typical mobile screen, you will have 1 medium card or 2 small ones in a row. -- The remaining space is evenly distributed. -- Title rows align with the content below them. +Use the [Layout Section component](/components/ui/layout/section) to structure the page into separate sections, each with a heading. Make sure the heading level hierarchy makes sense. -Resize the window to observe how the items move. +
+ + + +
- - - - ---- - -
- - - - - - - -

- Albums -

- - -
-
- - - Artist Name - 13 tracks - - - Artist Name - 13 tracks - - - Artist Name - 13 tracks - - - Artist Name - 13 tracks - - - Artist Name - 13 tracks - - - - - - - - - -

- Tracks -

- - -
-
- - - - - -
+Sections and their contentsare automatically aligned to the default grid. ## Navigation