Looking for Vue, React, Angular, Laravel Version? Click here to Get 5 in 1 JS Bundle.

Upgrade Guide

Version 1.0.1 to Version 2.0.0

  • Updated Bootstrap to latest version 5.3.2
  • Removed the scss file and also the folder src/assets/scss/dark/_dark.scss
  • Removed the files and folder in the customizer folder and added two new files
    • src/assets/scss/customizer/root.scss
    • src/assets/scss/customizer/_variable.scss
  • Updated the src/app/store/setting/reducer.ts file
  • Before

     on(theme_scheme, (state: SettingState, { value }): SettingState => {
        const setting = cloneDeep(state.setting)
        setting.theme_scheme.value = value
        updateBodyClass(Choices.SchemeChoice, setting.theme_scheme.value)
        updateColorRootVar(setting.theme_scheme.value, setting.theme_color, Choices.ColorChoice)
        updateStorage(state.saveLocal, state.storeKey, createSettingObj(returnState(state, setting)))
        return returnState(state, setting)
      }),
      on(theme_color, (state: SettingState, { colors }): SettingState => {
        const setting = cloneDeep(state.setting)
        forEach(colors, (value, key) => {
          setting.theme_color.colors[key] = value
        })
        setting.theme_color.value = colors.value
        updateColorRootVar(state.setting.theme_scheme.value, setting.theme_color, Choices.ColorChoice)
        updateStorage(state.saveLocal, state.storeKey, createSettingObj(returnState(state, setting)))
        return returnState(state, setting)
      }),
    

    After

    oon(theme_scheme_direction, (state: SettingState, { value }) => {
        const setting = cloneDeep(state.setting)
        setting.theme_scheme_direction.value = value
        updateHtmlAttr({prop: 'dir',  value: setting.theme_scheme_direction.value})
        updateStorage(state.saveLocal, state.storeKey, createSettingObj(returnState(state, setting)))
        return returnState(state, setting)
      }),
      on(theme_scheme, (state: SettingState, { value }): SettingState => {
        const setting = cloneDeep(state.setting)
        setting.theme_scheme.value = value
        updateHtmlAttr({prop: 'data-bs-theme',  value: setting.theme_scheme.value})
        updateStorage(state.saveLocal, state.storeKey, createSettingObj(returnState(state, setting)))
        return returnState(state, setting)
      }),
    
  • Updated the src/app/store/setting/state.ts file
  • Before

    export const initialState: SettingState = {
      "saveLocal": "sessionStorage",
        "storeKey": "quisetting-angular",
        "setting": {
            "app_name": {
                "value": "Qompac UI"
            },
            "theme_scheme_direction": {
                "value": "ltr"
            },
            "theme_scheme": {
                "value": "light"
            },
            "theme_color": {
                "colors": {
                  "--primary": "#7016d0",
                  "--secondary": "#aca4bc",
                  "--tertiray": "#3FF0B9"
                },
                "value": "theme-color-default"
            },
            "theme_font_size": {
                "value":  "theme-fs-sm"
            },
            "page_layout": {
                "value": "container"
            },
            "sidebar_color": {
                "value": "sidebar-white"
            },
            "sidebar_type": {
                "value": []
            },
            "sidebar_menu_style": {
                "value": "sidebar-default navs-rounded-all"
            }
        }
    }

    After

    export const initialState: SettingState = {
      "saveLocal": "sessionStorage",
        "storeKey": "quisetting-angular",
        "setting": {
            "app_name": {
                "value": "Qompac UI"
            },
            "theme_scheme_direction": {
                "value": "ltr"
            },
            "theme_scheme": {
                "value": "light"
            },
            "theme_color": {
              "colors": {},
              "value": "theme-color-default"
            },
            "theme_font_size": {
                "value":  "theme-fs-sm"
            },
            "page_layout": {
                "value": "container"
            },
            "sidebar_color": {
                "value": "sidebar-white"
            },
            "sidebar_type": {
                "value": []
            },
            "sidebar_menu_style": {
                "value": "sidebar-default navs-rounded-all"
            }
        }
    }
    
  • Added the content in src/app/components/hope-ui/widgets/setting-offcanvas/setting-offcanvas.component.ts file
  • isCollapsed = true;
    primaryColor = '#3a57e8'
    secondaryColor = '#91969E'
    successColor = '#0D953E'
    dangerColor = '#E30000'
    warningColor = '#EC7D10'
    infoColor = '#07A2C7' 
  • Updated the function in src/app/components/qompac-ui/widgets/setting-offcanvas/setting-offcanvas.component.ts file
  • Before

    changeThemeColor(object: any) {
        const themeColor = {
          colors: {
            '--primary': object.primary,
            '--secondary': object.secondary,
            // '--tertiray': object.tertiray,
    
          },
          value: object.value
        }
        this.store.dispatch(SettingActions.theme_color(themeColor))
      }
    

    After

     changeThemeColor(object: any) {
        const themeColor: any = {
          colors: {},
          value: object.value
        }
        if(object.color){
          const key = '--'+object.name
          themeColor.colors[key] = object.color
        }
        this.store.dispatch(SettingActions.theme_color(themeColor))
      }
    
  • Updated the code in src/app/components/qompac-ui/widgets/setting-offcanvas/setting-offcanvas.component.html file
  • Before

    <div class="collapse" id="custom-color">
                  <div class="form-group d-flex justify-content-between align-items-center">
                    <label class="" for="custom-primary-color">Primary</label>
                    <input class="" name="theme_color" data-extra="primary" type="color" id="custom-primary-color"
                      value="#7016d0" data-setting="color">
                  </div>
                  <div class="form-group d-flex d-flex justify-content-between align-items-center">
                    <label class="" for="custom-secondary-color">Secondary</label>
                    <input class="" name="theme_color" data-extra="secondary" type="color" id="custom-secondary-color"
                      value="#08B1BA" data-setting="color">
            </div>
    </div>
    

    After

    <div class="collapse"
                  id="custom-color"
                  #collapse="ngbCollapse"
                  [(ngbCollapse)]="isCollapsed"
                >
                  <div
                    class="form-group d-flex justify-content-between align-items-center"
                  >
                    <label class="" for="custom-primary-color">Primary</label>
                    <input
                      class=""
                      name="theme_color"
                      type="color"
                      id="custom-primary-color"
                      (input)="
                        changeThemeColor({
                          color: primaryColor,
                          name: 'primary',
                          value: 'custom'
                        })
                      "
                      [(ngModel)]="primaryColor"
                      value="#3a57e8"
                    />
                  </div>
                  <div
                    class="form-group d-flex d-flex justify-content-between align-items-center"
                  >
                    <label class="" for="custom-secondary-color">Secondary</label>
                    <input
                      class=""
                      name="theme_color"
                      type="color"
                      id="custom-secondary-color"
                      (input)="
                        changeThemeColor({
                          color: secondaryColor,
                          name: 'secondary',
                          value: 'custom'
                        })
                      "
                      [(ngModel)]="secondaryColor"
                      value="#08B1BA"
                    />
                  </div>
                  <div
                    class="form-group d-flex d-flex justify-content-between align-items-center"
                  >
                    <label class="" for="custom-success-color">Success</label>
                    <input
                      class=""
                      name="theme_color"
                      type="color"
                      id="custom-success-color"
                      (input)="
                        changeThemeColor({
                          color: successColor,
                          name: 'success',
                          value: 'custom'
                        })
                      "
                      [(ngModel)]="successColor"
                      value="#08B1BA"
                    />
                  </div>
                  <div
                    class="form-group d-flex d-flex justify-content-between align-items-center"
                  >
                    <label class="" for="custom-warning-color">Warning</label>
                    <input
                      class=""
                      name="theme_color"
                      type="color"
                      id="custom-warning-color"
                      (input)="
                        changeThemeColor({
                          color: warningColor,
                          name: 'warning',
                          value: 'custom'
                        })
                      "
                      [(ngModel)]="warningColor"
                      value="#08B1BA"
                    />
                  </div>
                  <div
                    class="form-group d-flex d-flex justify-content-between align-items-center"
                  >
                    <label class="" for="custom-danger-color">Danger</label>
                    <input
                      class=""
                      name="theme_color"
                      type="color"
                      id="custom-danger-color"
                      (input)="
                        changeThemeColor({
                          color: dangerColor,
                          name: 'danger',
                          value: 'custom'
                        })
                      "
                      [(ngModel)]="dangerColor"
                      value="#08B1BA"
                    />
                  </div>
                  <div
                    class="form-group d-flex d-flex justify-content-between align-items-center"
                  >
                    <label class="" for="custom-info-color">Info</label>
                    <input
                      class=""
                      name="theme_color"
                      type="color"
                      id="custom-info-color"
                      (input)="
                        changeThemeColor({
                          color: infoColor,
                          name: 'info',
                          value: 'custom'
                        })
                      "
                      [(ngModel)]="infoColor"
                      value="#08B1BA"
                    />
        </div>
    </div>
    

    Before

    <input type="radio" value="theme-color-blue" class="btn-check" name="theme_color" id="theme-color-1"
                    (change)="changeThemeColor({primary : '#2185F4', secondary: '#B1BBC6', value: 'theme-color-blue'})">
    

    After

    <input type="radio"
                      value="color-1"
                      class="btn-check"
                      name="theme_color"
                      id="color-1"
                      (change)="changeThemeColor({ value: 'color-1' })"/>