# bottomButtonRow method

Row bottomButtonRow()

## Implementation

    Row bottomButtonRow() {
      return Row(
        mainAxisSize: MainAxisSize.max,
        mainAxisAlignment: MainAxisAlignment.end,
        children: [
          Row(
            mainAxisSize: MainAxisSize.min,
            mainAxisAlignment: MainAxisAlignment.spaceEvenly,
            children: [
              showInput
                  ? Button(
                      style: ButtonStyle(
                          padding: ButtonState.all<EdgeInsets>(
                              const EdgeInsets.only(
                                  top: 8.0,
                                  bottom: 8.0,
                                  left: 20.0,
                                  right: 20.0))),
                      onPressed: () {
                        setState(() {
                          showInput = false;
                        });
                      },
                      child: Row(
                        mainAxisSize: MainAxisSize.min,
                        children: [
                          const Icon(FluentIcons.chrome_close),
                          const SizedBox(
                            width: 10.0,
                          ),
                          Text('close-text'.i18n()),
                        ],
                      ),
                    )
                  : Container(),
              const SizedBox(
                width: 10.0,
              ),
              Button(
                style: ButtonStyle(
                    padding: ButtonState.all<EdgeInsets>(const EdgeInsets.only(
                        top: 8.0, bottom: 8.0, left: 20.0, right: 20.0))),
                onPressed: () {
                  if (!showInput) {
                    setState(() {
                      showInput = true;
                    });
                  } else if (nameController.text.isNotEmpty &&
                      contentController.text.isNotEmpty) {
                    plausible.event(page: 'add_action');

                    // Load data
                    List<String>? titles =
                        prefs.getStringList('quickSettingsTitles');
                    titles ??= [];
                    List<String>? contents =
                        prefs.getStringList('quickSettingsContents');
                    contents ??= [];

                    // Override if already exists
                    if (titles.contains(nameController.text)) {
                      int pos = titles.indexOf(nameController.text);
                      titles.removeAt(pos);
                      contents.removeAt(pos);
                    }

                    // Add title to list
                    titles.add(nameController.text);
                    prefs.setStringList('quickSettingsTitles', titles);

                    // Add content to list
                    contents.add(contentController.text);
                    prefs.setStringList('quickSettingsContents', contents);

                    setState(() {
                      showInput = false;
                    });
                  } else {
                    // Error
                  }
                },
                child: Row(
                  mainAxisSize: MainAxisSize.min,
                  children: [
                    showInput
                        ? Text('save-text'.i18n())
                        : Text('addquickaction-text'.i18n()),
                    const SizedBox(
                      width: 10.0,
                    ),
                    Icon(
                      showInput ? FluentIcons.save : FluentIcons.settings_add,
                      size: 15.0,
                    ),
                  ],
                ),
              ),
            ],
          ),
        ],
      );
    }