update: qt6,qml,packageview (22 files)

This commit is contained in:
2025-12-26 07:23:28 +00:00
parent e262317921
commit 1d3eef6efa
22 changed files with 704 additions and 220 deletions

View File

@@ -3,27 +3,49 @@ import QtQuick.Layouts 1.15
import "qmllib/Material" as Material
Material.MaterialSurface {
id: root
width: 380
height: 280
id: packageCard
width: 460
height: 320
property string title: "Analytics Studio"
property string subtitle: "v1.0.0"
property var dependenciesList: ["god_panel", "blog"]
ColumnLayout {
anchors.fill: parent
anchors.margins: 16
anchors.margins: 18
spacing: 12
RowLayout {
spacing: 10
Material.MaterialAvatar { initials: title.left(2).toUpper(); backgroundColor: Material.MaterialPalette.primary }
ColumnLayout { spacing: 2
spacing: 12
Material.MaterialAvatar { initials: title.left(2).toUpper(); backgroundColor: Material.MaterialPalette.primaryContainer }
ColumnLayout {
spacing: 4
Material.MaterialTypography { variant: "h3"; text: title }
Material.MaterialTypography { variant: "body1"; text: subtitle }
}
Item { Layout.fillWidth: true }
Material.MaterialBadge { text: dependenciesList.length ? "Dependency package" : "Standalone"; accent: dependenciesList.length > 0 }
}
Text { text: "Realtime dashboards for usage, telemetry, and forum health."; font.pixelSize: 14; color: Material.MaterialPalette.onSurface; wrapMode: Text.Wrap }
RowLayout { spacing: 8
Text {
text: "Realtime dashboards for usage, telemetry, and forum health."
font.pixelSize: 14
color: Material.MaterialPalette.onSurface
wrapMode: Text.WordWrap
}
GridLayout {
columns: 3
rowSpacing: 8
columnSpacing: 8
Material.MaterialChip { text: "Feature highlight" }
['Adaptive layout', 'Realtime telemetry', 'Community moderation']
}
RowLayout {
spacing: 8
Material.MaterialButton { text: "Install" }
Material.MaterialButton { text: "Details"; outlined: true }
Material.MaterialButton { text: "Dependency graph"; outlined: true }
}
}
}

View File

@@ -3,27 +3,49 @@ import QtQuick.Layouts 1.15
import "qmllib/Material" as Material
Material.MaterialSurface {
id: root
width: 380
height: 280
id: packageCard
width: 460
height: 320
property string title: "Blog"
property string subtitle: "v1.0.0"
property var dependenciesList: ["profile_page"]
ColumnLayout {
anchors.fill: parent
anchors.margins: 16
anchors.margins: 18
spacing: 12
RowLayout {
spacing: 10
Material.MaterialAvatar { initials: title.left(2).toUpper(); backgroundColor: Material.MaterialPalette.primary }
ColumnLayout { spacing: 2
spacing: 12
Material.MaterialAvatar { initials: title.left(2).toUpper(); backgroundColor: Material.MaterialPalette.primaryContainer }
ColumnLayout {
spacing: 4
Material.MaterialTypography { variant: "h3"; text: title }
Material.MaterialTypography { variant: "body1"; text: subtitle }
}
Item { Layout.fillWidth: true }
Material.MaterialBadge { text: dependenciesList.length ? "Dependency package" : "Standalone"; accent: dependenciesList.length > 0 }
}
Text { text: "Storytelling hub with author profiles and read-later tagging."; font.pixelSize: 14; color: Material.MaterialPalette.onSurface; wrapMode: Text.Wrap }
RowLayout { spacing: 8
Text {
text: "Storytelling hub with author profiles and read-later tagging."
font.pixelSize: 14
color: Material.MaterialPalette.onSurface
wrapMode: Text.WordWrap
}
GridLayout {
columns: 3
rowSpacing: 8
columnSpacing: 8
Material.MaterialChip { text: "Feature highlight" }
['Adaptive layout', 'Realtime telemetry', 'Community moderation']
}
RowLayout {
spacing: 8
Material.MaterialButton { text: "Install" }
Material.MaterialButton { text: "Details"; outlined: true }
Material.MaterialButton { text: "Dependency graph"; outlined: true }
}
}
}

View File

@@ -3,27 +3,49 @@ import QtQuick.Layouts 1.15
import "qmllib/Material" as Material
Material.MaterialSurface {
id: root
width: 380
height: 280
id: packageCard
width: 460
height: 320
property string title: "Breakout"
property string subtitle: "v1.0.0"
property var dependenciesList: ["retro_games", "gallery"]
ColumnLayout {
anchors.fill: parent
anchors.margins: 16
anchors.margins: 18
spacing: 12
RowLayout {
spacing: 10
Material.MaterialAvatar { initials: title.left(2).toUpper(); backgroundColor: Material.MaterialPalette.primary }
ColumnLayout { spacing: 2
spacing: 12
Material.MaterialAvatar { initials: title.left(2).toUpper(); backgroundColor: Material.MaterialPalette.primaryContainer }
ColumnLayout {
spacing: 4
Material.MaterialTypography { variant: "h3"; text: title }
Material.MaterialTypography { variant: "body1"; text: subtitle }
}
Item { Layout.fillWidth: true }
Material.MaterialBadge { text: dependenciesList.length ? "Dependency package" : "Standalone"; accent: dependenciesList.length > 0 }
}
Text { text: "Brick-breaking arcade experience that shares assets with the Retro Arcade package."; font.pixelSize: 14; color: Material.MaterialPalette.onSurface; wrapMode: Text.Wrap }
RowLayout { spacing: 8
Text {
text: "Brick-breaking arcade experience that shares assets with the Retro Arcade package."
font.pixelSize: 14
color: Material.MaterialPalette.onSurface
wrapMode: Text.WordWrap
}
GridLayout {
columns: 3
rowSpacing: 8
columnSpacing: 8
Material.MaterialChip { text: "Feature highlight" }
['Adaptive layout', 'Realtime telemetry', 'Community moderation']
}
RowLayout {
spacing: 8
Material.MaterialButton { text: "Install" }
Material.MaterialButton { text: "Details"; outlined: true }
Material.MaterialButton { text: "Dependency graph"; outlined: true }
}
}
}

View File

@@ -3,27 +3,49 @@ import QtQuick.Layouts 1.15
import "qmllib/Material" as Material
Material.MaterialSurface {
id: root
width: 380
height: 280
id: packageCard
width: 460
height: 320
property string title: "Connection Hub"
property string subtitle: "v1.0.0"
property var dependenciesList: ["profile_page", "gallery"]
ColumnLayout {
anchors.fill: parent
anchors.margins: 16
anchors.margins: 18
spacing: 12
RowLayout {
spacing: 10
Material.MaterialAvatar { initials: title.left(2).toUpper(); backgroundColor: Material.MaterialPalette.primary }
ColumnLayout { spacing: 2
spacing: 12
Material.MaterialAvatar { initials: title.left(2).toUpper(); backgroundColor: Material.MaterialPalette.primaryContainer }
ColumnLayout {
spacing: 4
Material.MaterialTypography { variant: "h3"; text: title }
Material.MaterialTypography { variant: "body1"; text: subtitle }
}
Item { Layout.fillWidth: true }
Material.MaterialBadge { text: dependenciesList.length ? "Dependency package" : "Standalone"; accent: dependenciesList.length > 0 }
}
Text { text: "Social graph with events, groups, and shared media."; font.pixelSize: 14; color: Material.MaterialPalette.onSurface; wrapMode: Text.Wrap }
RowLayout { spacing: 8
Text {
text: "Social graph with events, groups, and shared media."
font.pixelSize: 14
color: Material.MaterialPalette.onSurface
wrapMode: Text.WordWrap
}
GridLayout {
columns: 3
rowSpacing: 8
columnSpacing: 8
Material.MaterialChip { text: "Feature highlight" }
['Adaptive layout', 'Realtime telemetry', 'Community moderation']
}
RowLayout {
spacing: 8
Material.MaterialButton { text: "Install" }
Material.MaterialButton { text: "Details"; outlined: true }
Material.MaterialButton { text: "Dependency graph"; outlined: true }
}
}
}

View File

@@ -3,27 +3,49 @@ import QtQuick.Layouts 1.15
import "qmllib/Material" as Material
Material.MaterialSurface {
id: root
width: 380
height: 280
id: packageCard
width: 460
height: 320
property string title: "Escape Room"
property string subtitle: "v1.0.0"
property var dependenciesList: ["retro_games", "microthread"]
ColumnLayout {
anchors.fill: parent
anchors.margins: 16
anchors.margins: 18
spacing: 12
RowLayout {
spacing: 10
Material.MaterialAvatar { initials: title.left(2).toUpper(); backgroundColor: Material.MaterialPalette.primary }
ColumnLayout { spacing: 2
spacing: 12
Material.MaterialAvatar { initials: title.left(2).toUpper(); backgroundColor: Material.MaterialPalette.primaryContainer }
ColumnLayout {
spacing: 4
Material.MaterialTypography { variant: "h3"; text: title }
Material.MaterialTypography { variant: "body1"; text: subtitle }
}
Item { Layout.fillWidth: true }
Material.MaterialBadge { text: dependenciesList.length ? "Dependency package" : "Standalone"; accent: dependenciesList.length > 0 }
}
Text { text: "Puzzle-driven escape room within the Qt UI for team-building."; font.pixelSize: 14; color: Material.MaterialPalette.onSurface; wrapMode: Text.Wrap }
RowLayout { spacing: 8
Text {
text: "Puzzle-driven escape room within the Qt UI for team-building."
font.pixelSize: 14
color: Material.MaterialPalette.onSurface
wrapMode: Text.WordWrap
}
GridLayout {
columns: 3
rowSpacing: 8
columnSpacing: 8
Material.MaterialChip { text: "Feature highlight" }
['Adaptive layout', 'Realtime telemetry', 'Community moderation']
}
RowLayout {
spacing: 8
Material.MaterialButton { text: "Install" }
Material.MaterialButton { text: "Details"; outlined: true }
Material.MaterialButton { text: "Dependency graph"; outlined: true }
}
}
}

View File

@@ -3,27 +3,49 @@ import QtQuick.Layouts 1.15
import "qmllib/Material" as Material
Material.MaterialSurface {
id: root
width: 380
height: 280
id: packageCard
width: 460
height: 320
property string title: "Community Forum"
property string subtitle: "v1.0.0"
property var dependenciesList: ["profile_page", "guestbook"]
ColumnLayout {
anchors.fill: parent
anchors.margins: 16
anchors.margins: 18
spacing: 12
RowLayout {
spacing: 10
Material.MaterialAvatar { initials: title.left(2).toUpper(); backgroundColor: Material.MaterialPalette.primary }
ColumnLayout { spacing: 2
spacing: 12
Material.MaterialAvatar { initials: title.left(2).toUpper(); backgroundColor: Material.MaterialPalette.primaryContainer }
ColumnLayout {
spacing: 4
Material.MaterialTypography { variant: "h3"; text: title }
Material.MaterialTypography { variant: "body1"; text: subtitle }
}
Item { Layout.fillWidth: true }
Material.MaterialBadge { text: dependenciesList.length ? "Dependency package" : "Standalone"; accent: dependenciesList.length > 0 }
}
Text { text: "Threaded discussions with tagging and moderation tools."; font.pixelSize: 14; color: Material.MaterialPalette.onSurface; wrapMode: Text.Wrap }
RowLayout { spacing: 8
Text {
text: "Threaded discussions with tagging and moderation tools."
font.pixelSize: 14
color: Material.MaterialPalette.onSurface
wrapMode: Text.WordWrap
}
GridLayout {
columns: 3
rowSpacing: 8
columnSpacing: 8
Material.MaterialChip { text: "Feature highlight" }
['Adaptive layout', 'Realtime telemetry', 'Community moderation']
}
RowLayout {
spacing: 8
Material.MaterialButton { text: "Install" }
Material.MaterialButton { text: "Details"; outlined: true }
Material.MaterialButton { text: "Dependency graph"; outlined: true }
}
}
}

View File

@@ -3,27 +3,49 @@ import QtQuick.Layouts 1.15
import "qmllib/Material" as Material
Material.MaterialSurface {
id: root
width: 380
height: 280
id: packageCard
width: 460
height: 320
property string title: "Frontpage Experience"
property string subtitle: "v1.0.0"
property var dependenciesList: ["login", "gallery", "blog"]
ColumnLayout {
anchors.fill: parent
anchors.margins: 16
anchors.margins: 18
spacing: 12
RowLayout {
spacing: 10
Material.MaterialAvatar { initials: title.left(2).toUpper(); backgroundColor: Material.MaterialPalette.primary }
ColumnLayout { spacing: 2
spacing: 12
Material.MaterialAvatar { initials: title.left(2).toUpper(); backgroundColor: Material.MaterialPalette.primaryContainer }
ColumnLayout {
spacing: 4
Material.MaterialTypography { variant: "h3"; text: title }
Material.MaterialTypography { variant: "body1"; text: subtitle }
}
Item { Layout.fillWidth: true }
Material.MaterialBadge { text: dependenciesList.length ? "Dependency package" : "Standalone"; accent: dependenciesList.length > 0 }
}
Text { text: "Public landing page that stitches the hero, features, and CTA across all Qt experiences."; font.pixelSize: 14; color: Material.MaterialPalette.onSurface; wrapMode: Text.Wrap }
RowLayout { spacing: 8
Text {
text: "Public landing page that stitches the hero, features, and CTA across all Qt experiences."
font.pixelSize: 14
color: Material.MaterialPalette.onSurface
wrapMode: Text.WordWrap
}
GridLayout {
columns: 3
rowSpacing: 8
columnSpacing: 8
Material.MaterialChip { text: "Feature highlight" }
['Adaptive layout', 'Realtime telemetry', 'Community moderation']
}
RowLayout {
spacing: 8
Material.MaterialButton { text: "Install" }
Material.MaterialButton { text: "Details"; outlined: true }
Material.MaterialButton { text: "Dependency graph"; outlined: true }
}
}
}

View File

@@ -3,27 +3,49 @@ import QtQuick.Layouts 1.15
import "qmllib/Material" as Material
Material.MaterialSurface {
id: root
width: 380
height: 280
id: packageCard
width: 460
height: 320
property string title: "Gallery"
property string subtitle: "v1.0.0"
property var dependenciesList: ["frontpage"]
ColumnLayout {
anchors.fill: parent
anchors.margins: 16
anchors.margins: 18
spacing: 12
RowLayout {
spacing: 10
Material.MaterialAvatar { initials: title.left(2).toUpper(); backgroundColor: Material.MaterialPalette.primary }
ColumnLayout { spacing: 2
spacing: 12
Material.MaterialAvatar { initials: title.left(2).toUpper(); backgroundColor: Material.MaterialPalette.primaryContainer }
ColumnLayout {
spacing: 4
Material.MaterialTypography { variant: "h3"; text: title }
Material.MaterialTypography { variant: "body1"; text: subtitle }
}
Item { Layout.fillWidth: true }
Material.MaterialBadge { text: dependenciesList.length ? "Dependency package" : "Standalone"; accent: dependenciesList.length > 0 }
}
Text { text: "Media grid with lightbox, filters, and curated collections."; font.pixelSize: 14; color: Material.MaterialPalette.onSurface; wrapMode: Text.Wrap }
RowLayout { spacing: 8
Text {
text: "Media grid with lightbox, filters, and curated collections."
font.pixelSize: 14
color: Material.MaterialPalette.onSurface
wrapMode: Text.WordWrap
}
GridLayout {
columns: 3
rowSpacing: 8
columnSpacing: 8
Material.MaterialChip { text: "Feature highlight" }
['Adaptive layout', 'Realtime telemetry', 'Community moderation']
}
RowLayout {
spacing: 8
Material.MaterialButton { text: "Install" }
Material.MaterialButton { text: "Details"; outlined: true }
Material.MaterialButton { text: "Dependency graph"; outlined: true }
}
}
}

View File

@@ -3,27 +3,49 @@ import QtQuick.Layouts 1.15
import "qmllib/Material" as Material
Material.MaterialSurface {
id: root
width: 380
height: 280
id: packageCard
width: 460
height: 320
property string title: "God Panel"
property string subtitle: "v1.0.0"
property var dependenciesList: ["login", "user_settings"]
ColumnLayout {
anchors.fill: parent
anchors.margins: 16
anchors.margins: 18
spacing: 12
RowLayout {
spacing: 10
Material.MaterialAvatar { initials: title.left(2).toUpper(); backgroundColor: Material.MaterialPalette.primary }
ColumnLayout { spacing: 2
spacing: 12
Material.MaterialAvatar { initials: title.left(2).toUpper(); backgroundColor: Material.MaterialPalette.primaryContainer }
ColumnLayout {
spacing: 4
Material.MaterialTypography { variant: "h3"; text: title }
Material.MaterialTypography { variant: "body1"; text: subtitle }
}
Item { Layout.fillWidth: true }
Material.MaterialBadge { text: dependenciesList.length ? "Dependency package" : "Standalone"; accent: dependenciesList.length > 0 }
}
Text { text: "Power user console with server toggles, credentials, and runtime health."; font.pixelSize: 14; color: Material.MaterialPalette.onSurface; wrapMode: Text.Wrap }
RowLayout { spacing: 8
Text {
text: "Power user console with server toggles, credentials, and runtime health."
font.pixelSize: 14
color: Material.MaterialPalette.onSurface
wrapMode: Text.WordWrap
}
GridLayout {
columns: 3
rowSpacing: 8
columnSpacing: 8
Material.MaterialChip { text: "Feature highlight" }
['Adaptive layout', 'Realtime telemetry', 'Community moderation']
}
RowLayout {
spacing: 8
Material.MaterialButton { text: "Install" }
Material.MaterialButton { text: "Details"; outlined: true }
Material.MaterialButton { text: "Dependency graph"; outlined: true }
}
}
}

View File

@@ -3,27 +3,49 @@ import QtQuick.Layouts 1.15
import "qmllib/Material" as Material
Material.MaterialSurface {
id: root
width: 380
height: 280
id: packageCard
width: 460
height: 320
property string title: "Guestbook"
property string subtitle: "v1.0.0"
property var dependenciesList: []
ColumnLayout {
anchors.fill: parent
anchors.margins: 16
anchors.margins: 18
spacing: 12
RowLayout {
spacing: 10
Material.MaterialAvatar { initials: title.left(2).toUpper(); backgroundColor: Material.MaterialPalette.primary }
ColumnLayout { spacing: 2
spacing: 12
Material.MaterialAvatar { initials: title.left(2).toUpper(); backgroundColor: Material.MaterialPalette.primaryContainer }
ColumnLayout {
spacing: 4
Material.MaterialTypography { variant: "h3"; text: title }
Material.MaterialTypography { variant: "body1"; text: subtitle }
}
Item { Layout.fillWidth: true }
Material.MaterialBadge { text: dependenciesList.length ? "Dependency package" : "Standalone"; accent: dependenciesList.length > 0 }
}
Text { text: "Simple contributions feed for visitors to leave messages."; font.pixelSize: 14; color: Material.MaterialPalette.onSurface; wrapMode: Text.Wrap }
RowLayout { spacing: 8
Text {
text: "Simple contributions feed for visitors to leave messages."
font.pixelSize: 14
color: Material.MaterialPalette.onSurface
wrapMode: Text.WordWrap
}
GridLayout {
columns: 3
rowSpacing: 8
columnSpacing: 8
Material.MaterialChip { text: "Feature highlight" }
['Adaptive layout', 'Realtime telemetry', 'Community moderation']
}
RowLayout {
spacing: 8
Material.MaterialButton { text: "Install" }
Material.MaterialButton { text: "Details"; outlined: true }
Material.MaterialButton { text: "Dependency graph"; outlined: true }
}
}
}

View File

@@ -3,27 +3,49 @@ import QtQuick.Layouts 1.15
import "qmllib/Material" as Material
Material.MaterialSurface {
id: root
width: 380
height: 280
id: packageCard
width: 460
height: 320
property string title: "Login Shell"
property string subtitle: "v1.0.0"
property var dependenciesList: []
ColumnLayout {
anchors.fill: parent
anchors.margins: 16
anchors.margins: 18
spacing: 12
RowLayout {
spacing: 10
Material.MaterialAvatar { initials: title.left(2).toUpper(); backgroundColor: Material.MaterialPalette.primary }
ColumnLayout { spacing: 2
spacing: 12
Material.MaterialAvatar { initials: title.left(2).toUpper(); backgroundColor: Material.MaterialPalette.primaryContainer }
ColumnLayout {
spacing: 4
Material.MaterialTypography { variant: "h3"; text: title }
Material.MaterialTypography { variant: "body1"; text: subtitle }
}
Item { Layout.fillWidth: true }
Material.MaterialBadge { text: dependenciesList.length ? "Dependency package" : "Standalone"; accent: dependenciesList.length > 0 }
}
Text { text: "Authentication gate with credential helpers and shortcuts to God-level panels."; font.pixelSize: 14; color: Material.MaterialPalette.onSurface; wrapMode: Text.Wrap }
RowLayout { spacing: 8
Text {
text: "Authentication gate with credential helpers and shortcuts to God-level panels."
font.pixelSize: 14
color: Material.MaterialPalette.onSurface
wrapMode: Text.WordWrap
}
GridLayout {
columns: 3
rowSpacing: 8
columnSpacing: 8
Material.MaterialChip { text: "Feature highlight" }
['Adaptive layout', 'Realtime telemetry', 'Community moderation']
}
RowLayout {
spacing: 8
Material.MaterialButton { text: "Install" }
Material.MaterialButton { text: "Details"; outlined: true }
Material.MaterialButton { text: "Dependency graph"; outlined: true }
}
}
}

View File

@@ -3,27 +3,49 @@ import QtQuick.Layouts 1.15
import "qmllib/Material" as Material
Material.MaterialSurface {
id: root
width: 380
height: 280
id: packageCard
width: 460
height: 320
property string title: "Marketplace"
property string subtitle: "v1.0.0"
property var dependenciesList: ["frontpage", "storybook"]
ColumnLayout {
anchors.fill: parent
anchors.margins: 16
anchors.margins: 18
spacing: 12
RowLayout {
spacing: 10
Material.MaterialAvatar { initials: title.left(2).toUpper(); backgroundColor: Material.MaterialPalette.primary }
ColumnLayout { spacing: 2
spacing: 12
Material.MaterialAvatar { initials: title.left(2).toUpper(); backgroundColor: Material.MaterialPalette.primaryContainer }
ColumnLayout {
spacing: 4
Material.MaterialTypography { variant: "h3"; text: title }
Material.MaterialTypography { variant: "body1"; text: subtitle }
}
Item { Layout.fillWidth: true }
Material.MaterialBadge { text: dependenciesList.length ? "Dependency package" : "Standalone"; accent: dependenciesList.length > 0 }
}
Text { text: "Curated extensions and paid components with purchase-to-install workflow."; font.pixelSize: 14; color: Material.MaterialPalette.onSurface; wrapMode: Text.Wrap }
RowLayout { spacing: 8
Text {
text: "Curated extensions and paid components with purchase-to-install workflow."
font.pixelSize: 14
color: Material.MaterialPalette.onSurface
wrapMode: Text.WordWrap
}
GridLayout {
columns: 3
rowSpacing: 8
columnSpacing: 8
Material.MaterialChip { text: "Feature highlight" }
['Adaptive layout', 'Realtime telemetry', 'Community moderation']
}
RowLayout {
spacing: 8
Material.MaterialButton { text: "Install" }
Material.MaterialButton { text: "Details"; outlined: true }
Material.MaterialButton { text: "Dependency graph"; outlined: true }
}
}
}

View File

@@ -3,27 +3,49 @@ import QtQuick.Layouts 1.15
import "qmllib/Material" as Material
Material.MaterialSurface {
id: root
width: 380
height: 280
id: packageCard
width: 460
height: 320
property string title: "MicroThread"
property string subtitle: "v1.0.0"
property var dependenciesList: ["login", "profile_page"]
ColumnLayout {
anchors.fill: parent
anchors.margins: 16
anchors.margins: 18
spacing: 12
RowLayout {
spacing: 10
Material.MaterialAvatar { initials: title.left(2).toUpper(); backgroundColor: Material.MaterialPalette.primary }
ColumnLayout { spacing: 2
spacing: 12
Material.MaterialAvatar { initials: title.left(2).toUpper(); backgroundColor: Material.MaterialPalette.primaryContainer }
ColumnLayout {
spacing: 4
Material.MaterialTypography { variant: "h3"; text: title }
Material.MaterialTypography { variant: "body1"; text: subtitle }
}
Item { Layout.fillWidth: true }
Material.MaterialBadge { text: dependenciesList.length ? "Dependency package" : "Standalone"; accent: dependenciesList.length > 0 }
}
Text { text: "Rapid-fire posting feed, like a micro-blogging stream."; font.pixelSize: 14; color: Material.MaterialPalette.onSurface; wrapMode: Text.Wrap }
RowLayout { spacing: 8
Text {
text: "Rapid-fire posting feed, like a micro-blogging stream."
font.pixelSize: 14
color: Material.MaterialPalette.onSurface
wrapMode: Text.WordWrap
}
GridLayout {
columns: 3
rowSpacing: 8
columnSpacing: 8
Material.MaterialChip { text: "Feature highlight" }
['Adaptive layout', 'Realtime telemetry', 'Community moderation']
}
RowLayout {
spacing: 8
Material.MaterialButton { text: "Install" }
Material.MaterialButton { text: "Details"; outlined: true }
Material.MaterialButton { text: "Dependency graph"; outlined: true }
}
}
}

View File

@@ -3,27 +3,49 @@ import QtQuick.Layouts 1.15
import "qmllib/Material" as Material
Material.MaterialSurface {
id: root
width: 380
height: 280
id: packageCard
width: 460
height: 320
property string title: "Music Player"
property string subtitle: "v1.0.0"
property var dependenciesList: ["gallery", "analytics"]
ColumnLayout {
anchors.fill: parent
anchors.margins: 16
anchors.margins: 18
spacing: 12
RowLayout {
spacing: 10
Material.MaterialAvatar { initials: title.left(2).toUpper(); backgroundColor: Material.MaterialPalette.primary }
ColumnLayout { spacing: 2
spacing: 12
Material.MaterialAvatar { initials: title.left(2).toUpper(); backgroundColor: Material.MaterialPalette.primaryContainer }
ColumnLayout {
spacing: 4
Material.MaterialTypography { variant: "h3"; text: title }
Material.MaterialTypography { variant: "body1"; text: subtitle }
}
Item { Layout.fillWidth: true }
Material.MaterialBadge { text: dependenciesList.length ? "Dependency package" : "Standalone"; accent: dependenciesList.length > 0 }
}
Text { text: "Ambient audio player with playlists, scrobbling, and visualizers."; font.pixelSize: 14; color: Material.MaterialPalette.onSurface; wrapMode: Text.Wrap }
RowLayout { spacing: 8
Text {
text: "Ambient audio player with playlists, scrobbling, and visualizers."
font.pixelSize: 14
color: Material.MaterialPalette.onSurface
wrapMode: Text.WordWrap
}
GridLayout {
columns: 3
rowSpacing: 8
columnSpacing: 8
Material.MaterialChip { text: "Feature highlight" }
['Adaptive layout', 'Realtime telemetry', 'Community moderation']
}
RowLayout {
spacing: 8
Material.MaterialButton { text: "Install" }
Material.MaterialButton { text: "Details"; outlined: true }
Material.MaterialButton { text: "Dependency graph"; outlined: true }
}
}
}

View File

@@ -3,27 +3,49 @@ import QtQuick.Layouts 1.15
import "qmllib/Material" as Material
Material.MaterialSurface {
id: root
width: 380
height: 280
id: packageCard
width: 460
height: 320
property string title: "Package Manager"
property string subtitle: "v1.0.0"
property var dependenciesList: ["storybook", "frontpage", "analytics"]
ColumnLayout {
anchors.fill: parent
anchors.margins: 16
anchors.margins: 18
spacing: 12
RowLayout {
spacing: 10
Material.MaterialAvatar { initials: title.left(2).toUpper(); backgroundColor: Material.MaterialPalette.primary }
ColumnLayout { spacing: 2
spacing: 12
Material.MaterialAvatar { initials: title.left(2).toUpper(); backgroundColor: Material.MaterialPalette.primaryContainer }
ColumnLayout {
spacing: 4
Material.MaterialTypography { variant: "h3"; text: title }
Material.MaterialTypography { variant: "body1"; text: subtitle }
}
Item { Layout.fillWidth: true }
Material.MaterialBadge { text: dependenciesList.length ? "Dependency package" : "Standalone"; accent: dependenciesList.length > 0 }
}
Text { text: "Ubuntu Store style manager that hosts repositories and installer UI."; font.pixelSize: 14; color: Material.MaterialPalette.onSurface; wrapMode: Text.Wrap }
RowLayout { spacing: 8
Text {
text: "Ubuntu Store style manager that hosts repositories and installer UI."
font.pixelSize: 14
color: Material.MaterialPalette.onSurface
wrapMode: Text.WordWrap
}
GridLayout {
columns: 3
rowSpacing: 8
columnSpacing: 8
Material.MaterialChip { text: "Feature highlight" }
['Adaptive layout', 'Realtime telemetry', 'Community moderation']
}
RowLayout {
spacing: 8
Material.MaterialButton { text: "Install" }
Material.MaterialButton { text: "Details"; outlined: true }
Material.MaterialButton { text: "Dependency graph"; outlined: true }
}
}
}

View File

@@ -3,27 +3,49 @@ import QtQuick.Layouts 1.15
import "qmllib/Material" as Material
Material.MaterialSurface {
id: root
width: 380
height: 280
id: packageCard
width: 460
height: 320
property string title: "Profile Page"
property string subtitle: "v1.0.0"
property var dependenciesList: ["login", "user_settings"]
ColumnLayout {
anchors.fill: parent
anchors.margins: 16
anchors.margins: 18
spacing: 12
RowLayout {
spacing: 10
Material.MaterialAvatar { initials: title.left(2).toUpper(); backgroundColor: Material.MaterialPalette.primary }
ColumnLayout { spacing: 2
spacing: 12
Material.MaterialAvatar { initials: title.left(2).toUpper(); backgroundColor: Material.MaterialPalette.primaryContainer }
ColumnLayout {
spacing: 4
Material.MaterialTypography { variant: "h3"; text: title }
Material.MaterialTypography { variant: "body1"; text: subtitle }
}
Item { Layout.fillWidth: true }
Material.MaterialBadge { text: dependenciesList.length ? "Dependency package" : "Standalone"; accent: dependenciesList.length > 0 }
}
Text { text: "User profile, activity feed, and quick links to social mini-apps."; font.pixelSize: 14; color: Material.MaterialPalette.onSurface; wrapMode: Text.Wrap }
RowLayout { spacing: 8
Text {
text: "User profile, activity feed, and quick links to social mini-apps."
font.pixelSize: 14
color: Material.MaterialPalette.onSurface
wrapMode: Text.WordWrap
}
GridLayout {
columns: 3
rowSpacing: 8
columnSpacing: 8
Material.MaterialChip { text: "Feature highlight" }
['Adaptive layout', 'Realtime telemetry', 'Community moderation']
}
RowLayout {
spacing: 8
Material.MaterialButton { text: "Install" }
Material.MaterialButton { text: "Details"; outlined: true }
Material.MaterialButton { text: "Dependency graph"; outlined: true }
}
}
}

View File

@@ -3,27 +3,49 @@ import QtQuick.Layouts 1.15
import "qmllib/Material" as Material
Material.MaterialSurface {
id: root
width: 380
height: 280
id: packageCard
width: 460
height: 320
property string title: "Retro Arcade"
property string subtitle: "v1.0.0"
property var dependenciesList: ["gallery"]
ColumnLayout {
anchors.fill: parent
anchors.margins: 16
anchors.margins: 18
spacing: 12
RowLayout {
spacing: 10
Material.MaterialAvatar { initials: title.left(2).toUpper(); backgroundColor: Material.MaterialPalette.primary }
ColumnLayout { spacing: 2
spacing: 12
Material.MaterialAvatar { initials: title.left(2).toUpper(); backgroundColor: Material.MaterialPalette.primaryContainer }
ColumnLayout {
spacing: 4
Material.MaterialTypography { variant: "h3"; text: title }
Material.MaterialTypography { variant: "body1"; text: subtitle }
}
Item { Layout.fillWidth: true }
Material.MaterialBadge { text: dependenciesList.length ? "Dependency package" : "Standalone"; accent: dependenciesList.length > 0 }
}
Text { text: "Pixel-perfect retro games to keep visitors entertained inside the app."; font.pixelSize: 14; color: Material.MaterialPalette.onSurface; wrapMode: Text.Wrap }
RowLayout { spacing: 8
Text {
text: "Pixel-perfect retro games to keep visitors entertained inside the app."
font.pixelSize: 14
color: Material.MaterialPalette.onSurface
wrapMode: Text.WordWrap
}
GridLayout {
columns: 3
rowSpacing: 8
columnSpacing: 8
Material.MaterialChip { text: "Feature highlight" }
['Adaptive layout', 'Realtime telemetry', 'Community moderation']
}
RowLayout {
spacing: 8
Material.MaterialButton { text: "Install" }
Material.MaterialButton { text: "Details"; outlined: true }
Material.MaterialButton { text: "Dependency graph"; outlined: true }
}
}
}

View File

@@ -3,27 +3,49 @@ import QtQuick.Layouts 1.15
import "qmllib/Material" as Material
Material.MaterialSurface {
id: root
width: 380
height: 280
id: packageCard
width: 460
height: 320
property string title: "Snake Game"
property string subtitle: "v1.0.0"
property var dependenciesList: ["retro_games"]
ColumnLayout {
anchors.fill: parent
anchors.margins: 16
anchors.margins: 18
spacing: 12
RowLayout {
spacing: 10
Material.MaterialAvatar { initials: title.left(2).toUpper(); backgroundColor: Material.MaterialPalette.primary }
ColumnLayout { spacing: 2
spacing: 12
Material.MaterialAvatar { initials: title.left(2).toUpper(); backgroundColor: Material.MaterialPalette.primaryContainer }
ColumnLayout {
spacing: 4
Material.MaterialTypography { variant: "h3"; text: title }
Material.MaterialTypography { variant: "body1"; text: subtitle }
}
Item { Layout.fillWidth: true }
Material.MaterialBadge { text: dependenciesList.length ? "Dependency package" : "Standalone"; accent: dependenciesList.length > 0 }
}
Text { text: "Classic snake action that can be embedded into any launcher view."; font.pixelSize: 14; color: Material.MaterialPalette.onSurface; wrapMode: Text.Wrap }
RowLayout { spacing: 8
Text {
text: "Classic snake action that can be embedded into any launcher view."
font.pixelSize: 14
color: Material.MaterialPalette.onSurface
wrapMode: Text.WordWrap
}
GridLayout {
columns: 3
rowSpacing: 8
columnSpacing: 8
Material.MaterialChip { text: "Feature highlight" }
['Adaptive layout', 'Realtime telemetry', 'Community moderation']
}
RowLayout {
spacing: 8
Material.MaterialButton { text: "Install" }
Material.MaterialButton { text: "Details"; outlined: true }
Material.MaterialButton { text: "Dependency graph"; outlined: true }
}
}
}

View File

@@ -3,27 +3,49 @@ import QtQuick.Layouts 1.15
import "qmllib/Material" as Material
Material.MaterialSurface {
id: root
width: 380
height: 280
id: packageCard
width: 460
height: 320
property string title: "Storybook Showcase"
property string subtitle: "v1.0.0"
property var dependenciesList: ["login", "frontpage"]
ColumnLayout {
anchors.fill: parent
anchors.margins: 16
anchors.margins: 18
spacing: 12
RowLayout {
spacing: 10
Material.MaterialAvatar { initials: title.left(2).toUpper(); backgroundColor: Material.MaterialPalette.primary }
ColumnLayout { spacing: 2
spacing: 12
Material.MaterialAvatar { initials: title.left(2).toUpper(); backgroundColor: Material.MaterialPalette.primaryContainer }
ColumnLayout {
spacing: 4
Material.MaterialTypography { variant: "h3"; text: title }
Material.MaterialTypography { variant: "body1"; text: subtitle }
}
Item { Layout.fillWidth: true }
Material.MaterialBadge { text: dependenciesList.length ? "Dependency package" : "Standalone"; accent: dependenciesList.length > 0 }
}
Text { text: "Interactive catalog of all Material components, used for QA and design feedback."; font.pixelSize: 14; color: Material.MaterialPalette.onSurface; wrapMode: Text.Wrap }
RowLayout { spacing: 8
Text {
text: "Interactive catalog of all Material components, used for QA and design feedback."
font.pixelSize: 14
color: Material.MaterialPalette.onSurface
wrapMode: Text.WordWrap
}
GridLayout {
columns: 3
rowSpacing: 8
columnSpacing: 8
Material.MaterialChip { text: "Feature highlight" }
['Adaptive layout', 'Realtime telemetry', 'Community moderation']
}
RowLayout {
spacing: 8
Material.MaterialButton { text: "Install" }
Material.MaterialButton { text: "Details"; outlined: true }
Material.MaterialButton { text: "Dependency graph"; outlined: true }
}
}
}

View File

@@ -3,27 +3,49 @@ import QtQuick.Layouts 1.15
import "qmllib/Material" as Material
Material.MaterialSurface {
id: root
width: 380
height: 280
id: packageCard
width: 460
height: 320
property string title: "SuperGod Panel"
property string subtitle: "v1.0.0"
property var dependenciesList: ["god_panel", "retro_games"]
ColumnLayout {
anchors.fill: parent
anchors.margins: 16
anchors.margins: 18
spacing: 12
RowLayout {
spacing: 10
Material.MaterialAvatar { initials: title.left(2).toUpper(); backgroundColor: Material.MaterialPalette.primary }
ColumnLayout { spacing: 2
spacing: 12
Material.MaterialAvatar { initials: title.left(2).toUpper(); backgroundColor: Material.MaterialPalette.primaryContainer }
ColumnLayout {
spacing: 4
Material.MaterialTypography { variant: "h3"; text: title }
Material.MaterialTypography { variant: "body1"; text: subtitle }
}
Item { Layout.fillWidth: true }
Material.MaterialBadge { text: dependenciesList.length ? "Dependency package" : "Standalone"; accent: dependenciesList.length > 0 }
}
Text { text: "Overlord console that orchestrates daemons, migrations, and meta workflows."; font.pixelSize: 14; color: Material.MaterialPalette.onSurface; wrapMode: Text.Wrap }
RowLayout { spacing: 8
Text {
text: "Overlord console that orchestrates daemons, migrations, and meta workflows."
font.pixelSize: 14
color: Material.MaterialPalette.onSurface
wrapMode: Text.WordWrap
}
GridLayout {
columns: 3
rowSpacing: 8
columnSpacing: 8
Material.MaterialChip { text: "Feature highlight" }
['Adaptive layout', 'Realtime telemetry', 'Community moderation']
}
RowLayout {
spacing: 8
Material.MaterialButton { text: "Install" }
Material.MaterialButton { text: "Details"; outlined: true }
Material.MaterialButton { text: "Dependency graph"; outlined: true }
}
}
}

View File

@@ -3,27 +3,49 @@ import QtQuick.Layouts 1.15
import "qmllib/Material" as Material
Material.MaterialSurface {
id: root
width: 380
height: 280
id: packageCard
width: 460
height: 320
property string title: "User Settings"
property string subtitle: "v1.0.0"
property var dependenciesList: ["login"]
ColumnLayout {
anchors.fill: parent
anchors.margins: 16
anchors.margins: 18
spacing: 12
RowLayout {
spacing: 10
Material.MaterialAvatar { initials: title.left(2).toUpper(); backgroundColor: Material.MaterialPalette.primary }
ColumnLayout { spacing: 2
spacing: 12
Material.MaterialAvatar { initials: title.left(2).toUpper(); backgroundColor: Material.MaterialPalette.primaryContainer }
ColumnLayout {
spacing: 4
Material.MaterialTypography { variant: "h3"; text: title }
Material.MaterialTypography { variant: "body1"; text: subtitle }
}
Item { Layout.fillWidth: true }
Material.MaterialBadge { text: dependenciesList.length ? "Dependency package" : "Standalone"; accent: dependenciesList.length > 0 }
}
Text { text: "Personalization controls for notifications, themes, and privacy knobs."; font.pixelSize: 14; color: Material.MaterialPalette.onSurface; wrapMode: Text.Wrap }
RowLayout { spacing: 8
Text {
text: "Personalization controls for notifications, themes, and privacy knobs."
font.pixelSize: 14
color: Material.MaterialPalette.onSurface
wrapMode: Text.WordWrap
}
GridLayout {
columns: 3
rowSpacing: 8
columnSpacing: 8
Material.MaterialChip { text: "Feature highlight" }
['Adaptive layout', 'Realtime telemetry', 'Community moderation']
}
RowLayout {
spacing: 8
Material.MaterialButton { text: "Install" }
Material.MaterialButton { text: "Details"; outlined: true }
Material.MaterialButton { text: "Dependency graph"; outlined: true }
}
}
}

View File

@@ -3,27 +3,49 @@ import QtQuick.Layouts 1.15
import "qmllib/Material" as Material
Material.MaterialSurface {
id: root
width: 380
height: 280
id: packageCard
width: 460
height: 320
property string title: "Watchtower"
property string subtitle: "v1.0.0"
property var dependenciesList: ["analytics", "god_panel"]
ColumnLayout {
anchors.fill: parent
anchors.margins: 16
anchors.margins: 18
spacing: 12
RowLayout {
spacing: 10
Material.MaterialAvatar { initials: title.left(2).toUpper(); backgroundColor: Material.MaterialPalette.primary }
ColumnLayout { spacing: 2
spacing: 12
Material.MaterialAvatar { initials: title.left(2).toUpper(); backgroundColor: Material.MaterialPalette.primaryContainer }
ColumnLayout {
spacing: 4
Material.MaterialTypography { variant: "h3"; text: title }
Material.MaterialTypography { variant: "body1"; text: subtitle }
}
Item { Layout.fillWidth: true }
Material.MaterialBadge { text: dependenciesList.length ? "Dependency package" : "Standalone"; accent: dependenciesList.length > 0 }
}
Text { text: "Mission control for logging, alerts, and daemon orchestration."; font.pixelSize: 14; color: Material.MaterialPalette.onSurface; wrapMode: Text.Wrap }
RowLayout { spacing: 8
Text {
text: "Mission control for logging, alerts, and daemon orchestration."
font.pixelSize: 14
color: Material.MaterialPalette.onSurface
wrapMode: Text.WordWrap
}
GridLayout {
columns: 3
rowSpacing: 8
columnSpacing: 8
Material.MaterialChip { text: "Feature highlight" }
['Adaptive layout', 'Realtime telemetry', 'Community moderation']
}
RowLayout {
spacing: 8
Material.MaterialButton { text: "Install" }
Material.MaterialButton { text: "Details"; outlined: true }
Material.MaterialButton { text: "Dependency graph"; outlined: true }
}
}
}