Correct use case of terraform module

I am deploying infra on GCP cloud by using TF scripts.

Here my objective to deploy infra services(like vpc,subnets,firewall,GCS,GCE,sa…) on GCP cloud using single click by use of terraform.till now this is for single region but same services need to deploy on other region as well & user can add these resources(like adding vm’s, GCS bucket …) in future from the web-dashborad.

To do this 2 options we have,

1st approach- create terraform code for each source in specific source module.( But in this, goal is not getting fulfilled, it will require multiple clicks)

2nd approach.
Create code for all services on single main.tf file using single module.
for e.g. if there are 5 source, all these 5 sources terraform code will be written in single main.tf file instead of using single module for each services.

Kindly help me to suggest which approach is suitable to achive this goal ( deployment using single click) or suggest if any other option available.