@@ -1719,6 +1719,7 @@ function createNewRepoInHTML() {
17191719 ` + repoIcon + `
17201720 <a class="name" contenteditable="plaintext-only" spellcheck="false" autocorrect="off" autocomplete="off" aria-autocomplete="list" autocapitalize="off" dir="auto"></a>
17211721 </div>
1722+ ` + lockIcon + `
17221723 <div class="push-wrapper">
17231724 ` + pushIcon + `
17241725 </div>
@@ -1732,6 +1733,21 @@ function createNewRepoInHTML() {
17321733 repoEl . scrollIntoViewIfNeeded ( ) ;
17331734
17341735
1736+ // add lock button event listener
1737+ const lockButton = repoEl . querySelector ( '.lock' ) ;
1738+ let repoPrivate = false ;
1739+
1740+ lockButton . addEventListener ( 'click' , ( ) => {
1741+
1742+ // toggle lock
1743+ repoPrivate = lockButton . classList . toggle ( 'locked' ) ;
1744+
1745+ // focus repo name
1746+ repoEl . querySelector ( '.name' ) . focus ( ) ;
1747+
1748+ } ) ;
1749+
1750+
17351751 // add push button event listener
17361752 const pushWrapper = repoEl . querySelector ( '.push-wrapper' ) ;
17371753
@@ -1747,7 +1763,7 @@ function createNewRepoInHTML() {
17471763
17481764 } ) ;
17491765
1750- let pushListener = pushWrapper . addEventListener ( 'click' , pushNewRepoInHTML ) ;
1766+ pushWrapper . addEventListener ( 'click' , pushNewRepoInHTML ) ;
17511767
17521768
17531769 // on next frame
@@ -1774,6 +1790,9 @@ function createNewRepoInHTML() {
17741790 repoEl . querySelector ( '.name' ) . blur ( ) ;
17751791 repoEl . querySelector ( '.name' ) . scrollTo ( 0 , 0 ) ;
17761792
1793+ // disable lock button
1794+ lockButton . style . pointerEvents = 'none' ;
1795+
17771796
17781797 // validate repo name
17791798
@@ -1811,7 +1830,7 @@ function createNewRepoInHTML() {
18111830
18121831 // create new repo obj
18131832 const repoObj = createRepoObj ( ( loggedUser + '/' + repoName ) , 'main' , 'main' ,
1814- true , null , true , false , true ) ;
1833+ true , null , repoPrivate , false , true ) ;
18151834
18161835 // add repo obj to modified repos
18171836 addRepoToModRepos ( repoObj ) ;
@@ -1833,7 +1852,7 @@ function createNewRepoInHTML() {
18331852
18341853
18351854 // push repo asynchronously
1836- const newSha = git . createRepo ( repoName , true ) ;
1855+ const newSha = git . createRepo ( repoName , repoPrivate ) ;
18371856
18381857 }
18391858
0 commit comments