Skip to content

Add package uploading feature #1435

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 18 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion apps/cyberstorm-remix/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# For running @thunderstore/cyberstorm-remix in Docker container.
FROM node:20-alpine3.19
FROM node:24.1.0-alpine3.21
RUN apk add --no-cache libc6-compat

WORKDIR /app
Expand Down
2 changes: 1 addition & 1 deletion apps/cyberstorm-remix/Dockerfile.development
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# For running @thunderstore/cyberstorm-remix in Docker container.
FROM node:18-alpine3.17
FROM node:24.1.0-alpine3.21
RUN apk add --no-cache libc6-compat

ENV NODE_ENV development
Expand Down
12 changes: 6 additions & 6 deletions apps/cyberstorm-remix/app/commonComponents/Footer/Footer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -103,26 +103,26 @@ export function Footer() {
</li>
<li>
<NewLink
primitiveType="link"
href="/package/create/docs/"
primitiveType="cyberstormLink"
linkId="PackageFormatDocs"
csVariant="primary"
>
Package Format Docs
</NewLink>
</li>
<li>
<NewLink
primitiveType="link"
href="/tools/manifest-v1-validator/"
primitiveType="cyberstormLink"
linkId="ManifestValidator"
csVariant="primary"
>
Manifest Validator
</NewLink>
</li>
<li>
<NewLink
primitiveType="link"
href="/tools/markdown-preview/"
primitiveType="cyberstormLink"
linkId="MarkdownPreview"
csVariant="primary"
>
Markdown Preview
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,27 +101,27 @@ export function Navigation(props: {
</NewDropDownItem>
<NewDropDownItem>
<NewLink
primitiveType="link"
rootClasses={"dropdown__item"}
href="/package/create/docs/"
primitiveType="cyberstormLink"
linkId="PackageFormatDocs"
>
Package Format Docs
</NewLink>
</NewDropDownItem>
<NewDropDownItem>
<NewLink
primitiveType="link"
primitiveType="cyberstormLink"
linkId="ManifestValidator"
rootClasses={"dropdown__item"}
href="/tools/manifest-v1-validator/"
>
Manifest Validator
</NewLink>
</NewDropDownItem>
<NewDropDownItem>
<NewLink
primitiveType="link"
rootClasses={"dropdown__item"}
href="/tools/markdown-preview/"
primitiveType="cyberstormLink"
linkId="MarkdownPreview"
>
Markdown Preview
</NewLink>
Expand Down Expand Up @@ -160,8 +160,8 @@ export function Navigation(props: {
{currentUser?.username ? (
<span className="navigation-header__profile-actions">
<NewButton
primitiveType="link"
href={`${domain}/package/create/`}
primitiveType="cyberstormLink"
linkId="PackageUpload"
csVariant="secondary"
csModifiers={["ghost", "only-icon"]}
tooltipText="Upload"
Expand Down Expand Up @@ -466,22 +466,22 @@ export function MobileNavigationMenu({ domain }: { domain: string }) {
GitHub
</NewLink>
<NewLink
primitiveType="link"
href="/package/create/docs/"
primitiveType="cyberstormLink"
linkId="PackageFormatDocs"
rootClasses="mobile-navigation__popover-item mobile-navigation__popover--thick"
>
Package Format Docs
</NewLink>
<NewLink
primitiveType="link"
href="/tools/markdown-preview/"
primitiveType="cyberstormLink"
linkId="MarkdownPreview"
rootClasses="mobile-navigation__popover-item mobile-navigation__popover--thick"
>
Markdown Preview
</NewLink>
<NewLink
primitiveType="link"
href="/tools/manifest-v1-validator/"
primitiveType="cyberstormLink"
linkId="ManifestValidator"
rootClasses="mobile-navigation__popover-item mobile-navigation__popover--thick"
>
Manifest Validator
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,23 @@ export function NavigationWrapper({ domain }: { domain: string }) {
const [currentUser, setCurrentUser] = useState<CurrentUser>();
const session = useSession();
useEffect(() => {
const cu = session.getSessionCurrentUser();
if (cu.username) {
setCurrentUser(session.getSessionCurrentUser());
} else {
setCurrentUser(undefined);
let cu: CurrentUser | undefined = undefined;
// TODO: Fix this issue in a lasting way.
// IMPORTANT: If this try catch is removed and for whatever
// reason the retrieval of current user fails, the throws from
// inside the useEffect will cause the whole navigation and the
// navigationwrapper to rerender. Which then becomes a infinite
// loop of trying to parse the currentUser stored in the storage.
try {
cu = session.getSessionCurrentUser();
if (cu.username) {
setCurrentUser(cu);
} else {
setCurrentUser(undefined);
}
} catch (e) {
// If we can't get the current user, we just set it to undefined.
console.error("Failed to get current user from session:", e);
}
}, []);

Expand Down
8 changes: 6 additions & 2 deletions apps/cyberstorm-remix/app/communities/communities.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ const selectOptions = [

export async function loader({ request }: LoaderFunctionArgs) {
const searchParams = new URL(request.url).searchParams;
const order = searchParams.get("order") ?? SortOptions.Popular;
const order = searchParams.get("order");
const search = searchParams.get("search");
const page = undefined;
const dapper = new DapperTs(() => {
Expand All @@ -72,7 +72,11 @@ export async function loader({ request }: LoaderFunctionArgs) {
sessionId: undefined,
};
});
return await dapper.getCommunities(page, order ?? "", search ?? "");
return await dapper.getCommunities(
page,
order === null ? undefined : order,
search === null ? undefined : search
);
}

export async function clientLoader({ request }: LoaderFunctionArgs) {
Expand Down
3 changes: 1 addition & 2 deletions apps/cyberstorm-remix/app/entry.client.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { redirect, RemixBrowser } from "@remix-run/react";
import { RemixBrowser } from "@remix-run/react";
import { startTransition, StrictMode } from "react";
import { hydrateRoot } from "react-dom/client";

Expand All @@ -24,7 +24,6 @@ const { clearSession, getConfig } = sessionProvider.props
// INIT DAPPER
window.Dapper = new DapperTs(getConfig, () => {
clearSession();
redirect("/communities");
});

Sentry.init({
Expand Down
5 changes: 2 additions & 3 deletions apps/cyberstorm-remix/app/settings/teams/Teams.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ import {
ApiForm,
createTeamFormSchema,
} from "@thunderstore/ts-api-react-forms";
import { createTeam } from "../../../../../packages/thunderstore-api/src";

export const meta: MetaFunction<typeof clientLoader> = ({ data }) => {
return [
Expand Down Expand Up @@ -100,7 +99,7 @@ export default function Teams() {
<div className="settings-items__meta">
<p className="settings-items__title">Teams</p>
<p className="settings-items__description">Manage your teams</p>
<Modal
{/* <Modal
popoverId={"teamsCreateTeam"}
csSize="small"
trigger={
Expand Down Expand Up @@ -150,7 +149,7 @@ export default function Teams() {
<FormSubmitButton>Create</FormSubmitButton>
</div>
</ApiForm>
</Modal>
</Modal> */}
</div>
<div className="settings-items__content">
<NewTable
Expand Down
3 changes: 1 addition & 2 deletions apps/cyberstorm-remix/app/settings/user/Account/Account.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import {
FormTextInput,
useFormToaster,
} from "@thunderstore/cyberstorm-forms";
import { currentUserSchema } from "@thunderstore/dapper-ts";
import { faTrashCan } from "@fortawesome/pro-solid-svg-icons";
import {
ApiForm,
Expand Down Expand Up @@ -40,7 +39,7 @@ export async function clientLoader() {
} else {
return {
config: getConfig(_storage),
currentUser: currentUser as typeof currentUserSchema._type,
currentUser: currentUser,
};
}
}
Expand Down
Loading
Loading