From c2ef3550da7866bdb5c1340b562f4b7ba9a20b68 Mon Sep 17 00:00:00 2001 From: patak-dev Date: Tue, 22 Oct 2024 21:30:22 +0200 Subject: [PATCH 1/3] docs: center last projects row in landing --- .../FrameworksSection.vue | 53 +++++++++++++------ 1 file changed, 37 insertions(+), 16 deletions(-) diff --git a/docs/.vitepress/theme/components/landing/3. frameworks-section/FrameworksSection.vue b/docs/.vitepress/theme/components/landing/3. frameworks-section/FrameworksSection.vue index df59bfaf6d545a..c108d3740f1b8d 100644 --- a/docs/.vitepress/theme/components/landing/3. frameworks-section/FrameworksSection.vue +++ b/docs/.vitepress/theme/components/landing/3. frameworks-section/FrameworksSection.vue @@ -244,19 +244,6 @@ const numFrameworksPerRow = computed( () => numBlocksPerRow.value - paddedBlocksPerSide.value * 2, ) -/** - * The indexes of the blocks on each row that support framework cards. - */ -const centerIndexes: ComputedRef<{ start: number; end: number }> = computed( - () => { - const startIndex = paddedBlocksPerSide.value - return { - start: startIndex, - end: numBlocksPerRow.value - paddedBlocksPerSide.value, - } - }, -) - /** * How many rows do we need to display all the frameworks? */ @@ -264,6 +251,40 @@ const numRows: ComputedRef = computed(() => { return Math.ceil(frameworks.length / numFrameworksPerRow.value) }) +/** + * The indexes of the blocks on each row that support framework cards. + */ +const centerIndexes: ComputedRef<{ start: number; end: number }[]> = computed( + () => { + const firstRowsStartIndex = paddedBlocksPerSide.value + const frameworksPerFirstRows = + numBlocksPerRow.value - 2 * paddedBlocksPerSide.value + const lastRowStartIndex = + paddedBlocksPerSide.value + + Math.floor( + (frameworksPerFirstRows - + (frameworks.length % frameworksPerFirstRows)) / + 2, + ) + return new Array(numRows.value + 1).fill(0).map((_, i) => { + return i < numRows.value || + frameworks.length % frameworksPerFirstRows === 0 + ? { + start: firstRowsStartIndex, + end: numBlocksPerRow.value - paddedBlocksPerSide.value, + } + : { + start: lastRowStartIndex, + end: + lastRowStartIndex + + (frameworks.length % frameworksPerFirstRows) + + 1, + } + }) + }, +) + +console.log(centerIndexes.value) /** * Generate CSS transformations for each row, to gracefully slide between horizontal positions. */ @@ -289,8 +310,8 @@ const rowStyle: ComputedRef<{ transform: string }> = computed(() => {