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 (