mirror of
https://github.com/johndoe6345789/metabuilder.git
synced 2026-04-24 13:54:57 +00:00
Views now under 100: - AdminView (244→92), DropdownConfig (232→97), SuperGodPanel (222→95) - MediaService (221→82), PageRoutes (178→98), Moderator (167→75) - Notifications (163→78), GodPanel (161→69), Login (141→70), Comments (138→77) Components under 100: CWorkflowTestPanel, CDropdownMenu, MediaPluginsTab, CHeroSection, CLevelCard, LuaCodeEditor, CSmtpServerForm + 4 more New JS modules: AdminCrud, DropdownCrud, SuperGodCrud, MediaServiceCrud, PageRoutesDBAL, NotificationsDBAL, CommentsDBAL, LoginDBAL, ModeratorData Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
QML Component Library
Material Design 3 components for Qt6 desktop applications. These components mirror the React/TypeScript FakeMUI library, providing consistent UI across web and desktop platforms.
Structure
qml/
├── qmldir # Main module definition (119 components)
├── components/ # Core component library (104 components)
│ ├── atoms/ # Basic building blocks (14)
│ ├── core/ # Buttons, Cards, Icons (9)
│ ├── data-display/ # Tables, Lists, Badges (8)
│ ├── feedback/ # Alerts, Dialogs, Progress (9)
│ ├── form/ # Inputs, Checkboxes, Selects (17)
│ ├── lab/ # Experimental components (9)
│ ├── layout/ # Grid, Flex, Stack (10)
│ ├── navigation/ # Tabs, Menus, Breadcrumbs (10)
│ ├── surfaces/ # AppBar, Drawer, Paper (5)
│ ├── theming/ # Theme providers (2)
│ └── utils/ # Utilities (11)
├── hybrid/ # Complete application views (7)
│ ├── qmldir # Hybrid module definition
│ ├── TaskList.qml
│ ├── TaskDetail.qml
│ ├── NewPrompt.qml
│ ├── UserInfo.qml
│ ├── SearchDialog.qml
│ ├── Documentation.qml
│ └── MarkdownRenderer.qml
└── widgets/ # Specialized desktop widgets (8)
├── AjaxQueueWidget.qml
├── DetailPane.qml
├── LanguageSelector.qml
├── NerdPanel.qml
├── PatchDialog.qml
├── SendPromptDialog.qml
├── TaskListItem.qml
└── ThemeSelector.qml
Usage
Import the Module
Add the qml folder to your QML import path, then import the module:
import QmlComponents 1.0
ApplicationWindow {
CButton {
text: "Click Me"
variant: "contained"
onClicked: console.log("Clicked!")
}
}
CMake Integration
set(QML_IMPORT_PATH "${CMAKE_SOURCE_DIR}/qml" CACHE PATH "QML import path")
qmake Integration
QML_IMPORT_PATH += $$PWD/qml
Component Categories
Core Components
CButton- Material buttons with variants (text, outlined, contained)CCard- Elevated card containersCChip- Compact elements for tags, filtersCIcon- Material Design iconsCIconButton- Icon-only buttonsCFab- Floating action buttonsCToolbar- Application toolbarsCListItem- List item containersCLoadingOverlay- Loading state overlays
Form Components
CTextField- Text input with labels and validationCCheckbox/CRadio/CSwitch- Toggle controlsCSelect- Dropdown selectionCSlider- Range selectionCAutocomplete- Search with suggestionsCRating- Star ratingsCTextarea- Multi-line text input
Layout Components
CGrid/CGridItem- CSS Grid-like layoutsCFlex/FlexRow/FlexCol- Flexbox layoutsCStack- Vertical/horizontal stackingCContainer- Responsive containersCBox- Generic containerSpacer- Flexible spacing
Data Display
CTable- Data tablesCList- Vertical listsCAvatar/CBadge- User avatars with badgesCDivider- Content dividersCTooltip- Hover tooltipsCStatBadge/CStatusBadge- Status indicators
Feedback
CAlert- Alert messagesCDialog- Modal dialogsCSnackbar- Toast notificationsCProgress/CSpinner- Loading indicatorsCSkeleton- Content placeholdersCEmptyState/CErrorState- Empty/error states
Navigation
CTabs/CTabBar- Tab navigationCMenu- Dropdown menusCBreadcrumbs- Breadcrumb navigationCPagination- Page navigationCStepper- Step-by-step wizardsCSidebar- Side navigationCDrawer- Slide-out panelsCBottomNavigation- Mobile-style bottom nav
Surfaces
CAppBar- Application header barCDrawer- Navigation drawerCPaper- Elevated surfaceCAccordion/CAccordionItem- Collapsible sections
Lab (Experimental)
CDataGrid- Advanced data gridsCDatePicker/CTimePicker/CDateTimePicker- Date/time selectionCTimeline/CTimelineItem- Event timelinesCMasonry- Masonry layoutsCTreeView- Tree navigationCLoadingButton- Buttons with loading state
Atoms (Building Blocks)
CText/CTitle/CTypography- Text renderingCPanel/CSection- Content sectionsCMarkdown/CProse- Markdown renderingCCodeBlock/CCodeInline- Code displayCHighlight/CBlockquote- Text highlights
Theming
Components use the Material Design 3 color system. The theming system is located at fakemui/theming/ and includes:
Theme.qml- Main theme singletonStyleVariables.qml- CSS-like variablesStyleMixins.qml- Reusable style functionsResponsive.qml- Responsive breakpoints
To customize themes, modify the theme files or create a custom CThemeProvider.
Related
- React Components:
fakemui/react/components/- TypeScript/React equivalents - SCSS Styles:
fakemui/styles/- Shared SCSS modules - Icons:
fakemui/icons/- 421 SVG Material icons - Qt6 Frontend:
frontends/qt6/- Qt6 desktop application using these components
Component Count
| Category | Count |
|---|---|
| Atoms | 14 |
| Core | 9 |
| Data Display | 8 |
| Feedback | 9 |
| Form | 17 |
| Lab | 9 |
| Layout | 10 |
| Navigation | 10 |
| Surfaces | 5 |
| Theming | 2 |
| Utils | 11 |
| Hybrid | 7 |
| Widgets | 8 |
| Total | 119 |