feat: add possibility to hide upload button (#25)
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				/ pre-commit (push) Successful in 1m4s
				
			
		
		
	
	
		
	
		
			All checks were successful
		
		
	
	/ pre-commit (push) Successful in 1m4s
				
			I was asked to add the possibility to hide the upload button to avoid users confuse this tool for a file sharing app. This is only on the front. No breaking changes, by default the button is displayed. Co-authored-by: Thibault Piron <thibault.a.piron@gmail.com> Reviewed-on: #25 Reviewed-by: Julien Riou <jriou@monitoring@riou.xyz> Co-authored-by: tapiron <tapiron@monitoring@riou.xyz> Co-committed-by: tapiron <tapiron@monitoring@riou.xyz>
This commit is contained in:
		
					parent
					
						
							
								33628331f4
							
						
					
				
			
			
				commit
				
					
						e03aa6b87a
					
				
			
		
					 4 changed files with 34 additions and 27 deletions
				
			
		| 
						 | 
				
			
			@ -33,6 +33,7 @@ The file format is **JSON**:
 | 
			
		|||
* **observation_internal** (int): Number of seconds to wait between two observations (default 60)
 | 
			
		||||
* **languages** ([]string): List of supported [languages](https://github.com/microsoft/monaco-editor/tree/main/src/basic-languages)
 | 
			
		||||
* **language** (string): Default language (default "text")
 | 
			
		||||
* **enable_upload_file_button** (bool): Display the upload file button in the UI (default true)
 | 
			
		||||
 | 
			
		||||
The configuration file is not required but the service might not be exposed to the public.
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,24 +7,25 @@ import (
 | 
			
		|||
)
 | 
			
		||||
 | 
			
		||||
type Config struct {
 | 
			
		||||
	Title                 string   `json:"title"`
 | 
			
		||||
	DatabaseType          string   `json:"database_type"`
 | 
			
		||||
	DatabaseDsn           string   `json:"database_dsn"`
 | 
			
		||||
	IDLength              int      `json:"id_length"`
 | 
			
		||||
	PasswordLength        int      `json:"password_length"`
 | 
			
		||||
	ExpirationInterval    int      `json:"expiration_interval"`
 | 
			
		||||
	ListenAddress         string   `json:"listen_address"`
 | 
			
		||||
	ListenPort            int      `json:"listen_port"`
 | 
			
		||||
	Expirations           []int    `json:"expirations"`
 | 
			
		||||
	Expiration            int      `json:"expiration"`
 | 
			
		||||
	MaxUploadSize         int64    `json:"max_upload_size"`
 | 
			
		||||
	ShowVersion           bool     `json:"show_version"`
 | 
			
		||||
	EnableMetrics         bool     `json:"enable_metrics"`
 | 
			
		||||
	PrometheusRoute       string   `json:"prometheus_route"`
 | 
			
		||||
	PrometheusNotesMetric string   `json:"prometheus_notes_metric"`
 | 
			
		||||
	ObservationInterval   int      `json:"observation_internal"`
 | 
			
		||||
	Languages             []string `json:"languages"`
 | 
			
		||||
	Language              string   `json:"language"`
 | 
			
		||||
	Title                  string   `json:"title"`
 | 
			
		||||
	DatabaseType           string   `json:"database_type"`
 | 
			
		||||
	DatabaseDsn            string   `json:"database_dsn"`
 | 
			
		||||
	IDLength               int      `json:"id_length"`
 | 
			
		||||
	PasswordLength         int      `json:"password_length"`
 | 
			
		||||
	ExpirationInterval     int      `json:"expiration_interval"`
 | 
			
		||||
	ListenAddress          string   `json:"listen_address"`
 | 
			
		||||
	ListenPort             int      `json:"listen_port"`
 | 
			
		||||
	Expirations            []int    `json:"expirations"`
 | 
			
		||||
	Expiration             int      `json:"expiration"`
 | 
			
		||||
	MaxUploadSize          int64    `json:"max_upload_size"`
 | 
			
		||||
	ShowVersion            bool     `json:"show_version"`
 | 
			
		||||
	EnableMetrics          bool     `json:"enable_metrics"`
 | 
			
		||||
	PrometheusRoute        string   `json:"prometheus_route"`
 | 
			
		||||
	PrometheusNotesMetric  string   `json:"prometheus_notes_metric"`
 | 
			
		||||
	ObservationInterval    int      `json:"observation_internal"`
 | 
			
		||||
	Languages              []string `json:"languages"`
 | 
			
		||||
	Language               string   `json:"language"`
 | 
			
		||||
	EnableUploadFileButton bool     `json:"enable_upload_file_button"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func NewConfig() *Config {
 | 
			
		||||
| 
						 | 
				
			
			@ -69,7 +70,8 @@ func NewConfig() *Config {
 | 
			
		|||
			"SQL",
 | 
			
		||||
			"YAML",
 | 
			
		||||
		},
 | 
			
		||||
		Language: "text",
 | 
			
		||||
		Language:               "text",
 | 
			
		||||
		EnableUploadFileButton: true,
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -186,14 +186,15 @@ func (h *GetProtectedNoteHandler) ServeHTTP(w http.ResponseWriter, r *http.Reque
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
type PageData struct {
 | 
			
		||||
	Title       string
 | 
			
		||||
	Version     string
 | 
			
		||||
	Expirations []int
 | 
			
		||||
	Expiration  int
 | 
			
		||||
	Languages   []string
 | 
			
		||||
	Err         error
 | 
			
		||||
	URL         string
 | 
			
		||||
	Note        *Note
 | 
			
		||||
	Title                  string
 | 
			
		||||
	Version                string
 | 
			
		||||
	Expirations            []int
 | 
			
		||||
	Expiration             int
 | 
			
		||||
	Languages              []string
 | 
			
		||||
	Err                    error
 | 
			
		||||
	URL                    string
 | 
			
		||||
	Note                   *Note
 | 
			
		||||
	EnableUploadFileButton bool
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type HomeHandler struct {
 | 
			
		||||
| 
						 | 
				
			
			@ -431,6 +432,7 @@ func (s *Server) Start() error {
 | 
			
		|||
	if s.config.ShowVersion {
 | 
			
		||||
		p.Version = s.version
 | 
			
		||||
	}
 | 
			
		||||
	p.EnableUploadFileButton = s.config.EnableUploadFileButton
 | 
			
		||||
 | 
			
		||||
	templates, err := template.New("templates").Funcs(funcs).ParseFS(templatesFS, "templates/*.html")
 | 
			
		||||
	if err != nil {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -31,9 +31,11 @@
 | 
			
		|||
                        value="delete-after-read" name="delete-after-read">
 | 
			
		||||
                    <label class="col-form-label col-form-label-sm" for="delete-after-read">Delete after read</label>
 | 
			
		||||
                </div>
 | 
			
		||||
                {{if .EnableUploadFileButton}}
 | 
			
		||||
                <div class="col">
 | 
			
		||||
                    <input type="file" class="form-control" for="file" id="file" name="file" accept="text/plain" />
 | 
			
		||||
                </div>
 | 
			
		||||
                {{end}}
 | 
			
		||||
                <div class="col">
 | 
			
		||||
                    <select class="form-select" aria-label="Expiration" id="expiration" name="expiration">
 | 
			
		||||
                        <option disabled>Expiration</option>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue