diff --git a/web/src/framework/strings/stringTypes.ts b/web/src/framework/strings/stringTypes.ts
index 4f0ac048d..e5d564284 100644
--- a/web/src/framework/strings/stringTypes.ts
+++ b/web/src/framework/strings/stringTypes.ts
@@ -7,6 +7,7 @@ export interface StringsMap {
addComment: string
addGitIgnore: string
addLicense: string
+ addNewFile: string
addReadMe: string
all: string
allBranches: string
@@ -83,6 +84,8 @@ export interface StringsMap {
editNotAllowed: string
edited: string
email: string
+ emptyRepoHeader: string
+ emptyRepoInclude: string
enableSSLVerification: string
enabled: string
enterDescription: string
@@ -188,7 +191,11 @@ export interface StringsMap {
rejected: string
renameFile: string
replyHere: string
+ repoCloneHeader: string
+ repoCloneLabel: string
repoEmptyMarkdown: string
+ repoEmptyMarkdownClone: string
+ repoEmptyMarkdownExisting: string
'repos.activities': string
'repos.data': string
'repos.enterBranchName': string
diff --git a/web/src/i18n/strings.en.yaml b/web/src/i18n/strings.en.yaml
index 0834c8563..68a307d97 100644
--- a/web/src/i18n/strings.en.yaml
+++ b/web/src/i18n/strings.en.yaml
@@ -245,27 +245,26 @@ repoEmptyMarkdown: |
### Get started by
Creating [a new file](NEW_FILE_URL).
-
+repoEmptyMarkdownClone: |
### Or you can clone this repository
+ Clone with HTTPS
```sh
git clone REPO_URL
```
-
Then push some content into it.
```sh
cd REPO_NAME
- echo "# Hello World" >> README.md
git add README.md
- git commit -m"Initial commit"
+ git commit -m "Initial commit"
git push -u origin main
```
-
+repoEmptyMarkdownExisting: |
### Or you can push an existing repository
```sh
- git remote add origin REPO_URL
+ git remote add REPO_URL
git branch -M main
git push -u origin main
```
@@ -281,3 +280,8 @@ noChanges: There is no changes
noChangesPR: This Pull Request does not have any changes.
noChangesCompare: Source and target are identical.
pageLoading: Loading, please wait...
+repoCloneHeader: Or you can clone this repository
+repoCloneLabel: Clone with HTTPS
+emptyRepoHeader: This repository is empty. Let's get started...
+addNewFile: + New File
+emptyRepoInclude: We recommend every repository include a [README](README_URL), [LICENSE](LICENSE_URL), and [.gitignore](GITIGNORE_URL).
diff --git a/web/src/pages/Repository/Repository.module.scss b/web/src/pages/Repository/Repository.module.scss
index 37a267d3c..b36fc3b1b 100644
--- a/web/src/pages/Repository/Repository.module.scss
+++ b/web/src/pages/Repository/Repository.module.scss
@@ -6,3 +6,9 @@
.emptyRepo {
padding: var(--spacing-xxlarge) !important;
}
+
+.divContainer {
+ background: var(--white);
+ box-shadow: 0px 0px 1px rgba(40, 41, 61, 0.08), 0px 0.5px 2px rgba(96, 97, 112, 0.16);
+ border-radius: 4px;
+}
diff --git a/web/src/pages/Repository/Repository.module.scss.d.ts b/web/src/pages/Repository/Repository.module.scss.d.ts
index babeeffb6..9ed9f56e2 100644
--- a/web/src/pages/Repository/Repository.module.scss.d.ts
+++ b/web/src/pages/Repository/Repository.module.scss.d.ts
@@ -3,5 +3,6 @@
declare const styles: {
readonly main: string
readonly emptyRepo: string
+ readonly divContainer: string
}
export default styles
diff --git a/web/src/pages/Repository/Repository.tsx b/web/src/pages/Repository/Repository.tsx
index c41ce2d0f..52daf2220 100644
--- a/web/src/pages/Repository/Repository.tsx
+++ b/web/src/pages/Repository/Repository.tsx
@@ -1,16 +1,18 @@
import React from 'react'
-import { Container, PageBody } from '@harness/uicore'
+import { Button, ButtonVariation, Container, FontVariation, Layout, PageBody, Text } from '@harness/uicore'
import { useGetResourceContent } from 'hooks/useGetResourceContent'
import { voidFn, getErrorMessage } from 'utils/Utils'
import { useAppContext } from 'AppContext'
import { useGetRepositoryMetadata } from 'hooks/useGetRepositoryMetadata'
import { LoadingSpinner } from 'components/LoadingSpinner/LoadingSpinner'
import { useStrings } from 'framework/strings'
+import type { OpenapiGetContentOutput } from 'services/code'
import { MarkdownViewer } from 'components/SourceCodeViewer/SourceCodeViewer'
import type { GitInfoProps } from 'utils/GitUtils'
import { useDisableCodeMainLinks } from 'hooks/useDisableCodeMainLinks'
import { RepositoryContent } from './RepositoryContent/RepositoryContent'
import { RepositoryHeader } from './RepositoryHeader/RepositoryHeader'
+import { ContentHeader } from './RepositoryContent/ContentHeader/ContentHeader'
import css from './Repository.module.scss'
export default function Repository() {
@@ -40,7 +42,12 @@ export default function Repository() {
/>
)}
- {isRepositoryEmpty && }
+ {isRepositoryEmpty && (
+
+ )}
>
)}
@@ -48,7 +55,10 @@ export default function Repository() {
)
}
-const EmptyRepositoryInfo: React.FC> = ({ repoMetadata }) => {
+const EmptyRepositoryInfo: React.FC> = (
+ { repoMetadata },
+ resourceContent
+) => {
const { routes } = useAppContext()
const { getString } = useStrings()
const { currentUserProfileURL } = useAppContext()
@@ -59,16 +69,53 @@ const EmptyRepositoryInfo: React.FC> = ({ rep
})
useDisableCodeMainLinks(true)
-
return (
-
+
+ {getString('emptyRepoHeader')}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
)
}
diff --git a/web/src/pages/RepositoryFileEdit/FileEditor/FileEditor.tsx b/web/src/pages/RepositoryFileEdit/FileEditor/FileEditor.tsx
index ae3dee563..4376b531f 100644
--- a/web/src/pages/RepositoryFileEdit/FileEditor/FileEditor.tsx
+++ b/web/src/pages/RepositoryFileEdit/FileEditor/FileEditor.tsx
@@ -100,6 +100,16 @@ function Editor({ resourceContent, repoMetadata, gitRef, resourcePath, isReposit
}
}, [startVerifyFolder, folderContent, fileResourcePath])
+ useEffect(() => {
+ if (isNew) {
+ // setName from click on empty repo page so either readme, license or gitignore
+ const nameExists = window.location.href.includes('?name=')
+ if (nameExists) {
+ const fileName = window.location.href.split('?name=')[1]
+ setFileName(fileName)
+ }
+ }
+ }, [isNew])
return (