diff --git a/Jenkinsfile b/Jenkinsfile index aa206682c8f..372cb465161 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -4,16 +4,21 @@ * Jenkinsfile for zanata-platform */ +@Field +public static final String PROJ_URL = 'https://github.com/zanata/zanata-platform' + // Import pipeline library for utility methods & classes: // ansicolor(), Notifier, PullRequests, Strings @Field -public static final String PIPELINE_LIBRARY_BRANCH = 'master' +public static final String PIPELINE_LIBRARY_BRANCH = 'v0.3.0' // GROOVY-3278: // Using referenced String constant as value of Annotation causes compile error -@Library('zanata-pipeline-library@master') +@Library('zanata-pipeline-library@v0.3.0') import org.zanata.jenkins.Notifier import org.zanata.jenkins.PullRequests +import org.zanata.jenkins.ScmGit +import static org.zanata.jenkins.Reporting.codecov import static org.zanata.jenkins.StackTraces.getStackTrace import groovy.transform.Field @@ -23,13 +28,15 @@ milestone() PullRequests.ensureJobDescription(env, manager, steps) +// initialiser must be run separately (bindings not available during compilation phase) +@Field +def pipelineLibraryScmGit + +@Field +def mainScmGit + @Field def notify -// initialiser must be run separately (bindings not available during compilation phase) -notify = new Notifier(env, steps, currentBuild, - 'https://github.com/zanata/zanata-platform.git', - 'Jenkinsfile', PIPELINE_LIBRARY_BRANCH, -) // we can't set these values yet, because we need a node to look at the environment @Field @@ -45,6 +52,13 @@ def jobName // we need a node to access env.DEFAULT_NODE. node { echo "running on node ${env.NODE_NAME}" + pipelineLibraryScmGit = new ScmGit(env, steps, 'https://github.com/zanata/zanata-pipeline-library') + pipelineLibraryScmGit.init(PIPELINE_LIBRARY_BRANCH) + mainScmGit = new ScmGit(env, steps, PROJ_URL) + mainScmGit.init(env.BRANCH_NAME) + notify = new Notifier(env, steps, currentBuild, + pipelineLibraryScmGit, mainScmGit, 'Jenkinsfile', + ) defaultNodeLabel = env.DEFAULT_NODE ?: 'master || !master' // eg github-zanata-org/zanata-platform/update-Jenkinsfile jobName = env.JOB_NAME @@ -59,7 +73,7 @@ node { ], [ $class: 'GithubProjectProperty', - projectUrlStr: 'https://github.com/zanata/zanata-platform' + projectUrlStr: PROJ_URL ], [ $class: 'ParametersDefinitionProperty', @@ -231,21 +245,7 @@ timestamps { // TODO try https://github.com/jenkinsci/github-pr-coverage-status-plugin // send test coverage data to codecov.io - try { - withCredentials( - [[$class: 'StringBinding', - credentialsId: 'codecov_zanata-platform', - variable: 'CODECOV_TOKEN']]) { - // NB the codecov script uses CODECOV_TOKEN - sh "curl -s https://codecov.io/bash | bash -s - -K" - } - } catch (InterruptedException e) { - throw e - } catch (hudson.AbortException e) { - throw e - } catch (e) { - echo "[WARNING] Ignoring codecov error: $e" - } + codecov(env, steps, mainScmGit) // notify if compile+unit test successful // TODO update notify (in pipeline library) to support Rocket.Chat webhook integration diff --git a/api/zanata-common-api/pom.xml b/api/zanata-common-api/pom.xml index b0732bb634e..9d747450c0c 100644 --- a/api/zanata-common-api/pom.xml +++ b/api/zanata-common-api/pom.xml @@ -9,7 +9,7 @@ api 4.4.0-SNAPSHOT - takari-jar + jar diff --git a/build b/build index 2425ac756d6..e5a03f3a587 100755 --- a/build +++ b/build @@ -71,7 +71,6 @@ General options: -c, --clean (mvn clean) -C, --clean-partial removes various generated files from server without running a full mvn clean - (takari lifecycle handles this in jar modules) -P, --skip-package runs mvn test instead of mvn package -i, --install (mvn install) diff --git a/build-tools/pom.xml b/build-tools/pom.xml index 22cf9931b48..78fbf7b4fac 100644 --- a/build-tools/pom.xml +++ b/build-tools/pom.xml @@ -6,7 +6,7 @@ Build Tools Build tools for Zanata modules http://zanata.org/ - takari-jar + jar @@ -59,26 +59,11 @@ 1.8 - - - - io.takari.maven.plugins - takari-lifecycle-plugin - - 1.12.4 - true - - proc - - - - - com.lesfurets jenkins-pipeline-unit - 0.12 + 1.1 test diff --git a/build-tools/src/test/java/TestJenkinsfile.java b/build-tools/src/test/java/TestJenkinsfile.java index d451abc9732..3bdc90a0e87 100644 --- a/build-tools/src/test/java/TestJenkinsfile.java +++ b/build-tools/src/test/java/TestJenkinsfile.java @@ -1,22 +1,23 @@ +import java.io.File; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.codehaus.groovy.runtime.MethodClosure; +import org.junit.Before; +import org.junit.Test; import com.cloudbees.groovy.cps.impl.CpsCallableInvocation; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.lesfurets.jenkins.unit.cps.BasePipelineTestCPS; import com.lesfurets.jenkins.unit.global.lib.LibraryConfiguration; import groovy.lang.Closure; -import org.codehaus.groovy.runtime.MethodClosure; -import org.junit.Before; -import org.junit.Test; - -import java.io.File; -import java.util.HashMap; -import java.util.List; -import java.util.Map; import static com.lesfurets.jenkins.unit.MethodSignature.method; import static com.lesfurets.jenkins.unit.global.lib.GitSource.gitSource; import static com.lesfurets.jenkins.unit.global.lib.LibraryConfiguration.library; import static java.lang.Boolean.TRUE; +import static org.assertj.core.api.Assertions.assertThat; // try 'extends BasePipelineTest' for debugging in case of weird Groovy exceptions public class TestJenkinsfile extends BasePipelineTestCPS { @@ -66,24 +67,8 @@ public void setUp() throws Exception { throw new RuntimeException("Unmocked invocation"); }); getHelper().registerAllowedMethod(method("sh", Map.class), - args -> { - @SuppressWarnings("unchecked") - Map a = (Map) args; - if (TRUE.equals(a.get("returnStdout"))) { - String script = a.get("script").toString(); - if (script.contains("allocate-jboss-ports")) { - return "JBOSS_HTTP_PORT=51081\nSMTP_PORT=34765\n"; - } - // Notifier.groovy in zanata-pipeline-library uses this: - if (script.contains("git ls-remote")) { - return "1234567890 abcdef\n"; - } - } - if (TRUE.equals(a.get("returnStatus"))) { - return 0; - } - return 0; - }); + SH.INSTANCE); + // PipelineUnit(withCredentialsInterceptor) can't handle a List // TODO for some reason the steps inside closure.call() are not shown as nested getHelper().registerAllowedMethod("withCredentials", @@ -100,7 +85,7 @@ public Object call(Object... args) { Map env = new HashMap<>(); env.put("BUILD_URL", "http://example.com/job/JobName/123"); env.put("JOB_NAME", "JobName"); - env.put("BRANCH_NAME", "PR-456"); + env.put("BRANCH_NAME", "master"); env.put("BUILD_NUMBER", "123"); env.put("EXECUTOR_NUMBER", "1"); env.put("DEFAULT_NODE", "master"); @@ -113,7 +98,7 @@ public Object call(Object... args) { steps.put("emailext", Closure.IDENTITY); steps.put("emailextrecipients", Closure.IDENTITY); steps.put("library", Closure.IDENTITY); - steps.put("sh", Closure.IDENTITY); + steps.put("sh", SH.INSTANCE); steps.put("step", Closure.IDENTITY); // we need this for CPS mode MethodClosure.ALLOW_RESOLVE = true; @@ -129,15 +114,69 @@ public Object call(Object... args) { getBinding().setProperty("manager", ImmutableMap.of()); } + static class SH extends Closure { + static final Closure INSTANCE = new SH(); + SH() { + super(null); + } + + @SuppressWarnings("unused") + protected Object doCall(T args) { + if (args instanceof String) return 0; + + @SuppressWarnings("unchecked") + Map a = (Map) args; + if (TRUE.equals(a.get("returnStdout"))) { + String script = a.get("script").toString(); + if (script.endsWith("allocate-jboss-ports")) { + return "JBOSS_HTTP_PORT=51081\nSMTP_PORT=34765\n"; + } + if (script.startsWith("git ls-remote")) { +// ScmGit.init in zanata-pipeline-library uses these: + if (script.endsWith("refs/pull/*/head")) { + return "1234567890123456789012345678901234567890 refs/pull/123/head\n" + + "6543516846846146541645265465464654264641 refs/pull/234/head"; + } else if (script.endsWith("refs/heads/*")) { + return "fc2b7c527e4401c03bcaf2833739d16e77698ab6 refs/heads/master\n" + + "b0d3e2ff4696f2702f4b4fbac3b59b6cf9a76790 refs/heads/feature-branch"; + } else if (script.contains("refs/tags/")) { + // TODO extract the requested tag and return it + return "b0d3e2ff4696f2702f4b4fbac3b59b6cf9a76790 refs/tags/v0.3.0"; + } else if (script.matches("refs/pull/.*/head")) { + return "b0d3e2ff4696f2702f4b4fbac3b59b6cf9a76790 refs/pull/123/head"; + } else { +// Notifier.groovy in zanata-pipeline-library uses this: + return "fc2b7c527e4401c03bcaf2833739d16e77698ab6 refs/heads/master\n" + + "b0d3e2ff4696f2702f4b4fbac3b59b6cf9a76790 refs/heads/feature-branch\n" + + "1234567890123456789012345678901234567890 refs/tags/v0.1.0"; + } + } + } + if (TRUE.equals(a.get("returnStatus"))) { + return 0; + } + return 0; + } + } + @Test public void shouldExecuteWithoutErrors() throws Exception { - try { // load and execute the Jenkinsfile - loadScript("../Jenkinsfile"); + runScript("../Jenkinsfile"); printCallStack(); assertJobStatusSuccess(); - // TODO add assertions about call stack (but not too fragile) + + boolean verified = getHelper().getCallStack() + .stream() + .filter(it -> it.getMethodName().equals("sh") && it.argsToString().contains("mvn")) + // snoop on mvn commands in the stream +// .peek(it -> System.out.printf("%s\n\n", it.argsToString())) + .anyMatch(it -> { + String args = it.argsToString(); + return args.contains("-Dappserver=") && args.contains("install"); + }); + assertThat(verified).isTrue(); } catch (CpsCallableInvocation e) { // if the script fails, we need the call stack to tell us where the problem is // (CpsCallableInvocation tells us very little) diff --git a/client/stub-server/pom.xml b/client/stub-server/pom.xml index 9d9662ec1de..7cf4465fe1f 100644 --- a/client/stub-server/pom.xml +++ b/client/stub-server/pom.xml @@ -8,7 +8,7 @@ stub-server stub-server - takari-jar + jar diff --git a/client/zanata-cli/pom.xml b/client/zanata-cli/pom.xml index 2084df201e2..9433e652645 100644 --- a/client/zanata-cli/pom.xml +++ b/client/zanata-cli/pom.xml @@ -8,7 +8,7 @@ zanata-cli Zanata command-line client - takari-jar + jar diff --git a/client/zanata-client-commands/pom.xml b/client/zanata-client-commands/pom.xml index f58114c4d24..559bd5da7fc 100644 --- a/client/zanata-client-commands/pom.xml +++ b/client/zanata-client-commands/pom.xml @@ -8,7 +8,7 @@ zanata-client-commands Zanata client commands - takari-jar + jar diff --git a/client/zanata-maven-plugin/pom.xml b/client/zanata-maven-plugin/pom.xml index 0a1f5b19563..b58ffe6d8e9 100644 --- a/client/zanata-maven-plugin/pom.xml +++ b/client/zanata-maven-plugin/pom.xml @@ -9,9 +9,6 @@ zanata-maven-plugin maven-plugin - - - Zanata Maven Plugin diff --git a/client/zanata-rest-client/pom.xml b/client/zanata-rest-client/pom.xml index 405731586a7..fba62255962 100644 --- a/client/zanata-rest-client/pom.xml +++ b/client/zanata-rest-client/pom.xml @@ -8,7 +8,7 @@ client 4.4.0-SNAPSHOT - takari-jar + jar diff --git a/common/zanata-adapter-glossary/pom.xml b/common/zanata-adapter-glossary/pom.xml index a9a56caa04a..d60f77821ae 100644 --- a/common/zanata-adapter-glossary/pom.xml +++ b/common/zanata-adapter-glossary/pom.xml @@ -8,7 +8,7 @@ common 4.4.0-SNAPSHOT - takari-jar + jar diff --git a/common/zanata-adapter-po/pom.xml b/common/zanata-adapter-po/pom.xml index 68be43ce25e..3eb94f51d3a 100644 --- a/common/zanata-adapter-po/pom.xml +++ b/common/zanata-adapter-po/pom.xml @@ -8,7 +8,7 @@ common 4.4.0-SNAPSHOT - takari-jar + jar diff --git a/common/zanata-adapter-properties/pom.xml b/common/zanata-adapter-properties/pom.xml index 7b9959d25c2..9929c0e4df5 100644 --- a/common/zanata-adapter-properties/pom.xml +++ b/common/zanata-adapter-properties/pom.xml @@ -8,7 +8,7 @@ common 4.4.0-SNAPSHOT - takari-jar + jar diff --git a/common/zanata-adapter-xliff/pom.xml b/common/zanata-adapter-xliff/pom.xml index 8c6ca337c84..26dd3b38ca2 100644 --- a/common/zanata-adapter-xliff/pom.xml +++ b/common/zanata-adapter-xliff/pom.xml @@ -8,7 +8,7 @@ common 4.4.0-SNAPSHOT - takari-jar + jar diff --git a/common/zanata-common-util/pom.xml b/common/zanata-common-util/pom.xml index 36ee0e73625..f72cf9206b8 100644 --- a/common/zanata-common-util/pom.xml +++ b/common/zanata-common-util/pom.xml @@ -8,7 +8,7 @@ common 4.4.0-SNAPSHOT - takari-jar + jar diff --git a/parent/pom.xml b/parent/pom.xml index c4549855709..9e7dc17d42f 100644 --- a/parent/pom.xml +++ b/parent/pom.xml @@ -191,10 +191,6 @@ 1.8 ${required.jvm} true - - jdt - 1.12.4 - true - - proc - - - - - org.apache.maven.wagon - wagon-webdav-jackrabbit - 2.10 - - - - org.jacoco jacoco-maven-plugin @@ -940,7 +915,6 @@ false false false - true false diff --git a/server/docker/conf/zanata-config.cli b/server/docker/conf/zanata-config.cli index 9cb244b8182..1a52ca02b03 100644 --- a/server/docker/conf/zanata-config.cli +++ b/server/docker/conf/zanata-config.cli @@ -12,6 +12,7 @@ batch /system-property="zanata.home":add(value="${user.home}/zanata") /system-property="javamelody.storage-directory":add(value="${zanata.home}/stats") /system-property="hibernate.search.default.indexBase":add(value="${zanata.home}/indexes") +/system-property="zanata.file.directory":add(value="${zanata.home}/files") /system-property="jboss.as.management.blocking.timeout":add(value="1000") /system-property="zanata.security.authpolicy.internal":add(value="zanata.internal") /system-property="zanata.security.authpolicy.openid":add(value="zanata.openid") diff --git a/server/functional-test/pom.xml b/server/functional-test/pom.xml index 80a017ddb8e..ca477c0e1cf 100644 --- a/server/functional-test/pom.xml +++ b/server/functional-test/pom.xml @@ -9,7 +9,7 @@ functional-test - takari-jar + jar functional-test @@ -897,35 +897,29 @@ src/test/resources/zanata-user-config true + + + sample-projects + sample-projects + true + + **/zanata.xml + **/pom.xml + + + + + sample-projects + sample-projects + false + + **/zanata.xml + **/pom.xml + + - - maven-resources-plugin - - - default - process-test-resources - - copy-resources - - - - - target/test-classes/ - - - - sample-projects - sample-projects - true - - ** - - - - - org.codehaus.gmaven gmaven-plugin diff --git a/server/gwt-shared/pom.xml b/server/gwt-shared/pom.xml index 2f465fa413e..e2dab408544 100644 --- a/server/gwt-shared/pom.xml +++ b/server/gwt-shared/pom.xml @@ -10,7 +10,7 @@ gwt-shared - takari-jar + jar gwt-shared @@ -24,13 +24,16 @@ - io.takari.maven.plugins - takari-lifecycle-plugin - true - - true - false - + maven-source-plugin + 2.1.2 + + + package + + jar-no-fork + + + diff --git a/server/gwt-test/pom.xml b/server/gwt-test/pom.xml index e527c35d241..ca283386595 100644 --- a/server/gwt-test/pom.xml +++ b/server/gwt-test/pom.xml @@ -10,7 +10,7 @@ gwt-test - takari-jar + jar diff --git a/server/pom.xml b/server/pom.xml index cdf742f8f95..6893204bb9b 100644 --- a/server/pom.xml +++ b/server/pom.xml @@ -1894,7 +1894,7 @@ - - javac - - - - - io.takari.maven.plugins - takari-lifecycle-plugin - true - - - - - default-compile - none - java-compile compile - compile - - - - default-testCompile - none + + compile + java-test-compile test-compile - testCompile + + testCompile + - - jdt - diff --git a/server/security-common/pom.xml b/server/security-common/pom.xml index f925b64bc74..9ae6d2dfb0c 100644 --- a/server/security-common/pom.xml +++ b/server/security-common/pom.xml @@ -8,7 +8,7 @@ security-common security-common - takari-jar + jar diff --git a/server/services/pom.xml b/server/services/pom.xml index 159aa146bec..878d180d78d 100644 --- a/server/services/pom.xml +++ b/server/services/pom.xml @@ -9,7 +9,7 @@ 4.4.0-SNAPSHOT services - takari-jar + jar Zanata Services Zanata Services @@ -185,18 +185,6 @@ - - - io.takari.maven.plugins - takari-lifecycle-plugin - true - - - true - true - - - diff --git a/server/services/src/main/java/org/zanata/action/LoginAction.java b/server/services/src/main/java/org/zanata/action/LoginAction.java index d94a8cb4b61..641c4ca57ad 100644 --- a/server/services/src/main/java/org/zanata/action/LoginAction.java +++ b/server/services/src/main/java/org/zanata/action/LoginAction.java @@ -28,6 +28,8 @@ import javax.faces.context.FacesContext; import javax.inject.Inject; import javax.inject.Named; + +import org.apache.commons.lang3.StringUtils; import org.apache.deltaspike.jpa.api.transaction.Transactional; import org.hibernate.validator.internal.constraintvalidators.hv.EmailValidator; import org.zanata.ApplicationConfiguration; @@ -109,7 +111,7 @@ public String login() { "login() only supports internal, jaas, or kerberos authentication"); } - if ("loggedIn".equals(loginResult)) { + if (StringUtils.equals(loginResult, "loggedIn")) { if (authenticationManager.isAuthenticated() && authenticationManager.isNewUser()) { return "createUser"; @@ -124,9 +126,10 @@ public String login() { && userRedirect.isRedirect()) { // TODO [CDI] seam will create a conversation when you return // view id directly or redirect to external url - return continueToPreviousUrl(); + continueToPreviousUrl(); + return ""; } - } else if ("inactive".equals(loginResult)) { + } else if (StringUtils.equals(loginResult, "inactive")) { // TODO [CDI] commented out programmatically ending conversation // Conversation.instance().end(); return "inactive"; @@ -134,14 +137,17 @@ public String login() { return loginResult; } - private String continueToPreviousUrl() { + private void continueToPreviousUrl() { try { - FacesNavigationUtil.redirect(FacesContext.getCurrentInstance(), - userRedirect.getUrl()); + if (StringUtils.isNotBlank(userRedirect.getUrl())) { + FacesNavigationUtil.redirect(FacesContext.getCurrentInstance(), + userRedirect.getUrl()); + } else { + urlUtil.redirectToInternal(urlUtil.dashboardUrl()); + } } catch (IOException e) { - return "dashboard"; + urlUtil.redirectToInternal(urlUtil.dashboardUrl()); } - return "continue"; } /** @@ -197,9 +203,9 @@ public static OpenIdProviderType getBestSuitedProvider(String openId) { * @return A string indicating where the user should be redirected when * trying to access the login page. */ - public String getLoginPageRedirect() { + public String init() { if (identity.isLoggedIn()) { - return "dashboard"; + urlUtil.redirectToInternal(urlUtil.dashboardUrl()); } if (applicationConfiguration.isOpenIdAuth() && applicationConfiguration.isSingleOpenIdProvider()) { diff --git a/server/services/src/main/java/org/zanata/security/AuthenticationManager.java b/server/services/src/main/java/org/zanata/security/AuthenticationManager.java index d61a3b8c30e..804a412b67f 100644 --- a/server/services/src/main/java/org/zanata/security/AuthenticationManager.java +++ b/server/services/src/main/java/org/zanata/security/AuthenticationManager.java @@ -359,6 +359,9 @@ public boolean isNewUser() { return credentialsDAO.findByUser( zanataOpenId.getAuthResult().getAuthenticatedId()) == null; } + if (credentials.getAuthType() == SAML2 && saml2Enabled) { + return credentialsDAO.findByUser(samlIdentity.getUniqueName()) == null; + } return isNewUser(credentials.getUsername()); } diff --git a/server/services/src/main/java/org/zanata/security/SamlAccountService.kt b/server/services/src/main/java/org/zanata/security/SamlAccountService.kt new file mode 100644 index 00000000000..a70246a9423 --- /dev/null +++ b/server/services/src/main/java/org/zanata/security/SamlAccountService.kt @@ -0,0 +1,65 @@ +/* + * Copyright 2017, Red Hat, Inc. and individual contributors + * as indicated by the @author tags. See the copyright.txt file in the + * distribution for a full listing of individual contributors. + * + * This is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This software is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this software; if not, write to the Free + * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA, or see the FSF site: http://www.fsf.org. + */ +package org.zanata.security + +import org.apache.deltaspike.jpa.api.transaction.Transactional +import org.slf4j.Logger +import org.slf4j.LoggerFactory +import org.zanata.dao.AccountDAO +import org.zanata.dao.CredentialsDAO +import org.zanata.model.HAccount +import org.zanata.model.security.HSaml2Credentials +import org.zanata.security.annotations.SAML +import org.zanata.security.annotations.SAMLAttribute +import org.zanata.security.annotations.SAMLAttribute.AttributeName.EMAIL +import java.security.Principal +import javax.enterprise.context.RequestScoped +import javax.inject.Inject + +/** + * Merge saml credentials to existing account if email matches. + */ +@RequestScoped +class SamlAccountService @Inject constructor( + @SAMLAttribute(EMAIL) private val email: String, + @SAML private val principal: Principal, + private val accountDAO: AccountDAO, + private val credentialsDAO: CredentialsDAO) { + + private fun isFirstSignIn(uniqueId: String): Boolean = credentialsDAO.findByUser(uniqueId) == null + + @Transactional + fun tryMergeToExistingAccount() { + val uniqueId = principal.name + if (isFirstSignIn(uniqueId)) { + val hAccount: HAccount? = accountDAO.getByEmail(email) + hAccount?.let { + log.info("found existing account with matching email [{}]. Will reuse the account.", email) + val credentials = HSaml2Credentials(it, uniqueId, email) + it.credentials.add(credentials) + } + } + } + + companion object { + private val log: Logger = LoggerFactory.getLogger(SamlAccountService::class.java) + } +} diff --git a/server/services/src/main/java/org/zanata/servlet/SAMLFilter.kt b/server/services/src/main/java/org/zanata/servlet/SAMLFilter.kt index 16a857e9cde..45253944c7a 100644 --- a/server/services/src/main/java/org/zanata/servlet/SAMLFilter.kt +++ b/server/services/src/main/java/org/zanata/servlet/SAMLFilter.kt @@ -22,16 +22,17 @@ package org.zanata.servlet import com.google.common.annotations.VisibleForTesting import org.zanata.security.AuthenticationManager +import org.zanata.security.SamlAccountService import org.zanata.security.SamlAttributes import org.zanata.util.UrlUtil import java.io.IOException import javax.inject.Inject import javax.servlet.Filter +import javax.servlet.FilterChain import javax.servlet.FilterConfig import javax.servlet.ServletException import javax.servlet.ServletRequest import javax.servlet.ServletResponse -import javax.servlet.FilterChain import javax.servlet.annotation.WebFilter import javax.servlet.http.HttpServletRequest import javax.servlet.http.HttpServletResponse @@ -48,12 +49,16 @@ class SAMLFilter() : Filter { private lateinit var urlUtil: UrlUtil @Inject private lateinit var samlAttributes: SamlAttributes + @Inject + private lateinit var samlAccountService: SamlAccountService @VisibleForTesting - constructor(authenticationManager: AuthenticationManager, urlUtil: UrlUtil, samlAttributes: SamlAttributes) : this() { + constructor(authenticationManager: AuthenticationManager, urlUtil: UrlUtil, + samlAttributes: SamlAttributes, samlAccountService: SamlAccountService) : this() { this.authenticationManager = authenticationManager this.urlUtil = urlUtil this.samlAttributes = samlAttributes + this.samlAccountService = samlAccountService } @Throws(ServletException::class) @@ -65,6 +70,8 @@ class SAMLFilter() : Filter { if (request is HttpServletRequest) { if (samlAttributes.isAuthenticated) { authenticationManager.ssoLogin() + // here we try to auto merge account if email matches + samlAccountService.tryMergeToExistingAccount() performRedirection(response as HttpServletResponse) return } diff --git a/server/services/src/main/java/org/zanata/util/UrlUtil.java b/server/services/src/main/java/org/zanata/util/UrlUtil.java index 2dada256c5a..dd3e57b99fb 100644 --- a/server/services/src/main/java/org/zanata/util/UrlUtil.java +++ b/server/services/src/main/java/org/zanata/util/UrlUtil.java @@ -80,25 +80,32 @@ public class UrlUtil implements Serializable { * @return local part of url from original request */ public String getLocalUrl(HttpServletRequest request) { - String url; + StringBuilder url = new StringBuilder(); String queryString; if (request.getAttribute("javax.servlet.forward.request_uri") != null) { - url = (String) request + Object contextPath = request .getAttribute("javax.servlet.forward.context_path"); - url += (String) request - .getAttribute("javax.servlet.forward.servlet_path"); + if (contextPath != null) { + url.append((String) contextPath); + } + Object servletPath = + request.getAttribute("javax.servlet.forward.servlet_path"); + if (servletPath != null) { + url.append((String) servletPath); + } queryString = (String) request .getAttribute("javax.servlet.forward.query_string"); } else { - url = request.getRequestURI(); + url.append(request.getRequestURI()); queryString = request.getQueryString(); log.warn("encountered non-rewritten url {} with query string {}", - url, queryString); + url.toString(), queryString); } - if (queryString != null && queryString.length() > 0) { - url += "?" + queryString; + if (StringUtils.isNotBlank(queryString)) { + url.append("?"); + url.append(queryString); } - return url; + return url.toString(); } /** diff --git a/server/services/src/test/java/org/zanata/action/LoginActionTest.java b/server/services/src/test/java/org/zanata/action/LoginActionTest.java index 6cef53e00ea..9a9f2622fc5 100644 --- a/server/services/src/test/java/org/zanata/action/LoginActionTest.java +++ b/server/services/src/test/java/org/zanata/action/LoginActionTest.java @@ -20,6 +20,7 @@ */ package org.zanata.action; +import org.apache.deltaspike.core.spi.scope.window.WindowContext; import org.jglue.cdiunit.InRequestScope; import org.jglue.cdiunit.InSessionScope; import org.junit.Test; @@ -29,6 +30,8 @@ import org.zanata.dao.AccountDAO; import org.zanata.model.HAccount; import org.zanata.security.*; +import org.zanata.servlet.annotations.ContextPath; +import org.zanata.servlet.annotations.ServerPath; import org.zanata.test.CdiUnitRunner; import org.zanata.util.UrlUtil; @@ -38,6 +41,7 @@ import javax.enterprise.inject.Produces; import javax.inject.Inject; +import javax.inject.Named; import java.io.Serializable; import com.google.common.collect.Sets; @@ -70,6 +74,22 @@ public class LoginActionTest implements Serializable { @Mock @Produces private UserRedirectBean userRedirect; + + @Produces + @Named("dswidParam") + private String dswidParam = ""; + @Produces + @Named("dswidQuery") + String dswidQuery = ""; + @Produces + @ServerPath + private String serverPath = "/"; + @Produces @Mock + private WindowContext windowContext; + @Produces + @ContextPath + String contextPath = ""; + @Produces private AuthenticationType authenticationType = AuthenticationType.INTERNAL; diff --git a/server/services/src/test/java/org/zanata/security/SamlAccountServiceTest.kt b/server/services/src/test/java/org/zanata/security/SamlAccountServiceTest.kt new file mode 100644 index 00000000000..a4ca0741b3e --- /dev/null +++ b/server/services/src/test/java/org/zanata/security/SamlAccountServiceTest.kt @@ -0,0 +1,56 @@ +package org.zanata.security + +import com.nhaarman.mockito_kotlin.given +import com.nhaarman.mockito_kotlin.verifyZeroInteractions +import org.assertj.core.api.Assertions.assertThat +import org.junit.Before +import org.junit.Test +import org.mockito.Mock +import org.mockito.MockitoAnnotations +import org.zanata.dao.AccountDAO +import org.zanata.dao.CredentialsDAO +import org.zanata.model.HAccount +import org.zanata.model.security.HSaml2Credentials + +class SamlAccountServiceTest { + @Mock + private lateinit var accountDAO: AccountDAO + @Mock + private lateinit var credentialsDAO: CredentialsDAO + + private val uniqueId = "abc-123" + private val email = "admin@example.com" + + private lateinit var service: SamlAccountService + + @Before + fun setUp() { + MockitoAnnotations.initMocks(this) + service = SamlAccountService(email, SimplePrincipal(uniqueId), accountDAO, credentialsDAO) + } + + @Test + fun willNotMergeAccountIfItIsNotFirstSamlSignIn() { + given(credentialsDAO.findByUser(uniqueId)).willReturn(HSaml2Credentials(HAccount(), uniqueId, email)) + + service.tryMergeToExistingAccount() + + verifyZeroInteractions(accountDAO) + } + + @Test + fun willMergeAccountIfMatchedAccountFoundOnFirstSamlSignIn() { + given(credentialsDAO.findByUser(uniqueId)).willReturn(null) + val existAccount = HAccount() + given(accountDAO.getByEmail(email)).willReturn(existAccount) + + service.tryMergeToExistingAccount() + + assertThat(existAccount.credentials).isNotEmpty + val hCredentials = existAccount.credentials.first() + assertThat(hCredentials).isInstanceOf(HSaml2Credentials::class.java) + assertThat(hCredentials.account).isSameAs(existAccount) + assertThat(hCredentials.email).isEqualTo(email) + assertThat(hCredentials.user).isEqualTo(uniqueId) + } +} diff --git a/server/services/src/test/java/org/zanata/servlet/SAMLFilterTest.kt b/server/services/src/test/java/org/zanata/servlet/SAMLFilterTest.kt index 4ae8e988304..73e4ff49c0a 100644 --- a/server/services/src/test/java/org/zanata/servlet/SAMLFilterTest.kt +++ b/server/services/src/test/java/org/zanata/servlet/SAMLFilterTest.kt @@ -12,6 +12,7 @@ import org.mockito.Mock import org.mockito.Mockito import org.mockito.MockitoAnnotations import org.zanata.security.AuthenticationManager +import org.zanata.security.SamlAccountService import org.zanata.security.SamlAttributes import org.zanata.util.UrlUtil import javax.servlet.FilterChain @@ -34,12 +35,13 @@ class SAMLFilterTest { private lateinit var authenticationManager: AuthenticationManager @Mock private lateinit var urlUtil: UrlUtil - + @Mock + private lateinit var samlAccountService: SamlAccountService @Before fun setUp() { MockitoAnnotations.initMocks(this) - filter = SAMLFilter(authenticationManager, urlUtil, samlAttributes) + filter = SAMLFilter(authenticationManager, urlUtil, samlAttributes, samlAccountService) } @@ -74,5 +76,6 @@ class SAMLFilterTest { filter.doFilter(request, response, chain) verify(response).sendRedirect("/dashboard") + verify(samlAccountService).tryMergeToExistingAccount() } } diff --git a/server/services/src/test/java/org/zanata/util/UrlUtilTest.java b/server/services/src/test/java/org/zanata/util/UrlUtilTest.java new file mode 100644 index 00000000000..9bcc57f9c3e --- /dev/null +++ b/server/services/src/test/java/org/zanata/util/UrlUtilTest.java @@ -0,0 +1,93 @@ +/* + * Copyright 2017, Red Hat, Inc. and individual contributors + * as indicated by the @author tags. See the copyright.txt file in the + * distribution for a full listing of individual contributors. + * + * This is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This software is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this software; if not, write to the Free + * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA, or see the FSF site: http://www.fsf.org. + */ + +package org.zanata.util; + +import org.apache.deltaspike.core.spi.scope.window.WindowContext; +import org.jglue.cdiunit.InRequestScope; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.zanata.ZanataTest; +import org.zanata.servlet.annotations.ContextPath; +import org.zanata.servlet.annotations.ServerPath; +import org.zanata.test.CdiUnitRunner; + +import javax.enterprise.inject.Produces; +import javax.inject.Inject; +import javax.inject.Named; +import javax.servlet.http.HttpServletRequest; + +import static org.assertj.core.api.AssertionsForInterfaceTypes.assertThat; +import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.Mockito.when; + +@RunWith(CdiUnitRunner.class) +@InRequestScope +public class UrlUtilTest extends ZanataTest { + + @Produces + @ServerPath + String serverPath = "/"; + @Produces + @ContextPath + String contextPath = ""; + @Produces + @Named("dswidQuery") + String dswidQuery = ""; + @Produces + @Named("dswidParam") + String dswidParam = ""; + @Produces @Mock + WindowContext windowContext; + + @Inject + private UrlUtil urlUtil; + + @Test + public void getLocalUrlNoAttributeTest() { + String queryString = "queryStringforUrl"; + String uri = "/testingurl"; + + HttpServletRequest request = Mockito.mock(HttpServletRequest.class); + when(request.getAttribute(anyString())).thenReturn(null); + when(request.getQueryString()).thenReturn(queryString); + when(request.getRequestURI()).thenReturn(uri); + String localUrl = urlUtil.getLocalUrl(request); + assertThat(localUrl).contains(queryString).contains(uri); + } + + @Test + public void getLocalUrlWithAttributeTest() { + String queryString = "queryStringforUrl"; + String contextPath = "/contextPath"; + + HttpServletRequest request = Mockito.mock(HttpServletRequest.class); + when(request.getAttribute("javax.servlet.forward.request_uri")).thenReturn("true"); + when(request.getAttribute("javax.servlet.forward.context_path")).thenReturn(contextPath); + when(request.getAttribute("javax.servlet.forward.servlet_path")).thenReturn("servletPath"); + when(request.getAttribute("javax.servlet.forward.query_string")).thenReturn(queryString); + + String localUrl = urlUtil.getLocalUrl(request); + assertThat(localUrl).contains(queryString).contains(contextPath); + } +} diff --git a/server/zanata-frontend/.gitignore b/server/zanata-frontend/.gitignore index d295aaf9f57..da4618d648f 100644 --- a/server/zanata-frontend/.gitignore +++ b/server/zanata-frontend/.gitignore @@ -11,12 +11,12 @@ dist/ coverage/ # generated css -src/frontend/app/styles/atomic.css +src/app/styles/atomic.css # generated frontend icons -src/frontend/app/components/Icon/list.js -src/frontend/app/components/Icons/icons.svg -src/frontend/app/components/Icons/index.jsx +src/app/components/Icon/list.js +src/app/components/Icons/icons.svg +src/app/components/Icons/index.jsx # files generated by `make storybook-static`, should never be checked in storybook-static diff --git a/server/zanata-frontend/README.md b/server/zanata-frontend/README.md index 603fb826312..f9acaa755e2 100644 --- a/server/zanata-frontend/README.md +++ b/server/zanata-frontend/README.md @@ -1,6 +1,129 @@ -# Zanata Frontend +## This is a module to build Zanata frontend javascript projects -Zanata javascript module for: +This module contains: User profile page, Glossary page, and Zanata side menu bar. -- [Zanata alpha editor](./src/editor/README.md) -- [Explore page, User profile page, Glossary page, and side menu bar](./src/frontend/README.md) +## To run/setup in nodeJS + +Navigate to `src`, run `make install` + +### To run in dev mode http://localhost:8000 (a HTTP server to serve index.html with webpack produced bundle.js) + +- need http://localhost:8080/zanata to run separately +`make start` + +### Production Build + +`make build` + +### Bootstrap a new component + +There is a helper script to create files for a new component and set it up with +in storybook ready for iterating on its design. Just run the following, answer +the questions and follow the instructions: + +``` +make component +``` + +### Run styleguide + +`make styleguide-build` followed by `make styleguide-server` + + +## To generate a jar dependency + +```mvn install``` + +It will build and deploy to local maven repository a jar file containing the javascript bundle. +The jar file can be used directly under any servlet 3 compatible container and the bundle is accessible as static resources. +See [Servlet 3 static resources](http://www.webjars.org/documentation#servlet3). + +The following Maven properties can be overridden on the command line with ```-Dkey=value```: + +``` +v5.6.0 +v0.18.1 +${download.dir}/zanata-frontend/node-${node.version}-yarn-${yarn.version} +``` + +By default it will try to install npm modules from npm registry (default cache TTL is 10 seconds). + + +## ignore-scripts + +This module is setup to disable lifecycle scripts for yarn command by default. See help using `yarn -h` +The configuration is in .yarnrc in this module. + + +# Zanata Alpha Editor + +The editor is a separate single-page React+Redux application that uses REST APIs +on the Zanata server for all its data. It is meant to be packaged with +zanata-war as a jar dependency. + + + +## Build jar + +To package the editor as a jar, use maven: + +``` +mvn package +``` + +## Development Builds + +All the build instructions below are for use when developing this editor on its +own. They are not needed to make the final jar package. They just allow for +faster builds and immediate feedback on code changes. + +Make sure you test changes against the current server before checking them in. + +## Setup and Deployment +1. Make sure [node and yarn](http://nodejs.org/) are installed. Node: v5.6.0, Yarn: v0.18.1 +2. Setup dependencies: `make install`. +3. Build compressed files: `make build`, files will be in /app/dist + + +### Run with live reload + +Build and run a server: `make watch`. + + - Editor is available at [localhost:8080](http://localhost:8080) + - the editor will be blank at the base URL, include the project-version to + show content. The format is + localhost:8000/#/{project-slug}/{version-slug}/translate + - Assumes a server is already serving the Zanata REST API. + + +### Run with live reload and local API server + +Build and run server and API server: `make watch-fakeserver`. + + - Editor is available at [localhost:8080](http://localhost:8080) + - URL for a working document from the default API server [Tiny Project 1, hello.txt to French](http://localhost:8080/#/tiny-project/1/translate/hello.txt/fr) + - REST API server is available at + [localhost:7878/zanata/rest](http://localhost:7878/zanata/rest) + + +## Running tests + +Run tests with `make test`. + + +## Code Guidelines + +### Javascript + +And [these](https://github.com/zanata/javascript) for Javascript. + +Always add documentation. + +### CSS + +For CSS I am aiming to move to [these guidelines](https://github.com/suitcss/suit/blob/master/doc/README.md). + +## ignore-scripts + +This module is setup to disable lifecycle scripts for yarn command by default. See help using `yarn -h` +The configuration is in .yarnrc in this module. diff --git a/server/zanata-frontend/pom.xml b/server/zanata-frontend/pom.xml index 9daa060e9b4..8b857d873df 100644 --- a/server/zanata-frontend/pom.xml +++ b/server/zanata-frontend/pom.xml @@ -8,7 +8,6 @@ zanata-frontend Zanata frontend - jar @@ -31,10 +30,10 @@ UTF-8 - ${project.basedir}/src/frontend + ${project.basedir}/src - draft + draft test @@ -81,8 +80,8 @@ yarn - ${frontend.build.directory} - ${frontend.build.command} + ${build.directory} + ${build.command} @@ -94,7 +93,7 @@ yarn - ${frontend.build.directory} + ${build.directory} ${test.command} @@ -128,7 +127,7 @@ ${bundle.dest} - src/frontend/dist + src/dist editor.min.js editor.css editor.css.map @@ -188,7 +187,7 @@ yarn - ${frontend.build.directory} + ${build.directory} diff --git a/server/zanata-frontend/src/frontend/.babelrc b/server/zanata-frontend/src/.babelrc similarity index 100% rename from server/zanata-frontend/src/frontend/.babelrc rename to server/zanata-frontend/src/.babelrc diff --git a/server/zanata-frontend/src/frontend/.csscomb.json b/server/zanata-frontend/src/.csscomb.json similarity index 100% rename from server/zanata-frontend/src/frontend/.csscomb.json rename to server/zanata-frontend/src/.csscomb.json diff --git a/server/zanata-frontend/src/frontend/.eslintignore b/server/zanata-frontend/src/.eslintignore similarity index 100% rename from server/zanata-frontend/src/frontend/.eslintignore rename to server/zanata-frontend/src/.eslintignore diff --git a/server/zanata-frontend/src/frontend/.eslintrc b/server/zanata-frontend/src/.eslintrc similarity index 100% rename from server/zanata-frontend/src/frontend/.eslintrc rename to server/zanata-frontend/src/.eslintrc diff --git a/server/zanata-frontend/src/frontend/.flowconfig b/server/zanata-frontend/src/.flowconfig similarity index 100% rename from server/zanata-frontend/src/frontend/.flowconfig rename to server/zanata-frontend/src/.flowconfig diff --git a/server/zanata-frontend/src/frontend/.jsbeautifyrc b/server/zanata-frontend/src/.jsbeautifyrc similarity index 100% rename from server/zanata-frontend/src/frontend/.jsbeautifyrc rename to server/zanata-frontend/src/.jsbeautifyrc diff --git a/server/zanata-frontend/src/frontend/.jshintrc b/server/zanata-frontend/src/.jshintrc similarity index 100% rename from server/zanata-frontend/src/frontend/.jshintrc rename to server/zanata-frontend/src/.jshintrc diff --git a/server/zanata-frontend/src/frontend/.nvmrc b/server/zanata-frontend/src/.nvmrc similarity index 100% rename from server/zanata-frontend/src/frontend/.nvmrc rename to server/zanata-frontend/src/.nvmrc diff --git a/server/zanata-frontend/src/frontend/.storybook-editor/README.md b/server/zanata-frontend/src/.storybook-editor/README.md similarity index 100% rename from server/zanata-frontend/src/frontend/.storybook-editor/README.md rename to server/zanata-frontend/src/.storybook-editor/README.md diff --git a/server/zanata-frontend/src/frontend/.storybook-editor/__snapshots__/storyshots-editor.test.js.snap b/server/zanata-frontend/src/.storybook-editor/__snapshots__/storyshots-editor.test.js.snap similarity index 100% rename from server/zanata-frontend/src/frontend/.storybook-editor/__snapshots__/storyshots-editor.test.js.snap rename to server/zanata-frontend/src/.storybook-editor/__snapshots__/storyshots-editor.test.js.snap diff --git a/server/zanata-frontend/src/frontend/.storybook-editor/addons.js b/server/zanata-frontend/src/.storybook-editor/addons.js similarity index 100% rename from server/zanata-frontend/src/frontend/.storybook-editor/addons.js rename to server/zanata-frontend/src/.storybook-editor/addons.js diff --git a/server/zanata-frontend/src/frontend/.storybook-editor/config.js b/server/zanata-frontend/src/.storybook-editor/config.js similarity index 100% rename from server/zanata-frontend/src/frontend/.storybook-editor/config.js rename to server/zanata-frontend/src/.storybook-editor/config.js diff --git a/server/zanata-frontend/src/frontend/.storybook-editor/storybook.css b/server/zanata-frontend/src/.storybook-editor/storybook.css similarity index 100% rename from server/zanata-frontend/src/frontend/.storybook-editor/storybook.css rename to server/zanata-frontend/src/.storybook-editor/storybook.css diff --git a/server/zanata-frontend/src/frontend/.storybook-editor/storyshots-editor.test.js b/server/zanata-frontend/src/.storybook-editor/storyshots-editor.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/.storybook-editor/storyshots-editor.test.js rename to server/zanata-frontend/src/.storybook-editor/storyshots-editor.test.js diff --git a/server/zanata-frontend/src/frontend/.storybook-editor/storyshots-util.js b/server/zanata-frontend/src/.storybook-editor/storyshots-util.js similarity index 100% rename from server/zanata-frontend/src/frontend/.storybook-editor/storyshots-util.js rename to server/zanata-frontend/src/.storybook-editor/storyshots-util.js diff --git a/server/zanata-frontend/src/frontend/.storybook-editor/webpack.config.js b/server/zanata-frontend/src/.storybook-editor/webpack.config.js similarity index 100% rename from server/zanata-frontend/src/frontend/.storybook-editor/webpack.config.js rename to server/zanata-frontend/src/.storybook-editor/webpack.config.js diff --git a/server/zanata-frontend/src/frontend/.storybook-frontend/README.md b/server/zanata-frontend/src/.storybook-frontend/README.md similarity index 100% rename from server/zanata-frontend/src/frontend/.storybook-frontend/README.md rename to server/zanata-frontend/src/.storybook-frontend/README.md diff --git a/server/zanata-frontend/src/frontend/.storybook-frontend/__snapshots__/storyshots-frontend.test.js.snap b/server/zanata-frontend/src/.storybook-frontend/__snapshots__/storyshots-frontend.test.js.snap similarity index 100% rename from server/zanata-frontend/src/frontend/.storybook-frontend/__snapshots__/storyshots-frontend.test.js.snap rename to server/zanata-frontend/src/.storybook-frontend/__snapshots__/storyshots-frontend.test.js.snap diff --git a/server/zanata-frontend/src/frontend/.storybook-frontend/addons.js b/server/zanata-frontend/src/.storybook-frontend/addons.js similarity index 100% rename from server/zanata-frontend/src/frontend/.storybook-frontend/addons.js rename to server/zanata-frontend/src/.storybook-frontend/addons.js diff --git a/server/zanata-frontend/src/frontend/.storybook-frontend/config.js b/server/zanata-frontend/src/.storybook-frontend/config.js similarity index 100% rename from server/zanata-frontend/src/frontend/.storybook-frontend/config.js rename to server/zanata-frontend/src/.storybook-frontend/config.js diff --git a/server/zanata-frontend/src/frontend/.storybook-frontend/storybook.less b/server/zanata-frontend/src/.storybook-frontend/storybook.less similarity index 100% rename from server/zanata-frontend/src/frontend/.storybook-frontend/storybook.less rename to server/zanata-frontend/src/.storybook-frontend/storybook.less diff --git a/server/zanata-frontend/src/frontend/.storybook-frontend/storyshots-frontend.test.js b/server/zanata-frontend/src/.storybook-frontend/storyshots-frontend.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/.storybook-frontend/storyshots-frontend.test.js rename to server/zanata-frontend/src/.storybook-frontend/storyshots-frontend.test.js diff --git a/server/zanata-frontend/src/frontend/.storybook-frontend/webpack.config.js b/server/zanata-frontend/src/.storybook-frontend/webpack.config.js similarity index 100% rename from server/zanata-frontend/src/frontend/.storybook-frontend/webpack.config.js rename to server/zanata-frontend/src/.storybook-frontend/webpack.config.js diff --git a/server/zanata-frontend/src/frontend/.stylelintrc b/server/zanata-frontend/src/.stylelintrc similarity index 100% rename from server/zanata-frontend/src/frontend/.stylelintrc rename to server/zanata-frontend/src/.stylelintrc diff --git a/server/zanata-frontend/src/frontend/.yarn-version b/server/zanata-frontend/src/.yarn-version similarity index 100% rename from server/zanata-frontend/src/frontend/.yarn-version rename to server/zanata-frontend/src/.yarn-version diff --git a/server/zanata-frontend/src/frontend/.yarnrc b/server/zanata-frontend/src/.yarnrc similarity index 100% rename from server/zanata-frontend/src/frontend/.yarnrc rename to server/zanata-frontend/src/.yarnrc diff --git a/server/zanata-frontend/src/frontend/__mocks__/cssMock.js b/server/zanata-frontend/src/__mocks__/cssMock.js similarity index 100% rename from server/zanata-frontend/src/frontend/__mocks__/cssMock.js rename to server/zanata-frontend/src/__mocks__/cssMock.js diff --git a/server/zanata-frontend/src/frontend/__mocks__/mockAngularGettext.js b/server/zanata-frontend/src/__mocks__/mockAngularGettext.js similarity index 100% rename from server/zanata-frontend/src/frontend/__mocks__/mockAngularGettext.js rename to server/zanata-frontend/src/__mocks__/mockAngularGettext.js diff --git a/server/zanata-frontend/src/frontend/app/actions/common-actions.js b/server/zanata-frontend/src/app/actions/common-actions.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/actions/common-actions.js rename to server/zanata-frontend/src/app/actions/common-actions.js diff --git a/server/zanata-frontend/src/frontend/app/actions/explore-actions.js b/server/zanata-frontend/src/app/actions/explore-actions.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/actions/explore-actions.js rename to server/zanata-frontend/src/app/actions/explore-actions.js diff --git a/server/zanata-frontend/src/frontend/app/actions/glossary-actions.js b/server/zanata-frontend/src/app/actions/glossary-actions.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/actions/glossary-actions.js rename to server/zanata-frontend/src/app/actions/glossary-actions.js diff --git a/server/zanata-frontend/src/frontend/app/actions/index.js b/server/zanata-frontend/src/app/actions/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/actions/index.js rename to server/zanata-frontend/src/app/actions/index.js diff --git a/server/zanata-frontend/src/frontend/app/actions/languages-actions.js b/server/zanata-frontend/src/app/actions/languages-actions.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/actions/languages-actions.js rename to server/zanata-frontend/src/app/actions/languages-actions.js diff --git a/server/zanata-frontend/src/frontend/app/actions/profile-actions.js b/server/zanata-frontend/src/app/actions/profile-actions.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/actions/profile-actions.js rename to server/zanata-frontend/src/app/actions/profile-actions.js diff --git a/server/zanata-frontend/src/frontend/app/actions/review-actions.js b/server/zanata-frontend/src/app/actions/review-actions.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/actions/review-actions.js rename to server/zanata-frontend/src/app/actions/review-actions.js diff --git a/server/zanata-frontend/src/frontend/app/actions/tmx-actions.js b/server/zanata-frontend/src/app/actions/tmx-actions.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/actions/tmx-actions.js rename to server/zanata-frontend/src/app/actions/tmx-actions.js diff --git a/server/zanata-frontend/src/frontend/app/actions/version-action-types.js b/server/zanata-frontend/src/app/actions/version-action-types.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/actions/version-action-types.js rename to server/zanata-frontend/src/app/actions/version-action-types.js diff --git a/server/zanata-frontend/src/frontend/app/actions/version-actions.js b/server/zanata-frontend/src/app/actions/version-actions.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/actions/version-actions.js rename to server/zanata-frontend/src/app/actions/version-actions.js diff --git a/server/zanata-frontend/src/frontend/app/actions/version-actions.test.js b/server/zanata-frontend/src/app/actions/version-actions.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/actions/version-actions.test.js rename to server/zanata-frontend/src/app/actions/version-actions.test.js diff --git a/server/zanata-frontend/src/frontend/app/components/Alert/Alert.story.js b/server/zanata-frontend/src/app/components/Alert/Alert.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Alert/Alert.story.js rename to server/zanata-frontend/src/app/components/Alert/Alert.story.js diff --git a/server/zanata-frontend/src/frontend/app/components/Badge/Badge.story.js b/server/zanata-frontend/src/app/components/Badge/Badge.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Badge/Badge.story.js rename to server/zanata-frontend/src/app/components/Badge/Badge.story.js diff --git a/server/zanata-frontend/src/frontend/app/components/Breadcrumbs/Breadcrumbs.story.js b/server/zanata-frontend/src/app/components/Breadcrumbs/Breadcrumbs.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Breadcrumbs/Breadcrumbs.story.js rename to server/zanata-frontend/src/app/components/Breadcrumbs/Breadcrumbs.story.js diff --git a/server/zanata-frontend/src/frontend/app/components/Button/Button.story.js b/server/zanata-frontend/src/app/components/Button/Button.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Button/Button.story.js rename to server/zanata-frontend/src/app/components/Button/Button.story.js diff --git a/server/zanata-frontend/src/frontend/app/components/DraggableVersionPanels/DraggableVersionPanels.test.js b/server/zanata-frontend/src/app/components/DraggableVersionPanels/DraggableVersionPanels.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/DraggableVersionPanels/DraggableVersionPanels.test.js rename to server/zanata-frontend/src/app/components/DraggableVersionPanels/DraggableVersionPanels.test.js diff --git a/server/zanata-frontend/src/frontend/app/components/DraggableVersionPanels/index.js b/server/zanata-frontend/src/app/components/DraggableVersionPanels/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/DraggableVersionPanels/index.js rename to server/zanata-frontend/src/app/components/DraggableVersionPanels/index.js diff --git a/server/zanata-frontend/src/frontend/app/components/Dropdown/Dropdown.story.js b/server/zanata-frontend/src/app/components/Dropdown/Dropdown.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Dropdown/Dropdown.story.js rename to server/zanata-frontend/src/app/components/Dropdown/Dropdown.story.js diff --git a/server/zanata-frontend/src/frontend/app/components/EditableText/EditableText.story.js b/server/zanata-frontend/src/app/components/EditableText/EditableText.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/EditableText/EditableText.story.js rename to server/zanata-frontend/src/app/components/EditableText/EditableText.story.js diff --git a/server/zanata-frontend/src/frontend/app/components/EditableText/index.js b/server/zanata-frontend/src/app/components/EditableText/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/EditableText/index.js rename to server/zanata-frontend/src/app/components/EditableText/index.js diff --git a/server/zanata-frontend/src/frontend/app/components/Form/Form.story.js b/server/zanata-frontend/src/app/components/Form/Form.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Form/Form.story.js rename to server/zanata-frontend/src/app/components/Form/Form.story.js diff --git a/server/zanata-frontend/src/frontend/app/components/Icon/Icon.story.js b/server/zanata-frontend/src/app/components/Icon/Icon.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icon/Icon.story.js rename to server/zanata-frontend/src/app/components/Icon/Icon.story.js diff --git a/server/zanata-frontend/src/frontend/app/components/Icon/index.jsx b/server/zanata-frontend/src/app/components/Icon/index.jsx similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icon/index.jsx rename to server/zanata-frontend/src/app/components/Icon/index.jsx diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/Readme.md b/server/zanata-frontend/src/app/components/Icons/Readme.md similarity index 89% rename from server/zanata-frontend/src/frontend/app/components/Icons/Readme.md rename to server/zanata-frontend/src/app/components/Icons/Readme.md index f03fd2fe537..c1cfc554bb5 100644 --- a/server/zanata-frontend/src/frontend/app/components/Icons/Readme.md +++ b/server/zanata-frontend/src/app/components/Icons/Readme.md @@ -7,7 +7,7 @@ This is only needed once on the page to add all the icons to the page. If you watch build is complaining ``` -Module not found: Error: Can't resolve './Icons' in 'platform/server/zanata-frontend/src/frontend/app/components' +Module not found: Error: Can't resolve './Icons' in 'platform/server/zanata-frontend/src/app/components' ``` You need to run ```make draft``` first to generate the index.jsx file and then run the normal watch task. diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/index.jsx.src b/server/zanata-frontend/src/app/components/Icons/index.jsx.src similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/index.jsx.src rename to server/zanata-frontend/src/app/components/Icons/index.jsx.src diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-admin.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-admin.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-admin.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-admin.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-all.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-all.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-all.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-all.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-assign.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-assign.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-assign.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-assign.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-attach.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-attach.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-attach.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-attach.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-block.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-block.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-block.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-block.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-chevron-down-double.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-chevron-down-double.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-chevron-down-double.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-chevron-down-double.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-chevron-down.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-chevron-down.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-chevron-down.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-chevron-down.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-chevron-left.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-chevron-left.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-chevron-left.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-chevron-left.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-chevron-right.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-chevron-right.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-chevron-right.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-chevron-right.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-chevron-up-double.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-chevron-up-double.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-chevron-up-double.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-chevron-up-double.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-chevron-up.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-chevron-up.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-chevron-up.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-chevron-up.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-circle.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-circle.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-circle.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-circle.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-clock.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-clock.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-clock.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-clock.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-code.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-code.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-code.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-code.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-comment.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-comment.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-comment.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-comment.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-copy.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-copy.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-copy.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-copy.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-cross-circle.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-cross-circle.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-cross-circle.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-cross-circle.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-cross.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-cross.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-cross.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-cross.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-dashboard.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-dashboard.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-dashboard.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-dashboard.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-document.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-document.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-document.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-document.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-dot.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-dot.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-dot.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-dot.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-download.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-download.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-download.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-download.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-edit.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-edit.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-edit.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-edit.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-ellipsis.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-ellipsis.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-ellipsis.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-ellipsis.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-export.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-export.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-export.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-export.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-external-link.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-external-link.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-external-link.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-external-link.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-filter.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-filter.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-filter.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-filter.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-folder.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-folder.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-folder.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-folder.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-glossary.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-glossary.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-glossary.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-glossary.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-help.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-help.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-help.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-help.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-history.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-history.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-history.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-history.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-import.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-import.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-import.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-import.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-inbox.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-inbox.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-inbox.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-inbox.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-info.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-info.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-info.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-info.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-keyboard.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-keyboard.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-keyboard.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-keyboard.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-language.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-language.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-language.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-language.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-link.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-link.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-link.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-link.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-location.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-location.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-location.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-location.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-locked.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-locked.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-locked.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-locked.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-logout.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-logout.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-logout.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-logout.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-mail.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-mail.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-mail.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-mail.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-maintain.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-maintain.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-maintain.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-maintain.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-menu.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-menu.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-menu.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-menu.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-minus.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-minus.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-minus.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-minus.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-next.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-next.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-next.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-next.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-notification.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-notification.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-notification.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-notification.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-piestats.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-piestats.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-piestats.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-piestats.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-plus.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-plus.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-plus.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-plus.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-previous.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-previous.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-previous.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-previous.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-project.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-project.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-project.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-project.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-refresh.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-refresh.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-refresh.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-refresh.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-review.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-review.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-review.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-review.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-search.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-search.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-search.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-search.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-servmon.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-servmon.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-servmon.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-servmon.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-settings.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-settings.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-settings.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-settings.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-star-outline.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-star-outline.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-star-outline.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-star-outline.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-star.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-star.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-star.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-star.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-statistics.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-statistics.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-statistics.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-statistics.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-suggestions.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-suggestions.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-suggestions.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-suggestions.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-tick-circle.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-tick-circle.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-tick-circle.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-tick-circle.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-tick.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-tick.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-tick.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-tick.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-tm.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-tm.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-tm.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-tm.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-translate.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-translate.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-translate.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-translate.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-trash.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-trash.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-trash.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-trash.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-undo.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-undo.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-undo.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-undo.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-unlocked.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-unlocked.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-unlocked.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-unlocked.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-upload.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-upload.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-upload.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-upload.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-user.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-user.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-user.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-user.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-users.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-users.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-users.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-users.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-version.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-version.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-version.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-version.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-warning.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-warning.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-warning.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-warning.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-zanata.svg b/server/zanata-frontend/src/app/components/Icons/svgs/Icon-zanata.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Icons/svgs/Icon-zanata.svg rename to server/zanata-frontend/src/app/components/Icons/svgs/Icon-zanata.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Label/Label.story.js b/server/zanata-frontend/src/app/components/Label/Label.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Label/Label.story.js rename to server/zanata-frontend/src/app/components/Label/Label.story.js diff --git a/server/zanata-frontend/src/frontend/app/components/Link/Link.story.js b/server/zanata-frontend/src/app/components/Link/Link.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Link/Link.story.js rename to server/zanata-frontend/src/app/components/Link/Link.story.js diff --git a/server/zanata-frontend/src/frontend/app/components/Link/index.js b/server/zanata-frontend/src/app/components/Link/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Link/index.js rename to server/zanata-frontend/src/app/components/Link/index.js diff --git a/server/zanata-frontend/src/frontend/app/components/List/List.story.js b/server/zanata-frontend/src/app/components/List/List.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/List/List.story.js rename to server/zanata-frontend/src/app/components/List/List.story.js diff --git a/server/zanata-frontend/src/frontend/app/components/Loader/index.js b/server/zanata-frontend/src/app/components/Loader/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Loader/index.js rename to server/zanata-frontend/src/app/components/Loader/index.js diff --git a/server/zanata-frontend/src/frontend/app/components/LoaderText/LoaderText.story.js b/server/zanata-frontend/src/app/components/LoaderText/LoaderText.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/LoaderText/LoaderText.story.js rename to server/zanata-frontend/src/app/components/LoaderText/LoaderText.story.js diff --git a/server/zanata-frontend/src/frontend/app/components/LoaderText/index.js b/server/zanata-frontend/src/app/components/LoaderText/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/LoaderText/index.js rename to server/zanata-frontend/src/app/components/LoaderText/index.js diff --git a/server/zanata-frontend/src/frontend/app/components/LockIcon/LockIcon.test.js b/server/zanata-frontend/src/app/components/LockIcon/LockIcon.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/LockIcon/LockIcon.test.js rename to server/zanata-frontend/src/app/components/LockIcon/LockIcon.test.js diff --git a/server/zanata-frontend/src/frontend/app/components/LockIcon/index.js b/server/zanata-frontend/src/app/components/LockIcon/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/LockIcon/index.js rename to server/zanata-frontend/src/app/components/LockIcon/index.js diff --git a/server/zanata-frontend/src/frontend/app/components/LogoLoader/index.js b/server/zanata-frontend/src/app/components/LogoLoader/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/LogoLoader/index.js rename to server/zanata-frontend/src/app/components/LogoLoader/index.js diff --git a/server/zanata-frontend/src/frontend/app/components/LogoLoader/index.less b/server/zanata-frontend/src/app/components/LogoLoader/index.less similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/LogoLoader/index.less rename to server/zanata-frontend/src/app/components/LogoLoader/index.less diff --git a/server/zanata-frontend/src/frontend/app/components/LogoLoader/logo.svg b/server/zanata-frontend/src/app/components/LogoLoader/logo.svg similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/LogoLoader/logo.svg rename to server/zanata-frontend/src/app/components/LogoLoader/logo.svg diff --git a/server/zanata-frontend/src/frontend/app/components/Modal/Modal.story.js b/server/zanata-frontend/src/app/components/Modal/Modal.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Modal/Modal.story.js rename to server/zanata-frontend/src/app/components/Modal/Modal.story.js diff --git a/server/zanata-frontend/src/frontend/app/components/Modal/ModalBody.jsx b/server/zanata-frontend/src/app/components/Modal/ModalBody.jsx similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Modal/ModalBody.jsx rename to server/zanata-frontend/src/app/components/Modal/ModalBody.jsx diff --git a/server/zanata-frontend/src/frontend/app/components/Modal/ModalFooter.jsx b/server/zanata-frontend/src/app/components/Modal/ModalFooter.jsx similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Modal/ModalFooter.jsx rename to server/zanata-frontend/src/app/components/Modal/ModalFooter.jsx diff --git a/server/zanata-frontend/src/frontend/app/components/Modal/ModalHeader.jsx b/server/zanata-frontend/src/app/components/Modal/ModalHeader.jsx similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Modal/ModalHeader.jsx rename to server/zanata-frontend/src/app/components/Modal/ModalHeader.jsx diff --git a/server/zanata-frontend/src/frontend/app/components/Modal/ModalTitle.jsx b/server/zanata-frontend/src/app/components/Modal/ModalTitle.jsx similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Modal/ModalTitle.jsx rename to server/zanata-frontend/src/app/components/Modal/ModalTitle.jsx diff --git a/server/zanata-frontend/src/frontend/app/components/Modal/Readme.md b/server/zanata-frontend/src/app/components/Modal/Readme.md similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Modal/Readme.md rename to server/zanata-frontend/src/app/components/Modal/Readme.md diff --git a/server/zanata-frontend/src/frontend/app/components/Modal/index.jsx b/server/zanata-frontend/src/app/components/Modal/index.jsx similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Modal/index.jsx rename to server/zanata-frontend/src/app/components/Modal/index.jsx diff --git a/server/zanata-frontend/src/frontend/app/components/Nav/NavIcon.jsx b/server/zanata-frontend/src/app/components/Nav/NavIcon.jsx similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Nav/NavIcon.jsx rename to server/zanata-frontend/src/app/components/Nav/NavIcon.jsx diff --git a/server/zanata-frontend/src/frontend/app/components/Nav/NavItem.jsx b/server/zanata-frontend/src/app/components/Nav/NavItem.jsx similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Nav/NavItem.jsx rename to server/zanata-frontend/src/app/components/Nav/NavItem.jsx diff --git a/server/zanata-frontend/src/frontend/app/components/Nav/index.jsx b/server/zanata-frontend/src/app/components/Nav/index.jsx similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Nav/index.jsx rename to server/zanata-frontend/src/app/components/Nav/index.jsx diff --git a/server/zanata-frontend/src/frontend/app/components/Notification/Notification.story.js b/server/zanata-frontend/src/app/components/Notification/Notification.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Notification/Notification.story.js rename to server/zanata-frontend/src/app/components/Notification/Notification.story.js diff --git a/server/zanata-frontend/src/frontend/app/components/Notification/component.js b/server/zanata-frontend/src/app/components/Notification/component.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Notification/component.js rename to server/zanata-frontend/src/app/components/Notification/component.js diff --git a/server/zanata-frontend/src/frontend/app/components/Notification/index.js b/server/zanata-frontend/src/app/components/Notification/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Notification/index.js rename to server/zanata-frontend/src/app/components/Notification/index.js diff --git a/server/zanata-frontend/src/frontend/app/components/Pagination/Pagination.story.js b/server/zanata-frontend/src/app/components/Pagination/Pagination.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Pagination/Pagination.story.js rename to server/zanata-frontend/src/app/components/Pagination/Pagination.story.js diff --git a/server/zanata-frontend/src/frontend/app/components/Panel/Panel.story.js b/server/zanata-frontend/src/app/components/Panel/Panel.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Panel/Panel.story.js rename to server/zanata-frontend/src/app/components/Panel/Panel.story.js diff --git a/server/zanata-frontend/src/frontend/app/components/ProgressBar/CancellableProgressBar.js b/server/zanata-frontend/src/app/components/ProgressBar/CancellableProgressBar.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/ProgressBar/CancellableProgressBar.js rename to server/zanata-frontend/src/app/components/ProgressBar/CancellableProgressBar.js diff --git a/server/zanata-frontend/src/frontend/app/components/ProgressBar/CancellableProgressBar.test.js b/server/zanata-frontend/src/app/components/ProgressBar/CancellableProgressBar.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/ProgressBar/CancellableProgressBar.test.js rename to server/zanata-frontend/src/app/components/ProgressBar/CancellableProgressBar.test.js diff --git a/server/zanata-frontend/src/frontend/app/components/ProgressBar/ProgressBar.story.js b/server/zanata-frontend/src/app/components/ProgressBar/ProgressBar.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/ProgressBar/ProgressBar.story.js rename to server/zanata-frontend/src/app/components/ProgressBar/ProgressBar.story.js diff --git a/server/zanata-frontend/src/frontend/app/components/RejectionsForm/RejectionsForm.story.js b/server/zanata-frontend/src/app/components/RejectionsForm/RejectionsForm.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/RejectionsForm/RejectionsForm.story.js rename to server/zanata-frontend/src/app/components/RejectionsForm/RejectionsForm.story.js diff --git a/server/zanata-frontend/src/frontend/app/components/RejectionsForm/index.js b/server/zanata-frontend/src/app/components/RejectionsForm/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/RejectionsForm/index.js rename to server/zanata-frontend/src/app/components/RejectionsForm/index.js diff --git a/server/zanata-frontend/src/frontend/app/components/RejectionsForm/index.less b/server/zanata-frontend/src/app/components/RejectionsForm/index.less similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/RejectionsForm/index.less rename to server/zanata-frontend/src/app/components/RejectionsForm/index.less diff --git a/server/zanata-frontend/src/frontend/app/components/Select/index.js b/server/zanata-frontend/src/app/components/Select/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Select/index.js rename to server/zanata-frontend/src/app/components/Select/index.js diff --git a/server/zanata-frontend/src/frontend/app/components/SelectableDropdown/SelectableDropdown.test.js b/server/zanata-frontend/src/app/components/SelectableDropdown/SelectableDropdown.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/SelectableDropdown/SelectableDropdown.test.js rename to server/zanata-frontend/src/app/components/SelectableDropdown/SelectableDropdown.test.js diff --git a/server/zanata-frontend/src/frontend/app/components/SelectableDropdown/index.js b/server/zanata-frontend/src/app/components/SelectableDropdown/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/SelectableDropdown/index.js rename to server/zanata-frontend/src/app/components/SelectableDropdown/index.js diff --git a/server/zanata-frontend/src/frontend/app/components/Sidebar/Sidebar.story.js b/server/zanata-frontend/src/app/components/Sidebar/Sidebar.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Sidebar/Sidebar.story.js rename to server/zanata-frontend/src/app/components/Sidebar/Sidebar.story.js diff --git a/server/zanata-frontend/src/frontend/app/components/Sidebar/index.jsx b/server/zanata-frontend/src/app/components/Sidebar/index.jsx similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Sidebar/index.jsx rename to server/zanata-frontend/src/app/components/Sidebar/index.jsx diff --git a/server/zanata-frontend/src/frontend/app/components/Sidebar/index.less b/server/zanata-frontend/src/app/components/Sidebar/index.less similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Sidebar/index.less rename to server/zanata-frontend/src/app/components/Sidebar/index.less diff --git a/server/zanata-frontend/src/frontend/app/components/TMX/TMXExportModal.js b/server/zanata-frontend/src/app/components/TMX/TMXExportModal.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/TMX/TMXExportModal.js rename to server/zanata-frontend/src/app/components/TMX/TMXExportModal.js diff --git a/server/zanata-frontend/src/frontend/app/components/TMX/index.less b/server/zanata-frontend/src/app/components/TMX/index.less similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/TMX/index.less rename to server/zanata-frontend/src/app/components/TMX/index.less diff --git a/server/zanata-frontend/src/frontend/app/components/Table/Table.story.js b/server/zanata-frontend/src/app/components/Table/Table.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Table/Table.story.js rename to server/zanata-frontend/src/app/components/Table/Table.story.js diff --git a/server/zanata-frontend/src/frontend/app/components/Tabs/Tabs.story.js b/server/zanata-frontend/src/app/components/Tabs/Tabs.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Tabs/Tabs.story.js rename to server/zanata-frontend/src/app/components/Tabs/Tabs.story.js diff --git a/server/zanata-frontend/src/frontend/app/components/TextInput/TextInput.story.js b/server/zanata-frontend/src/app/components/TextInput/TextInput.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/TextInput/TextInput.story.js rename to server/zanata-frontend/src/app/components/TextInput/TextInput.story.js diff --git a/server/zanata-frontend/src/frontend/app/components/TextInput/index.js b/server/zanata-frontend/src/app/components/TextInput/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/TextInput/index.js rename to server/zanata-frontend/src/app/components/TextInput/index.js diff --git a/server/zanata-frontend/src/frontend/app/components/Tooltip/Tooltip.story.js b/server/zanata-frontend/src/app/components/Tooltip/Tooltip.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Tooltip/Tooltip.story.js rename to server/zanata-frontend/src/app/components/Tooltip/Tooltip.story.js diff --git a/server/zanata-frontend/src/frontend/app/components/TriCheckbox/TriCheckbox.story.js b/server/zanata-frontend/src/app/components/TriCheckbox/TriCheckbox.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/TriCheckbox/TriCheckbox.story.js rename to server/zanata-frontend/src/app/components/TriCheckbox/TriCheckbox.story.js diff --git a/server/zanata-frontend/src/frontend/app/components/TriCheckbox/TriCheckbox.test.js b/server/zanata-frontend/src/app/components/TriCheckbox/TriCheckbox.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/TriCheckbox/TriCheckbox.test.js rename to server/zanata-frontend/src/app/components/TriCheckbox/TriCheckbox.test.js diff --git a/server/zanata-frontend/src/frontend/app/components/TriCheckbox/TriCheckboxGroup.js b/server/zanata-frontend/src/app/components/TriCheckbox/TriCheckboxGroup.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/TriCheckbox/TriCheckboxGroup.js rename to server/zanata-frontend/src/app/components/TriCheckbox/TriCheckboxGroup.js diff --git a/server/zanata-frontend/src/frontend/app/components/TriCheckbox/index.js b/server/zanata-frontend/src/app/components/TriCheckbox/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/TriCheckbox/index.js rename to server/zanata-frontend/src/app/components/TriCheckbox/index.js diff --git a/server/zanata-frontend/src/frontend/app/components/TriCheckbox/index.less b/server/zanata-frontend/src/app/components/TriCheckbox/index.less similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/TriCheckbox/index.less rename to server/zanata-frontend/src/app/components/TriCheckbox/index.less diff --git a/server/zanata-frontend/src/frontend/app/components/VersionTMMergeModal/VersionTMMergeModal.story.js b/server/zanata-frontend/src/app/components/VersionTMMergeModal/VersionTMMergeModal.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/VersionTMMergeModal/VersionTMMergeModal.story.js rename to server/zanata-frontend/src/app/components/VersionTMMergeModal/VersionTMMergeModal.story.js diff --git a/server/zanata-frontend/src/frontend/app/components/VersionTMMergeModal/diagram.png b/server/zanata-frontend/src/app/components/VersionTMMergeModal/diagram.png similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/VersionTMMergeModal/diagram.png rename to server/zanata-frontend/src/app/components/VersionTMMergeModal/diagram.png diff --git a/server/zanata-frontend/src/frontend/app/components/Well/Well.story.js b/server/zanata-frontend/src/app/components/Well/Well.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/Well/Well.story.js rename to server/zanata-frontend/src/app/components/Well/Well.story.js diff --git a/server/zanata-frontend/src/frontend/app/components/components.story.js b/server/zanata-frontend/src/app/components/components.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/components.story.js rename to server/zanata-frontend/src/app/components/components.story.js diff --git a/server/zanata-frontend/src/frontend/app/components/foundation.story.js b/server/zanata-frontend/src/app/components/foundation.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/foundation.story.js rename to server/zanata-frontend/src/app/components/foundation.story.js diff --git a/server/zanata-frontend/src/frontend/app/components/index.js b/server/zanata-frontend/src/app/components/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/components/index.js rename to server/zanata-frontend/src/app/components/index.js diff --git a/server/zanata-frontend/src/frontend/app/config.js b/server/zanata-frontend/src/app/config.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/config.js rename to server/zanata-frontend/src/app/config.js diff --git a/server/zanata-frontend/src/frontend/app/constants/Messages.js b/server/zanata-frontend/src/app/constants/Messages.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/constants/Messages.js rename to server/zanata-frontend/src/app/constants/Messages.js diff --git a/server/zanata-frontend/src/frontend/app/constants/Options.js b/server/zanata-frontend/src/app/constants/Options.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/constants/Options.js rename to server/zanata-frontend/src/app/constants/Options.js diff --git a/server/zanata-frontend/src/frontend/app/containers/Admin/Review.js b/server/zanata-frontend/src/app/containers/Admin/Review.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/Admin/Review.js rename to server/zanata-frontend/src/app/containers/Admin/Review.js diff --git a/server/zanata-frontend/src/frontend/app/containers/Admin/index.js b/server/zanata-frontend/src/app/containers/Admin/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/Admin/index.js rename to server/zanata-frontend/src/app/containers/Admin/index.js diff --git a/server/zanata-frontend/src/frontend/app/containers/App.js b/server/zanata-frontend/src/app/containers/App.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/App.js rename to server/zanata-frontend/src/app/containers/App.js diff --git a/server/zanata-frontend/src/frontend/app/containers/Explore/GroupTeaser.jsx b/server/zanata-frontend/src/app/containers/Explore/GroupTeaser.jsx similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/Explore/GroupTeaser.jsx rename to server/zanata-frontend/src/app/containers/Explore/GroupTeaser.jsx diff --git a/server/zanata-frontend/src/frontend/app/containers/Explore/LanguageTeamTeaser.jsx b/server/zanata-frontend/src/app/containers/Explore/LanguageTeamTeaser.jsx similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/Explore/LanguageTeamTeaser.jsx rename to server/zanata-frontend/src/app/containers/Explore/LanguageTeamTeaser.jsx diff --git a/server/zanata-frontend/src/frontend/app/containers/Explore/ProjectTeaser.jsx b/server/zanata-frontend/src/app/containers/Explore/ProjectTeaser.jsx similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/Explore/ProjectTeaser.jsx rename to server/zanata-frontend/src/app/containers/Explore/ProjectTeaser.jsx diff --git a/server/zanata-frontend/src/frontend/app/containers/Explore/TeaserList.jsx b/server/zanata-frontend/src/app/containers/Explore/TeaserList.jsx similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/Explore/TeaserList.jsx rename to server/zanata-frontend/src/app/containers/Explore/TeaserList.jsx diff --git a/server/zanata-frontend/src/frontend/app/containers/Explore/TeaserListHeader.jsx b/server/zanata-frontend/src/app/containers/Explore/TeaserListHeader.jsx similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/Explore/TeaserListHeader.jsx rename to server/zanata-frontend/src/app/containers/Explore/TeaserListHeader.jsx diff --git a/server/zanata-frontend/src/frontend/app/containers/Explore/UserTeaser.jsx b/server/zanata-frontend/src/app/containers/Explore/UserTeaser.jsx similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/Explore/UserTeaser.jsx rename to server/zanata-frontend/src/app/containers/Explore/UserTeaser.jsx diff --git a/server/zanata-frontend/src/frontend/app/containers/Explore/index.js b/server/zanata-frontend/src/app/containers/Explore/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/Explore/index.js rename to server/zanata-frontend/src/app/containers/Explore/index.js diff --git a/server/zanata-frontend/src/frontend/app/containers/Explore/index.less b/server/zanata-frontend/src/app/containers/Explore/index.less similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/Explore/index.less rename to server/zanata-frontend/src/app/containers/Explore/index.less diff --git a/server/zanata-frontend/src/frontend/app/containers/Glossary/DeleteAllEntriesModal.jsx b/server/zanata-frontend/src/app/containers/Glossary/DeleteAllEntriesModal.jsx similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/Glossary/DeleteAllEntriesModal.jsx rename to server/zanata-frontend/src/app/containers/Glossary/DeleteAllEntriesModal.jsx diff --git a/server/zanata-frontend/src/frontend/app/containers/Glossary/DeleteEntryModal.jsx b/server/zanata-frontend/src/app/containers/Glossary/DeleteEntryModal.jsx similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/Glossary/DeleteEntryModal.jsx rename to server/zanata-frontend/src/app/containers/Glossary/DeleteEntryModal.jsx diff --git a/server/zanata-frontend/src/frontend/app/containers/Glossary/Entry.js b/server/zanata-frontend/src/app/containers/Glossary/Entry.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/Glossary/Entry.js rename to server/zanata-frontend/src/app/containers/Glossary/Entry.js diff --git a/server/zanata-frontend/src/frontend/app/containers/Glossary/EntryModal.js b/server/zanata-frontend/src/app/containers/Glossary/EntryModal.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/Glossary/EntryModal.js rename to server/zanata-frontend/src/app/containers/Glossary/EntryModal.js diff --git a/server/zanata-frontend/src/frontend/app/containers/Glossary/ExportModal.js b/server/zanata-frontend/src/app/containers/Glossary/ExportModal.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/Glossary/ExportModal.js rename to server/zanata-frontend/src/app/containers/Glossary/ExportModal.js diff --git a/server/zanata-frontend/src/frontend/app/containers/Glossary/Header.jsx b/server/zanata-frontend/src/app/containers/Glossary/Header.jsx similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/Glossary/Header.jsx rename to server/zanata-frontend/src/app/containers/Glossary/Header.jsx diff --git a/server/zanata-frontend/src/frontend/app/containers/Glossary/ImportModal.js b/server/zanata-frontend/src/app/containers/Glossary/ImportModal.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/Glossary/ImportModal.js rename to server/zanata-frontend/src/app/containers/Glossary/ImportModal.js diff --git a/server/zanata-frontend/src/frontend/app/containers/Glossary/NewEntryModal.js b/server/zanata-frontend/src/app/containers/Glossary/NewEntryModal.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/Glossary/NewEntryModal.js rename to server/zanata-frontend/src/app/containers/Glossary/NewEntryModal.js diff --git a/server/zanata-frontend/src/frontend/app/containers/Glossary/ViewHeader.js b/server/zanata-frontend/src/app/containers/Glossary/ViewHeader.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/Glossary/ViewHeader.js rename to server/zanata-frontend/src/app/containers/Glossary/ViewHeader.js diff --git a/server/zanata-frontend/src/frontend/app/containers/Glossary/index.js b/server/zanata-frontend/src/app/containers/Glossary/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/Glossary/index.js rename to server/zanata-frontend/src/app/containers/Glossary/index.js diff --git a/server/zanata-frontend/src/frontend/app/containers/Glossary/index.less b/server/zanata-frontend/src/app/containers/Glossary/index.less similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/Glossary/index.less rename to server/zanata-frontend/src/app/containers/Glossary/index.less diff --git a/server/zanata-frontend/src/frontend/app/containers/Languages/DeleteEntry.js b/server/zanata-frontend/src/app/containers/Languages/DeleteEntry.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/Languages/DeleteEntry.js rename to server/zanata-frontend/src/app/containers/Languages/DeleteEntry.js diff --git a/server/zanata-frontend/src/frontend/app/containers/Languages/Entry.js b/server/zanata-frontend/src/app/containers/Languages/Entry.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/Languages/Entry.js rename to server/zanata-frontend/src/app/containers/Languages/Entry.js diff --git a/server/zanata-frontend/src/frontend/app/containers/Languages/NewLanguageModal.js b/server/zanata-frontend/src/app/containers/Languages/NewLanguageModal.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/Languages/NewLanguageModal.js rename to server/zanata-frontend/src/app/containers/Languages/NewLanguageModal.js diff --git a/server/zanata-frontend/src/frontend/app/containers/Languages/index.js b/server/zanata-frontend/src/app/containers/Languages/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/Languages/index.js rename to server/zanata-frontend/src/app/containers/Languages/index.js diff --git a/server/zanata-frontend/src/frontend/app/containers/Languages/index.less b/server/zanata-frontend/src/app/containers/Languages/index.less similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/Languages/index.less rename to server/zanata-frontend/src/app/containers/Languages/index.less diff --git a/server/zanata-frontend/src/frontend/app/containers/Project/index.js b/server/zanata-frontend/src/app/containers/Project/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/Project/index.js rename to server/zanata-frontend/src/app/containers/Project/index.js diff --git a/server/zanata-frontend/src/frontend/app/containers/ProjectVersion/ProjectVersionPanels.js b/server/zanata-frontend/src/app/containers/ProjectVersion/ProjectVersionPanels.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/ProjectVersion/ProjectVersionPanels.js rename to server/zanata-frontend/src/app/containers/ProjectVersion/ProjectVersionPanels.js diff --git a/server/zanata-frontend/src/frontend/app/containers/ProjectVersion/TMMergeImportedTM.js b/server/zanata-frontend/src/app/containers/ProjectVersion/TMMergeImportedTM.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/ProjectVersion/TMMergeImportedTM.js rename to server/zanata-frontend/src/app/containers/ProjectVersion/TMMergeImportedTM.js diff --git a/server/zanata-frontend/src/frontend/app/containers/ProjectVersion/TMMergeModal.js b/server/zanata-frontend/src/app/containers/ProjectVersion/TMMergeModal.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/ProjectVersion/TMMergeModal.js rename to server/zanata-frontend/src/app/containers/ProjectVersion/TMMergeModal.js diff --git a/server/zanata-frontend/src/frontend/app/containers/ProjectVersion/TMMergeOptionsCommon.js b/server/zanata-frontend/src/app/containers/ProjectVersion/TMMergeOptionsCommon.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/ProjectVersion/TMMergeOptionsCommon.js rename to server/zanata-frontend/src/app/containers/ProjectVersion/TMMergeOptionsCommon.js diff --git a/server/zanata-frontend/src/frontend/app/containers/ProjectVersion/TMMergeProjectSources.js b/server/zanata-frontend/src/app/containers/ProjectVersion/TMMergeProjectSources.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/ProjectVersion/TMMergeProjectSources.js rename to server/zanata-frontend/src/app/containers/ProjectVersion/TMMergeProjectSources.js diff --git a/server/zanata-frontend/src/frontend/app/containers/ProjectVersion/TMMergeProjectTMOptions.js b/server/zanata-frontend/src/app/containers/ProjectVersion/TMMergeProjectTMOptions.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/ProjectVersion/TMMergeProjectTMOptions.js rename to server/zanata-frontend/src/app/containers/ProjectVersion/TMMergeProjectTMOptions.js diff --git a/server/zanata-frontend/src/frontend/app/containers/ProjectVersion/index.js b/server/zanata-frontend/src/app/containers/ProjectVersion/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/ProjectVersion/index.js rename to server/zanata-frontend/src/app/containers/ProjectVersion/index.js diff --git a/server/zanata-frontend/src/frontend/app/containers/ProjectVersion/index.less b/server/zanata-frontend/src/app/containers/ProjectVersion/index.less similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/ProjectVersion/index.less rename to server/zanata-frontend/src/app/containers/ProjectVersion/index.less diff --git a/server/zanata-frontend/src/frontend/app/containers/ProjectVersion/project-version-displays.js b/server/zanata-frontend/src/app/containers/ProjectVersion/project-version-displays.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/ProjectVersion/project-version-displays.js rename to server/zanata-frontend/src/app/containers/ProjectVersion/project-version-displays.js diff --git a/server/zanata-frontend/src/frontend/app/containers/Root.js b/server/zanata-frontend/src/app/containers/Root.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/Root.js rename to server/zanata-frontend/src/app/containers/Root.js diff --git a/server/zanata-frontend/src/frontend/app/containers/UserProfile/CalendarMonthMatrix.jsx b/server/zanata-frontend/src/app/containers/UserProfile/CalendarMonthMatrix.jsx similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/UserProfile/CalendarMonthMatrix.jsx rename to server/zanata-frontend/src/app/containers/UserProfile/CalendarMonthMatrix.jsx diff --git a/server/zanata-frontend/src/frontend/app/containers/UserProfile/CalendarPeriodHeading.jsx b/server/zanata-frontend/src/app/containers/UserProfile/CalendarPeriodHeading.jsx similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/UserProfile/CalendarPeriodHeading.jsx rename to server/zanata-frontend/src/app/containers/UserProfile/CalendarPeriodHeading.jsx diff --git a/server/zanata-frontend/src/frontend/app/containers/UserProfile/CategoryItemMatrix.jsx b/server/zanata-frontend/src/app/containers/UserProfile/CategoryItemMatrix.jsx similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/UserProfile/CategoryItemMatrix.jsx rename to server/zanata-frontend/src/app/containers/UserProfile/CategoryItemMatrix.jsx diff --git a/server/zanata-frontend/src/frontend/app/containers/UserProfile/CategoryMatrixTable.jsx b/server/zanata-frontend/src/app/containers/UserProfile/CategoryMatrixTable.jsx similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/UserProfile/CategoryMatrixTable.jsx rename to server/zanata-frontend/src/app/containers/UserProfile/CategoryMatrixTable.jsx diff --git a/server/zanata-frontend/src/frontend/app/containers/UserProfile/ContentStateFilter.jsx b/server/zanata-frontend/src/app/containers/UserProfile/ContentStateFilter.jsx similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/UserProfile/ContentStateFilter.jsx rename to server/zanata-frontend/src/app/containers/UserProfile/ContentStateFilter.jsx diff --git a/server/zanata-frontend/src/frontend/app/containers/UserProfile/ContributionChart.jsx b/server/zanata-frontend/src/app/containers/UserProfile/ContributionChart.jsx similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/UserProfile/ContributionChart.jsx rename to server/zanata-frontend/src/app/containers/UserProfile/ContributionChart.jsx diff --git a/server/zanata-frontend/src/frontend/app/containers/UserProfile/DayMatrix.jsx b/server/zanata-frontend/src/app/containers/UserProfile/DayMatrix.jsx similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/UserProfile/DayMatrix.jsx rename to server/zanata-frontend/src/app/containers/UserProfile/DayMatrix.jsx diff --git a/server/zanata-frontend/src/frontend/app/containers/UserProfile/FilterableMatrixTable.jsx b/server/zanata-frontend/src/app/containers/UserProfile/FilterableMatrixTable.jsx similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/UserProfile/FilterableMatrixTable.jsx rename to server/zanata-frontend/src/app/containers/UserProfile/FilterableMatrixTable.jsx diff --git a/server/zanata-frontend/src/frontend/app/containers/UserProfile/RecentContributions.jsx b/server/zanata-frontend/src/app/containers/UserProfile/RecentContributions.jsx similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/UserProfile/RecentContributions.jsx rename to server/zanata-frontend/src/app/containers/UserProfile/RecentContributions.jsx diff --git a/server/zanata-frontend/src/frontend/app/containers/UserProfile/index.jsx b/server/zanata-frontend/src/app/containers/UserProfile/index.jsx similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/UserProfile/index.jsx rename to server/zanata-frontend/src/app/containers/UserProfile/index.jsx diff --git a/server/zanata-frontend/src/frontend/app/containers/UserProfile/index.less b/server/zanata-frontend/src/app/containers/UserProfile/index.less similarity index 100% rename from server/zanata-frontend/src/frontend/app/containers/UserProfile/index.less rename to server/zanata-frontend/src/app/containers/UserProfile/index.less diff --git a/server/zanata-frontend/src/frontend/app/editor/README.md b/server/zanata-frontend/src/app/editor/README.md similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/README.md rename to server/zanata-frontend/src/app/editor/README.md diff --git a/server/zanata-frontend/src/frontend/app/editor/actions/action-types.js b/server/zanata-frontend/src/app/editor/actions/action-types.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/actions/action-types.js rename to server/zanata-frontend/src/app/editor/actions/action-types.js diff --git a/server/zanata-frontend/src/frontend/app/editor/actions/controls-header-actions.js b/server/zanata-frontend/src/app/editor/actions/controls-header-actions.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/actions/controls-header-actions.js rename to server/zanata-frontend/src/app/editor/actions/controls-header-actions.js diff --git a/server/zanata-frontend/src/frontend/app/editor/actions/glossary-action-types.js b/server/zanata-frontend/src/app/editor/actions/glossary-action-types.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/actions/glossary-action-types.js rename to server/zanata-frontend/src/app/editor/actions/glossary-action-types.js diff --git a/server/zanata-frontend/src/frontend/app/editor/actions/glossary-actions.js b/server/zanata-frontend/src/app/editor/actions/glossary-actions.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/actions/glossary-actions.js rename to server/zanata-frontend/src/app/editor/actions/glossary-actions.js diff --git a/server/zanata-frontend/src/frontend/app/editor/actions/header-action-types.js b/server/zanata-frontend/src/app/editor/actions/header-action-types.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/actions/header-action-types.js rename to server/zanata-frontend/src/app/editor/actions/header-action-types.js diff --git a/server/zanata-frontend/src/frontend/app/editor/actions/header-actions.js b/server/zanata-frontend/src/app/editor/actions/header-actions.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/actions/header-actions.js rename to server/zanata-frontend/src/app/editor/actions/header-actions.js diff --git a/server/zanata-frontend/src/frontend/app/editor/actions/index.js b/server/zanata-frontend/src/app/editor/actions/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/actions/index.js rename to server/zanata-frontend/src/app/editor/actions/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/actions/key-shortcuts-actions.js b/server/zanata-frontend/src/app/editor/actions/key-shortcuts-actions.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/actions/key-shortcuts-actions.js rename to server/zanata-frontend/src/app/editor/actions/key-shortcuts-actions.js diff --git a/server/zanata-frontend/src/frontend/app/editor/actions/phrase-navigation-actions.js b/server/zanata-frontend/src/app/editor/actions/phrase-navigation-actions.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/actions/phrase-navigation-actions.js rename to server/zanata-frontend/src/app/editor/actions/phrase-navigation-actions.js diff --git a/server/zanata-frontend/src/frontend/app/editor/actions/phrases-action-types.js b/server/zanata-frontend/src/app/editor/actions/phrases-action-types.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/actions/phrases-action-types.js rename to server/zanata-frontend/src/app/editor/actions/phrases-action-types.js diff --git a/server/zanata-frontend/src/frontend/app/editor/actions/phrases-actions.js b/server/zanata-frontend/src/app/editor/actions/phrases-actions.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/actions/phrases-actions.js rename to server/zanata-frontend/src/app/editor/actions/phrases-actions.js diff --git a/server/zanata-frontend/src/frontend/app/editor/actions/phrases-filter-actions.js b/server/zanata-frontend/src/app/editor/actions/phrases-filter-actions.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/actions/phrases-filter-actions.js rename to server/zanata-frontend/src/app/editor/actions/phrases-filter-actions.js diff --git a/server/zanata-frontend/src/frontend/app/editor/actions/settings-action-types.js b/server/zanata-frontend/src/app/editor/actions/settings-action-types.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/actions/settings-action-types.js rename to server/zanata-frontend/src/app/editor/actions/settings-action-types.js diff --git a/server/zanata-frontend/src/frontend/app/editor/actions/settings-actions.js b/server/zanata-frontend/src/app/editor/actions/settings-actions.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/actions/settings-actions.js rename to server/zanata-frontend/src/app/editor/actions/settings-actions.js diff --git a/server/zanata-frontend/src/frontend/app/editor/actions/settings-actions.test.js b/server/zanata-frontend/src/app/editor/actions/settings-actions.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/actions/settings-actions.test.js rename to server/zanata-frontend/src/app/editor/actions/settings-actions.test.js diff --git a/server/zanata-frontend/src/frontend/app/editor/actions/suggestions-action-types.js b/server/zanata-frontend/src/app/editor/actions/suggestions-action-types.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/actions/suggestions-action-types.js rename to server/zanata-frontend/src/app/editor/actions/suggestions-action-types.js diff --git a/server/zanata-frontend/src/frontend/app/editor/actions/suggestions-actions.js b/server/zanata-frontend/src/app/editor/actions/suggestions-actions.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/actions/suggestions-actions.js rename to server/zanata-frontend/src/app/editor/actions/suggestions-actions.js diff --git a/server/zanata-frontend/src/frontend/app/editor/api/index.js b/server/zanata-frontend/src/app/editor/api/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/api/index.js rename to server/zanata-frontend/src/app/editor/api/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/api/suggestions.js b/server/zanata-frontend/src/app/editor/api/suggestions.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/api/suggestions.js rename to server/zanata-frontend/src/app/editor/api/suggestions.js diff --git a/server/zanata-frontend/src/frontend/app/editor/app.css b/server/zanata-frontend/src/app/editor/app.css similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/app.css rename to server/zanata-frontend/src/app/editor/app.css diff --git a/server/zanata-frontend/src/frontend/app/editor/components/ActivityFeedItem/ActivityFeedItem.story.js b/server/zanata-frontend/src/app/editor/components/ActivityFeedItem/ActivityFeedItem.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/ActivityFeedItem/ActivityFeedItem.story.js rename to server/zanata-frontend/src/app/editor/components/ActivityFeedItem/ActivityFeedItem.story.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/ActivityFeedItem/index.js b/server/zanata-frontend/src/app/editor/components/ActivityFeedItem/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/ActivityFeedItem/index.js rename to server/zanata-frontend/src/app/editor/components/ActivityFeedItem/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/ActivitySelectList/ActivitySelectList.story.js b/server/zanata-frontend/src/app/editor/components/ActivitySelectList/ActivitySelectList.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/ActivitySelectList/ActivitySelectList.story.js rename to server/zanata-frontend/src/app/editor/components/ActivitySelectList/ActivitySelectList.story.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/ActivitySelectList/index.js b/server/zanata-frontend/src/app/editor/components/ActivitySelectList/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/ActivitySelectList/index.js rename to server/zanata-frontend/src/app/editor/components/ActivitySelectList/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/Button/Button.story.js b/server/zanata-frontend/src/app/editor/components/Button/Button.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/Button/Button.story.js rename to server/zanata-frontend/src/app/editor/components/Button/Button.story.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/Button/Button.test.js b/server/zanata-frontend/src/app/editor/components/Button/Button.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/Button/Button.test.js rename to server/zanata-frontend/src/app/editor/components/Button/Button.test.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/Button/index.css b/server/zanata-frontend/src/app/editor/components/Button/index.css similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/Button/index.css rename to server/zanata-frontend/src/app/editor/components/Button/index.css diff --git a/server/zanata-frontend/src/frontend/app/editor/components/Button/index.js b/server/zanata-frontend/src/app/editor/components/Button/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/Button/index.js rename to server/zanata-frontend/src/app/editor/components/Button/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/CommentBox/CommentBox.story.js b/server/zanata-frontend/src/app/editor/components/CommentBox/CommentBox.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/CommentBox/CommentBox.story.js rename to server/zanata-frontend/src/app/editor/components/CommentBox/CommentBox.story.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/CommentBox/index.js b/server/zanata-frontend/src/app/editor/components/CommentBox/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/CommentBox/index.js rename to server/zanata-frontend/src/app/editor/components/CommentBox/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/DashboardLink/DashboardLink.test.js b/server/zanata-frontend/src/app/editor/components/DashboardLink/DashboardLink.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/DashboardLink/DashboardLink.test.js rename to server/zanata-frontend/src/app/editor/components/DashboardLink/DashboardLink.test.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/DashboardLink/index.js b/server/zanata-frontend/src/app/editor/components/DashboardLink/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/DashboardLink/index.js rename to server/zanata-frontend/src/app/editor/components/DashboardLink/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/DateAndTimeDisplay/DateAndTimeDisplay.story.js b/server/zanata-frontend/src/app/editor/components/DateAndTimeDisplay/DateAndTimeDisplay.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/DateAndTimeDisplay/DateAndTimeDisplay.story.js rename to server/zanata-frontend/src/app/editor/components/DateAndTimeDisplay/DateAndTimeDisplay.story.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/DateAndTimeDisplay/DateAndTimeDisplay.test.js b/server/zanata-frontend/src/app/editor/components/DateAndTimeDisplay/DateAndTimeDisplay.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/DateAndTimeDisplay/DateAndTimeDisplay.test.js rename to server/zanata-frontend/src/app/editor/components/DateAndTimeDisplay/DateAndTimeDisplay.test.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/DateAndTimeDisplay/index.js b/server/zanata-frontend/src/app/editor/components/DateAndTimeDisplay/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/DateAndTimeDisplay/index.js rename to server/zanata-frontend/src/app/editor/components/DateAndTimeDisplay/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/DocsDropdown/DocsDropdown.test.js b/server/zanata-frontend/src/app/editor/components/DocsDropdown/DocsDropdown.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/DocsDropdown/DocsDropdown.test.js rename to server/zanata-frontend/src/app/editor/components/DocsDropdown/DocsDropdown.test.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/DocsDropdown/index.js b/server/zanata-frontend/src/app/editor/components/DocsDropdown/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/DocsDropdown/index.js rename to server/zanata-frontend/src/app/editor/components/DocsDropdown/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/Dropdown/Dropdown.test.js b/server/zanata-frontend/src/app/editor/components/Dropdown/Dropdown.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/Dropdown/Dropdown.test.js rename to server/zanata-frontend/src/app/editor/components/Dropdown/Dropdown.test.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/Dropdown/index.css b/server/zanata-frontend/src/app/editor/components/Dropdown/index.css similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/Dropdown/index.css rename to server/zanata-frontend/src/app/editor/components/Dropdown/index.css diff --git a/server/zanata-frontend/src/frontend/app/editor/components/Dropdown/index.js b/server/zanata-frontend/src/app/editor/components/Dropdown/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/Dropdown/index.js rename to server/zanata-frontend/src/app/editor/components/Dropdown/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/EditorSearchInput/EditorSearchInput.story.js b/server/zanata-frontend/src/app/editor/components/EditorSearchInput/EditorSearchInput.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/EditorSearchInput/EditorSearchInput.story.js rename to server/zanata-frontend/src/app/editor/components/EditorSearchInput/EditorSearchInput.story.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/EditorSearchInput/EditorSearchInput.test.js b/server/zanata-frontend/src/app/editor/components/EditorSearchInput/EditorSearchInput.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/EditorSearchInput/EditorSearchInput.test.js rename to server/zanata-frontend/src/app/editor/components/EditorSearchInput/EditorSearchInput.test.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/EditorSearchInput/index.css b/server/zanata-frontend/src/app/editor/components/EditorSearchInput/index.css similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/EditorSearchInput/index.css rename to server/zanata-frontend/src/app/editor/components/EditorSearchInput/index.css diff --git a/server/zanata-frontend/src/frontend/app/editor/components/EditorSearchInput/index.js b/server/zanata-frontend/src/app/editor/components/EditorSearchInput/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/EditorSearchInput/index.js rename to server/zanata-frontend/src/app/editor/components/EditorSearchInput/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/FilterToggle/index.css b/server/zanata-frontend/src/app/editor/components/FilterToggle/index.css similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/FilterToggle/index.css rename to server/zanata-frontend/src/app/editor/components/FilterToggle/index.css diff --git a/server/zanata-frontend/src/frontend/app/editor/components/FilterToggle/index.js b/server/zanata-frontend/src/app/editor/components/FilterToggle/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/FilterToggle/index.js rename to server/zanata-frontend/src/app/editor/components/FilterToggle/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/GlossarySearchInput/GlossarySearchInput.story.js b/server/zanata-frontend/src/app/editor/components/GlossarySearchInput/GlossarySearchInput.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/GlossarySearchInput/GlossarySearchInput.story.js rename to server/zanata-frontend/src/app/editor/components/GlossarySearchInput/GlossarySearchInput.story.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/GlossarySearchInput/index.js b/server/zanata-frontend/src/app/editor/components/GlossarySearchInput/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/GlossarySearchInput/index.js rename to server/zanata-frontend/src/app/editor/components/GlossarySearchInput/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/GlossaryTerm/GlossaryTerm.story.js b/server/zanata-frontend/src/app/editor/components/GlossaryTerm/GlossaryTerm.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/GlossaryTerm/GlossaryTerm.story.js rename to server/zanata-frontend/src/app/editor/components/GlossaryTerm/GlossaryTerm.story.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/GlossaryTerm/index.js b/server/zanata-frontend/src/app/editor/components/GlossaryTerm/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/GlossaryTerm/index.js rename to server/zanata-frontend/src/app/editor/components/GlossaryTerm/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/GlossaryTermModal/GlossaryTermModal.story.js b/server/zanata-frontend/src/app/editor/components/GlossaryTermModal/GlossaryTermModal.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/GlossaryTermModal/GlossaryTermModal.story.js rename to server/zanata-frontend/src/app/editor/components/GlossaryTermModal/GlossaryTermModal.story.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/GlossaryTermModal/component.js b/server/zanata-frontend/src/app/editor/components/GlossaryTermModal/component.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/GlossaryTermModal/component.js rename to server/zanata-frontend/src/app/editor/components/GlossaryTermModal/component.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/GlossaryTermModal/index.css b/server/zanata-frontend/src/app/editor/components/GlossaryTermModal/index.css similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/GlossaryTermModal/index.css rename to server/zanata-frontend/src/app/editor/components/GlossaryTermModal/index.css diff --git a/server/zanata-frontend/src/frontend/app/editor/components/GlossaryTermModal/index.js b/server/zanata-frontend/src/app/editor/components/GlossaryTermModal/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/GlossaryTermModal/index.js rename to server/zanata-frontend/src/app/editor/components/GlossaryTermModal/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/IconButton/IconButton.test.js b/server/zanata-frontend/src/app/editor/components/IconButton/IconButton.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/IconButton/IconButton.test.js rename to server/zanata-frontend/src/app/editor/components/IconButton/IconButton.test.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/IconButton/index.js b/server/zanata-frontend/src/app/editor/components/IconButton/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/IconButton/index.js rename to server/zanata-frontend/src/app/editor/components/IconButton/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/IconButtonToggle/IconButtonToggle.test.js b/server/zanata-frontend/src/app/editor/components/IconButtonToggle/IconButtonToggle.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/IconButtonToggle/IconButtonToggle.test.js rename to server/zanata-frontend/src/app/editor/components/IconButtonToggle/IconButtonToggle.test.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/IconButtonToggle/index.js b/server/zanata-frontend/src/app/editor/components/IconButtonToggle/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/IconButtonToggle/index.js rename to server/zanata-frontend/src/app/editor/components/IconButtonToggle/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/InputGroup/index.css b/server/zanata-frontend/src/app/editor/components/InputGroup/index.css similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/InputGroup/index.css rename to server/zanata-frontend/src/app/editor/components/InputGroup/index.css diff --git a/server/zanata-frontend/src/frontend/app/editor/components/KeyCombinations.js b/server/zanata-frontend/src/app/editor/components/KeyCombinations.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/KeyCombinations.js rename to server/zanata-frontend/src/app/editor/components/KeyCombinations.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/LanguageSelectList/LanguageSelectList.story.js b/server/zanata-frontend/src/app/editor/components/LanguageSelectList/LanguageSelectList.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/LanguageSelectList/LanguageSelectList.story.js rename to server/zanata-frontend/src/app/editor/components/LanguageSelectList/LanguageSelectList.story.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/LanguageSelectList/index.js b/server/zanata-frontend/src/app/editor/components/LanguageSelectList/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/LanguageSelectList/index.js rename to server/zanata-frontend/src/app/editor/components/LanguageSelectList/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/LanguagesDropdown/LanguageDropdown.test.js b/server/zanata-frontend/src/app/editor/components/LanguagesDropdown/LanguageDropdown.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/LanguagesDropdown/LanguageDropdown.test.js rename to server/zanata-frontend/src/app/editor/components/LanguagesDropdown/LanguageDropdown.test.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/LanguagesDropdown/index.js b/server/zanata-frontend/src/app/editor/components/LanguagesDropdown/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/LanguagesDropdown/index.js rename to server/zanata-frontend/src/app/editor/components/LanguagesDropdown/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/NoSuggestionsPanel/NoSuggestionsPanel.test.js b/server/zanata-frontend/src/app/editor/components/NoSuggestionsPanel/NoSuggestionsPanel.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/NoSuggestionsPanel/NoSuggestionsPanel.test.js rename to server/zanata-frontend/src/app/editor/components/NoSuggestionsPanel/NoSuggestionsPanel.test.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/NoSuggestionsPanel/index.js b/server/zanata-frontend/src/app/editor/components/NoSuggestionsPanel/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/NoSuggestionsPanel/index.js rename to server/zanata-frontend/src/app/editor/components/NoSuggestionsPanel/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/Pager/Pager.test.js b/server/zanata-frontend/src/app/editor/components/Pager/Pager.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/Pager/Pager.test.js rename to server/zanata-frontend/src/app/editor/components/Pager/Pager.test.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/Pager/index.js b/server/zanata-frontend/src/app/editor/components/Pager/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/Pager/index.js rename to server/zanata-frontend/src/app/editor/components/Pager/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/PhraseStatusFilter/PhraseStatusFilter.test.js b/server/zanata-frontend/src/app/editor/components/PhraseStatusFilter/PhraseStatusFilter.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/PhraseStatusFilter/PhraseStatusFilter.test.js rename to server/zanata-frontend/src/app/editor/components/PhraseStatusFilter/PhraseStatusFilter.test.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/PhraseStatusFilter/index.js b/server/zanata-frontend/src/app/editor/components/PhraseStatusFilter/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/PhraseStatusFilter/index.js rename to server/zanata-frontend/src/app/editor/components/PhraseStatusFilter/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/ProgressBar/ProgressBar.story.js b/server/zanata-frontend/src/app/editor/components/ProgressBar/ProgressBar.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/ProgressBar/ProgressBar.story.js rename to server/zanata-frontend/src/app/editor/components/ProgressBar/ProgressBar.story.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/ProgressBar/ProgressBar.test.js b/server/zanata-frontend/src/app/editor/components/ProgressBar/ProgressBar.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/ProgressBar/ProgressBar.test.js rename to server/zanata-frontend/src/app/editor/components/ProgressBar/ProgressBar.test.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/ProgressBar/index.css b/server/zanata-frontend/src/app/editor/components/ProgressBar/index.css similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/ProgressBar/index.css rename to server/zanata-frontend/src/app/editor/components/ProgressBar/index.css diff --git a/server/zanata-frontend/src/frontend/app/editor/components/ProgressBar/index.js b/server/zanata-frontend/src/app/editor/components/ProgressBar/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/ProgressBar/index.js rename to server/zanata-frontend/src/app/editor/components/ProgressBar/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/ProjectVersionLink/ProjectVersionLink.test.js b/server/zanata-frontend/src/app/editor/components/ProjectVersionLink/ProjectVersionLink.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/ProjectVersionLink/ProjectVersionLink.test.js rename to server/zanata-frontend/src/app/editor/components/ProjectVersionLink/ProjectVersionLink.test.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/ProjectVersionLink/index.js b/server/zanata-frontend/src/app/editor/components/ProjectVersionLink/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/ProjectVersionLink/index.js rename to server/zanata-frontend/src/app/editor/components/ProjectVersionLink/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/RejectTranslationModal/RejectTranslationModal.story.js b/server/zanata-frontend/src/app/editor/components/RejectTranslationModal/RejectTranslationModal.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/RejectTranslationModal/RejectTranslationModal.story.js rename to server/zanata-frontend/src/app/editor/components/RejectTranslationModal/RejectTranslationModal.story.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/RejectTranslationModal/index.css b/server/zanata-frontend/src/app/editor/components/RejectTranslationModal/index.css similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/RejectTranslationModal/index.css rename to server/zanata-frontend/src/app/editor/components/RejectTranslationModal/index.css diff --git a/server/zanata-frontend/src/frontend/app/editor/components/RejectTranslationModal/index.js b/server/zanata-frontend/src/app/editor/components/RejectTranslationModal/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/RejectTranslationModal/index.js rename to server/zanata-frontend/src/app/editor/components/RejectTranslationModal/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/SelectButton/SelectButton.story.js b/server/zanata-frontend/src/app/editor/components/SelectButton/SelectButton.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/SelectButton/SelectButton.story.js rename to server/zanata-frontend/src/app/editor/components/SelectButton/SelectButton.story.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/SelectButton/index.js b/server/zanata-frontend/src/app/editor/components/SelectButton/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/SelectButton/index.js rename to server/zanata-frontend/src/app/editor/components/SelectButton/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/SelectButtonList/SelectButtonList.story.js b/server/zanata-frontend/src/app/editor/components/SelectButtonList/SelectButtonList.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/SelectButtonList/SelectButtonList.story.js rename to server/zanata-frontend/src/app/editor/components/SelectButtonList/SelectButtonList.story.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/SelectButtonList/index.js b/server/zanata-frontend/src/app/editor/components/SelectButtonList/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/SelectButtonList/index.js rename to server/zanata-frontend/src/app/editor/components/SelectButtonList/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/SettingOption/SettingOption.story.js b/server/zanata-frontend/src/app/editor/components/SettingOption/SettingOption.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/SettingOption/SettingOption.story.js rename to server/zanata-frontend/src/app/editor/components/SettingOption/SettingOption.story.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/SettingOption/index.js b/server/zanata-frontend/src/app/editor/components/SettingOption/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/SettingOption/index.js rename to server/zanata-frontend/src/app/editor/components/SettingOption/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/SettingsOptions/SettingsOptions.story.js b/server/zanata-frontend/src/app/editor/components/SettingsOptions/SettingsOptions.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/SettingsOptions/SettingsOptions.story.js rename to server/zanata-frontend/src/app/editor/components/SettingsOptions/SettingsOptions.story.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/SettingsOptions/index.js b/server/zanata-frontend/src/app/editor/components/SettingsOptions/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/SettingsOptions/index.js rename to server/zanata-frontend/src/app/editor/components/SettingsOptions/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/SplitDropdown/index.css b/server/zanata-frontend/src/app/editor/components/SplitDropdown/index.css similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/SplitDropdown/index.css rename to server/zanata-frontend/src/app/editor/components/SplitDropdown/index.css diff --git a/server/zanata-frontend/src/frontend/app/editor/components/SplitDropdown/index.js b/server/zanata-frontend/src/app/editor/components/SplitDropdown/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/SplitDropdown/index.js rename to server/zanata-frontend/src/app/editor/components/SplitDropdown/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/Suggestion.js b/server/zanata-frontend/src/app/editor/components/Suggestion.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/Suggestion.js rename to server/zanata-frontend/src/app/editor/components/Suggestion.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/SuggestionContents/SuggestionContents.test.js b/server/zanata-frontend/src/app/editor/components/SuggestionContents/SuggestionContents.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/SuggestionContents/SuggestionContents.test.js rename to server/zanata-frontend/src/app/editor/components/SuggestionContents/SuggestionContents.test.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/SuggestionContents/index.js b/server/zanata-frontend/src/app/editor/components/SuggestionContents/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/SuggestionContents/index.js rename to server/zanata-frontend/src/app/editor/components/SuggestionContents/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/SuggestionDetailsSummary/SuggestionDetailsSummary.test.js b/server/zanata-frontend/src/app/editor/components/SuggestionDetailsSummary/SuggestionDetailsSummary.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/SuggestionDetailsSummary/SuggestionDetailsSummary.test.js rename to server/zanata-frontend/src/app/editor/components/SuggestionDetailsSummary/SuggestionDetailsSummary.test.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/SuggestionDetailsSummary/index.js b/server/zanata-frontend/src/app/editor/components/SuggestionDetailsSummary/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/SuggestionDetailsSummary/index.js rename to server/zanata-frontend/src/app/editor/components/SuggestionDetailsSummary/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/SuggestionList.js b/server/zanata-frontend/src/app/editor/components/SuggestionList.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/SuggestionList.js rename to server/zanata-frontend/src/app/editor/components/SuggestionList.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/SuggestionMatchPercent/SuggestionMatchPercent.test.js b/server/zanata-frontend/src/app/editor/components/SuggestionMatchPercent/SuggestionMatchPercent.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/SuggestionMatchPercent/SuggestionMatchPercent.test.js rename to server/zanata-frontend/src/app/editor/components/SuggestionMatchPercent/SuggestionMatchPercent.test.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/SuggestionMatchPercent/index.js b/server/zanata-frontend/src/app/editor/components/SuggestionMatchPercent/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/SuggestionMatchPercent/index.js rename to server/zanata-frontend/src/app/editor/components/SuggestionMatchPercent/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/SuggestionSearchInput/index.js b/server/zanata-frontend/src/app/editor/components/SuggestionSearchInput/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/SuggestionSearchInput/index.js rename to server/zanata-frontend/src/app/editor/components/SuggestionSearchInput/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/SuggestionSources/SuggestionSources.test.js b/server/zanata-frontend/src/app/editor/components/SuggestionSources/SuggestionSources.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/SuggestionSources/SuggestionSources.test.js rename to server/zanata-frontend/src/app/editor/components/SuggestionSources/SuggestionSources.test.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/SuggestionSources/index.js b/server/zanata-frontend/src/app/editor/components/SuggestionSources/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/SuggestionSources/index.js rename to server/zanata-frontend/src/app/editor/components/SuggestionSources/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/SuggestionTranslationDetails.js b/server/zanata-frontend/src/app/editor/components/SuggestionTranslationDetails.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/SuggestionTranslationDetails.js rename to server/zanata-frontend/src/app/editor/components/SuggestionTranslationDetails.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/SuggestionTranslations.js b/server/zanata-frontend/src/app/editor/components/SuggestionTranslations.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/SuggestionTranslations.js rename to server/zanata-frontend/src/app/editor/components/SuggestionTranslations.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/SuggestionUpdateMessage.js b/server/zanata-frontend/src/app/editor/components/SuggestionUpdateMessage.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/SuggestionUpdateMessage.js rename to server/zanata-frontend/src/app/editor/components/SuggestionUpdateMessage.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/TextDiff/TextDiff.story.js b/server/zanata-frontend/src/app/editor/components/TextDiff/TextDiff.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/TextDiff/TextDiff.story.js rename to server/zanata-frontend/src/app/editor/components/TextDiff/TextDiff.story.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/TextDiff/TextDiff.test.js b/server/zanata-frontend/src/app/editor/components/TextDiff/TextDiff.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/TextDiff/TextDiff.test.js rename to server/zanata-frontend/src/app/editor/components/TextDiff/TextDiff.test.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/TextDiff/index.css b/server/zanata-frontend/src/app/editor/components/TextDiff/index.css similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/TextDiff/index.css rename to server/zanata-frontend/src/app/editor/components/TextDiff/index.css diff --git a/server/zanata-frontend/src/frontend/app/editor/components/TextDiff/index.js b/server/zanata-frontend/src/app/editor/components/TextDiff/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/TextDiff/index.js rename to server/zanata-frontend/src/app/editor/components/TextDiff/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/ToggleSwitch/ToggleSwitch.test.js b/server/zanata-frontend/src/app/editor/components/ToggleSwitch/ToggleSwitch.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/ToggleSwitch/ToggleSwitch.test.js rename to server/zanata-frontend/src/app/editor/components/ToggleSwitch/ToggleSwitch.test.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/ToggleSwitch/index.css b/server/zanata-frontend/src/app/editor/components/ToggleSwitch/index.css similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/ToggleSwitch/index.css rename to server/zanata-frontend/src/app/editor/components/ToggleSwitch/index.css diff --git a/server/zanata-frontend/src/frontend/app/editor/components/ToggleSwitch/index.js b/server/zanata-frontend/src/app/editor/components/ToggleSwitch/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/ToggleSwitch/index.js rename to server/zanata-frontend/src/app/editor/components/ToggleSwitch/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/TransUnit/index.css b/server/zanata-frontend/src/app/editor/components/TransUnit/index.css similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/TransUnit/index.css rename to server/zanata-frontend/src/app/editor/components/TransUnit/index.css diff --git a/server/zanata-frontend/src/frontend/app/editor/components/TransUnit/index.js b/server/zanata-frontend/src/app/editor/components/TransUnit/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/TransUnit/index.js rename to server/zanata-frontend/src/app/editor/components/TransUnit/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/TransUnitLocaleHeading.js b/server/zanata-frontend/src/app/editor/components/TransUnitLocaleHeading.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/TransUnitLocaleHeading.js rename to server/zanata-frontend/src/app/editor/components/TransUnitLocaleHeading.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/TransUnitSourceHeader.js b/server/zanata-frontend/src/app/editor/components/TransUnitSourceHeader.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/TransUnitSourceHeader.js rename to server/zanata-frontend/src/app/editor/components/TransUnitSourceHeader.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/TransUnitSourcePanel.js b/server/zanata-frontend/src/app/editor/components/TransUnitSourcePanel.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/TransUnitSourcePanel.js rename to server/zanata-frontend/src/app/editor/components/TransUnitSourcePanel.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/TransUnitStatus.js b/server/zanata-frontend/src/app/editor/components/TransUnitStatus.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/TransUnitStatus.js rename to server/zanata-frontend/src/app/editor/components/TransUnitStatus.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/TransUnitTranslationFooter.js b/server/zanata-frontend/src/app/editor/components/TransUnitTranslationFooter.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/TransUnitTranslationFooter.js rename to server/zanata-frontend/src/app/editor/components/TransUnitTranslationFooter.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/TransUnitTranslationHeader.js b/server/zanata-frontend/src/app/editor/components/TransUnitTranslationHeader.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/TransUnitTranslationHeader.js rename to server/zanata-frontend/src/app/editor/components/TransUnitTranslationHeader.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/TransUnitTranslationPanel.js b/server/zanata-frontend/src/app/editor/components/TransUnitTranslationPanel.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/TransUnitTranslationPanel.js rename to server/zanata-frontend/src/app/editor/components/TransUnitTranslationPanel.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/TranslatingIndicator/TranslatingIndicator.test.js b/server/zanata-frontend/src/app/editor/components/TranslatingIndicator/TranslatingIndicator.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/TranslatingIndicator/TranslatingIndicator.test.js rename to server/zanata-frontend/src/app/editor/components/TranslatingIndicator/TranslatingIndicator.test.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/TranslatingIndicator/index.js b/server/zanata-frontend/src/app/editor/components/TranslatingIndicator/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/TranslatingIndicator/index.js rename to server/zanata-frontend/src/app/editor/components/TranslatingIndicator/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/UiLanguageDropdown/UiLanguageDropdown.test.js b/server/zanata-frontend/src/app/editor/components/UiLanguageDropdown/UiLanguageDropdown.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/UiLanguageDropdown/UiLanguageDropdown.test.js rename to server/zanata-frontend/src/app/editor/components/UiLanguageDropdown/UiLanguageDropdown.test.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/UiLanguageDropdown/index.js b/server/zanata-frontend/src/app/editor/components/UiLanguageDropdown/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/UiLanguageDropdown/index.js rename to server/zanata-frontend/src/app/editor/components/UiLanguageDropdown/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/components/components.story.js b/server/zanata-frontend/src/app/editor/components/components.story.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/components/components.story.js rename to server/zanata-frontend/src/app/editor/components/components.story.js diff --git a/server/zanata-frontend/src/frontend/app/editor/config/intl.js b/server/zanata-frontend/src/app/editor/config/intl.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/config/intl.js rename to server/zanata-frontend/src/app/editor/config/intl.js diff --git a/server/zanata-frontend/src/frontend/app/editor/containers/ActivityTab.js b/server/zanata-frontend/src/app/editor/containers/ActivityTab.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/containers/ActivityTab.js rename to server/zanata-frontend/src/app/editor/containers/ActivityTab.js diff --git a/server/zanata-frontend/src/frontend/app/editor/containers/ControlsHeader.js b/server/zanata-frontend/src/app/editor/containers/ControlsHeader.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/containers/ControlsHeader.js rename to server/zanata-frontend/src/app/editor/containers/ControlsHeader.js diff --git a/server/zanata-frontend/src/frontend/app/editor/containers/EditorHeader/index.css b/server/zanata-frontend/src/app/editor/containers/EditorHeader/index.css similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/containers/EditorHeader/index.css rename to server/zanata-frontend/src/app/editor/containers/EditorHeader/index.css diff --git a/server/zanata-frontend/src/frontend/app/editor/containers/EditorHeader/index.js b/server/zanata-frontend/src/app/editor/containers/EditorHeader/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/containers/EditorHeader/index.js rename to server/zanata-frontend/src/app/editor/containers/EditorHeader/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/containers/GlossaryTab.js b/server/zanata-frontend/src/app/editor/containers/GlossaryTab.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/containers/GlossaryTab.js rename to server/zanata-frontend/src/app/editor/containers/GlossaryTab.js diff --git a/server/zanata-frontend/src/frontend/app/editor/containers/KeyShortcutCheatSheet/index.css b/server/zanata-frontend/src/app/editor/containers/KeyShortcutCheatSheet/index.css similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/containers/KeyShortcutCheatSheet/index.css rename to server/zanata-frontend/src/app/editor/containers/KeyShortcutCheatSheet/index.css diff --git a/server/zanata-frontend/src/frontend/app/editor/containers/KeyShortcutCheatSheet/index.js b/server/zanata-frontend/src/app/editor/containers/KeyShortcutCheatSheet/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/containers/KeyShortcutCheatSheet/index.js rename to server/zanata-frontend/src/app/editor/containers/KeyShortcutCheatSheet/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/containers/KeyShortcutDispatcher.js b/server/zanata-frontend/src/app/editor/containers/KeyShortcutDispatcher.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/containers/KeyShortcutDispatcher.js rename to server/zanata-frontend/src/app/editor/containers/KeyShortcutDispatcher.js diff --git a/server/zanata-frontend/src/frontend/app/editor/containers/MainContent.js b/server/zanata-frontend/src/app/editor/containers/MainContent.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/containers/MainContent.js rename to server/zanata-frontend/src/app/editor/containers/MainContent.js diff --git a/server/zanata-frontend/src/frontend/app/editor/containers/NavHeader.js b/server/zanata-frontend/src/app/editor/containers/NavHeader.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/containers/NavHeader.js rename to server/zanata-frontend/src/app/editor/containers/NavHeader.js diff --git a/server/zanata-frontend/src/frontend/app/editor/containers/NeedSlugMessage.js b/server/zanata-frontend/src/app/editor/containers/NeedSlugMessage.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/containers/NeedSlugMessage.js rename to server/zanata-frontend/src/app/editor/containers/NeedSlugMessage.js diff --git a/server/zanata-frontend/src/frontend/app/editor/containers/ParamPropDispatcher.js b/server/zanata-frontend/src/app/editor/containers/ParamPropDispatcher.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/containers/ParamPropDispatcher.js rename to server/zanata-frontend/src/app/editor/containers/ParamPropDispatcher.js diff --git a/server/zanata-frontend/src/frontend/app/editor/containers/Root/index.css b/server/zanata-frontend/src/app/editor/containers/Root/index.css similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/containers/Root/index.css rename to server/zanata-frontend/src/app/editor/containers/Root/index.css diff --git a/server/zanata-frontend/src/frontend/app/editor/containers/Root/index.js b/server/zanata-frontend/src/app/editor/containers/Root/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/containers/Root/index.js rename to server/zanata-frontend/src/app/editor/containers/Root/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/containers/SettingsPanel.js b/server/zanata-frontend/src/app/editor/containers/SettingsPanel.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/containers/SettingsPanel.js rename to server/zanata-frontend/src/app/editor/containers/SettingsPanel.js diff --git a/server/zanata-frontend/src/frontend/app/editor/containers/Sidebar/index.css b/server/zanata-frontend/src/app/editor/containers/Sidebar/index.css similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/containers/Sidebar/index.css rename to server/zanata-frontend/src/app/editor/containers/Sidebar/index.css diff --git a/server/zanata-frontend/src/frontend/app/editor/containers/Sidebar/index.js b/server/zanata-frontend/src/app/editor/containers/Sidebar/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/containers/Sidebar/index.js rename to server/zanata-frontend/src/app/editor/containers/Sidebar/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/containers/SidebarContent.js b/server/zanata-frontend/src/app/editor/containers/SidebarContent.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/containers/SidebarContent.js rename to server/zanata-frontend/src/app/editor/containers/SidebarContent.js diff --git a/server/zanata-frontend/src/frontend/app/editor/containers/SuggestionDetailsModal/ImportedTMDetailPanel.js b/server/zanata-frontend/src/app/editor/containers/SuggestionDetailsModal/ImportedTMDetailPanel.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/containers/SuggestionDetailsModal/ImportedTMDetailPanel.js rename to server/zanata-frontend/src/app/editor/containers/SuggestionDetailsModal/ImportedTMDetailPanel.js diff --git a/server/zanata-frontend/src/frontend/app/editor/containers/SuggestionDetailsModal/LocalProjectDetailPanel.js b/server/zanata-frontend/src/app/editor/containers/SuggestionDetailsModal/LocalProjectDetailPanel.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/containers/SuggestionDetailsModal/LocalProjectDetailPanel.js rename to server/zanata-frontend/src/app/editor/containers/SuggestionDetailsModal/LocalProjectDetailPanel.js diff --git a/server/zanata-frontend/src/frontend/app/editor/containers/SuggestionDetailsModal/PlainSuggestionContents.js b/server/zanata-frontend/src/app/editor/containers/SuggestionDetailsModal/PlainSuggestionContents.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/containers/SuggestionDetailsModal/PlainSuggestionContents.js rename to server/zanata-frontend/src/app/editor/containers/SuggestionDetailsModal/PlainSuggestionContents.js diff --git a/server/zanata-frontend/src/frontend/app/editor/containers/SuggestionDetailsModal/index.css b/server/zanata-frontend/src/app/editor/containers/SuggestionDetailsModal/index.css similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/containers/SuggestionDetailsModal/index.css rename to server/zanata-frontend/src/app/editor/containers/SuggestionDetailsModal/index.css diff --git a/server/zanata-frontend/src/frontend/app/editor/containers/SuggestionDetailsModal/index.js b/server/zanata-frontend/src/app/editor/containers/SuggestionDetailsModal/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/containers/SuggestionDetailsModal/index.js rename to server/zanata-frontend/src/app/editor/containers/SuggestionDetailsModal/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/containers/SuggestionsBody.js b/server/zanata-frontend/src/app/editor/containers/SuggestionsBody.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/containers/SuggestionsBody.js rename to server/zanata-frontend/src/app/editor/containers/SuggestionsBody.js diff --git a/server/zanata-frontend/src/frontend/app/editor/containers/SuggestionsHeader.js b/server/zanata-frontend/src/app/editor/containers/SuggestionsHeader.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/containers/SuggestionsHeader.js rename to server/zanata-frontend/src/app/editor/containers/SuggestionsHeader.js diff --git a/server/zanata-frontend/src/frontend/app/editor/containers/SuggestionsPanel.js b/server/zanata-frontend/src/app/editor/containers/SuggestionsPanel.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/containers/SuggestionsPanel.js rename to server/zanata-frontend/src/app/editor/containers/SuggestionsPanel.js diff --git a/server/zanata-frontend/src/frontend/app/editor/containers/TranslationInfoPanel/index.js b/server/zanata-frontend/src/app/editor/containers/TranslationInfoPanel/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/containers/TranslationInfoPanel/index.js rename to server/zanata-frontend/src/app/editor/containers/TranslationInfoPanel/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/containers/ZanataLogoLoader.js b/server/zanata-frontend/src/app/editor/containers/ZanataLogoLoader.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/containers/ZanataLogoLoader.js rename to server/zanata-frontend/src/app/editor/containers/ZanataLogoLoader.js diff --git a/server/zanata-frontend/src/frontend/app/editor/css/README.md b/server/zanata-frontend/src/app/editor/css/README.md similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/css/README.md rename to server/zanata-frontend/src/app/editor/css/README.md diff --git a/server/zanata-frontend/src/frontend/app/editor/css/base/index.css b/server/zanata-frontend/src/app/editor/css/base/index.css similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/css/base/index.css rename to server/zanata-frontend/src/app/editor/css/base/index.css diff --git a/server/zanata-frontend/src/frontend/app/editor/css/base/lib/forms.css b/server/zanata-frontend/src/app/editor/css/base/lib/forms.css similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/css/base/lib/forms.css rename to server/zanata-frontend/src/app/editor/css/base/lib/forms.css diff --git a/server/zanata-frontend/src/frontend/app/editor/css/base/lib/global.css b/server/zanata-frontend/src/app/editor/css/base/lib/global.css similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/css/base/lib/global.css rename to server/zanata-frontend/src/app/editor/css/base/lib/global.css diff --git a/server/zanata-frontend/src/frontend/app/editor/css/base/lib/headings.css b/server/zanata-frontend/src/app/editor/css/base/lib/headings.css similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/css/base/lib/headings.css rename to server/zanata-frontend/src/app/editor/css/base/lib/headings.css diff --git a/server/zanata-frontend/src/frontend/app/editor/css/base/lib/links.css b/server/zanata-frontend/src/app/editor/css/base/lib/links.css similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/css/base/lib/links.css rename to server/zanata-frontend/src/app/editor/css/base/lib/links.css diff --git a/server/zanata-frontend/src/frontend/app/editor/css/base/lib/lists.css b/server/zanata-frontend/src/app/editor/css/base/lib/lists.css similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/css/base/lib/lists.css rename to server/zanata-frontend/src/app/editor/css/base/lib/lists.css diff --git a/server/zanata-frontend/src/frontend/app/editor/css/base/lib/media.css b/server/zanata-frontend/src/app/editor/css/base/lib/media.css similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/css/base/lib/media.css rename to server/zanata-frontend/src/app/editor/css/base/lib/media.css diff --git a/server/zanata-frontend/src/frontend/app/editor/css/base/lib/misc.css b/server/zanata-frontend/src/app/editor/css/base/lib/misc.css similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/css/base/lib/misc.css rename to server/zanata-frontend/src/app/editor/css/base/lib/misc.css diff --git a/server/zanata-frontend/src/frontend/app/editor/css/base/lib/text.css b/server/zanata-frontend/src/app/editor/css/base/lib/text.css similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/css/base/lib/text.css rename to server/zanata-frontend/src/app/editor/css/base/lib/text.css diff --git a/server/zanata-frontend/src/frontend/app/editor/css/heading/index.css b/server/zanata-frontend/src/app/editor/css/heading/index.css similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/css/heading/index.css rename to server/zanata-frontend/src/app/editor/css/heading/index.css diff --git a/server/zanata-frontend/src/frontend/app/editor/css/links/index.css b/server/zanata-frontend/src/app/editor/css/links/index.css similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/css/links/index.css rename to server/zanata-frontend/src/app/editor/css/links/index.css diff --git a/server/zanata-frontend/src/frontend/app/editor/css/resizer/index.css b/server/zanata-frontend/src/app/editor/css/resizer/index.css similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/css/resizer/index.css rename to server/zanata-frontend/src/app/editor/css/resizer/index.css diff --git a/server/zanata-frontend/src/frontend/app/editor/css/theme/index.css b/server/zanata-frontend/src/app/editor/css/theme/index.css similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/css/theme/index.css rename to server/zanata-frontend/src/app/editor/css/theme/index.css diff --git a/server/zanata-frontend/src/frontend/app/editor/css/theme/lib/theme-map.css b/server/zanata-frontend/src/app/editor/css/theme/lib/theme-map.css similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/css/theme/lib/theme-map.css rename to server/zanata-frontend/src/app/editor/css/theme/lib/theme-map.css diff --git a/server/zanata-frontend/src/frontend/app/editor/css/theme/lib/theme.css b/server/zanata-frontend/src/app/editor/css/theme/lib/theme.css similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/css/theme/lib/theme.css rename to server/zanata-frontend/src/app/editor/css/theme/lib/theme.css diff --git a/server/zanata-frontend/src/frontend/app/editor/css/utils-background/index.css b/server/zanata-frontend/src/app/editor/css/utils-background/index.css similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/css/utils-background/index.css rename to server/zanata-frontend/src/app/editor/css/utils-background/index.css diff --git a/server/zanata-frontend/src/frontend/app/editor/css/utils-display/index.css b/server/zanata-frontend/src/app/editor/css/utils-display/index.css similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/css/utils-display/index.css rename to server/zanata-frontend/src/app/editor/css/utils-display/index.css diff --git a/server/zanata-frontend/src/frontend/app/editor/css/utils-layout/index.css b/server/zanata-frontend/src/app/editor/css/utils-layout/index.css similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/css/utils-layout/index.css rename to server/zanata-frontend/src/app/editor/css/utils-layout/index.css diff --git a/server/zanata-frontend/src/frontend/app/editor/css/utils-list/index.css b/server/zanata-frontend/src/app/editor/css/utils-list/index.css similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/css/utils-list/index.css rename to server/zanata-frontend/src/app/editor/css/utils-list/index.css diff --git a/server/zanata-frontend/src/frontend/app/editor/css/utils-position/index.css b/server/zanata-frontend/src/app/editor/css/utils-position/index.css similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/css/utils-position/index.css rename to server/zanata-frontend/src/app/editor/css/utils-position/index.css diff --git a/server/zanata-frontend/src/frontend/app/editor/css/utils-size/index.css b/server/zanata-frontend/src/app/editor/css/utils-size/index.css similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/css/utils-size/index.css rename to server/zanata-frontend/src/app/editor/css/utils-size/index.css diff --git a/server/zanata-frontend/src/frontend/app/editor/css/utils-space/index.css b/server/zanata-frontend/src/app/editor/css/utils-space/index.css similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/css/utils-space/index.css rename to server/zanata-frontend/src/app/editor/css/utils-space/index.css diff --git a/server/zanata-frontend/src/frontend/app/editor/css/utils-text/index.css b/server/zanata-frontend/src/app/editor/css/utils-text/index.css similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/css/utils-text/index.css rename to server/zanata-frontend/src/app/editor/css/utils-text/index.css diff --git a/server/zanata-frontend/src/frontend/app/editor/index.css b/server/zanata-frontend/src/app/editor/index.css similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/index.css rename to server/zanata-frontend/src/app/editor/index.css diff --git a/server/zanata-frontend/src/frontend/app/editor/index.html b/server/zanata-frontend/src/app/editor/index.html similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/index.html rename to server/zanata-frontend/src/app/editor/index.html diff --git a/server/zanata-frontend/src/frontend/app/editor/index.js b/server/zanata-frontend/src/app/editor/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/index.js rename to server/zanata-frontend/src/app/editor/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/messages/en-us.json b/server/zanata-frontend/src/app/editor/messages/en-us.json similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/messages/en-us.json rename to server/zanata-frontend/src/app/editor/messages/en-us.json diff --git a/server/zanata-frontend/src/frontend/app/editor/messages/index.js b/server/zanata-frontend/src/app/editor/messages/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/messages/index.js rename to server/zanata-frontend/src/app/editor/messages/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/middlewares/call-api.js b/server/zanata-frontend/src/app/editor/middlewares/call-api.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/middlewares/call-api.js rename to server/zanata-frontend/src/app/editor/middlewares/call-api.js diff --git a/server/zanata-frontend/src/frontend/app/editor/middlewares/getstate-in-actions.js b/server/zanata-frontend/src/app/editor/middlewares/getstate-in-actions.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/middlewares/getstate-in-actions.js rename to server/zanata-frontend/src/app/editor/middlewares/getstate-in-actions.js diff --git a/server/zanata-frontend/src/frontend/app/editor/middlewares/index.js b/server/zanata-frontend/src/app/editor/middlewares/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/middlewares/index.js rename to server/zanata-frontend/src/app/editor/middlewares/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/middlewares/new-context-fetch.js b/server/zanata-frontend/src/app/editor/middlewares/new-context-fetch.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/middlewares/new-context-fetch.js rename to server/zanata-frontend/src/app/editor/middlewares/new-context-fetch.js diff --git a/server/zanata-frontend/src/frontend/app/editor/middlewares/state-change-dispatch.js b/server/zanata-frontend/src/app/editor/middlewares/state-change-dispatch.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/middlewares/state-change-dispatch.js rename to server/zanata-frontend/src/app/editor/middlewares/state-change-dispatch.js diff --git a/server/zanata-frontend/src/frontend/app/editor/middlewares/title-update.js b/server/zanata-frontend/src/app/editor/middlewares/title-update.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/middlewares/title-update.js rename to server/zanata-frontend/src/app/editor/middlewares/title-update.js diff --git a/server/zanata-frontend/src/frontend/app/editor/reducers/context-reducer.js b/server/zanata-frontend/src/app/editor/reducers/context-reducer.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/reducers/context-reducer.js rename to server/zanata-frontend/src/app/editor/reducers/context-reducer.js diff --git a/server/zanata-frontend/src/frontend/app/editor/reducers/context-reducer.test.js b/server/zanata-frontend/src/app/editor/reducers/context-reducer.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/reducers/context-reducer.test.js rename to server/zanata-frontend/src/app/editor/reducers/context-reducer.test.js diff --git a/server/zanata-frontend/src/frontend/app/editor/reducers/dropdown-reducer.js b/server/zanata-frontend/src/app/editor/reducers/dropdown-reducer.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/reducers/dropdown-reducer.js rename to server/zanata-frontend/src/app/editor/reducers/dropdown-reducer.js diff --git a/server/zanata-frontend/src/frontend/app/editor/reducers/dropdown-reducer.test.js b/server/zanata-frontend/src/app/editor/reducers/dropdown-reducer.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/reducers/dropdown-reducer.test.js rename to server/zanata-frontend/src/app/editor/reducers/dropdown-reducer.test.js diff --git a/server/zanata-frontend/src/frontend/app/editor/reducers/glossary-reducer.js b/server/zanata-frontend/src/app/editor/reducers/glossary-reducer.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/reducers/glossary-reducer.js rename to server/zanata-frontend/src/app/editor/reducers/glossary-reducer.js diff --git a/server/zanata-frontend/src/frontend/app/editor/reducers/glossary-reducer.test.js b/server/zanata-frontend/src/app/editor/reducers/glossary-reducer.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/reducers/glossary-reducer.test.js rename to server/zanata-frontend/src/app/editor/reducers/glossary-reducer.test.js diff --git a/server/zanata-frontend/src/frontend/app/editor/reducers/header-data-reducer.js b/server/zanata-frontend/src/app/editor/reducers/header-data-reducer.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/reducers/header-data-reducer.js rename to server/zanata-frontend/src/app/editor/reducers/header-data-reducer.js diff --git a/server/zanata-frontend/src/frontend/app/editor/reducers/header-data-reducer.test.js b/server/zanata-frontend/src/app/editor/reducers/header-data-reducer.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/reducers/header-data-reducer.test.js rename to server/zanata-frontend/src/app/editor/reducers/header-data-reducer.test.js diff --git a/server/zanata-frontend/src/frontend/app/editor/reducers/index.js b/server/zanata-frontend/src/app/editor/reducers/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/reducers/index.js rename to server/zanata-frontend/src/app/editor/reducers/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/reducers/phrase-reducer/filter-status-reducer.js b/server/zanata-frontend/src/app/editor/reducers/phrase-reducer/filter-status-reducer.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/reducers/phrase-reducer/filter-status-reducer.js rename to server/zanata-frontend/src/app/editor/reducers/phrase-reducer/filter-status-reducer.js diff --git a/server/zanata-frontend/src/frontend/app/editor/reducers/phrase-reducer/filter-status-reducer.test.js b/server/zanata-frontend/src/app/editor/reducers/phrase-reducer/filter-status-reducer.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/reducers/phrase-reducer/filter-status-reducer.test.js rename to server/zanata-frontend/src/app/editor/reducers/phrase-reducer/filter-status-reducer.test.js diff --git a/server/zanata-frontend/src/frontend/app/editor/reducers/phrase-reducer/index.js b/server/zanata-frontend/src/app/editor/reducers/phrase-reducer/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/reducers/phrase-reducer/index.js rename to server/zanata-frontend/src/app/editor/reducers/phrase-reducer/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/reducers/phrase-reducer/phrase-filter-reducer.js b/server/zanata-frontend/src/app/editor/reducers/phrase-reducer/phrase-filter-reducer.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/reducers/phrase-reducer/phrase-filter-reducer.js rename to server/zanata-frontend/src/app/editor/reducers/phrase-reducer/phrase-filter-reducer.js diff --git a/server/zanata-frontend/src/frontend/app/editor/reducers/phrase-reducer/phrase-filter-reducer.test.js b/server/zanata-frontend/src/app/editor/reducers/phrase-reducer/phrase-filter-reducer.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/reducers/phrase-reducer/phrase-filter-reducer.test.js rename to server/zanata-frontend/src/app/editor/reducers/phrase-reducer/phrase-filter-reducer.test.js diff --git a/server/zanata-frontend/src/frontend/app/editor/reducers/phrase-reducer/phrase-reducer.test.js b/server/zanata-frontend/src/app/editor/reducers/phrase-reducer/phrase-reducer.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/reducers/phrase-reducer/phrase-reducer.test.js rename to server/zanata-frontend/src/app/editor/reducers/phrase-reducer/phrase-reducer.test.js diff --git a/server/zanata-frontend/src/frontend/app/editor/reducers/settings-reducer.js b/server/zanata-frontend/src/app/editor/reducers/settings-reducer.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/reducers/settings-reducer.js rename to server/zanata-frontend/src/app/editor/reducers/settings-reducer.js diff --git a/server/zanata-frontend/src/frontend/app/editor/reducers/settings-reducer.test.js b/server/zanata-frontend/src/app/editor/reducers/settings-reducer.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/reducers/settings-reducer.test.js rename to server/zanata-frontend/src/app/editor/reducers/settings-reducer.test.js diff --git a/server/zanata-frontend/src/frontend/app/editor/reducers/suggestions-reducer.js b/server/zanata-frontend/src/app/editor/reducers/suggestions-reducer.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/reducers/suggestions-reducer.js rename to server/zanata-frontend/src/app/editor/reducers/suggestions-reducer.js diff --git a/server/zanata-frontend/src/frontend/app/editor/reducers/suggestions-reducer.test.js b/server/zanata-frontend/src/app/editor/reducers/suggestions-reducer.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/reducers/suggestions-reducer.test.js rename to server/zanata-frontend/src/app/editor/reducers/suggestions-reducer.test.js diff --git a/server/zanata-frontend/src/frontend/app/editor/reducers/ui-reducer.js b/server/zanata-frontend/src/app/editor/reducers/ui-reducer.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/reducers/ui-reducer.js rename to server/zanata-frontend/src/app/editor/reducers/ui-reducer.js diff --git a/server/zanata-frontend/src/frontend/app/editor/reducers/ui-reducer.test.js b/server/zanata-frontend/src/app/editor/reducers/ui-reducer.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/reducers/ui-reducer.test.js rename to server/zanata-frontend/src/app/editor/reducers/ui-reducer.test.js diff --git a/server/zanata-frontend/src/frontend/app/editor/selectors/index.js b/server/zanata-frontend/src/app/editor/selectors/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/selectors/index.js rename to server/zanata-frontend/src/app/editor/selectors/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/translations/README.md b/server/zanata-frontend/src/app/editor/translations/README.md similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/translations/README.md rename to server/zanata-frontend/src/app/editor/translations/README.md diff --git a/server/zanata-frontend/src/frontend/app/editor/translations/de.po b/server/zanata-frontend/src/app/editor/translations/de.po similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/translations/de.po rename to server/zanata-frontend/src/app/editor/translations/de.po diff --git a/server/zanata-frontend/src/frontend/app/editor/translations/fr.po b/server/zanata-frontend/src/app/editor/translations/fr.po similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/translations/fr.po rename to server/zanata-frontend/src/app/editor/translations/fr.po diff --git a/server/zanata-frontend/src/frontend/app/editor/translations/template.pot b/server/zanata-frontend/src/app/editor/translations/template.pot similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/translations/template.pot rename to server/zanata-frontend/src/app/editor/translations/template.pot diff --git a/server/zanata-frontend/src/frontend/app/editor/utils/RoutingHelpers.js b/server/zanata-frontend/src/app/editor/utils/RoutingHelpers.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/utils/RoutingHelpers.js rename to server/zanata-frontend/src/app/editor/utils/RoutingHelpers.js diff --git a/server/zanata-frontend/src/frontend/app/editor/utils/Util.js b/server/zanata-frontend/src/app/editor/utils/Util.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/utils/Util.js rename to server/zanata-frontend/src/app/editor/utils/Util.js diff --git a/server/zanata-frontend/src/frontend/app/editor/utils/Util.test.js b/server/zanata-frontend/src/app/editor/utils/Util.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/utils/Util.test.js rename to server/zanata-frontend/src/app/editor/utils/Util.test.js diff --git a/server/zanata-frontend/src/frontend/app/editor/utils/doc-id-util.js b/server/zanata-frontend/src/app/editor/utils/doc-id-util.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/utils/doc-id-util.js rename to server/zanata-frontend/src/app/editor/utils/doc-id-util.js diff --git a/server/zanata-frontend/src/frontend/app/editor/utils/filter-util.js b/server/zanata-frontend/src/app/editor/utils/filter-util.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/utils/filter-util.js rename to server/zanata-frontend/src/app/editor/utils/filter-util.js diff --git a/server/zanata-frontend/src/frontend/app/editor/utils/log-todo.js b/server/zanata-frontend/src/app/editor/utils/log-todo.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/utils/log-todo.js rename to server/zanata-frontend/src/app/editor/utils/log-todo.js diff --git a/server/zanata-frontend/src/frontend/app/editor/utils/phrase-util.js b/server/zanata-frontend/src/app/editor/utils/phrase-util.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/utils/phrase-util.js rename to server/zanata-frontend/src/app/editor/utils/phrase-util.js diff --git a/server/zanata-frontend/src/frontend/app/editor/utils/phrase-util.test.js b/server/zanata-frontend/src/app/editor/utils/phrase-util.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/utils/phrase-util.test.js rename to server/zanata-frontend/src/app/editor/utils/phrase-util.test.js diff --git a/server/zanata-frontend/src/frontend/app/editor/utils/status-util.js b/server/zanata-frontend/src/app/editor/utils/status-util.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/utils/status-util.js rename to server/zanata-frontend/src/app/editor/utils/status-util.js diff --git a/server/zanata-frontend/src/frontend/app/editor/utils/status-util.test.js b/server/zanata-frontend/src/app/editor/utils/status-util.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/utils/status-util.test.js rename to server/zanata-frontend/src/app/editor/utils/status-util.test.js diff --git a/server/zanata-frontend/src/frontend/app/editor/utils/string-utils.js b/server/zanata-frontend/src/app/editor/utils/string-utils.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/utils/string-utils.js rename to server/zanata-frontend/src/app/editor/utils/string-utils.js diff --git a/server/zanata-frontend/src/frontend/app/editor/utils/string-utils.test.js b/server/zanata-frontend/src/app/editor/utils/string-utils.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/utils/string-utils.test.js rename to server/zanata-frontend/src/app/editor/utils/string-utils.test.js diff --git a/server/zanata-frontend/src/frontend/app/editor/utils/suggestion-util.js b/server/zanata-frontend/src/app/editor/utils/suggestion-util.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/utils/suggestion-util.js rename to server/zanata-frontend/src/app/editor/utils/suggestion-util.js diff --git a/server/zanata-frontend/src/frontend/app/editor/watchers/index.js b/server/zanata-frontend/src/app/editor/watchers/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/watchers/index.js rename to server/zanata-frontend/src/app/editor/watchers/index.js diff --git a/server/zanata-frontend/src/frontend/app/editor/watchers/page-number.js b/server/zanata-frontend/src/app/editor/watchers/page-number.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/watchers/page-number.js rename to server/zanata-frontend/src/app/editor/watchers/page-number.js diff --git a/server/zanata-frontend/src/frontend/app/editor/watchers/phrase-detail.js b/server/zanata-frontend/src/app/editor/watchers/phrase-detail.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/watchers/phrase-detail.js rename to server/zanata-frontend/src/app/editor/watchers/phrase-detail.js diff --git a/server/zanata-frontend/src/frontend/app/editor/watchers/phrase-list.js b/server/zanata-frontend/src/app/editor/watchers/phrase-list.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/watchers/phrase-list.js rename to server/zanata-frontend/src/app/editor/watchers/phrase-list.js diff --git a/server/zanata-frontend/src/frontend/app/editor/watchers/selected-phrase-searches.js b/server/zanata-frontend/src/app/editor/watchers/selected-phrase-searches.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/watchers/selected-phrase-searches.js rename to server/zanata-frontend/src/app/editor/watchers/selected-phrase-searches.js diff --git a/server/zanata-frontend/src/frontend/app/editor/watchers/watch.js b/server/zanata-frontend/src/app/editor/watchers/watch.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/editor/watchers/watch.js rename to server/zanata-frontend/src/app/editor/watchers/watch.js diff --git a/server/zanata-frontend/src/frontend/app/history.js b/server/zanata-frontend/src/app/history.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/history.js rename to server/zanata-frontend/src/app/history.js diff --git a/server/zanata-frontend/src/frontend/app/index.js b/server/zanata-frontend/src/app/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/index.js rename to server/zanata-frontend/src/app/index.js diff --git a/server/zanata-frontend/src/frontend/app/jsf/JsfRoot.js b/server/zanata-frontend/src/app/jsf/JsfRoot.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/jsf/JsfRoot.js rename to server/zanata-frontend/src/app/jsf/JsfRoot.js diff --git a/server/zanata-frontend/src/frontend/app/jsf/index.js b/server/zanata-frontend/src/app/jsf/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/jsf/index.js rename to server/zanata-frontend/src/app/jsf/index.js diff --git a/server/zanata-frontend/src/frontend/app/legacy.js b/server/zanata-frontend/src/app/legacy.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/legacy.js rename to server/zanata-frontend/src/app/legacy.js diff --git a/server/zanata-frontend/src/frontend/app/reducers/admin-reducer.js b/server/zanata-frontend/src/app/reducers/admin-reducer.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/reducers/admin-reducer.js rename to server/zanata-frontend/src/app/reducers/admin-reducer.js diff --git a/server/zanata-frontend/src/frontend/app/reducers/admin-reducer.test.js b/server/zanata-frontend/src/app/reducers/admin-reducer.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/reducers/admin-reducer.test.js rename to server/zanata-frontend/src/app/reducers/admin-reducer.test.js diff --git a/server/zanata-frontend/src/frontend/app/reducers/common-reducer.js b/server/zanata-frontend/src/app/reducers/common-reducer.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/reducers/common-reducer.js rename to server/zanata-frontend/src/app/reducers/common-reducer.js diff --git a/server/zanata-frontend/src/frontend/app/reducers/explore-reducer.js b/server/zanata-frontend/src/app/reducers/explore-reducer.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/reducers/explore-reducer.js rename to server/zanata-frontend/src/app/reducers/explore-reducer.js diff --git a/server/zanata-frontend/src/frontend/app/reducers/glossary-reducer.js b/server/zanata-frontend/src/app/reducers/glossary-reducer.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/reducers/glossary-reducer.js rename to server/zanata-frontend/src/app/reducers/glossary-reducer.js diff --git a/server/zanata-frontend/src/frontend/app/reducers/index.js b/server/zanata-frontend/src/app/reducers/index.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/reducers/index.js rename to server/zanata-frontend/src/app/reducers/index.js diff --git a/server/zanata-frontend/src/frontend/app/reducers/languages-reducer.js b/server/zanata-frontend/src/app/reducers/languages-reducer.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/reducers/languages-reducer.js rename to server/zanata-frontend/src/app/reducers/languages-reducer.js diff --git a/server/zanata-frontend/src/frontend/app/reducers/profile-reducer.js b/server/zanata-frontend/src/app/reducers/profile-reducer.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/reducers/profile-reducer.js rename to server/zanata-frontend/src/app/reducers/profile-reducer.js diff --git a/server/zanata-frontend/src/frontend/app/reducers/tmx-reducer.js b/server/zanata-frontend/src/app/reducers/tmx-reducer.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/reducers/tmx-reducer.js rename to server/zanata-frontend/src/app/reducers/tmx-reducer.js diff --git a/server/zanata-frontend/src/frontend/app/reducers/version-reducer.js b/server/zanata-frontend/src/app/reducers/version-reducer.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/reducers/version-reducer.js rename to server/zanata-frontend/src/app/reducers/version-reducer.js diff --git a/server/zanata-frontend/src/frontend/app/reducers/version-reducer.test.js b/server/zanata-frontend/src/app/reducers/version-reducer.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/reducers/version-reducer.test.js rename to server/zanata-frontend/src/app/reducers/version-reducer.test.js diff --git a/server/zanata-frontend/src/frontend/app/schemas.js b/server/zanata-frontend/src/app/schemas.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/schemas.js rename to server/zanata-frontend/src/app/schemas.js diff --git a/server/zanata-frontend/src/frontend/app/styles/bstrap-styleguide.less b/server/zanata-frontend/src/app/styles/bstrap-styleguide.less similarity index 100% rename from server/zanata-frontend/src/frontend/app/styles/bstrap-styleguide.less rename to server/zanata-frontend/src/app/styles/bstrap-styleguide.less diff --git a/server/zanata-frontend/src/frontend/app/styles/gwt.less b/server/zanata-frontend/src/app/styles/gwt.less similarity index 100% rename from server/zanata-frontend/src/frontend/app/styles/gwt.less rename to server/zanata-frontend/src/app/styles/gwt.less diff --git a/server/zanata-frontend/src/frontend/app/styles/index.less b/server/zanata-frontend/src/app/styles/index.less similarity index 100% rename from server/zanata-frontend/src/frontend/app/styles/index.less rename to server/zanata-frontend/src/app/styles/index.less diff --git a/server/zanata-frontend/src/frontend/app/styles/style.less b/server/zanata-frontend/src/app/styles/style.less similarity index 100% rename from server/zanata-frontend/src/frontend/app/styles/style.less rename to server/zanata-frontend/src/app/styles/style.less diff --git a/server/zanata-frontend/src/frontend/app/styles/styleguide.css b/server/zanata-frontend/src/app/styles/styleguide.css similarity index 100% rename from server/zanata-frontend/src/frontend/app/styles/styleguide.css rename to server/zanata-frontend/src/app/styles/styleguide.css diff --git a/server/zanata-frontend/src/frontend/app/styles/variables.less b/server/zanata-frontend/src/app/styles/variables.less similarity index 100% rename from server/zanata-frontend/src/frontend/app/styles/variables.less rename to server/zanata-frontend/src/app/styles/variables.less diff --git a/server/zanata-frontend/src/frontend/app/utils/DateHelper.js b/server/zanata-frontend/src/app/utils/DateHelper.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/utils/DateHelper.js rename to server/zanata-frontend/src/app/utils/DateHelper.js diff --git a/server/zanata-frontend/src/frontend/app/utils/EnumValueUtils.js b/server/zanata-frontend/src/app/utils/EnumValueUtils.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/utils/EnumValueUtils.js rename to server/zanata-frontend/src/app/utils/EnumValueUtils.js diff --git a/server/zanata-frontend/src/frontend/app/utils/GlossaryHelper.js b/server/zanata-frontend/src/app/utils/GlossaryHelper.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/utils/GlossaryHelper.js rename to server/zanata-frontend/src/app/utils/GlossaryHelper.js diff --git a/server/zanata-frontend/src/frontend/app/utils/GlossaryHelper.test.js b/server/zanata-frontend/src/app/utils/GlossaryHelper.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/utils/GlossaryHelper.test.js rename to server/zanata-frontend/src/app/utils/GlossaryHelper.test.js diff --git a/server/zanata-frontend/src/frontend/app/utils/RoutingHelpers.js b/server/zanata-frontend/src/app/utils/RoutingHelpers.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/utils/RoutingHelpers.js rename to server/zanata-frontend/src/app/utils/RoutingHelpers.js diff --git a/server/zanata-frontend/src/frontend/app/utils/StringUtils.js b/server/zanata-frontend/src/app/utils/StringUtils.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/utils/StringUtils.js rename to server/zanata-frontend/src/app/utils/StringUtils.js diff --git a/server/zanata-frontend/src/frontend/app/utils/StringUtils.test.js b/server/zanata-frontend/src/app/utils/StringUtils.test.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/utils/StringUtils.test.js rename to server/zanata-frontend/src/app/utils/StringUtils.test.js diff --git a/server/zanata-frontend/src/frontend/app/utils/UrlHelper.js b/server/zanata-frontend/src/app/utils/UrlHelper.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/utils/UrlHelper.js rename to server/zanata-frontend/src/app/utils/UrlHelper.js diff --git a/server/zanata-frontend/src/frontend/app/utils/callWithSameArgs.js b/server/zanata-frontend/src/app/utils/callWithSameArgs.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/utils/callWithSameArgs.js rename to server/zanata-frontend/src/app/utils/callWithSameArgs.js diff --git a/server/zanata-frontend/src/frontend/app/utils/prop-types-util.js b/server/zanata-frontend/src/app/utils/prop-types-util.js similarity index 100% rename from server/zanata-frontend/src/frontend/app/utils/prop-types-util.js rename to server/zanata-frontend/src/app/utils/prop-types-util.js diff --git a/server/zanata-frontend/src/frontend/build/messages/app/editor/components/ActivityFeedItem/index.json b/server/zanata-frontend/src/build/messages/app/editor/components/ActivityFeedItem/index.json similarity index 100% rename from server/zanata-frontend/src/frontend/build/messages/app/editor/components/ActivityFeedItem/index.json rename to server/zanata-frontend/src/build/messages/app/editor/components/ActivityFeedItem/index.json diff --git a/server/zanata-frontend/src/frontend/README.md b/server/zanata-frontend/src/frontend/README.md deleted file mode 100644 index 90b54ee766a..00000000000 --- a/server/zanata-frontend/src/frontend/README.md +++ /dev/null @@ -1,127 +0,0 @@ -## This is a module to build Zanata frontend javascript projects - -This module contains: User profile page, Glossary page, and Zanata side menu bar. - -## To run/setup in nodeJS - -Navigate to `frontend`, run `make install` - -### To run in dev mode http://localhost:8000 (a HTTP server to serve index.html with webpack produced bundle.js) - -- need http://localhost:8080/zanata to run separately -`make start` - -### Production Build - -`make build` - -### Bootstrap a new component - -There is a helper script to create files for a new component and set it up with -in storybook ready for iterating on its design. Just run the following, answer -the questions and follow the instructions: - -``` -make component -``` - -### Run styleguide - -`make styleguide-build` followed by `make styleguide-server` - - -## To generate a jar dependency - -```mvn install``` - -It will build and deploy to local maven repository a jar file containing the javascript bundle. -The jar file can be used directly under any servlet 3 compatible container and the bundle is accessible as static resources. -See [Servlet 3 static resources](http://www.webjars.org/documentation#servlet3). - -The following Maven properties can be overridden on the command line with ```-Dkey=value```: - -``` -v5.6.0 -v0.18.1 -${download.dir}/zanata-frontend/node-${node.version}-yarn-${yarn.version} -``` - -By default it will try to install npm modules from npm registry (default cache TTL is 10 seconds). - - -## ignore-scripts - -This module is setup to disable lifecycle scripts for yarn command by default. See help using `yarn -h` -The configuration is in .yarnrc in this module. - - -# Zanata Alpha Editor - -The editor is a separate single-page React+Redux application that uses REST APIs -on the Zanata server for all its data. It is meant to be packaged with -zanata-war as a jar dependency. - -## Build jar - -To package the editor as a jar, use maven: - -``` -mvn package -``` - -## Development Builds - -All the build instructions below are for use when developing this editor on its -own. They are not needed to make the final jar package. They just allow for -faster builds and immediate feedback on code changes. - -Make sure you test changes against the current server before checking them in. - -## Setup and Deployment -1. Make sure [node and yarn](http://nodejs.org/) are installed. Node: v5.6.0, Yarn: v0.18.1 -2. Setup dependencies: `make install`. -3. Build compressed files: `make build`, files will be in /app/dist - - -### Run with live reload - -Build and run a server: `make watch`. - - - Editor is available at [localhost:8080](http://localhost:8080) - - the editor will be blank at the base URL, include the project-version to - show content. The format is - localhost:8000/#/{project-slug}/{version-slug}/translate - - Assumes a server is already serving the Zanata REST API. - - -### Run with live reload and local API server - -Build and run server and API server: `make watch-fakeserver`. - - - Editor is available at [localhost:8080](http://localhost:8080) - - URL for a working document from the default API server [Tiny Project 1, hello.txt to French](http://localhost:8080/#/tiny-project/1/translate/hello.txt/fr) - - REST API server is available at - [localhost:7878/zanata/rest](http://localhost:7878/zanata/rest) - - -## Running tests - -Run tests with `make test`. - - -## Code Guidelines - -### Javascript - -And [these](https://github.com/zanata/javascript) for Javascript. - -Always add documentation. - -### CSS - -For CSS I am aiming to move to [these guidelines](https://github.com/suitcss/suit/blob/master/doc/README.md). - -## ignore-scripts - -This module is setup to disable lifecycle scripts for yarn command by default. See help using `yarn -h` -The configuration is in .yarnrc in this module. diff --git a/server/zanata-frontend/src/frontend/docs/actions.md b/server/zanata-frontend/src/frontend/docs/actions.md deleted file mode 100644 index 663a0b379a9..00000000000 --- a/server/zanata-frontend/src/frontend/docs/actions.md +++ /dev/null @@ -1,4 +0,0 @@ -# Actions - -Actions are used by Redux. There should be a new action file for each top-level -container. diff --git a/server/zanata-frontend/src/frontend/docs/build.md b/server/zanata-frontend/src/frontend/docs/build.md deleted file mode 100644 index 39a70c3ad65..00000000000 --- a/server/zanata-frontend/src/frontend/docs/build.md +++ /dev/null @@ -1,20 +0,0 @@ -# Build - -The build primarily uses 2 tools: - -- Webpack -- NPM Scripts - -## Webpack - -This is used to process all Javascript, including converting ES6 code to ES5 -(using Babel) and then bundles all javascript into 1 file. It is also where then -atomic css loader lives which scan the Javascript for atomic class names. It -then creates atomic.css from this. - -## NPM Scripts - -NPM Scripts are used to manage build tasks. Anything that can be run on the -command line or in node can be run from here. It should be fairly easy to -follow. Have a look at [package.json](../package.json) under the -`scripts` property. diff --git a/server/zanata-frontend/src/frontend/docs/components.md b/server/zanata-frontend/src/frontend/docs/components.md deleted file mode 100644 index 35f60c486f3..00000000000 --- a/server/zanata-frontend/src/frontend/docs/components.md +++ /dev/null @@ -1,23 +0,0 @@ -# Components - -The [components](../src/components) folder is where we keep all **reusable** React -components. Unless you need local state, locale methods, or access to lifecycle -methods, components should be -[functional stateless components](https://facebook.github.io/react/docs/reusable-components.html#stateless-functions). - -Each of these components should be listed in the [Styleguide](./styleguide.md) -for easy reference. - -All custom components should be composed of the [Base](../src/components/Base.jsx) -component, which adds the props `theme` and `atomic`, which should be used for -styling instead of className. For more detals on styling components, see -[Styles](./styles.md). - -Each component should have: - -- A default export -- propTypes (with documentation for each one) -- defaultProps if needed -- An example readme.md (Used in the styleguide) Not needed if it is not meant to be used directly -- (Tests)[./testing.md] -- Be added to [components/index.js](../src/components/index.js) for easy importing in from other files diff --git a/server/zanata-frontend/src/frontend/docs/constants.md b/server/zanata-frontend/src/frontend/docs/constants.md deleted file mode 100644 index cf502770c3b..00000000000 --- a/server/zanata-frontend/src/frontend/docs/constants.md +++ /dev/null @@ -1,4 +0,0 @@ -# Constants - -Generic constants used across the whole application. Action constants should -be kept in the corresponding actions files. diff --git a/server/zanata-frontend/src/frontend/docs/containers.md b/server/zanata-frontend/src/frontend/docs/containers.md deleted file mode 100644 index f90c1edc3dc..00000000000 --- a/server/zanata-frontend/src/frontend/docs/containers.md +++ /dev/null @@ -1,8 +0,0 @@ -# Containers - -Any "React Component" that is not reusable, should be considered a container. - -There are 2 types of containers: - -- Top level (Used in routes) -- Sub Containers (Used within a top level container) diff --git a/server/zanata-frontend/src/frontend/docs/esnext.md b/server/zanata-frontend/src/frontend/docs/esnext.md deleted file mode 100644 index dea99171347..00000000000 --- a/server/zanata-frontend/src/frontend/docs/esnext.md +++ /dev/null @@ -1,11 +0,0 @@ -# ES Next - -ES6/ES2015 and increasingly ES7/ES2016 code can be used (and is preferred) -throughout the front-end. It is compiled using Babel during the build into -browser compatible javascript. - -Here are some ES Next features used extensively throughout the code: - -- Module import/exports -- Rest/Spread -- Arrow function diff --git a/server/zanata-frontend/src/frontend/docs/index.md b/server/zanata-frontend/src/frontend/docs/index.md deleted file mode 100644 index 065eeab602c..00000000000 --- a/server/zanata-frontend/src/frontend/docs/index.md +++ /dev/null @@ -1,6 +0,0 @@ -# Index - -Where the app is setup. There are a few things that primarily live here: - -- Fonts -- Redux Store Instantiation diff --git a/server/zanata-frontend/src/frontend/docs/legacy.md b/server/zanata-frontend/src/frontend/docs/legacy.md deleted file mode 100644 index 3db80bfa8be..00000000000 --- a/server/zanata-frontend/src/frontend/docs/legacy.md +++ /dev/null @@ -1 +0,0 @@ -# Legacy diff --git a/server/zanata-frontend/src/frontend/docs/linting.md b/server/zanata-frontend/src/frontend/docs/linting.md deleted file mode 100644 index 4f0b0e722c9..00000000000 --- a/server/zanata-frontend/src/frontend/docs/linting.md +++ /dev/null @@ -1 +0,0 @@ -# Linting diff --git a/server/zanata-frontend/src/frontend/docs/middleware.md b/server/zanata-frontend/src/frontend/docs/middleware.md deleted file mode 100644 index 5486e601b05..00000000000 --- a/server/zanata-frontend/src/frontend/docs/middleware.md +++ /dev/null @@ -1,3 +0,0 @@ -# Middleware - -Redux Middleware diff --git a/server/zanata-frontend/src/frontend/docs/readme.md b/server/zanata-frontend/src/frontend/docs/readme.md deleted file mode 100644 index f3bf34a79c6..00000000000 --- a/server/zanata-frontend/src/frontend/docs/readme.md +++ /dev/null @@ -1,24 +0,0 @@ -# Zanata Front End - -## Files - -- [Scripts](scripts.md) -- [Components](components.md) -- [Containers](containers.md) -- [Actions](actions.md) -- [Reducers](reducers.md) -- [Middleware](middleware.md) -- [Styles](styles.md) -- [Constants](constants.md) -- [Schemas](schemas.md) -- [Index & Store](index.md) -- [Legacy](legacy.md) - -## Implementation - -- [Build](build.md) -- [Styleguide](styleguide.md) -- [ES Next](esnext.md) -- [Linting](linting.md) -- [Testing](testing.md) -- [Technology](technology.md) diff --git a/server/zanata-frontend/src/frontend/docs/reducers.md b/server/zanata-frontend/src/frontend/docs/reducers.md deleted file mode 100644 index ce217e88fd1..00000000000 --- a/server/zanata-frontend/src/frontend/docs/reducers.md +++ /dev/null @@ -1,11 +0,0 @@ -# Reducers - - - -The redux state is created using reducers. diff --git a/server/zanata-frontend/src/frontend/docs/schemas.md b/server/zanata-frontend/src/frontend/docs/schemas.md deleted file mode 100644 index 1b503cd7b6f..00000000000 --- a/server/zanata-frontend/src/frontend/docs/schemas.md +++ /dev/null @@ -1,4 +0,0 @@ -# Schemas - -Normalizr is used to create a consistent redux state when reading content from -our API. diff --git a/server/zanata-frontend/src/frontend/docs/scripts.md b/server/zanata-frontend/src/frontend/docs/scripts.md deleted file mode 100644 index 143e0df63aa..00000000000 --- a/server/zanata-frontend/src/frontend/docs/scripts.md +++ /dev/null @@ -1,10 +0,0 @@ -# Scripts - -The [scripts](../scripts) folder is for files that need to do something at -(build)[./build.md] time usually as part of npm scripts in -[package.json](../package.json) (more on that later). - -They are node scripts (bash is possible too, but will not work on windows) and -usually use node modules to do something like creating an SVG sprite or creating -a json file from a javascript file. Basically something too complex to put -directly in npm scripts. diff --git a/server/zanata-frontend/src/frontend/docs/styleguide.md b/server/zanata-frontend/src/frontend/docs/styleguide.md deleted file mode 100644 index b95daef554c..00000000000 --- a/server/zanata-frontend/src/frontend/docs/styleguide.md +++ /dev/null @@ -1,25 +0,0 @@ -# Styleguide - -This is where all reusable component documentation should be easily viewable -along with an example. It is generated using [react-styleguidist](https://github.com/sapegin/react-styleguidist). There are -some cases where a component may seem broken in the styleguide, but it works -perfectly well in the application. This is usually due to limitations in -react-styleguidist. - -Each example is generated from a readme.md file in each component's folder. -See (react-styleguidist)[https://github.com/sapegin/react-styleguidist] for more -documentation. - -To run the Styleguide, use `npm run styleguide-server`. Then go to [http://localhost:3000](http://localhost:3000). - -Each component should have: - -- PropTypes -- A Description -- A live-editable example(s) - -An example can be excluded if the component should never be used directly. If -an there are props that change how a component functions, examples should for -each configuration should be provided. - -The configuration for the styleguide is in [styleguide.config.js](../styleguide.config.js). The base template is in [styleguide.html](../styleguide.html). diff --git a/server/zanata-frontend/src/frontend/docs/styles.md b/server/zanata-frontend/src/frontend/docs/styles.md deleted file mode 100644 index a521df5becf..00000000000 --- a/server/zanata-frontend/src/frontend/docs/styles.md +++ /dev/null @@ -1,165 +0,0 @@ -# Styles - -## Design Concepts - -There are some core concepts that Zanata and each component are designed around -to keep a consistent look and feel. - -### Color Palette - -To avoid using too many colors, stick to the colors used in -[constants/styles.js](../src/constants/styles.js). For different shades of white -or black, atomic.css has shortcut variables (i.e #fff.5, is 50% white). -Most of the time `opacity` or `filter: brightness()` can be used to change the -shade of a variable based color. This avoids many color declarations and -provides a single source of truth for colors. - -### Rhythm - -All measurements/spacing should be based on vertical rhythm. The rhythm is based -on the line-height, which is set at 1.5, which at the default browser font-size, -is 24px. There are rhythm variables available in [constants/styles.js](../src/constants/styles.js). - -``` -M(r1) = margin: 1.5rem; -Px(rq) = padding-left: .375rem; padding-right: .375rem; -Pend(e1h) = padding-right: 2.25em; -``` - -Most of the time, `rem` is the unit of measurement that should be used, -but for specific situations (e.g. sizing a component by just changing it's font -size), using ems is more appropriate. If you are not sure whether to use rems or -ems, see [REM vs EM – The Great Debate](http://zellwk.com/blog/rem-vs-em/). - -If percentages are needed for width or height, atomic.css allows the -use of % or fractions directly within the () of a class. e.g. `W(1/4)`. - -The only time to use pxs is for measurements less than 3px. e.g. borders. - -### Modular Scale - -Type and Icon size is based on a [modular scale](http://www.modularscale.com/?1&rem&1.2&web&text) -of 1.2 (minor third). This allows a wide range of font sizes, but without any -that are too close to each other. - -### Named z-indexes - -To ensure the z-space of the application is easy to understand in one place, -name each component that specifies a specific z-index. This ensures components -appear in the order you expect. - -``` -tooltipArrow: 100, -select: 300, -backDrop: 400, -tooltip: 400, -modal: 500 -``` - -### Box shadows - -To keep consistent z-space levels/depth for each component, there are 5 -box-shadow levels available. `sh1-sh5`, `sh1` being the lowest and `sh5` being the -highest. A button default may only use `sh1`, where a modal may use `sh5`. - -### Other variables - -To keep things consistent, define a variable for every style that may be reused -to avoid repetition or inconsistencies. e.g. transitions, borders, etc. - -## CSS Files - -### Base - -These are the default html styles. Styles here should be kept very minimal and -should be the most common styles used in the application. E.g. don't set custom -sizes for headings (h1, h2, etc) as the default size for a h2 is likely to -change a lot throughout the application, so is better to set explicitly in -context. Favour "reseting" default elements as much as possible. - -This allows developers to use the correct html tags in each use-case without -the fear of having to "reset defaults" or just use a div. - -### Atomic CSS - -Most of Zanata's CSS should be in this file. **It is a generated file and -should not be edited**. This file is added to by declaring classes in Javascript -matching a [specific syntax](acss.io/guides/syntax.html). - -Each class is usually single-purpose (i.e. Maps to a single CSS property). -The configuration and variables available to Atomic CSS are declared in -[atomicCssConfig.js](../atomicCssConfig.js). For more information on how to -use atomic CSS classes (including a reference of -[every class available](http://acss.io/reference)), see -[acss.io](http://acss.io/). - -#### Styling Components - -All custom components should be composed of the [Base](../src/components/Base.jsx) -component, which adds `theme` and `atomic` props. `theme` should be used when -creating new components, as it allows other components to extend all the classes -of the component it is composing. `atomic` is used mostly for specific in-app -overrides, as it takes precedence over any theme classes. - -Each component should declare a single `classes` variable, directly after it's -imports. This classes variable can then be merged with it's own theme prop (to -allow for external theming) and then it can be merged again for any state-based -classes. - -The `classes` variable can contain classes for more than 1 element, if more than -one element is declared, the root element should be called `root`. See the -[LoaderText](../src/components/LoaderText.jsx) component to see how this might work. - -Each `theme` or `atomic` object should include a keys for each property. This -allows the object to be merged and only assign a single set of classes for each -property. Alphabetical order is also preferred, to avoid duplicate keys. - -For example: - -```js -const classes = { - root: { - base: { - c: 'C(pri)', // Color - Primary - fz: 'Fz(ms1)', // Font size - modular scale 1 - p: 'P(r1)' // Padding - 1 rhythm - }, - danger: { - c: 'C(danger)' // If danger, override color - } - }, - container: { - ai: 'Ai(c)' // Align items - center - d: 'D(f)' // Display - flex - } -} -``` - -### Animations - -Animation definitions are something that can't be declared in atomic.css, but -they can be referenced. When you need to declare a new animation, do it in this -file, then reference it from atomic.css. - -### Extra - -**This file should be a last resort**. If you find something is not possible in -atomic.css, you can add it here. Where possible, try and match the syntax of -atomic.css (see if there is an emmet version available) e.g. `appearance: none;` -is not available in atomic.css so add `Ap(n)` to extra.css. - -## Icons - -Icons are handled by the [Icons](../src/components/Icons) and -[Icon](../src/components/Icon) components. The source for all icons is the -[svgs folder](../src/components/Icons/svgs) in the Icons component. - -On build, there are scripts that will generate an Icon sprite and list all the -icons to be displayed in the styleguide. To understand how to use the Icon -component, see the [Styleguide](./styleguide.md). - -## Styleguide - -This CSS is specific to the [Styleguide](./styleguide.md) and is not used in -production. It is used for styleguide-specific overrides of its included -classes. diff --git a/server/zanata-frontend/src/frontend/docs/technology.md b/server/zanata-frontend/src/frontend/docs/technology.md deleted file mode 100644 index 19201a5bdef..00000000000 --- a/server/zanata-frontend/src/frontend/docs/technology.md +++ /dev/null @@ -1,42 +0,0 @@ -# Technology - -This lists all the major tech/libraries Zanata Front End is using, why we are using -them, and resources to learn about each one. - -## React - - - -## Redux - - - -## React Router & React Router Redux - - - -## Babel - - - -## ImmutableJS - - - -## Flow - - - -## Webpack - - - -## Atomic CSS - - - -## ES Lint - - - -## Normalizr diff --git a/server/zanata-frontend/src/frontend/docs/testing.md b/server/zanata-frontend/src/frontend/docs/testing.md deleted file mode 100644 index f00b526a987..00000000000 --- a/server/zanata-frontend/src/frontend/docs/testing.md +++ /dev/null @@ -1 +0,0 @@ -# Testing diff --git a/server/zanata-frontend/src/frontend/index.html b/server/zanata-frontend/src/index.html similarity index 100% rename from server/zanata-frontend/src/frontend/index.html rename to server/zanata-frontend/src/index.html diff --git a/server/zanata-frontend/src/frontend/jest.config.js b/server/zanata-frontend/src/jest.config.js similarity index 100% rename from server/zanata-frontend/src/frontend/jest.config.js rename to server/zanata-frontend/src/jest.config.js diff --git a/server/zanata-frontend/src/frontend/jest.config.json b/server/zanata-frontend/src/jest.config.json similarity index 100% rename from server/zanata-frontend/src/frontend/jest.config.json rename to server/zanata-frontend/src/jest.config.json diff --git a/server/zanata-frontend/src/frontend/makefile b/server/zanata-frontend/src/makefile similarity index 100% rename from server/zanata-frontend/src/frontend/makefile rename to server/zanata-frontend/src/makefile diff --git a/server/zanata-frontend/src/frontend/messages/README.md b/server/zanata-frontend/src/messages/README.md similarity index 100% rename from server/zanata-frontend/src/frontend/messages/README.md rename to server/zanata-frontend/src/messages/README.md diff --git a/server/zanata-frontend/src/frontend/messages/en-us.json b/server/zanata-frontend/src/messages/en-us.json similarity index 100% rename from server/zanata-frontend/src/frontend/messages/en-us.json rename to server/zanata-frontend/src/messages/en-us.json diff --git a/server/zanata-frontend/src/frontend/package.json b/server/zanata-frontend/src/package.json similarity index 100% rename from server/zanata-frontend/src/frontend/package.json rename to server/zanata-frontend/src/package.json diff --git a/server/zanata-frontend/src/frontend/postcss.config.js b/server/zanata-frontend/src/postcss.config.js similarity index 100% rename from server/zanata-frontend/src/frontend/postcss.config.js rename to server/zanata-frontend/src/postcss.config.js diff --git a/server/zanata-frontend/src/frontend/scripts/build-icon-spritesheet.js b/server/zanata-frontend/src/scripts/build-icon-spritesheet.js similarity index 100% rename from server/zanata-frontend/src/frontend/scripts/build-icon-spritesheet.js rename to server/zanata-frontend/src/scripts/build-icon-spritesheet.js diff --git a/server/zanata-frontend/src/frontend/scripts/build.js b/server/zanata-frontend/src/scripts/build.js similarity index 93% rename from server/zanata-frontend/src/frontend/scripts/build.js rename to server/zanata-frontend/src/scripts/build.js index ba8a6f30f88..f893fcc73cd 100644 --- a/server/zanata-frontend/src/frontend/scripts/build.js +++ b/server/zanata-frontend/src/scripts/build.js @@ -10,8 +10,8 @@ require('./generateIconList') const isDraft = process.argv.indexOf('--draft') !== -1 console.log(isDraft - ? c.bgYellow(' DRAFT BUILD - do not deploy! ') - : c.bgCyan(' PRODUCTION BUILD ')) + ? c.black.bgYellow(' DRAFT BUILD - do not deploy! ') + : c.white.bgCyan(' PRODUCTION BUILD ')) /* equivalent of command-line `webpack --env.buildtype=draft` or * `webpack --env.buildtype=prod` diff --git a/server/zanata-frontend/src/frontend/scripts/codemods/create-component.js b/server/zanata-frontend/src/scripts/codemods/create-component.js similarity index 100% rename from server/zanata-frontend/src/frontend/scripts/codemods/create-component.js rename to server/zanata-frontend/src/scripts/codemods/create-component.js diff --git a/server/zanata-frontend/src/frontend/scripts/codemods/stateful.template.js b/server/zanata-frontend/src/scripts/codemods/stateful.template.js similarity index 100% rename from server/zanata-frontend/src/frontend/scripts/codemods/stateful.template.js rename to server/zanata-frontend/src/scripts/codemods/stateful.template.js diff --git a/server/zanata-frontend/src/frontend/scripts/codemods/stateless.template.js b/server/zanata-frontend/src/scripts/codemods/stateless.template.js similarity index 100% rename from server/zanata-frontend/src/frontend/scripts/codemods/stateless.template.js rename to server/zanata-frontend/src/scripts/codemods/stateless.template.js diff --git a/server/zanata-frontend/src/frontend/scripts/codemods/story.template.js b/server/zanata-frontend/src/scripts/codemods/story.template.js similarity index 100% rename from server/zanata-frontend/src/frontend/scripts/codemods/story.template.js rename to server/zanata-frontend/src/scripts/codemods/story.template.js diff --git a/server/zanata-frontend/src/frontend/scripts/codemods/test.template.js b/server/zanata-frontend/src/scripts/codemods/test.template.js similarity index 100% rename from server/zanata-frontend/src/frontend/scripts/codemods/test.template.js rename to server/zanata-frontend/src/scripts/codemods/test.template.js diff --git a/server/zanata-frontend/src/frontend/scripts/createIconsComponent.js b/server/zanata-frontend/src/scripts/createIconsComponent.js similarity index 100% rename from server/zanata-frontend/src/frontend/scripts/createIconsComponent.js rename to server/zanata-frontend/src/scripts/createIconsComponent.js diff --git a/server/zanata-frontend/src/frontend/scripts/dev-server.config.js b/server/zanata-frontend/src/scripts/dev-server.config.js similarity index 100% rename from server/zanata-frontend/src/frontend/scripts/dev-server.config.js rename to server/zanata-frontend/src/scripts/dev-server.config.js diff --git a/server/zanata-frontend/src/frontend/scripts/dev-server.js b/server/zanata-frontend/src/scripts/dev-server.js similarity index 100% rename from server/zanata-frontend/src/frontend/scripts/dev-server.js rename to server/zanata-frontend/src/scripts/dev-server.js diff --git a/server/zanata-frontend/src/frontend/scripts/generateIconList.js b/server/zanata-frontend/src/scripts/generateIconList.js similarity index 100% rename from server/zanata-frontend/src/frontend/scripts/generateIconList.js rename to server/zanata-frontend/src/scripts/generateIconList.js diff --git a/server/zanata-frontend/src/frontend/styleguide.config.js b/server/zanata-frontend/src/styleguide.config.js similarity index 100% rename from server/zanata-frontend/src/frontend/styleguide.config.js rename to server/zanata-frontend/src/styleguide.config.js diff --git a/server/zanata-frontend/src/frontend/styleguide.html b/server/zanata-frontend/src/styleguide.html similarity index 100% rename from server/zanata-frontend/src/frontend/styleguide.html rename to server/zanata-frontend/src/styleguide.html diff --git a/server/zanata-frontend/src/frontend/webpack.config.js b/server/zanata-frontend/src/webpack.config.js similarity index 100% rename from server/zanata-frontend/src/frontend/webpack.config.js rename to server/zanata-frontend/src/webpack.config.js diff --git a/server/zanata-frontend/src/frontend/yarn.lock b/server/zanata-frontend/src/yarn.lock similarity index 100% rename from server/zanata-frontend/src/frontend/yarn.lock rename to server/zanata-frontend/src/yarn.lock diff --git a/server/zanata-liquibase/pom.xml b/server/zanata-liquibase/pom.xml index bbdf89a0ad7..819ab0a4437 100644 --- a/server/zanata-liquibase/pom.xml +++ b/server/zanata-liquibase/pom.xml @@ -8,7 +8,7 @@ 4.0.0 zanata-liquibase - takari-jar + jar diff --git a/server/zanata-model-test/pom.xml b/server/zanata-model-test/pom.xml index a0702daa753..429a35a08b0 100644 --- a/server/zanata-model-test/pom.xml +++ b/server/zanata-model-test/pom.xml @@ -9,7 +9,7 @@ 4.4.0-SNAPSHOT zanata-model-test - takari-jar + jar Zanata Model Test Classes and config to help writing tests which use zanata-model diff --git a/server/zanata-model/pom.xml b/server/zanata-model/pom.xml index 0e844ba2f0e..b7cc12a8d1e 100644 --- a/server/zanata-model/pom.xml +++ b/server/zanata-model/pom.xml @@ -8,7 +8,7 @@ zanata-model Zanata model - takari-jar + jar diff --git a/server/zanata-war/src/main/webapp/WEB-INF/faces-config.xml b/server/zanata-war/src/main/webapp/WEB-INF/faces-config.xml index 18428802ffc..9c679f6d2b2 100644 --- a/server/zanata-war/src/main/webapp/WEB-INF/faces-config.xml +++ b/server/zanata-war/src/main/webapp/WEB-INF/faces-config.xml @@ -88,12 +88,6 @@ authentication --> /account/login.xhtml - - #{loginAction.getLoginPageRedirect()} - dashboard - /dashboard/home.xhtml - - dashboard /dashboard/home.xhtml diff --git a/server/zanata-war/src/main/webapp/account/login.xhtml b/server/zanata-war/src/main/webapp/account/login.xhtml index 5ab38548e1f..d899668e6f4 100644 --- a/server/zanata-war/src/main/webapp/account/login.xhtml +++ b/server/zanata-war/src/main/webapp/account/login.xhtml @@ -8,7 +8,7 @@ template="/WEB-INF/template/template_nobanner.xhtml"> - + diff --git a/server/zanata-war/src/main/webapp/account/singleopenidlogin.xhtml b/server/zanata-war/src/main/webapp/account/singleopenidlogin.xhtml index 4e6a87daaad..8ef7421404b 100644 --- a/server/zanata-war/src/main/webapp/account/singleopenidlogin.xhtml +++ b/server/zanata-war/src/main/webapp/account/singleopenidlogin.xhtml @@ -4,7 +4,7 @@ template="/WEB-INF/template/template.xhtml"> - +