Home: add setup guide tab under home tab (#92947)

* feat: add setup guide in home tab

* chore: add feature toggle for setup guide

* chore: add feature toggle for sub menu

* chore: run pretier

* chore: run i18n

* chore: run generated files again

* chore: update description

* chore: update comment to trigger test flow

* chore: trigger test

* chore: fix styling
This commit is contained in:
Serena
2024-09-25 18:20:04 +01:00
committed by GitHub
parent 26a3e70cfa
commit c822feff9e
12 changed files with 54 additions and 1 deletions
+1
View File
@@ -28,4 +28,5 @@ const (
enterpriseDatasourcesSquad codeowner = "@grafana/enterprise-datasources"
grafanaSharingSquad codeowner = "@grafana/sharing-squad"
grafanaDatabasesFrontend codeowner = "@grafana/databases-frontend"
growthAndOnboarding codeowner = "@grafana/growth-and-onboarding"
)
+7
View File
@@ -1438,6 +1438,13 @@ var (
FrontendOnly: true,
Owner: grafanaObservabilityLogsSquad,
},
{
Name: "homeSetupGuide",
Description: "Used in Home for users who want to return to the onboarding flow or quickly find popular config pages",
Stage: FeatureStageExperimental,
FrontendOnly: true,
Owner: growthAndOnboarding,
},
{
Name: "appPlatformAccessTokens",
Description: "Enables the use of access tokens for the App Platform",
+1
View File
@@ -190,6 +190,7 @@ singleTopNav,experimental,@grafana/grafana-frontend-platform,false,false,true
exploreLogsShardSplitting,experimental,@grafana/observability-logs,false,false,true
exploreLogsAggregatedMetrics,experimental,@grafana/observability-logs,false,false,true
exploreLogsLimitedTimeRange,experimental,@grafana/observability-logs,false,false,true
homeSetupGuide,experimental,@grafana/growth-and-onboarding,false,false,true
appPlatformAccessTokens,experimental,@grafana/identity-access-team,false,false,false
appSidecar,experimental,@grafana/explore-squad,false,false,false
groupAttributeSync,experimental,@grafana/identity-access-team,false,false,false
1 Name Stage Owner requiresDevMode RequiresRestart FrontendOnly
190 exploreLogsShardSplitting experimental @grafana/observability-logs false false true
191 exploreLogsAggregatedMetrics experimental @grafana/observability-logs false false true
192 exploreLogsLimitedTimeRange experimental @grafana/observability-logs false false true
193 homeSetupGuide experimental @grafana/growth-and-onboarding false false true
194 appPlatformAccessTokens experimental @grafana/identity-access-team false false false
195 appSidecar experimental @grafana/explore-squad false false false
196 groupAttributeSync experimental @grafana/identity-access-team false false false
+4
View File
@@ -771,6 +771,10 @@ const (
// Used in Explore Logs to limit the time range
FlagExploreLogsLimitedTimeRange = "exploreLogsLimitedTimeRange"
// FlagHomeSetupGuide
// Used in Home for users who want to return to the onboarding flow or quickly find popular config pages
FlagHomeSetupGuide = "homeSetupGuide"
// FlagAppPlatformAccessTokens
// Enables the use of access tokens for the App Platform
FlagAppPlatformAccessTokens = "appPlatformAccessTokens"
+16
View File
@@ -1433,6 +1433,22 @@
"hideFromAdminPage": true
}
},
{
"metadata": {
"name": "homeSetupGuide",
"resourceVersion": "1726258153467",
"creationTimestamp": "2024-09-10T15:46:32Z",
"annotations": {
"grafana.app/updatedTimestamp": "2024-09-13 20:09:13.467989 +0000 UTC"
}
},
"spec": {
"description": "Used in Home for users who want to return to the onboarding flow or quickly find popular config pages",
"stage": "experimental",
"codeowner": "@grafana/growth-and-onboarding",
"frontend": true
}
},
{
"metadata": {
"name": "idForwarding",
@@ -202,6 +202,18 @@ func (s *ServiceImpl) getHomeNode(c *contextmodel.ReqContext, prefs *pref.Prefer
Icon: "home-alt",
SortWeight: navtree.WeightHome,
}
ctx := c.Req.Context()
if s.features.IsEnabled(ctx, featuremgmt.FlagHomeSetupGuide) {
var children []*navtree.NavLink
// setup guide (a submenu item under Home)
children = append(children, &navtree.NavLink{
Id: "home-setup-guide",
Text: "Setup guide",
Url: homeUrl + "/setup-guide",
SortWeight: navtree.WeightHome,
})
homeNode.Children = children
}
return homeNode
}