require("common.class") local ServicePage = require("titlescreen.pages.service.servicepage") local InputCheckPage = require("titlescreen.pages.service.inputcheckpage") local ScreenCheckPage = require("titlescreen.pages.service.screencheckpage") local ColorCheckPage = require("titlescreen.pages.service.colorcheckpage") local VersionInfoPage = require("titlescreen.pages.service.versioninfopage") local ServiceLinkField = require("titlescreen.components.servicelinkfield") local ListField = require("titlescreen.components.listfield") ---@class MainMenuPage: ServicePage local MainMenuPage = { __name = "MainMenuPage", } ---Create a new MainMenuPage instance ---@param params? MainMenuPage # initial parameters ---@return MainMenuPage function MainMenuPage.new(params) params = params or {} params.title = params.title or "MAIN MENU" local self = CreateInstance(MainMenuPage, params, ServicePage) local list = ListField.new() list:addField(ServiceLinkField.new{label = "INPUT CHECK", link = InputCheckPage.new()}) list:addField(ServiceLinkField.new{label = "SCREEN CHECK", link = ScreenCheckPage.new()}) list:addField(ServiceLinkField.new{label = "COLOR CHECK", link = ColorCheckPage.new()}) list:addField(ServiceLinkField.new{label = "VERSION INFORMATION", link = VersionInfoPage.new()}) list:refreshFields() self:addField(list) self:refreshFields() return self end return MainMenuPage