Skip to content

feat(settings): Rework personal info into a sectioned single-column layout#61358

Open
nfebe wants to merge 2 commits into
masterfrom
enh/57008-personal-info-reorg
Open

feat(settings): Rework personal info into a sectioned single-column layout#61358
nfebe wants to merge 2 commits into
masterfrom
enh/57008-personal-info-reorg

Conversation

@nfebe

@nfebe nfebe commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Personal info is reorganized into clear sections in a single column instead of a multi-column grid of separately mounted widgets, with fields adopting a consistent modern look in line with the settings redesign.

Resolves: #57008

Before

a4-personal-settings

After

Screencast.From.2026-06-16.22-51-29.webm

nfebe added 2 commits June 16, 2026 22:35
…ayout

Personal info is reorganized into clear sections in a single column instead
of a multi-column grid of separately mounted widgets, with fields adopting a
consistent modern look in line with the settings redesign.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
…over

The per-field privacy control now sets both profile visibility and federation
scope in one popover, replacing the separate visibility section.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
@nfebe nfebe added this to the Nextcloud 35 milestone Jun 16, 2026
@nfebe nfebe requested review from kra-mo, skjnldsv and susnux June 16, 2026 21:54
@nfebe nfebe requested review from a team as code owners June 16, 2026 21:54
@nfebe nfebe requested review from sorbaugh and removed request for a team June 16, 2026 21:54
@nfebe nfebe added the design Design, UI, UX, etc. label Jun 16, 2026
@nfebe nfebe added 3. to review Waiting for reviews feature: settings labels Jun 16, 2026
@nfebe nfebe requested review from CarlSchwan, artonge and leftybournes and removed request for a team June 16, 2026 21:54
@github-project-automation github-project-automation Bot moved this to 🏗️ In progress in 📁 Files team Jun 16, 2026
@artonge artonge requested a review from pringelmann June 17, 2026 11:33

@pringelmann pringelmann left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Good overall! Left some comments, and two general points:

  • Would be nice to get these changes covered by tests. I know we didn't have any to begin with, but this might be a good opportunity to add some. Even just getting an LLM to write tests that cover the critical happy paths.
  • The max width of the form inputs feels a bit too wide. Maybe set the cap a bit lower? Just my opinion :) cc @kra-mo

import { loadState } from '@nextcloud/initial-state'
import HeaderBar from '../shared/HeaderBar.vue'
import EditProfileAnchorLink from './EditProfileAnchorLink.vue'
import ProfileCheckbox from './ProfileCheckbox.vue'

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Can we also get rid of ProfileCheckbox and EditProfileAnchorLink?

.property__helper-text-message {
padding: 4px 0;
&__scope {
flex: 0 0 44px;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Lots of hard-coded clickable area sizes (44px, 44px + 8px gap, etc.)

Can we replace/compute these with var(--default-clickable-area) where applicable?

@kra-mo kra-mo left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

+963
-1,311

Neat :D

As @pringelmann said, it is a bit too wide, but also, it should be center-aligned instead of left-aligned.

Otherwise, looks good from the design side!

@kra-mo

kra-mo commented Jun 18, 2026

Copy link
Copy Markdown
Member

Although, are the vertical lines everywhere a video compression glitch or are there just separator lines in a bunch of places? If there are, they are not needed. The layout is quite clear without them already.

@kra-mo

kra-mo commented Jun 18, 2026

Copy link
Copy Markdown
Member

Oh but actually, I forgot that according the original mockup, "Language & locale" and "Profile & contact" should be two separate pages, replacing "Personal info".

</NcPopover>
</template>

<script>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

should be at least lang="ts" better directly script setup lang="ts" to prevent us from having to refactor all of this to enabled vapor mode.

@jancborchardt jancborchardt left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Agree with Laura’s and Peter’s review on the width, and also on the center-alignment.

Important to note about the center alignment is that it shouldn’t center in the app-content on the right, but generally based on the viewport. So it should be nicely centered below the search bar in the header.

And as per discussion with @kra-mo, it would be best to put layouting logic like that in the components, because this will be the case for most or all settings sections.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

3. to review Waiting for reviews design Design, UI, UX, etc. feature: settings

Projects

Status: 🏗️ In progress

Development

Successfully merging this pull request may close these issues.

Personal info settings reorganization

5 participants