FreeKill/qml/Pages/CardsOverview.qml

53 lines
1.3 KiB
QML
Raw Normal View History

import QtQuick 2.15
import QtQuick.Layouts 1.15
import QtQuick.Controls 2.0
import "RoomElement"
Item {
id: root
property bool loaded: false
ListView {
width: Math.floor(root.width / 98) * 98
height: parent.height
anchors.centerIn: parent
ScrollBar.vertical: ScrollBar {}
model: ListModel {
id: packages
}
delegate: ColumnLayout {
Text { text: Backend.translate(name) }
GridLayout {
columns: root.width / 98
Repeater {
model: JSON.parse(Backend.getCards(name))
CardItem {
autoBack: false
Component.onCompleted: {
let data = JSON.parse(Backend.getCardData(modelData));
setData(data);
}
}
}
}
}
}
Button {
text: "Quit"
anchors.right: parent.right
onClicked: {
mainStack.pop();
}
}
function loadPackages() {
if (loaded) return;
let packs = JSON.parse(Backend.getAllCardPack());
packs.forEach((name) => packages.append({ name: name }));
loaded = true;
}
}